Mouse : iOS & macOS Post-Exploitation Framework

Mouse Framework is an iOS and macOS post-exploitation framework that gives you a command line session with extra functionality between you and a target machine using only a simple Mouse Payload.

Mouse gives you the power and convenience of uploading and downloading files, tab completion, taking pictures, location tracking, shell command execution, escalating privileges, password retrieval, and much more.

Getting started

  • Mouse installation

cd mouse
chmod +x install.sh
./install.sh

  • Mouse UN-installation

cd mouse
chmod +x uninstall.sh
./uninstall.sh

Mouse Framework Execution

To execute Mouse Framework you should execute the following command.

mouse

Mouse Payloads (macOS/iOS)

Mouse Payloads are intended to get remote target machine session.

  • Bourne-Again Shell payload

Selecting Bourne-Again Shell payload from the payload menu will give us a 1 liner that establishes a remote Mouse session upon execution on the target machine.

Platform: iOS/macOS

  • Teensy macOS payload (USB injection)

Teensy is a development USB board that can be programmed with the Arduino IDE. It emulates usb keyboard strokes extremely fast and can inject the Mouse payload just in a few seconds!

Platform: macOS

  • Rubber Duck payload (USB injection)

USB Rubber Duck is a development USB board that can inject uploaded to duck SD card inject.bin payload in a few seconds!

Platform: macOS

  • Application macOS payload

Selecting Application macOS from the payload menu will give you standart Mouse payload that converted to the macOS application.

Platform: macOS

Also Read – Owasp D4n155 : Intelligent & Dynamic Wordlist Using Osint

MultiHandler CLI

The MultiHandler option lets us handler multiple sessions. You can choose to interact with different devices while listening for new connections in the background.

  • MultiHandler commands

close : Close active session.
exit : Close all sessions and exit.
help : Show all available commands.
interact : Interact with a session.
sessions : List active sessions.

Mouse Substrate

Mouse Substrate is a package that can be installed on the target iOS device after receiving remote control to run substrate commands and services.

  • Substrate Commands

dhome : Simulate a double home button press.
home : Simulate a home button press.
locat : Toggle location services.
mute : Update and view mute status.

Mouse CLI

After a session is established, we can execute commands on that device through the Mouse CLI. We can show all available commands by typing “help”. Mouse CLI allows you to control a remote device. Remote device can be controlled by Mouse CLI commands. You can explore list of available Mouse CLI commands bellow.

  • Local commands

clear : Clear terminal window.
help : Show all available commands.
exec : Execute local shell commands.
exit : Close current session and exit.

Settings Commands

macOS

getpaste : Get pasteboard contents.
getvol : Get speaker output volume.
idletime : Get the amount of user activity time.
setbright : Set screen brightness.
setvol : Set output volume.

iOS

battery : Get battery level.
getvol : Get volume level.
msub : Mouse Substrate.
setvol : Set output volume.
sysinfo : Show system information.

Trolling commands

macOS

alert : Make alert show up on device.
chwall : Change desktop wallpaper.
close : Close application.
imessage : Send message through the messages app.
itunes : Control iTunes player.
keyboard : Control keyboard.
open : Open application.
say : Convert text to speach.

iOS

alert : Make alert show up on device.
dial : Dial a phone number.
ipod : Control music player.
kill : Terminate or signal a process.
killall : Kill process by name.
lastapp : Open last opened application.
open : Open application.
openurl : Open URL on device.
say : Convert text to speach.
vibrate : Vibrate device.

Stealing commands

macOS

download : Download remote file.
getfacebook : Retrieve facebook session cookies.
mic : Record mic sound.
picture : Take picture through iSight.
prompt : Prompt user to type password.
screenshot : Take screenshot.

iOS

download : Download remote file.
getcontacts : Download addressbook.
getnotes : Download notes.
getpasscode : Retreive the device passcode.
getsms : Download SMS data.
locate : Get device location coordinates.
mic : Record mic sound.
picture : Take picture through the camera.

Boot commands

macOS

reboot : Reboot device.
sleep : Put device into sleep mode.
suspend : Suspend current session.

iOS

reboot : Reboot device.
respring : Restart SpringBoard.
safemode : Put device into SafeMode.

Other commands

macOS

icons : List system alert icons.
pid : Get Mouse process ID.
shell : Open target device shell.
su : Login as root.
upload : Upload local file.

iOS

bundleids : List bundle identifiers.
islocked : Check if the device is locked.
pid : Get Mouse process ID.
shell : Open target device shell.
upload : Upload local file.

Mouse Framework disclaimer

Usage of the Mouse Framework for attacking targets without prior mutual consent is illegal. It is the end user’s responsibility to obey all applicable local, state, federal, and international laws. Developers assume no liability and are not responsible for any misuse or damage caused by this program.