vServer (CentOS) gehackt?

john_doe

New Member
Hallo SSF!

Nachdem ich in den letzten Jahren öfter mitgelesen habe komme ich heute mit einem wahrscheinlich unerfreulichen Post. Ich habe die Vermutung, dass mein vServer gehackt wurde.

Aufgefallen ist mir dies anhand der Cronjobs, die seit Freitag nicht mehr laufen.
Zudem ist mein SSH-Dienst nicht mehr aktiv, ich komme per Putty nicht mehr auf die Maschine. Ein Start SSHD-Restart über Virtuozzo schlägt fehl.

Nach ein wenig Recherche habe ich auf dieser Seite ein paar Hinweise gefunden, die darauf hindeuten, dass ein Server gehackt worden sein könnte.

Insbesondere Punkt "8. Check /etc/passwd and /etc/shadow" trifft bei mir zu.
Beide Dateien wurden Freitagabend geändert. Zudem gibt es die Files jeweils noch mit einem "~" im Namen.
Vergleich ich nun "shadow" und "shadow~" so fällt auf, dass beim User "mysql" wohl das Passwort verändert wurde.

Ich bin Windows-Kind (Sorry! ;-D) und kenne mich nur rudimentär mit Linux-Systemen aus. Deshalb die Fragen:

  1. Sind das Anzeichen für einen Hack?
  2. Wie soll ich nun am besten vorgehen?

Ich freue mich über jeden Tipp, vielen Dank schon mal!
 
Erstmal gucken, ob OpenVZ die Prozesse aufgrund von zuviel Last gekillt hat.

Das geht mit
Code:
cat /proc/user_beancounters
und in Virtuozzo selbst (Log).

Falls dort keine Überschreitungen zu sehen sind, System vom Netz nehmen und dahingehend über Rescue prüfen.
 
Zudem ist mein SSH-Dienst nicht mehr aktiv
[...]
Vergleich ich nun "shadow" und "shadow~" so fällt auf, dass beim User "mysql" wohl das Passwort verändert wurde.

Wie machst du das, ohne SSH-Login?

Server in den Rescue-Modus booten und dann eine ausführliche Analyse vornehmen. Logs durchforsten, kürzlich veränderte Dateien suchen und Änderungen auswerten, ...
 
Hack: Die Anzeichen werden klarer...

@PapaBaer & Fusl: Genau, Virtuozzo.

In der /var/log/secure.1 habe ich jetzt auch wirklich viel merkwürdige Aktivität, ich schätze Angriffe (Login-Versuche), nachvollziehen können:

Mar 22 12:47:44 meinserver sshd[13500]: Invalid user karl from 223.4.180.93
Mar 22 12:47:44 meinserver sshd[13500]: reverse mapping checking getaddrinfo for ip223.hichina.com failed - POSSIBLE BREAK-IN ATTEMPT!
Mar 22 11:47:44 meinserver sshd[13501]: input_userauth_request: invalid user karl
Mar 22 12:47:44 meinserver sshd[13500]: pam_unix(sshd:auth): check pass; user unknown
Mar 22 12:47:44 meinserver sshd[13500]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=223.4.180.93
Mar 22 12:47:46 meinserver sshd[13500]: Failed password for invalid user karl from 223.4.180.93 port 42926 ssh2
Mar 22 11:47:46 meinserver sshd[13501]: Received disconnect from 223.4.180.93: 11: Bye Bye

...

Mar 22 12:50:08 meinserver sshd[13573]: Invalid user matthias from 223.4.180.93
Mar 22 12:50:08 meinserver sshd[13573]: reverse mapping checking getaddrinfo for ip223.hichina.com failed - POSSIBLE BREAK-IN ATTEMPT!
Mar 22 11:50:08 meinserver sshd[13574]: input_userauth_request: invalid user matthias
Mar 22 12:50:08 meinserver sshd[13573]: pam_unix(sshd:auth): check pass; user unknown
Mar 22 12:50:08 meinserver sshd[13573]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=223.4.180.93
Mar 22 12:50:11 meinserver sshd[13573]: Failed password for invalid user matthias from 223.4.180.93 port 35310 ssh2

...

Mar 22 13:05:28 meinserver sshd[13805]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=h31-3-245-178.host.redstation.co.uk user=root
Mar 22 13:05:30 meinserver sshd[13805]: Failed password for root from 31.3.245.178 port 51899 ssh2
Mar 22 12:05:30 meinserver sshd[13806]: Received disconnect from 31.3.245.178: 11: Bye Bye

...

Mar 22 18:29:31 meinserver usermod[17693]: change user `mysql' shell from `/bin/bash' to `/bin/bash'

...

Mar 22 20:06:49 meinserver usermod[17900]: change user `bin' shell from `/sbin/nologin' to `/sbin/nologin'




Insbesondere die letzten beiden Zeilen machen den Eindruck, als wäre da etwas sehr ungewöhnliches gelaufen. Gefällt mir gar nicht gut.

  • Noch jemand Ideen, Vorschläge, Anregungen wie ich weiter vorgehen soll?
  • Soll ich noch etwas sichern, bevor ich ein Backup wiederherstelle?
  • Wie kann ich das System, nachdem ich ein älteres Backup (vor dem Hack) wiederhergestellt habe, am besten absichern?

Danke euch!
 
Wie kann ich das System, nachdem ich ein älteres Backup (vor dem Hack) wiederhergestellt habe, am besten absichern?

Einzig und allein mit fundiertem Wissen über Linux und Server. Wenn du das nicht hast, musst du dir das Wissen einkaufen. Sorry, aber die Frage ist so allgemein, da gibt es ganze Bücher zu.

