vServer angegriffen

wedge47

Cadet 3rd Year
Registriert
Aug. 2005
Beiträge
55
Guten Morgen,

Ich hoffe ich bin hier richtig. Ich nutze einen vServer mit Debian auf dem eigentlich nicht viel los ist (teamspeak, apache, mysql). der durchschnittliche tägliche traffic liegt bei wenigen 100 MB pro Tag manchmal auch darunter. Deshalb hatte ich mir trotz Datenflat eine Warnung eingerichtet falls der traffic mal 10GB überschreitet. Heute nacht um 3 Uhr bekam ich eine Mail, dass der traffic für heute bereits überschritten wurde. Da ich den Datenverkehr nicht mitlogge konnte ich mich nur auf die Angaben auf der Webseite meines Hosters berufen und dort konnte ich im Minutentakt zusehen wie der Transfer immer mehr wurde. Heute morgen gegen 6:30 waren es schon rund 35GB.

Also heute morgen sofort eingeloggt um zu schauen was los ist. Ein netstat -an förderte einige komische Verbindungen zu Tage die von Ports ausgingen wo kein Dienst läuft.
Code:
tcp      875      0 <meineIP>:49709     219.94.152.213:6667     CLOSE_WAIT
tcp        0      0<meineIP>:57116     219.94.152.213:6667     ESTABLISHED
tcp    12288      0 <meineIP>:44238     59.42.210.210:8080      CLOSE_WAIT
tcp        0      0 <meineIP>:46699     59.42.210.210:8080      ESTABLISHED
tcp        0      0 <meineIP>:46849     59.42.210.210:8080      ESTABLISHED
tcp        0     36 <meineIP>:21522     80.150.206.162:49351    ESTABLISHED
tcp        0      0 <meineIP>:57117     59.42.210.210:8080      ESTABLISHED
udp        0    316 <meineIP>:36450     74.63.233.26:22         ESTABLISHED

Definitv eine Attacke. Aber die Frage ist, wurde nun schon eingebrochen oder versucht man es noch? Btw. 30GB entspräche ungefähr 3x dem Volumen was überhaupt auf dem vServer drauf liegt.

die IPs führen zu einem chinesischen (59.*.) und japanischen (219.*) Eintrag. Na toll.

mit lsof die prozesse rausgesucht
Code:
<meineIP>:~# lsof | grep 59.42.210.210
perl       5576  www-data   21u  IPv4  338535163                  TCP <meineIP>:44238->59.42.210.210:webcache (CLOSE_WAIT)
perl       5585  www-data   20u  IPv4  340835400                  TCP <meineIP>:57117->59.42.210.210:webcache (ESTABLISHED)
perl       5585  www-data   21u  IPv4  338535163                  TCP <meineIP>:44238->59.42.210.210:webcache (CLOSE_WAIT)
perl      13760  www-data   21u  IPv4  338535163                  TCP <meineIP>:44238->59.42.210.210:webcache (CLOSE_WAIT)
perl      13775  www-data   20u  IPv4  339968063                  TCP <meineIP>:46849->59.42.210.210:webcache (ESTABLISHED)
perl      13775  www-data   21u  IPv4  338535163                  TCP <meineIP>:44238->59.42.210.210:webcache (CLOSE_WAIT)
std       15824  www-data   21u  IPv4  338535163                  TCP <meineIP>:44238->59.42.210.210:webcache (CLOSE_WAIT)
std       23616  www-data   21u  IPv4  338535163                  TCP <meineIP>:44238->59.42.210.210:webcache (CLOSE_WAIT)
std       23617  www-data   21u  IPv4  338535163                  TCP <meineIP>:44238->59.42.210.210:webcache (CLOSE_WAIT)
apache2   32326  www-data   21u  IPv4  338535163                  TCP <meineIP>:44238->59.42.210.210:webcache (CLOSE_WAIT)
sshd      32534  www-data   21u  IPv4  338535163                  TCP <meineIP>:44238->59.42.210.210:webcache (CLOSE_WAIT)

und dann gekillt
Code:
for i in `lsof | grep 219.94.152.213 | awk '{print $2}'`; do kill -9 $i;done;
for i in `lsof | grep 59.42.210.210 | awk '{print $2}'`; do kill -9 $i;done;

#Anmerkung der Redaktion kill ohne -9 hatte nicht funktioniert

Nun war erstmal Ruhe. Leider konnte ich keine weiteren Untersuchungen mehr am "lebenden Objekt" vornehmen.

Und auch die eine ssh Verbindung war weg ohne das ich sie gekillt habe
Code:
udp        0    316 <meineIP>:36450     74.63.233.26:22         ESTABLISHED

