Hilfe! - Alle Gruppen geloescht

Hallo,

habe grosses Problem:
Scheinbar sind auf meinem Linux-Server alle Gruppen geloescht!
System: Redhat 8.0

Ich wollte mein recht kleines home-Verzeichnis sichern, woraus dann 400 MB wurden.
Da mir das unerklaerlich vorkam habe ich mir die einzelnen Unter-Verzeichnisse im home-directory angesehen. dabei bin ich auf einen User mit dem Namen user gestossen mit einer Unmenge an Verzeichnissen und Dateien mit endlos langen Namen (um die 50 Stellen). In den logwatch emails habe ich dann gesehen, dass der User user sich immer wieder per ftp einloggt.
Ich habe den Server nicht selbst installiert und dachte dann, dass sich da wohl jemand bei der Installation einen Zugang gelegt hat. Also habe ich den User user geloescht.

Danach waren auf einmal alle Gruppen verschwunden. Ich kann mich auch per ftp oder ssh nicht mehr einloggen, auch nicht als root!

Nun bin ich noch eingeloggt (ssh und webmin) und ich hoffe, dass mir jemand einen Tip geben kann und ich mit meiner eingeloggten Verbindung irgendetwas retten kann.
Bei einem dir erscheinen nur noch die Benutzernamen, aber keine Gruppennamen. Im Webmin erscheint bei der Auflistung aller User die Meldung „Sie haben keine Berechtigung Gruppen zu bearbeiten“ und es werden keine Gruppen angezeigt.

Ich hoffe nun, dass ich heute nacht nicht irgedwo rausfliege und noch was retten kann! Ich brauche den Server dringend am Montag!

Herzliche Gruesse
Christian

Hallo Christian,

Also habe ich den User user geloescht.

Danach waren auf einmal alle Gruppen verschwunden.

Wie hast Du den User gelöscht? Einfach über die Shell?
Dann sollten die Gruppen weiter vorhanden sein.
Zu Webmin oder dergleichen kann ich nichts sagen.

Ich kann
mich auch per ftp oder ssh nicht mehr einloggen, auch nicht
als root!

Das hört sich so an, als hättest Du ausschließlich Remote-Zugriff auf die Maschine.

Du hast sonst keine Einstellungen verändert? Laufen die entsprechende Dienste noch? Sind aus irgendeinem Grund Paketfilter-Regeln aktiviert worden, die neue Verbindungen blocken - was liefert iptables -L -n ?

Nur zur Sicherheit: der User „user“ ist nicht ein von Dir oder anderen Benutzern verwendeter „Standardbenutzer“ zum Upload von Files usw? Er wird auch nicht als System-User benötigt (für ftp oder webmin oder dgl.)? Wieviele andere User nutzen diesen Server? Was wissen die über „user“?

Ansonsten würde ich aus dem Bauch heraus zumindest den Verdacht hegen, dass da jemand unberechtigt auf Deiner Kiste herumgefuhrwerkt hat.
Was waren das denn für Dateien, die in /home/user lagen?

Zur Sicherheit solltest Du alle Daten, die auf der Maschine liegen, übers Netz sichern und eventuelle Skripte usw. erstmal in Quarantäne legen.

Hast Du die Möglichkeit, ein sauberes System zu booten (Rescue-System)?
Dann mach zuallererst das.

Dann etwas Analyse betreiben: gibt es Auffälligkeiten in den Logfiles? Wurden in letzter Zeit ausführbare Dateien geändert (speziell unter /sbin und /bin)?

Gruß
Stefan

Hallo Stefan,

Danke fuer Deine schnelle Antwort.

Also habe ich den User user geloescht.

Danach waren auf einmal alle Gruppen verschwunden.

Wie hast Du den User gelöscht? Einfach über die Shell?

Nein mit dem Webmin, da werden normalerweise die Verzeichnisse des Users und alle Eintragungen in anderen Modulen geloescht

Dann sollten die Gruppen weiter vorhanden sein.

Also wie schon geschrieben - angezeigt werden sie nicht! weder im Webmin noch auf der ssh-Verbindung mit dir -l
Es werden nur die Gruppen und User nummern angezeigt, aber nicht mehr die Namen.

Ich kann
mich auch per ftp oder ssh nicht mehr einloggen, auch nicht
als root!

