c99shell

ct1

Registered User
Hallo Leute,

ich hoffe ihr könnt mir helfen, bei einem board auf unserem server wurde eine datei names shell.php hochgeladen. Anhand den logs konnte ich nicht vestellen ob diese auch ausgeführt wurde. Wie könnte ich testen ob dieser Exploid aktiv wurde und was verändert wurde. Danke vorab schonmal für eure tipps:

System:
- S4Y vServer
- Suse

Hier die shell.php in .bak und gerart
RapidShare: 1-Click Webhosting
 
Ich nehme mal an das du phpMyAdmin installiert hast?
Eventuell sogar Xampp incl. phpMyAdmin?
Hat der root user für phpMyAdmin ein PW? Ein "sicheres" ?

- Welches OS?
- Auffällig viel Trafficverbrauch?

Ich kenne diese c99shell.php... Hatte mal früher ein wenig damit zu tun.
Es wird nach ungesicherten phpMyAdmin Installationen gescannt und dann versucht das root Passwort zu knacken. Bei den meisten Xampp Installationen war einfach kein Passwort für den User root vergeben.
Dann wurde sich mit dem root user in PhpMyAdmin eingeloggt und mit einem SQL Commando diese PHP Shell erstellt.
Die kann man dann von außen schön aufrufen und rumspielen... z.B. Dateien hochladen (sehr beliebt irgendwelche Servu Ftp Server Modifikationen) und schon bald ist dein Server voller Warez.

Also geb mal mehr Infos und evtl. kann ich dir später (bin so gegen 21 Uhr zuhause) etwas helfen.

Gruß

chapchap
 
Durchsuche die Apache Logs nach "shell.php"

Du solltest eine Neuinstallation in betracht ziehen und jemanden nach der Neuinstallation beauftragen deinen Server abzusichern.
 
Hallo, danke schoneinmal für die ratschläge

Soviel ich weis haben wir bei der install alle passwörter gesetzet mit "Groß/Kleinschreibung""Zahlen+Buchstaben""über6Zeichen" aber jetzt wollte ich mich bei phpmyadmin mal als root einlogen und merke es geht nichts... ein blick in die config.inc.php zeigt das:

Code:
$cfg['Servers'][$i]['user']          = 'root';      // MySQL user
$cfg['Servers'][$i]['password']      = '';          // MySQL password (only needed
heißt das jetzt das kein passwort gesetzt ist? Ich dachte allerdings das wir passwörter gesetzt haben, leider hab ich keine unterlagen über die passwörter da die liegen im Safe kann auch sein das ich das falsch passwort benutzt hab. Kann ich erst morgen checken.
wenn ich mich versuche einzuloggen kommt das:
Code:
#1045 - Access denied for user 'root'@'localhost' (using password: NO)

Serverdaten:
Code:
Produkt	vSERVER Basic X2
Betriebssystem	SuSE Linux 9.3
Control-Panel	Confixx Premium Edition 1.0.3

Traffic ist normal. Serverlast is hoch weil ssh bruteforce versucht wird...wollte ich eigentlich beheben...aber nu das :)

access log nehm ich mir gleich nochmal vor...
 
so das sind die einzigesten einträge mit shell.php in der accesslog

Code:
80.135.212.97 - - [29/Aug/2007:22:31:38 +0200] "GET /download/shell.php HTTP/1.1" 302 304 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"
80.135.212.97 - - [29/Aug/2007:22:31:39 +0200] "GET /images/background.gif HTTP/1.1" 302 306 "http://error.domain.de/style.css" "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"
80.135.212.97 - - [29/Aug/2007:22:31:48 +0200] "GET /downloads/shell.php HTTP/1.1" 200 2888 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"
80.135.212.97 - - [29/Aug/2007:22:31:48 +0200] "GET /downloads/shell.php?act=img&img=home HTTP/1.1" 200 209 "http://www.domain.de/downloads/shell.php" "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"
80.135.212.97 - - [29/Aug/2007:22:31:48 +0200] "GET /downloads/shell.php?act=img&img=back HTTP/1.1" 200 119 "http://www.domain.de/downloads/shell.php" "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"
80.135.212.97 - - [29/Aug/2007:22:31:49 +0200] "GET /downloads/shell.php?act=img&img=forward HTTP/1.1" 200 119 "http://www.domain.de/downloads/shell.php" "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"
80.135.212.97 - - [29/Aug/2007:22:31:49 +0200] "GET /downloads/shell.php?act=img&img=up HTTP/1.1" 200 199 "http://www.domain.de/downloads/shell.php" "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"
80.135.212.97 - - [29/Aug/2007:22:31:49 +0200] "GET /downloads/shell.php?act=img&img=refresh HTTP/1.1" 200 200 "http://www.domain.de/downloads/shell.php" "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"
80.135.212.97 - - [29/Aug/2007:22:31:49 +0200] "GET /downloads/shell.php?act=img&img=search HTTP/1.1" 200 250 "http://www.domain.de/downloads/shell.php" "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"
80.135.212.97 - - [29/Aug/2007:22:31:49 +0200] "GET /downloads/shell.php?act=img&img=buffer HTTP/1.1" 200 163 "http://www.domain.de/downloads/shell.php" "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"