Also mal etwas gegoogled. Die Verbindung von perl, std und ssh führte mich zum sshatter offenbar ein Tool welches über Brutforce ssh Passwörter durchprobiert.

Über last und im /var/log/auth.log sind allerdings unerwartet nicht utopisch viele Einträge drin. Auch sonst hab ich bis jetzt noch kein logfile gefunden was mir nähere Auskunft gibt was da nun eigentlich passiert ist.

Das root Passwort hab ich vorsorglich geändert obwohl das zu 100% nicht in einer wordlist stand und auch in den nächsten paar hundert Jahren kein Brutforce rausbekommen hätte. Aber sicher ist sicher.

Sollte ich den Angriff irgendwo melden? Beim Hoster zum Beispiel? Aber wahrscheinlich passiert so etwas sowieso unzählige Male am Tag und mach einer bekommt es gar nicht mit.

Nun bleiben die offenen Fragen. Was ist tatsächlich passiert? Kann Brutforce alleine ein solches Datenvolumen erzeugen? Wurde ein Zugriff erlangt? Wie verhindere ich das beim nächsten Mal?
 
Zuletzt bearbeitet:
Ändere als weitere Maßnahme noch den Port auf dem SSH lauscht. Stell da irgendwas über 20.000 und unter 50.000 ein. So liegt der Port außerhalb der Bereiche, die die meisten Bots automatisch prüfen.
Schalte auch vorübergehend den Webserver ab. Offenbar ist man über ihn eingebrochen.


Da du nicht weißt, was genau passiert ist: Lass dir alle Datei anzeigen, die seit gestern erstellt oder geändert wurden. Darüber wird man wohl etwas heraus bekommen.
 
Ich vermute, da hat einer ne Möglichkeit gefunden, Daten über Apache zu tauschen ...

Schau mal in den www Ordnern (bzw vHosts) nach !

Vielleicht ein einfacher "Spambot"? (Perl dient für die senderoutine zB)
 
Du kannst es verhindern, indem du deinen Server korrekt absicherst. SSH Key, nur notwendige Dienste etc.
Ein gewisses Grundrauschen musst du aber hinnehmen.
 
