Freitag, 7. Juli 2006, 22:49 Uhr

Partyguide Strikes Back


Partyguide Strikes Back I
Originally uploaded by emeidi.

Partyguide Strikes Back II
Originally uploaded by emeidi.

Gestern Donnerstag, kurz nach Mitternacht, muss es Jason und den Argonauten endgültig den Nuggi rausgejagt haben. Wenige Tage vor dem siebenjährigen Geburtstag der (in den letzten sechs Monaten wohl am häufigsten gehacktenTM) schweizerischen Party-Community blies man nun zum Gegenschlag gegen den so verhassten think eMeidi.

Die Verantwortlichen entdeckten – ob durch Hinweis eines Dritten Mitstreiters sei dahingestellt – meine Arbeiten am vierten Partyguide-Hack (JavaScript-Injection, später dazu mehr – dank an Anonymous für den ursprünglichen Tipp).

Nach stundenlangen Beratungen im Tipi des Häuptling Jasons kamen die geistreichen Argonauten zum Schluss, mit geballter Feuerkraft zurückzuschiessen. Für was verfügt man denn über genug Bandbreite und eine Vielzahl an Servern (zum Teil gar durch Gönner mitfinanziert)?

So wurde mein Debian-Server kurz nach 00:00 Uhr Ziel einer stümperhaften DoS-Attacke, die erst heute Nachmittag kurz vor 16:00 Uhr abbrach. Wie man es den beiden cacti-Graphen ansieht, äusserten sich die geballten Aufrufe meines Scriptleins, das Usernamen und Passwort-Hashes (aus dem Cookie) in Empfang nahm, sowohl in einem konstanten ein- und ausgehenden Traffic auf eth0 sowie einer stark erhöhten Load Average auf meiner schmalbrüstigen Pentium III-CPU (600MHz).

Fazit

Ein access.log, das fünfmal so schwer wiegt wie sonst:

ALPHA:/var/log/apache2# ls -l
total 44808
-rw-r--r-- 1 root adm  29612337 2006-07-08 01:01 access.log
-rw-r--r-- 1 root adm   5789490 2006-07-02 06:24 access.log.1

… und uns auch noch etwas über die Technik von Partyguide erzählt:

217.150.245.77 - - [07/Jul/2006:15:50:27 +0200] "GET /b.gif?i=84455&p=ab5c62bbb11b644fdcecd91e89acd768 HTTP/1.1" 302 - "-" "curl/7.12.1 (i686-pc-linux-gnu) libcurl/7.12.1 OpenSSL/0.9.6m zlib/1.2.2"

… sowie auch die IP des mutmasslichen „Täters“ freigibt:

84.72.129.186 - - [07/Jul/2006:00:06:25 +0200] "GET /b.gif?i=100&p=1234 HTTP/1.1" 302 20 "-" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4"

217.150.245.77 - - [07/Jul/2006:00:29:04 +0200] "GET /b.gif?i=196828 HTTP/1.1" 302 700 "-" "curl/7.12.1 (i686-pc-linux-gnu) libcurl/7.12.1 OpenSSL/0.9.6m zlib/1.2.2"

84.72.129.186 - - [07/Jul/2006:00:30:05 +0200] "GET /b.gif HTTP/1.1" 302 224 "-" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4"

84.72.129.186 - - [07/Jul/2006:00:30:24 +0200] "GET /b.gif?i=196828 HTTP/1.1" 302 218 "-" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4"

Eine MySQL-Tabelle mit knapp 110’000 Records, die allesamt vom Partyguide-Server aus kamen:

mysql> SELECT COUNT( * )  FROM  `xss`  WHERE ip =  '217.150.245.77';
+------------+
| COUNT( * ) |
+------------+
|     109342 |
+------------+
1 row in set (0.47 sec)

Und nicht zuletzt ein Beweis, wie robust Debian Linux mit Apache 2.0.55, PHP 4.4.2 und MySQL 4.1.15 ist.

Fehler von meiner Seite

Das nächste Mal schalte ich E_ALL in solch sensitiven Verzeichnissen wieder aus:

[Fri Jul 07 00:29:04 2006] [error] [client 217.150.245.77] PHP Notice:  Undefined index:  p in /var/www/pg-search/xss.php on line 12

Leider Gottes ein zu guter Ansatzpunkt für potentielle PG-Hacker …

Zu guter Letzt noch dies …

Es tut mir wirklich leid, das sagen zu müssen: Anstelle eure Energie an einem kleinen Fisch wie mir zu verschwenden, unterzieht ihr all eure PHP-Scripts einmal einem richtig gründlichen Security-Audit.

Tags:
Labels: Linux

Kommentar erfassen