Das hört sich so an, als hättest Du ausschließlich
Remote-Zugriff auf die Maschine.

Das ist richtig!

Du hast sonst keine Einstellungen verändert?

Nein

Laufen die

entsprechende Dienste noch? Sind aus irgendeinem Grund
Paketfilter-Regeln aktiviert worden, die neue Verbindungen
blocken

Inzwischen wohl ja,
Ich habe natuerlich versucht dass Passwort fuer den root zu aendern. in der Hoffnung dass es dann vielleicht wieder geht.
SSH hat ja z.B. Verbindung aufgebaut, aber das Passwortt nicht aktzeptiert.
Bei der Aenderung vom root-passwort kam jetzt:
passwd: User not known to the underlying authentication module

Obwohl er sagte, dass ich keine Berechtigung haette Gruppen zu bearbeiten habe ich einfach im Webmin eine neue Gruppe fuer root angelegt unter Nummer 0. Das ging auch. Danach erschien dann wieder die Gruppenebezeichnung root beim dir -l.
Dann habe ich versucht auch den Benutzer root (mit webmin) zu aendern, um eventuell ein neues Passwort zu vergeben, damit ich auch wieder eine neue Verbindung aufbauen kann.
Das ging auch, aber danach waren dann alle anderen Benutzer verschwunden. Die erscheinen jetzt beim dir nur noch mit der Nummer.

Das ssh ist stellt jetzt noch nicht mal mehr eine Verbindung her (wahrscheinlich weil der User jetzt dafuer auch verschwunden ist)

  • was liefert iptables -L -n ?

Im Gegensatz zu funktionierenden Servers eine ganze Liste:
Chain INPUT (policy ACCEPT)
target prot opt source destination
RH-Lokkit-0-50-INPUT all – 0.0.0.0/0 0.0.0.0/0

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Chain RH-Lokkit-0-50-INPUT (1 references)
target prot opt source destination
ACCEPT udp – 64.242.40.2 0.0.0.0/0 udp spt:53 dpts:1025:65535
ACCEPT udp – 209.223.101.160 0.0.0.0/0 udp spt:53 dpts:1025:65535
ACCEPT tcp – 0.0.0.0/0 0.0.0.0/0 tcp dpt:25 flags:0x16/0x02
ACCEPT tcp – 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 flags:0x16/0x02
ACCEPT tcp – 0.0.0.0/0 0.0.0.0/0 tcp dpt:21 flags:0x16/0x02
ACCEPT tcp – 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 flags:0x16/0x02
ACCEPT tcp – 0.0.0.0/0 0.0.0.0/0 tcp dpt:23 flags:0x16/0x02
ACCEPT all – 0.0.0.0/0 0.0.0.0/0
ACCEPT all – 0.0.0.0/0 0.0.0.0/0
REJECT tcp – 0.0.0.0/0 0.0.0.0/0 tcp dpts:0:1023 flags:0x16/0x02 reject-with icmp-port-unreachable
REJECT tcp – 0.0.0.0/0 0.0.0.0/0 tcp dpt:2049 flags:0x16/0x02 reject-with icmp-port-unreachable
REJECT udp – 0.0.0.0/0 0.0.0.0/0 udp dpts:0:1023 reject-with icmp-port-unreachable
REJECT udp – 0.0.0.0/0 0.0.0.0/0 udp dpt:2049 reject-with icmp-port-unreachable
REJECT tcp – 0.0.0.0/0 0.0.0.0/0 tcp dpts:6000:6009 flags:0x16/0x02 reject-with icmp-port-unreachable
REJECT tcp – 0.0.0.0/0 0.0.0.0/0 tcp dpt:7100 flags:0x16/0x02 reject-with icmp-port-unreachable

Nur zur Sicherheit: der User „user“ ist nicht ein von Dir oder
anderen Benutzern verwendeter „Standardbenutzer“ zum Upload
von Files usw?

Nein, ich bin der einzige wirkliche Nutzer des Servers. Er laeuft nur als Faxserver und es gibt zwar verschiedene User aber die nutze ich alle nur.

Er wird auch nicht als System-User benötigt

Nicht dass ich wuesste. Ich habe ihn bisher noch nicht benutzen muessen.

(für ftp oder webmin oder dgl.)? Wieviele andere User nutzen
diesen Server? Was wissen die über „user“?

Irgendjemand scheint etwas darueber zu wissen!

Das war z.B. in den Logwatchs vom 24.12.
proftpd[14082]: localhost.localdomain (213.213.61.90[213.213.61.90]) - USER user: Login successful.
proftpd[14089]: localhost.localdomain (213.213.61.90[213.213.61.90]) - USER user: Login successful.
proftpd[14098]: localhost.localdomain (80.181.213.74[80.181.213.74]) - USER user: Login successful.
proftpd[14100]: localhost.localdomain (80.116.101.50[80.116.101.50]) - USER user: Login successful.
proftpd[14189]: localhost.localdomain (80.117.218.132[80.117.218.132]) - USER user: Login successful.
proftpd[14199]: localhost.localdomain (66.11.162.215[66.11.162.215]) - USER user: Login successful.
proftpd[14200]: localhost.localdomain (66.11.162.215[66.11.162.215]) - USER user: Login successful.
proftpd[14210]: localhost.localdomain (80.117.218.132[80.117.218.132]) - USER user: Login successful.
proftpd[14271]: localhost.localdomain (212.31.242.105[212.31.242.105]) - USER user: Login successful.
proftpd[14274]: localhost.localdomain (212.31.242.105[212.31.242.105]) - USER user: Login successful.
proftpd[14276]: localhost.localdomain (212.31.242.105[212.31.242.105]) - USER user: Login successful.
proftpd[14277]: localhost.localdomain (212.31.242.105[212.31.242.105]) - USER user: Login successful.
proftpd[14279]: localhost.localdomain (212.31.242.105[212.31.242.105]) - USER user: Login successful.
proftpd[14278]: localhost.localdomain (212.31.242.105[212.31.242.105]) - USER user: Login successful.
proftpd[14280]: localhost.localdomain (212.31.242.105[212.31.242.105]) - USER user: Login successful.
proftpd[14283]: localhost.localdomain (212.31.242.105[212.31.242.105]) - USER user: Login successful.
proftpd[14285]: localhost.localdomain (212.31.242.105[212.31.242.105]) - USER user: Login successful.
proftpd[14286]: localhost.localdomain (212.31.242.105[212.31.242.105]) - USER user: Login successful.
proftpd[14287]: localhost.localdomain (212.31.242.105[212.31.242.105]) - USER user: Login successful.
proftpd[14288]: localhost.localdomain (212.31.242.105[212.31.242.105]) - USER user: Login successful.
proftpd[14289]: localhost.localdomain (212.31.242.105[212.31.242.105]) - USER user: Login successful.
proftpd[14290]: localhost.localdomain (212.31.242.105[212.31.242.105]) - USER user: Login successful.
proftpd[14292]: localhost.localdomain (212.31.242.105[212.31.242.105]) - USER user: Login successful.
proftpd[14293]: localhost.localdomain (212.31.242.105[212.31.242.105]) - USER user: Login successful.
proftpd[14294]: localhost.localdomain (212.31.242.105[212.31.242.105]) - USER user: Login successful.
proftpd[14297]: localhost.localdomain (212.31.242.105[212.31.242.105]) - USER user: Login successful.
proftpd[14298]: localhost.localdomain (212.31.242.105[212.31.242.105]) - USER user: Login successful.
proftpd[14299]: localhost.localdomain (212.31.242.105[212.31.242.105]) - USER user: Login successful.
proftpd[14302]: localhost.localdomain (212.31.242.105[212.31.242.105]) - USER user: Login successful.

Ansonsten würde ich aus dem Bauch heraus zumindest den
Verdacht hegen, dass da jemand unberechtigt auf Deiner Kiste
herumgefuhrwerkt hat.
Was waren das denn für Dateien, die in /home/user lagen?

Ganz viele Unterverzeichnisss. In den Dateinamen kam oftmals das Wort update vor. Hab gerade mal zurueckgeblaettert:
dev-pe13.r00 (hatte glaube ich 50 MB, aber nix lesbares drin)
pzdruluc.sfv
pizzadox.nfo
und das ist ein eher typischer Name, wie sie von der Art her oft als Datei oder Verzeichnis vorkamen:
Rugby_League_ALL_ACCESS_CHEAT-PiZZADOX
\ \ …/
Das hier kam seltsamerweise mal als Verzeichnis vor, ziemlich nahe am Home-Verzeichnis, darunter fingen eigentlich erst die vielen verzeichnisse und langen Namen an.

Zur Sicherheit solltest Du alle Daten, die auf der Maschine
liegen, übers Netz sichern und eventuelle Skripte usw. erstmal
in Quarantäne legen.

Die wichtigsten daten habe ich schon per ftp gesichert.

Hast Du die Möglichkeit, ein sauberes System zu booten
(Rescue-System)?

Nee sicherlich nicht. Habe ja nur remote Zugriff.

Dann mach zuallererst das.

Dann etwas Analyse betreiben: gibt es Auffälligkeiten in den
Logfiles? Wurden in letzter Zeit ausführbare Dateien geändert
(speziell unter /sbin und /bin)?

Die logfile vom user ist natuerlich mit der Loeschung des user auch geloescht. Schade.
Mich wundert nur, dass mit den bestehenden Verbindungen noch alles funktioniert.
Kann man denn dieses authentication module wieder irgedwie herstellen? Oder hat man darauf irgendwie Zugriff?

Gruss
Christian

Hallo Christian,

RH-Lokkit-0-50-INPUT

gehört offenbar zur Standard-Paketfilter-Konfiguration von Red Hat.

pzdruluc.sfv
pizzadox.nfo
Rugby_League_ALL_ACCESS_CHEAT-PiZZADOX
\ \ …/

Das gehört mit Sicherheit nicht auf einen produktiven Server. Da hat jemand unberechtigt Files abgelegt.

Es ist zwar (für mich) gefährlich, ohne weitere Analyse eine Aussage zu machen aber: fahr die Kiste runter, versuche physikalischen Zugriff auf die Maschine zu bekommen.
Ggf. solltest Du auf dem Rechner ein Rettungssystem (Knoppix) booten und für eine eventuelle Post-Mortem-Analyse ein Image aller Partitionen auf eine separate Festplatte (oder einen separaten Rechner) ziehen.
Von dort kannst Du später Loopback-mounten und alle Daten wiederherstellen.
Installiere den Rechner neu mit einer aktuellen Distribution.

Nach dem Stand der Dinge kannst Du momentan keinem Programm auf dem Server mehr vertrauen; selbst die Ausgabe von iptables kann gefälscht sein.

Hast Du die Möglichkeit, ein sauberes System zu booten
(Rescue-System)?

Nee sicherlich nicht. Habe ja nur remote Zugriff.

Hätte sein können, verschiedene Provider bieten diese Möglichkeit an.

Kann man denn dieses authentication module wieder irgedwie
herstellen? Oder hat man darauf irgendwie Zugriff?

Wenn Du Dir ein rootkit eingefangen hast, kannst Du vielleicht vieles/alles wiederherstellen, aber das nützt Dir wenig bis gar nichts, da Du nicht sicher sein kannst, was alles ausgetauscht wurde. Dann ist es u.U. eine Frage von Tagen, bis Du wieder vor dem Problem stehst.

Gruß
Stefan

Hallo Stefan,

danke fuer Deine Hinweise

Ich habe durch erstellung von Gruppen und Usern jetzt erst mal wieder erreicht, dass ich per ssh als root ins System kann.

Kann man eigentlich als root irgendwie festsellen welche User und Gruppennumern zu welchem user gehoeren (gehoert haben)?

Dann koennte ich das System wenigsten so weit wieder herstellen um alles genauer zu untersuchen.

Gruss
Christian

Es ist zwar (für mich) gefährlich, ohne weitere Analyse eine
Aussage zu machen aber: fahr die Kiste runter, versuche
physikalischen Zugriff auf die Maschine zu bekommen.
Ggf. solltest Du auf dem Rechner ein Rettungssystem (Knoppix)
booten und für eine eventuelle Post-Mortem-Analyse ein Image
aller Partitionen auf eine separate Festplatte (oder einen
separaten Rechner) ziehen.
Von dort kannst Du später Loopback-mounten und alle Daten
wiederherstellen.
Installiere den Rechner neu mit einer aktuellen Distribution.

Nach dem Stand der Dinge kannst Du momentan keinem Programm
auf dem Server mehr vertrauen; selbst die Ausgabe von iptables
kann gefälscht sein.

Hast Du die Möglichkeit, ein sauberes System zu booten
(Rescue-System)?