Japs, SSH-Key is wichtig... Genauso wie root über ssh verbieten (hoffe das hast du gemacht) und sudo aktivieren :) (um dann halt indirekt mittels ssh key und sudo root zu werden... Beispiel: ssh -t <adresse> sudo bash
 
Hallo,

- ssh läuft schon schon auf nem anderen Port > 20000
- root login ist verboten
- ich ich logge mich auch meist mit key ein, oder meinte dMopp login nur noch per key und per passwort direkt verbieten?
- dienste laufen eigentlich nur apache, mysql, mail und der teamspeak den ich fast als größte sicherheitslücke sehe

die anderen Sachen schau ich mir gleich mal an danke schonmal für eure Antworten
 
nein da läuft nix

komisch es geht wieder los allerdings nur solche art von Verbindungen
Code:
tcp        0      0 <meineip>:36869     64.12.28.219:443        ESTABLISHED
tcp        0      0 <meineip>:37836     205.188.0.136:443       ESTABLISHED
tcp        0      0 <meineip>:36870     205.188.3.101:443       ESTABLISHED

laut lsof werden die Verbindungen alle von sshd aufgebaut, sieht aus als ob da wer nach hause telefoniert.
 
Da dein System jetzt kompromittiert ist und du ihm nicht mehr trauen kannst (denn der Angreifer kann dich beliebig bescheißen ohne dass du es merkst), sind nachträgliche Flickversuche nicht erfolgversprechend.
Mache den vserver komplett platt und installiere alles, inklusive dem Betriebssystem neu. Dann sichere den Server als erstes ab, bevor du irgend etwas anderes machst. Alles andere kann und wird absolut in die
Hose gehen.

Deswegen mach es gleich richtig, auch wenn es ätzend ist, alles neu aufzusetzen. Besuch von der Polizei zu bekommen, weil von deinem Server Kinderpornos verteilt werden ist deutlich ätzender.
 
Ok hab noch was gefunden
Code:
udp        0      0 *:43449                 *:*

da sollte eigentlich nix laufen bekomme aber über lsof grad nicht raus was es ist


@asdfman: Ich geb dir recht. Aber ich dachte eigentlich das ich den Server recht gut abgesichtert habe. Wüßte jetzt nicht was ich noch zusätzlich machen sollte wenn ich ihn dann neu installiere.
 
ja du wurdest gehackt,

udp 0 316 <meineIP>:36450 74.63.233.26:22 ESTABLISHED


http://whois.arin.net/rest/net/NET-74-63-233-0-1/pft
https://123systems.net/

und vermutlich hat dein Vserver die jp cn dienste geflooded. IRC + HTTP

1. du solltest ne abuse-mail schreiben an 123systems. Der Angreifer hat zumindest deren Server benutzt.

abuse@123systems.net

2. System neu aufsetzen
3. Deinen Hoster informieren nicht das die dir noch den Vserver sperren.


Nachtrag

Da der Angreifer nur WWW-DATA benutzt, wuerde ich vermuten das es erst mal reicht diesen Account zu sperren und die Luecke dort zu suchen.
 
Zuletzt bearbeitet:
Ok. Da ich jetzt das erste Mal da mit konfrontiert werde kann ich mir grad nich vorstellen was ich da reinschreiben soll.

www-data is ja der user für den apache. Also heißt das erstmal alles runterfahren.


Noch jemand ne idee wie ich diesen Dienst rausbekomme der auf Port 43449 läuft, würde den gern unterbinden.
 
netstat -p

kannst du mit grep benutzen

und ich glaube du hast die sache mit den Ports noch nicht richtig verstaden wenn du mit deinen Webbrowser auf eine internet seite gehst brauchst du auch einen Port!
 
Zuletzt bearbeitet:
das is mir schon klar aber der Eintrag
Code:
udp        0      0 *:43449                 *:*
sagt mir das da etwas auf dem Serer läuft was da nicht laufen sollte. Oder in welchem Zusammenhang meinst du das?

Ok offenbar hatte wohl doch jemand root zugang und hat das default gateway umgebogen
Code:
default         191.255.255.1   0.0.0.0         UG    0      0        0 venet0
zumindest kommit mir das sehr komisch vor, kann mir kaum vorstellen das mein hoster ein Gateway in Mexico hat. die Frage ist jetzt was ist das richtige Gateway. Ich seh schon werd um die neuinstallation nicht rumkommen.
 
netstat -p
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 debian:http-alt 10.0.0.16:54899 TIME_WAIT -
tcp 888 0 debian:9090 10.0.0.16:54743 CLOSE_WAIT 3133/python

das ist eine teilweise ausgabe von netstat -p es hat die Spalte PID/Program name

die def gateway umzubiegen ist keine gute idee wie soll dein Server den die neue Gateway erreichen?
er muss ja noch einen routing eintrag hinzufuegen fur die neu def gw. sonst kommen die verbindung dieser def gw nicht zustande.

also ne route die auf die neue gw zeigt und dieses gw ist dein richtiges.
 
Zuletzt bearbeitet:
ok hab den server mal im repairmode gebootet. Das def gw ist noch genauso also scheint das iO zu gehen. Man sollte sich halt doch ab un an mal was dokumentieren. Hast natürlich recht macht kein Sinn wenn das def gw anders ist dann kommt er ja gar nicht mehr raus aus dem rechenzentrum.

Nach dem normalen Neustart ist der eine port erstmal nicht mehr offen, weshalb ich nicht nach dem dienst schauen kann. Aber danke für den tip mit netstat -p.
 
ahs sry hab das vllt nicht ganz klar formuliert er kann ne feste route erstellen nur fuer die default gateway.
 
@wedge47:

Ja, ich meinte only key SSH Zugang. Ist sicherer :)

Denke das Problem wird in einem Apache oder eienr SOftware dort liegen....

Folgendes vorgehen:
- Apache abstellen und beobachten (sollte dann "weg" sein das Problem)

- Apache, PHP und alle anderen Weberweiterungen mal aktualisieren! (ich empfehle bei PHP die Aktualisierung selber vor zu nehmen, also nicht über apt-get.... so bist du schneller aktuell ^^)

- mal in die /etc/passwd gucken und user suchen wie: "wvw-data" "ro0t" usw ...., ggf ausmisten

- vorhandene software (zB phpmyadmin usw) aktualiseren

- Apache einmal weg bügeln ! (apt-get remove und danach einmal apt-get autoremove)

Ganz wichtig: ARBEITE NIE ALS ROOT! Wenn du mehrere befehle als root eingeben willst machst du halt ( echo "<befehl1>"; \ echo "<befehl2>"....) | sudo bash
 
Da du scheinbar von IT-Sicherheit im Linuxbereich keine Ahnung hast kann ich dir nur empfehlen den Server von deinem Provider komplett neu aufsetzen zu lassen.

Alles andere ist unseriös.
 
Zurück
Oben