wurde gehackt - Nachverfolgung?

MisterY

Urgestein
Thread Starter
Mitglied seit
17.03.2007
Beiträge
2.754
Hi,
mein RPi, der nur als VPN und Pi-Hole Server fungiert, wurde heute früh kompromittiert (China):wut:. Da zu der Zeit kein anderer Server lief, ist es nicht sooo tragisch. Der Angriff konnte auch abgewehrt werden. Dennoch würde ich gerne wissen, was gemacht wurde, welche Programme installiert wurden und welche Daten übertragen wurden. Wie kann ich das herausfinden?
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Dennoch würde ich gerne wissen, was gemacht wurde, welche Programme installiert wurden und welche Daten übertragen wurden. Wie kann ich das herausfinden?

Zauberwort ist /var/log. Was du nicht loggst wirst du auch nicht nachvollziehen können. Und wenn der Bot oder die Person, je nachdem was es war, nicht vollkommen blöd war, dann wurde alles aus den Logs rausgeworfen, was irgendwelche Hinweise geben könnte. Ein wirklich gut verstecktes Rootkit wirst du NIEMALS finden, deswegen wäre es wohl besser, wenn du das OS auf dem Pi neu installierst, um sicherzugehen. Als welcher User ist der Angreifer denn reingekommen?
 
das ist die große Frage. Im /var/log/auth.log werden seit mehreren Tagen hundertausende SSH-Loginversuche auf allen möglichen Ports gemeldet, aber wurden alle abgewiesen. root kann sich meines Wissens nicht per SSH anmelden und mein Passwort ist nicht bruteforcebar.
Aufgefallen ist es, dass ich eine hohe Domainanfrage zu einer bestimmten IP hatte (10.000 seit heute morgen) die von localhost kam. Aber laut den Logs ist da nichts reingekommen.

Dass der RPi genuked wird, ist klar. Aber ich möchte schon wissen, was gemacht wurde.
 
Keine Ahnung ob das auf Debian auch so funktioniert, aber "last" sollte dir eine Liste aller erfolgreichen Loginversuche anzeigen lassen. Es ist auch möglich, dass der Angreifer nicht über Standard-SSH Zugriff auf den Server bekam, sondern sich vielleicht einer Sicherheitslücke in einem deiner Services o.Ä. zugute gemacht hat, um dann Befehle auszuführen. Die Szenarien da sind mehr als nur vielfältig und aus der Ferne nur schwer diagnostizierbar.
 
root hat keinen Zugriff auf SSH. "last" sagt, dass nur ich drin war.
sehe auch keine veränderten Dateien.
 
Zuletzt bearbeitet:
Dann hat der Angreifer den Log entweder gelöscht oder sich nicht via SSH Zugriff verschafft. Welche Services laufen denn so auf dem Server? Firewall aktiv? Wenn ja, welche Regeln?
 
dnsmasq sagt, dass die IP die selbe ist, wie ein in-addr.arpa (Reverse DNS-Server) nur statt in-addr.arpa steht da sowas wie "dynamic.data.com.cn".

das sagt auth.log (ca 200.000 weitere ähnlich lautende Einträge)
Code:
Jan 30 06:30:03 sshd[7784]: Failed password for root from xxx port 13032 ssh2
Jan 30 06:30:04 sshd[7786]: Failed password for root from xxx port 22334 ssh2
Jan 30 06:30:05 sshd[7790]: Failed password for root from xxx port 40578 ssh2
Jan 30 06:30:05 sshd[7788]: Failed password for root from xxx port 38882 ssh2
Jan 30 06:30:05 sshd[7780]: Failed password for root from xxx port 59407 ssh2
Jan 30 06:30:05 sshd[7782]: Failed password for root from xxx port 60211 ssh2
Jan 30 06:30:06 sshd[7784]: Failed password for root from xxx port 13032 ssh2
Jan 30 06:30:06 sshd[7786]: Failed password for root from xxx port 22334 ssh2
Jan 30 06:30:08 sshd[7790]: Failed password for root from xxx port 40578 ssh2
Jan 30 06:30:08 sshd[7788]: Failed password for root from xxx port 38882 ssh2
Jan 30 06:30:08 sshd[7780]: Failed password for root from xxx port 59407 ssh2
Jan 30 06:30:08 sshd[7782]: Failed password for root from xxx port 60211 ssh2
Jan 31 08:06:50 sshd[17128]: Received disconnect from yyy: 11:  [preauth]
Jan 31 08:06:50 sshd[17128]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=yyy user=root
Jan 31 08:07:10 sshd[17175]: reverse mapping checking getaddrinfo for zzz.dynamic.163data.com.cn [ttt] failed - POSSIBLE BREAK-IN ATTEMPT!

man beachte, dass ttt, xxx, yyy und zzz sich unterscheiden. Die IPs habe ich erstmal geixt. gebe ich zzz in whois ein, komme ich auf ttt.

auf dem läuft eigentlich nur munin mit Apache, Pihole und VPN. Firewall ist aktiv, der SSH-Port war offen (da mit Rücksprache mit ITlern das nicht schlimm sei, sofern man ein starkes PW hat und kein root zulässt), ist aber nun auch gesperrt.

Wie kann ich nun den rest meines Netzwerks auf kompromittierte Dateien hin untersuchen? Hab noch zwei Linux und einen Windows Rechner
 
Zuletzt bearbeitet:
Schau mal nach, was hinter der IP-Adresse steckt. Wenn's ein anonymer Proxy ist brauchst du eh nicht weiter machen.

Pi neu aufsetzen.
 
Ich will nicht wissen, wer der Angreifer war, sondern, was er in meinem Netzwerk gemacht hat.
Es gab wohl nur wenig Netzwerktransfer, also Daten wurden nicht verschoben.

Ich finde, bis auf die DNS-Anfragen auf diesem komishcen China-Server, keinen Hinweis, dass es jemand geschafft hat, reinzukommen.
 
Zuletzt bearbeitet:
wie genau hast du denn festgestellt, dass da jemand drauf war?

tausende versuchte Loginversuche kommen bei mir auch am Tag zusammen.

zu ssh: bestenfalls plaintext Passwort login deaktivieren und nur pubkey erlauben. Dazu z.B. fail2ban einrichten, um flooding einzudämmen.

hatte letzten auch schrott auf meinem Homeserver. Dank einer Lücke in Wordpress konnten die Nasen zwei .php Dateien in /srv/http ablegen, die dann über den Aufruf als Spansender agierten.... :/ Mein Hoster, über den ich via mailrelay sende war nicht sonderlich erfreut.
 
Wie gesagt, nach längerer Überprüfung bin ich mir nicht mehr sooo sicher, ob da jemand wirklich drin war, oder nur jemand versucht hat einzubrechen.
was mir auffiel, war dieser sprunghafte Anstieg der DNS-Verbindungen zu dem China-Server bis ich Port 22 geblockt habe (ist aktuell also wieder runtergegangen):

china.PNG


Loginversuche hatte ich vorher auch. Die Zahl der Loginversuche hat sich nicht verändert.

root war auf without-password gesetzt (also nur mit pubkey erlaubt), habe ich nun aber auf "no" gesetzt
 
Zuletzt bearbeitet:
Dein sshd löst die Client IP´s auf => somit hast du auch entsprechende DNS Anfragen. Klingt nicht wirklich nach einem erfolgreichen Einbruch.

Ich würde mal einen Blick auf "knockd" und v.a. auf "fail2ban" werfen, sehr hilfreich für derartige Angriffe.
 
Zuletzt bearbeitet:
mach halt einfach mal:

grep "reverse mapping" * | wc -l


Es finden ja nicht ein paar einzelne Versuche statt, sondern viele tausende Zugriffe => viele DNS Anfragen.
 
ja aber auchvorher waren zugriffe

Code:
grep "reverse mapping" * | wc -l
0

oder in welchem Ordner muss das ausgeführt werden?
 
Zuletzt bearbeitet:
Nö, passt schon so. Wie viele DNS Anfragen waren es in Summe laut piHole?
 
19138, davon 9671 von 127.0.0.1 und davon 9561 nach China in der Zeit von 6:30-13:00

Seit mehreren Tagen wird aber mit ca 30 Anfragen pro Minute angegriffen, und das steigerte sich auch nicht. Deswegen kann ich mir diesen Anstieg der Querys nicht erklären. Es fand auch kein Traffic statt.
 
Zuletzt bearbeitet:
Schau einfach mal welche Abfragen von piHole blockiert wurden und prüfe danach seit wann diese gefiltert werden. Vermutlich sind die Adressen seit kurzen schlicht und einfach auf er Blacklist => dein piHole blockiert und somit steigen auch die Anfragen weil im DNS Cache keine gültigen Daten mehr vorhanden sind.
 