Nee sicherlich nicht. Habe ja nur remote Zugriff.

Hätte sein können, verschiedene Provider bieten diese
Möglichkeit an.

Kann man denn dieses authentication module wieder irgedwie
herstellen? Oder hat man darauf irgendwie Zugriff?

Wenn Du Dir ein rootkit eingefangen hast, kannst Du vielleicht
vieles/alles wiederherstellen, aber das nützt Dir wenig bis
gar nichts, da Du nicht sicher sein kannst, was alles
ausgetauscht wurde. Dann ist es u.U. eine Frage von Tagen, bis
Du wieder vor dem Problem stehst.

Gruß
Stefan

Hallo Christian,

Ich habe durch erstellung von Gruppen und Usern jetzt erst mal
wieder erreicht, dass ich per ssh als root ins System kann.

OK. Ich halte das allerdings für eine absolute Notlösung.
In jedem Fall nach (!) dem Aufsetzen eines neuen Systems alle Passwörter ändern.

Kann man eigentlich als root irgendwie festsellen welche User
und Gruppennumern zu welchem user gehoeren (gehoert haben)?

Nur, wenn Du ein Backup von /etc/passwd bzw. /etc/group hast.
Dort stehen die Namen und IDs von Benutzern bzw. Gruppen sowie (in der /etc/group) die Gruppenmitglieder.

Dann koennte ich das System wenigsten so weit wieder
herstellen um alles genauer zu untersuchen.

Die Wahrscheinlichkeit ist groß, dass die Tools, mit denen Du auf dem laufenden Server alles untersuchen willst, Dir nicht immer die Wahrheit sagen werden.

Wie gesagt, versuch ein Plattenimage zu machen. Mit etwas Trickserei geht das auch via Internet.

Gruß
Stefan

Hallo,

mich auch per ftp oder ssh nicht mehr einloggen, auch nicht
als root!

Das hört sich so an, als hättest Du ausschließlich
Remote-Zugriff auf die Maschine.

Das ist richtig!

Nein. Du nicht, und vermutlich schon garnicht ausschließlich.

Gruß,

Sebastian

Hallo,

Ich habe durch erstellung von Gruppen und Usern jetzt erst mal
wieder erreicht, dass ich per ssh als root ins System kann.

Aua!

Kann man eigentlich als root irgendwie festsellen welche User
und Gruppennumern zu welchem user gehoeren (gehoert haben)?

Ja, aber wenn Dein root System jkaputt ist, kannst Du nichts mehr trauen.

Dann koennte ich das System wenigsten so weit wieder
herstellen um alles genauer zu untersuchen.

Ich schreie ja ungerne, aber:

**NIMM DAS DING VOM NETZ. SOFORT!

Danach kannst Du die Platten sichern und eine Analyse vornehmen. Du bist spätestes ab jetzt für die Raubkopien und Kinderpronos haftbar, die über Deinen Server verschoben werden könnten…

Gruß,

Sebastian**

Ich habe den Server nicht selbst installiert und dachte dann,
dass sich da wohl jemand bei der Installation einen Zugang
gelegt hat. Also habe ich den User user geloescht.

Tja…

Ich hoffe nun, dass ich heute nacht nicht irgedwo rausfliege
und noch was retten kann! Ich brauche den Server dringend am
Montag!

Du hast Gäste an Bord. Willkommen im Club.

Ernsthaft: dein Server ist erledigt. Die Häcker und Häcksen, die sich da breit gemacht haben, können mit dem Kasten besser umgehen als du. Diese Feststellung habe ich auch mal auf meinen Maschinen machen müssen, und es ist halt so. Soll also keine Beleidigung sein.

Egal, was du mit dieser Kiste jetzt noch anstellen magst: wer weiß, welche netten Hintertüren es noch gibt? Alles zu checken wird länger dauern als eine komplette Neuinstallation inklusive. Schmeiß den alten Kasten weg und fang von vorne an. Das ist der einzige wahre Tipp, den ich dir sozusagen „unter Brüdern“ geben kann.

Ansonsten kannst du mit diesem Tool[1] mal ein bisschen herumschnüffeln, was denn alles so verändert wurde. Nettes Spielzeug nach dem Crack. Wichtiges Tool vor dem Crack. Nimm die neueste Version.

Stefan


[1] http://www.chkrootkit.org