2

OSX 攻击框架Empyre简介 | WooYun知识库

 6 years ago
source link:
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

OSX 攻击框架Empyre简介

0x00 简介


随着OSX使用者越来越多,针对OSX的攻击也越来越多。前不久,Empire团队又推出一个新的攻击框架,针对于OSX的攻击框架Empyre,此框架由Python建立在密码学基础上编写,使用过Empire的同学对此框架应该能很快上手,此文将对Empyre框架的使用方式做一下简单的的介绍。

0x01 安装


使用如下命令进行安装:

#!bash
☁  Desktop  git clone https://github.com/adaptivethreat/EmPyre 
☁  Desktop  cd EmPyre/setup
☁  setup [master] ./install.sh

安装脚本会安装一些依赖库,并且最后执行setup_database.py 进行各项设置,可以手工修改。setup目录下的reset.sh脚本可以对EmPyre进行重置。

0x02 使用


进入主目录,执行

#!bash
☁  EmPyre [master] python empyre

则可进入主菜单

Alt text

现在已经包含了43个可使用的模块

Listeners

要使用此框架,首先需要创建Listeners,直接输入listeners则可进去Listeners的配置页面,输入help,可以查看帮助,info命令可以查看详细的配置信息,下面截图是一个简单的Listeners配置。

Alt text

配置监听的ip及端口需要设置Host

#!bash
set Host http://192.168.74.141:8080

之后执行

#!bash
(EmPyre: listeners) > execute

可以开启监听,使用list可以查看开启的listener

Alt text

如果需要配置HTTPS的listener,需要配置CertPath

#!bash
set CertPath ./data/empyre.pem

Stagers

创建好Listeners之后,需要配置Stagers ,Stagers 存放在./lib/stagers 目录下,现在已有的stagers如下:

Alt text

在listeners下输入usestager+空格之后按TAB键则可看到这些可用的stagers。现在可用的stagers 分别为:

  • applescript: 生成AppleScript的payload。
  • dylib: 生成动态库类型的payload。(怎么使用请看这里
  • hop_php: 生成php类型的payload。
  • launcher: 生成一行python代码作为payload。
  • macho: 生成macho类型的payload(OSX可执行文件)。
  • macro: 生成MAC Office宏。
  • safari_launcher: 生成一个HTML文件作为payload。(诱使用户运行applescript)
  • war: 生成war类型的payload。

launcher为生成一行代码,被攻击者运行代码则被攻击者控制,下面使用macro以及safari_launcher两个好玩儿的方式来做一下示例:

1、macro

使用方式如下图:

Alt text

生成宏代码,创建任意office文件。打开宏设置

Alt text

将宏代码写入:

Alt text

之后再次打开此work会有如下提示:

Alt text

点击启用宏,执行代码,受害者被控制:

Alt text

2、safari_launcher

使用方式如下:

Alt text

将生成的html代码保存到test.html,放到web服务器上,可以看到代码中的applescript 则为要执行的applescript代码。访问此页面如下图:

Alt text

Command+R键以后,弹出如下页面:

Alt text

点击新脚本,打开脚本编辑器,代码藏在最下面:

Alt text

一旦点击三角符号的运行按钮,则受害者被控制:

Alt text

其他的就不多介绍了,有兴趣的可以自己尝试一下

agents

1、基础使用

获取agents怎么使用呢,首先可以查看help:

Alt text

命令比较简单,要切换到一个agent,使用如下命令即可:

#!bash
interact PI5M01QWZ4TJAUQA

如果觉得名字不好记,可以执行如下命令对agnet进行重命名:

Alt text

切换到agent里面之后,可以help查看可执行的命令:

Alt text

如果要执行系统命令,可使用shell来执行:

Alt text

2、模块使用

Empyre提供了多个可使用模块,输入usemodule空格之后按TAB键则可列出当前可使用的模块,如下图:

Alt text

包括信息搜集,权限提升,维持权限等多个模块,这里就不一一介绍了,介绍几个比较好玩儿的:

collection/osx/prompt:

此模块可通过社会工程学获取当前用户所用的密码。

Alt text

运行以后,会打开AppStore,并询问密码,如下图:

Alt text

当用户输入密码以后,我们就获取到了他输入的密码:

Alt text

collection/osx/webcam:

此模块可进行摄像头拍照

Alt text

collection/osx/browser_dum

此模块可获取浏览器历史记录

Alt text

privesc/multi/sudo_spawn

此模块可用于权限提升

首先创建一个新的Listener:

Alt text

切换到agent以后,使用此模块:

Alt text

可以看到输入密码以后(密码可以通过prompt模块或者信息搜集获得),获取了一个新的agent,并且此agent获取了最高的权限,如下图:

Alt text

其他模块,我这里就不一一介绍了,有兴趣的小伙伴可以自己去尝试一下,而且维持权限的模块已经有4个了,还是很给力的。

0x03 小结


看到这个工具还是挺开心的,本文仅仅是对此工具进行了一个简单的使用介绍,有兴趣的可以看一下源码然后自己编写自己所需要的模块或功能,希望此文对你能有所帮助。

本文由Evi1cg原创并首发于乌云drops,转载请注明


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK