EggShell是一款基于Python编写的iOS和macOS的后渗透利用工具。它有点类似于metasploit,我们可以用它来创建payload建立侦听。此外,在反弹回的session会话也为我们提供了许多额外的功能。例如文件的上传/下载,拍照,定位,shell命令执行,权限维持,提权,密码检索等。在服务器通信方面EggShell则采用了128位AES端到端的加密,并同时能够处理多个客户端程序。这是一个概念验证工具,适用于在你自己的机器上使用。有关更多详细信息请访问:http://lucasjackson.me/eggshell 。
创建并运行一个Payload程序
在我们本地机器上,我们选择3选项来创建一个Payload并建立本地侦听。
在目标机器上运行有效载荷后,我们将获取到一个回连。
拍照
Eggshell具有在iOS(frontcam前置/backcam后置摄像头)和macOS(picture)上拍照的命令和功能。
密码提示/root权限
通过prompt命令,我们将会看到一个密码弹出信息检索+内置提权。
通过iMessage发送短信
与多个会话进行交互
MultiSession使我们能够轻松的访问交互和管理多个有效会话。
演示
EverythingApplePro的视频展示了用于运行EggShell的iOS 9.3.3 Webkit漏洞。
安装
git clone https://github.com/neoneggplant/EggShell && cd EggShell easy_install pycrypto python eggshell.py
iOS命令:
sysinfo:获取系统信息
cd:更改目录
ls:列出目录内容
rm:删除文件
pwd:查看当前目录
download:下载文件
upload:上传文件
frontcam:开启前置摄像头拍照
backcam:开启后置摄像头拍照
mic:对麦克风录音
getpid:获取进程id
vibrate:使设备振动
alert:在设备上弹出警告框
say:让设备发声
locate:获取设备位置信息
respring:呼叫设备
setvol:设置媒体播放器音量
getvol:查看媒体播放器音量
isplaying:查看媒体播放器信息
openurl:在设备上打开URL
dial:在设备上拨打号码
getsms:下载短信数据库
getnotes:下载备忘录数据库
getcontacts:下载通讯录
battery:查看电池电量
listapps:标识符列表
open:打开APP
persistence:安装LaunchDaemon – 尝试每30秒连接一次
rmpersistence:卸载LaunchDaemon
installpro:将egghellpro安装到设备
EggShell Pro命令(iOS)
lock:模拟锁按钮
wake:将设备从睡眠状态唤醒
home:模拟home按钮
doublehome:模拟home按钮双击
play:播放音乐
pause:暂停音乐
next:下一曲
prev:上一曲
togglemute:以编程方式切换静音开关
ismuted:检查是否被静音
islocked:检查设备是否被锁定
getpasscode:记录成功的iOS 锁屏密码尝试
unlock:用密码解锁
keylog:键盘记录
keylogclear:清除键盘记录器数据
locationservice:打开或关闭位置服务
macOS命令
cd:更改目录
ls:列出目录内容
rm:删除文件
pwd:查看当前目录
download:下载文件
upload:上传文件
getpaste:获取剪贴板内容
mic:对麦克风录音
picture:通过iSight拍照
screenshot:截图
getfacebook:检索Facebook会话cookie
brightness:调整屏幕亮度
getvol:获取输出音量
setvol:设置输出音量
idletime:获取键盘/光标被触摸后的空闲时间
keyboard:将目标键盘的控制权移交至你的键盘
imessage:通过邮件应用发送消息
openurl:通过默认浏览器打开URL
play:播放iTunes
pause:暂停iTunes
prev:让iTunes播放上一曲目
next:让iTunes播放下一曲目
pid:获取进程id
prompt:提示用户输入密码
su:su登录
persistence:尝试每60秒连接一次
rmpersistence:终止持久连接操作
本地命令
lls:列出本地目录内容
lcd:更改本地目录
lpwd:查看当前的本地目录
lopen:打开本地目录
clear:清除终端
文章出处:Freebuf