By the way: Deine wenigen nichtssagenden Zeilen könnten auch ein ganz normales Update sein. Der Rest ist Grundrauschen und normal.
 
Einzig und allein mit fundiertem Wissen über Linux und Server. Wenn du das nicht hast, musst du dir das Wissen einkaufen. Sorry, aber die Frage ist so allgemein, da gibt es ganze Bücher zu.

By the way: Deine wenigen nichtssagenden Zeilen könnten auch ein ganz normales Update sein. Der Rest ist Grundrauschen und normal.

Grundsätzlich
Vorwürfe helfen hier niemandem weiter, das ist - mit Verlaub - auch nicht der Sinn eines solchen Forums.

Über konstruktive Vorschläge, auch wenn in Form von Kritik, würde ich mich sehr freuen.

Mar 22 18:29:31 meinserver usermod[17693]: change user `mysql' shell from `/bin/bash' to `/bin/bash'
Ich glaube diese Zeile ist essenziell. 18:29 Uhr war genau die Zeit, an der sich viele Files auf dem Server geändert haben. Unter anderem auch
/root/.ssh/authorized_keys
/etc/passwd
/etc/shadow
Es erscheint mir - zugegeben, als Amateur - nun doch so, als wären die Zeilen in gewisser Weise aussagekräftig.
 
Papabaer will dir sicherlich nichts vorwerfen, sondern dir lediglich aufzeigen, dass es aktuell so keinen Sinn macht einen Server zu betreiben.

Du solltest dir dringend (Zuhause!) entsprechendes Wissen aneignen oder einen erfahrenen Administrator bezahlen.

Und das ist definitiv kein Vorwurf, sondern lediglich eine Feststellung deiner aktuellen Situation - es hat ja seinen Sinn, dir entsprechende Möglichkeiten aufzuzeigen. Damit will dich niemand ärgern oder sonstwas, da geht es um rechtliche Aspekte.
 
Aussagekräftig erstmal nur dahingehend das da halt was geändert wurde.
Kann eben wie Papa schon schrieb ein simples update sein.
Für einen Hack macht eine solche Zeile keinen Sinn:
Code:
Mar 22 18:29:31 meinserver usermod[17693]: change user `mysql' shell from `/bin/bash' to `/bin/bash'

Läuft irgendein Cron der Updates automatisch und unbeaufsichtigt einspielt? Oder eine Verwaltungsoberfläche in welcher irgendwo ein Haken für ein solches update gesetzt ist? Sollte sich dann in irgend einer Form auch im Cron widerspiegeln.

Gruß Sven
 
Vielen Dank für euren Input! Ihr habt sicherlich recht damit, dass ich mit einem Managed Server besser bedient wäre. Da würde ich aber eben nichts lernen und genau aus diesem Grund habe ich mir diese Maschine zugelegt.
Wie das nun manchmal so ist, wird so eine Kiste dann auch mal aus diversen Gründen "auf die Schnelle" für den Produktivbetrieb genutzt, gehackt und schon hat man den Salat. :(

Läuft irgendein Cron der Updates automatisch und unbeaufsichtigt einspielt? Oder eine Verwaltungsoberfläche in welcher irgendwo ein Haken für ein solches update gesetzt ist? Sollte sich dann in irgend einer Form auch im Cron widerspiegeln.
Nein. Zumindest nicht, dass ich wüsste und die Crons habe ich eigentlich ziemlich im Blick.

Die Tatsache, dass Files wie
  • /root/.ssh/authorized_keys
  • /etc/passwd
  • /etc/shadow
geändert wurden macht euch nicht stutzig?

Was haltet ihr von der "quick and dirty"-Losung per Virtuozzo erstmal alle gefährlichen Dienste (SSH, FTP) abzuschalten und nur bei Bedarf zu aktivieren?
 
zu quick n dirty gehört dann auch mysql und webserver aus ;) die sind definitiv anfälliger als SSH.

Und stutzig nur bedingt. Dazu fehlt mehr Input. Nen diff zu den Files vor der Änderung wäre Prima. Du hast doch ein Backup. Schaus dir einfach mal an.
Diff erstellen und vergleichen.



Gruß Sven
 
Da würde ich aber eben nichts lernen und genau aus diesem Grund habe ich mir diese Maschine zugelegt.
Im Namen aller Leute deren Machinen tagtäglich durch missbrauchte Machinen hunderte Male abgescannt und attackiert werden danke ich herzlichst.
Deine "Rechtfertigung" ist als ob du sagen würdest dass du Lastwagen fahren lernen willst, also mal auf der Autobahn mit üben anfängst. Mit viel Glück passiert nichts, oft genug rummst es aber früher oder später.


Was haltet ihr von der "quick and dirty"-Losung per Virtuozzo erstmal alle gefährlichen Dienste (SSH, FTP) abzuschalten und nur bei Bedarf zu aktivieren?
Alle Dienste sind gefährlich. Alle abschalten ist aber irgendwie sinnfrei. Als Schutz gibt es übrigens -flexibler als Abschalten- portknocking und andere Techniken.

Vergleich ich nun "shadow" und "shadow~" so fällt auf, dass beim User "mysql" wohl das Passwort verändert wurde.
Generell wäre es mal empfehlenswert die UID- und GID der entsprechenden User zu überprüfen. Falls die wirklich noch korrekt sind so ist der Schaden welcher ein solcher Benutzer im System verursachen kann relativ gering - ausser in der Datenbank standen root-Zugangsdaten.
Welche Mysql-Version läuft auf deiner Machine? Nicht zufällig eine alte für mehrere Exploits anfällige?
 
Back
Top