80.135.235.33 - - [30/Aug/2007:18:10:56 +0200] "GET /download.php?fileID=4 HTTP/1.1" 200 160095 "http://www.domain.de/index.php?site=files&file=4" "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"
80.135.235.33 - - [30/Aug/2007:18:11:03 +0200] "GET /downloads/shell.php HTTP/1.1" 200 2888 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"
80.135.235.33 - - [30/Aug/2007:18:11:03 +0200] "GET /downloads/shell.php?act=img&img=back HTTP/1.1" 200 119 "http://www.domain.de/downloads/shell.php" "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"
80.135.235.33 - - [30/Aug/2007:18:11:03 +0200] "GET /downloads/shell.php?act=img&img=home HTTP/1.1" 200 209 "http://www.domain.de/downloads/shell.php" "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"
80.135.235.33 - - [30/Aug/2007:18:11:03 +0200] "GET /downloads/shell.php?act=img&img=forward HTTP/1.1" 200 119 "http://www.domain.de/downloads/shell.php" "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"
80.135.235.33 - - [30/Aug/2007:18:11:03 +0200] "GET /downloads/shell.php?act=img&img=up HTTP/1.1" 200 199 "http://www.domain.de/downloads/shell.php" "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"
80.135.235.33 - - [30/Aug/2007:18:11:04 +0200] "GET /downloads/shell.php?act=img&img=refresh HTTP/1.1" 200 200 "http://www.domain.de/downloads/shell.php" "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"
80.135.235.33 - - [30/Aug/2007:18:11:04 +0200] "GET /downloads/shell.php?act=img&img=search HTTP/1.1" 200 250 "http://www.domain.de/downloads/shell.php" "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"
80.135.235.33 - - [30/Aug/2007:18:11:04 +0200] "GET /downloads/shell.php?act=img&img=buffer HTTP/1.1" 200 163 "http://www.domain.de/downloads/shell.php" "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"
80.135.235.33 - - [30/Aug/2007:18:11:15 +0200] "GET /downloads/shell.php?act=mkdir&d=%2Fsrv%2Fwww%2Fweb3%2Fhtml%2Fhp%2Fdownloads%2F&mkdir=%2Fsrv%2Fwww%2Fweb3%2Fhtml%2Fhp%2Fdownloads%2Fpenis HTTP/1.1" 200 2896 "http://www.domain.de/downloads/shell.php" "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"

kann jemand mit den ganzen codes was anfangen?

edit: phpmyadmin passwort ist mir jetzt auch wieder eingefallen und ist vorhanden und komplex in den datenbanken ist nichts auffälliges zu sehen.
 
Last edited by a moderator:
Code:
%2Fhp%2Fdownloads%2F[COLOR="Red"]penis[/COLOR] HTTP/1.1" 200 2896

*lol* Sorry, konnte nicht anders :)

Sicher Deine Daten, und installier die Kiste neu! Auch wenns weh tut, Du weisst nie was der Kerl noch so alles angestellt hat, und er hat sich sicher einige Hintertüren offen gelassen!

Nach dem Reinstall bitte nicht wieder die selben Sicherheitslücken installieren!

lg
Basti

PS: Schau doch mal unter /srv/www/web3/html/downloads was da so alles liegt?!
 
Hab grad mit der C99 etwas rumprobiert, falls der Safe_mode auf "on" steht, kommst Du damit nicht aus deinem ../www Verzeichnis raus. Gut zu wissen :) Zumindest bleibt der Angreifer dann lokal beschränkt, und kann nur die eine Präsenz beschädigen. Wiedermal ein + für den Safe_mode^^

Ähmtja, ich merk auch grad dass damit nichtmal Dateien im Verzeichnis ändern kann. Kann es sein dass sich das Ding komplett am safe die Zähne ausbeisst?

lg
Basti
 
Last edited by a moderator:
MOD: Full-Quote entfernt!

Japp deswegen sind ja meistens die Leute "richtig davon betroffen" die Ihre Joomla Portale, Foren etc drauf haben und dafür den Safe Mode deaktiviert haben.
Kannst du mal testen ob du bei dir mit Safe Mode Dateien hochladen/ausführen kannst?
Wenn das funktioniert dann bringt er doch nix :P
 
Last edited by a moderator:
Hmm... ich seh da doch so einige Probleme:
Sobald er über eine Lücke die Shell in ein Verzeichnis mit 777 hochgeladen hat, kann er in diesem Verzeichnis beliebige Dateien anlegen, bzw. löschen/ändern. Das mit 777 lässt sich leider nicht abstellen, weil doch viele PHP Scripte dies für den Upload benötigen.

Sobald das Script oben ist greifen dann zwar die Beschränkugen in der php.ini (exec, shell_exec etc), aber er kann z.b. den Inhalt der config.php sehen, im Uploadverzeichnis eine php erstellen die mir die komplette Datenbank löscht, oder ein php Script dass über mail() Spam versendet... :eek:

Leider fällt mir weder für die Sache mit der config.php noch das mit mail() eine Lösung ein.... vl könnt ihr mir da auf die Sprünge helfen.

Leserechte für die config.php entziehen klappt ned, da das CMS ja auch nix mehr lesen kann, und dank Safemode und Basedir kann ich die Datei auch ned ausserhalb vom ../web/webx legen.

lg
Basti
 
Na marneus, hat da jemand schlecht geschlafen?
Kein Mensch redet von Joomla, es war nur ein Beispiel von chapchap. Und das Problem das ich beschrieben hab existiert auch mit safe_mode!

lg
Basti
 
Kein Thema, klang nur irgendwie recht unfreundlich :o
Will ja auch ned dass hier irgendwie OT wird, aber die Lösung könnte ct1 helfen ein wenig SIcherheit beim Neuaufsetzen reinzubringen.

lg
Basti
 
Vorerst danke ich schoneinmal für die mithilfe (serversupportforum ist echt klasse)

so also php safe_mode ist auf jeden fall an! Und Betreiber haben keinen Shellzugriff! Einzigstes sind die Globals, da diese für PHPBB genutzt werden. Den ganzen Server neu aufsetzen möchte ich eigentlich nur wenn ich mir 100% sicher sein kan das er komplett verseucht ist, das CMS System des betreibers und die dazu gehörigen ordner werden auf jeden fall neu aufgesetz. Google search ergab: http://www.hacktivist.net/index.php?page=scripts&action=view&scripts=34
Zu der Schell.

Folgendes konnte zum Ablauf des Anfriffs herausgefunden werden:

1. Angreifer kommt über das CMS "Webspell" durch ein sicherheitsloch in der picture.php an den SQL Username u. Passwort des betreibers.
2. Angreifer loggt sich über phpmyadmin ein und erstellt für das CMS einen neuen benutzer mit Adminrechten und löscht alle anderen benutzer.
3. Angreifer loggt sich in das CMS mit den neu generierten Usernamen ein und läd über die "Useruploadfunktion" die shell.php hoch
4. Angreifer Postet einen neuen Beitrag im News bereich und verkündet das er doch die Seite gehackt hat.

Mehr konnte nicht herausgefunden werden, daher ist die einzigste frage die bleibt was hat er mit der shell.php alles verändert oder handelt es sich bei dem Angreifer doch um ein "Script-Kiddie"?

Schade ist das der Betreiber bei Userupload nicht darauf geachtet hat was user uploaden dürfen.
 
Mal ganz nebenbei sollte man in der Config von PhPMyAdmin keine Passwörter reinschreiben, auch wenn das in vielen Tutorials immernoch so beschrieben wird.
 
Ich hab ja gestern ein wenig mit der Shell auf einem Testserver rumprobiert:
Wenn Safemode an ist, und Basedir richtig gesetzt wurde, konnte ich NICHT aus dem Userverzeichnis raus, egal was ich probiert habe.

Also rein nach meinem Wissensstand ist dann auch nur diese Präsenz betroffen, und es würde reichen wenn Du hier alles neu aufsetzt. Kann halt keine Garantie übernehmen, bei mir wars gestern so.
lg
Basti
 
Last edited by a moderator:
@traced danke für deine mithilfe und deine tests, das erleichtert mein gewissen etwas, anhand der logs und der durchsicht des server bestätigt sich deine aussage.

@max dann passt unsere config datei, steht nix drin von passwörtern

Der Betreiber inkl. Dateien wurden voerst gelöscht, wir werden zusammen das cms absichern und evtl. neu aufsetzen.

Danke euch allen für die mithilfe, echt super von euch.
 
Beim Betreiben von CMSs solltest du auf jeden Fall mod security installieren und eine hübsche "=http://" Filter-Regel erstellen, damit hast du dann auch Ruhe vor den ganzen Skiddie-RFI-Scans....ich gehe mal davon aus dass die Schwachstelle auf deinem Server auf diese Art gefunden wurde...;)
 
Back
Top