Ich habe das um 12:40 per Hand auf die Blacklist gesetzt.
Die Queries sind aber von 6:30 bis 13:00 da gewesen (um 13:00 hab ich den Port geschlossen).
 
Schau einfach mal die Grafik genau an. Du hast im "normalen" Betrieb zwischen 0:00 - 06:30 recht gleichmässig um die 80 nicht geblockte Abfragen (grün). Ab etwa 06:30 hast du geblockte Anfragen (blau), deine nicht geblockten Anfragen sind weiterhin im vergleichbaren Umfang wie zuvor. Schau einfach mal in den Logs, ich vermute mal ab 06:30 waren deine Chinesen auf der piHole Blacklist.
 
Wenn du eine Domain auf die Blacklist setzt, werden alle Log-Einträge im Graph auf geblocked gesetzt, auch rückwirkend. Als ich um 12:30 reingeschaut habe, sah der Graph anders aus.

Was kann ich tun um das Netzwerk zu überprüfen?
Habe noch einen Windows 10 und mehrere Linux-Server am laufen.
Habe alle auth.logs überprüft - ohne Befund. Sonst irgendwas? ClamAV?
 
Zuletzt bearbeitet:
mein RPi, der nur als VPN und Pi-Hole Server fungiert, wurde heute früh kompromittiert (China):wut:. Da zu der Zeit kein anderer Server lief, ist es nicht sooo tragisch. Der Angriff konnte auch abgewehrt werden.
Ja was jetzt? Wurde der Server erfolgreich angegriffen und kompromittiert oder wurde der Angriff abgewehrt und der Server ist nicht kompromittiert?

Dennoch würde ich gerne wissen, was gemacht wurde, welche Programme installiert wurden und welche Daten übertragen wurden. Wie kann ich das herausfinden?
Backups vom Tag davor mit dem Jetzt-Zustand vergleichen...

Noch ein Tipp für die Neuinstallation: Fail2ban installieren und konfigurieren.

Edit: Noch ein Tipp für die Neuinstallation: Die BSD Unixe haben ein Script namens security, das täglich das System scannt. Das gibt's sicher auch für Linux.
 
Zuletzt bearbeitet:
Empfehlenswert ist es auch sich mal Lynis zu installieren und die Punkte der Reihe nach abzuarbeiten. Das bringt auch schon n recht ordentliches Plus.
 
@fax668: ja, das ist die große Frage.
- Ich habe viele Querries in der Zeit von 6:30-13:00
- Angriff läuft seit mind. 30.01
- auth.log zeigt aber keine erfolgreichen Loginversuche an

fail2ban ist drauf, komme aber erst Sonntag dazu den zu nuken (und gleichzeitig wird der RPi gegen einen NanoPi Neo getauscht).

Ich werde mal nach solch einem Script schauen, danke

@Fallwrrk: Danke, ich schau mir das mal an
 
@fax668: ja, das ist die große Frage.
- Ich habe viele Querries in der Zeit von 6:30-13:00
- Angriff läuft seit mind. 30.01
- auth.log zeigt aber keine erfolgreichen Loginversuche an
Wenn das ein aktuelles OpenSSH mit den neuesten Patches ist und du sichere Passwörter verwendest, würde ich mir da wenig Sorgen machen. Das kriegt niemand einfach so geknackt.

Ich werde mal nach solch einem Script schauen, danke

@Fallwrrk: Danke, ich schau mir das mal an
Nimm die Empfehlung von @Fallwrrk, kannte ich auch noch nicht. Das lässt sich anscheinend auch als Cronjob regelmäßig ausführen. Wichtig ist nur, dass es dann Emails nach außen sendet, so dass die Infos nicht nur auf dem RasPi liegen und evtl. von einem Angreifer gelöscht werden können.
 
Lynis ist tatsächlich ziemlich gut, ja. Wichtig ist es nur, dass man eine möglichst aktuelle Version aus nem PPA bezieht. Die mitgelieferte Version ist nicht aktuell und erkennt möglicherweise nicht jede Lücke, die erst nach dem Release von Debian/Ubuntu bekannt geworden ist.
 
Ich hab v2.4 geladen. Leider ist es nur ein Analysetool. Werde mir mal chroot anschauen
 
Natürlich ist es nur ein Analysetool. Der wird dir wohl kaum die ganzen Probleme fixen. Das musst du schon selbst tun. Und chroot kapselt Applikationen. SSH kannst du z.B. gar nicht innen chroot stecken, sonst kannst du nicht mehr viel aufm Server machen.
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh