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.