EggShell is an iOS and macOS post exploitation surveillance pentest tool written in Python. This tool creates 1 line multi stage payloads that give you a command line session with extra functionality. EggShell gives you the power and convenience of uploading/downloading files, taking pictures, location tracking, shell command execution, persistence, escalating privileges, password retrieval, and much more. Server communication features end to end encryption with 128 bit AES and the ability to handle multiple clients.
Creating And Running A Payload
EggShell gives us a convenient 1 line payload and listener on our local machine
On the target machine, after the payload is run, we will get a connection back
Taking Pictures
Eggshell has the command functionality of taking pictures on both iOS(frontcam/backcam) and macOS(picture)
Password Prompt / Root Privileges
With the prompt command, we can have a password pop up information retrieval + built in privilege escalation
Sending SMS through iMessage
Interacting With Multiple Sessions
MultiSession gives us easy access to interacting and managing multiple sessions
Installation
git clone https://github.com/neoneggplant/EggShell && cd EggShell
easy_install pycrypto
python eggshell.py
iOS Commands:
sysinfo : get system information
cd : change directories
ls : list contents of directory
rm : delete file
pwd : get current directory
download : download file
upload : upload file
frontcam : take picture through front camera
backcam : take picture through back camera
mic : record microphone
getpid : get process id
vibrate : make device vibrate
alert : make alert show up on device
say : make device speak
locate : get device location
respring : respring device
setvol : set mediaplayer volume
getvol : view mediaplayer volume
isplaying : view mediaplayer info
openurl : open url on device
dial : dial number on device
getsms : download sms database
getnotes : download notes database
getcontacts : download addressbook
battery : get battery level
listapps : list bundle identifiers
open : open app
persistence : installs LaunchDaemon - tries to connect every 30 seconds