OSX 攻击框架Empyre简介

Evi1cg 2016-05-17 09:46:00

0x00 简介


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

0x01 安装


使用如下命令进行安装:

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

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

0x02 使用


进入主目录,执行

  EmPyre [master] python empyre

则可进入主菜单

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

Listeners

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

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

set Host http://192.168.74.141:8080

之后执行

(EmPyre: listeners) > execute

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

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

set CertPath ./data/empyre.pem

Stagers

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

在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

使用方式如下图:

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

将宏代码写入:

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

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

2、safari_launcher

使用方式如下:

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

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

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

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

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

agents

1、基础使用

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

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

interact PI5M01QWZ4TJAUQA

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

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

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

2、模块使用

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

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

collection/osx/prompt:

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

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

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

Alt text

collection/osx/webcam:

此模块可进行摄像头拍照

collection/osx/browser_dum

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

privesc/multi/sudo_spawn

此模块可用于权限提升

首先创建一个新的Listener:

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

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

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

0x03 小结


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

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

评论

W

winterFire 2016-05-24 19:59:25

这个不错

E

Evi1cg

喵喵汪~

twitter weibo github wechat

随机分类

CTF 文章:62 篇
企业安全 文章:40 篇
网络协议 文章:18 篇
二进制安全 文章:77 篇
安全开发 文章:83 篇

扫码关注公众号

WeChat Offical Account QRCode

最新评论

Article_kelp

因为这里的静态目录访功能应该理解为绑定在static路径下的内置路由,你需要用s

N

Nas

师傅您好!_static_url_path那 flag在当前目录下 通过原型链污

Z

zhangy

你好,为什么我也是用windows2016和win10,但是流量是smb3,加密

K

k0uaz

foniw师傅提到的setfge当在类的字段名成是age时不会自动调用。因为获取

Yukong

🐮皮

目录