Netzwerk oder Strom ziehen? (zum Contianing eines gerooteten Servers)


11

Wenn ein Server (verwurzelt wird zB eine Situation wie diese ), eines der ersten Dinge , die Sie tun können beschließen, ist Haltung . Einige Sicherheitsspezialisten raten davon ab, sofort eine Korrektur durchzuführen und den Server online zu halten, bis die Forensik abgeschlossen ist. Diese Ratschläge gelten normalerweise für APT . Es ist anders, wenn Sie gelegentlich Verstöße gegen das Script-Kiddie haben , sodass Sie sich möglicherweise dazu entschließen, die Probleme frühzeitig zu beheben. Einer der Schritte bei der Korrektur ist die Eindämmung des Servers. Zitat aus Robert Moirs Antwort - " Trenne das Opfer von seinen Muggern".

Ein Server kann durch Ziehen am Netzwerkkabel oder am enthalten sein Stromkabel enthalten sein .

Welche Methode ist besser?

Unter Berücksichtigung der Notwendigkeit von:

  1. Schutz der Opfer vor weiteren Schäden
  2. Erfolgreiche Forensik durchführen
  3. (Möglicherweise) Schutz wertvoller Daten auf dem Server

Bearbeiten: 5 Annahmen

Angenommen:

  1. Sie haben früh erkannt: 24 Stunden.
  2. Sie möchten frühzeitig wiederherstellen: 3 Tage mit 1 Systemadministrator im Einsatz (Forensik und Wiederherstellung).
  3. Der Server ist keine virtuelle Maschine oder ein Container, der einen Snapshot erstellen kann, der den Inhalt des Serverspeichers erfasst.
  4. Sie beschließen, keine Strafverfolgung zu versuchen.
  5. Sie vermuten, dass der Angreifer eine (möglicherweise hoch entwickelte) Software verwendet und diese Software noch auf dem Server ausgeführt wird.

2
Vielleicht möchten Sie auch hier
vorbeischauen


2
@ Tom - es ist kein Betrug, es ist eine Erweiterungsdiskussion eines bestimmten Punktes aus dieser Frage.
Mfinni

3
@ sysadmin1138, versuchen Sie speziell security.stackexchange.com/q/181/33
AviD

Antworten:


6

Wenn Sie mit einem APT konfrontiert sind, können Sie am besten einen Honeypot einrichten und den gesamten Datenverkehr, der in ihn hinein und aus ihm heraus fließt, gründlich untersuchen und den Server überwachen.

Das Durchlaufen des Speichers ist in Bezug auf Zeit und Aufwand so teuer, dass es sich normalerweise nicht lohnt, wenn Sie nicht jede andere Methode ausprobiert haben. Wenn Sie feststellen, dass es sich lohnt, ist es im Allgemeinen am besten, einen Honeypot einzurichten, mit dem Sie problemlos einen Speicherauszug erstellen können Der Speicher- und Systemstatus wird im laufenden Betrieb auf einen anderen Computer übertragen, sodass Sie Analysen durchführen können, ohne dass die Gefahr besteht, dass er erkannt wird, während der Computer in Betrieb ist.

Ich hatte eine Situation, in der der Angreifer alles so weit im Speicher hielt, dass der Computer bis auf Protokolle genau so aussah wie sein Image, sobald er aus- und wieder eingeschaltet wurde. Sie würden sich dann wieder einhacken und es wieder verwenden, da die Sicherheitslücke immer noch vorhanden war - sie mussten keine Hintertüren für sich selbst hinterlassen. Eine Speicherauswertung hätte hier helfen können, aber in diesem Fall war es ausreichend, den Datenverkehr zu beobachten, um die Sicherheitsanfälligkeit schnell zu erkennen.

Deshalb:

Der einzige Grund, um zu vermeiden, dass die Stromversorgung unterbrochen und eine Offline-Festplattenauswertung durchgeführt wird, besteht darin, dass Sie sich die Mühe machen müssen, eine gründliche Speicheranalyse der Bedrohung durchzuführen, während diese vorhanden ist und in Betrieb ist. Wenn Sie an einem Punkt angelangt sind, an dem dies erforderlich ist, gibt es keinen Grund, einen der Stecker zu ziehen.

Wenn Sie keine Speicheranalyse durchführen, ist das Ziehen des Netzsteckers die beste Wahl. Wenn Sie das Ethernet ziehen (oder einen Befehl zum Herunterfahren verwenden), wird die Software des Angreifers nur im Voraus benachrichtigt - was gelegentlich von Bedeutung ist.

So:

Ziehen Sie beide, es sei denn, Sie führen eine Speicheranalyse durch. In diesem Fall ziehen Sie auch nicht.


16

RAM-Forensik (zB / dev / shm) kann hilfreich sein.

Aber ich ziehe es vor, das Netzkabel abzuziehen (aber versuche mich vorher anzumelden und rsync / proc).

Die Gründe für das Stromkabel sind:

  1. Wenn Sie in einem gehackten System Forensik betreiben, "treten Sie überall am Tatort auf".
  2. Das Root-Kit läuft weiter - nicht so schwer für die Böswilligen, etwas (z. B. Systemlöschung) beim Network Link Down- Ereignis auszuführen .

Kyle Rankin gab ein nettes Intro zum Forensik- Vortrag - dort empfiehlt er, am Stromkabel zu ziehen.


+1 für "Überall am Tatort treten". Wenn Sie nicht genau wissen, was Sie tun, oder nicht wirklich genaue forensische Beweise sammeln möchten, sollten Sie die Experten
hinzuziehen,

10

Trennen Sie das Netzwerk. Der Angreifer kann keine zusätzlichen Informationen abrufen, wenn keine Netzwerkverbindung besteht. Es ist sehr schwer (sprich: unmöglich), Forensik ohne Strom durchzuführen.


3
Sie können (und sollten wahrscheinlich) Forensik von offline (A) über eine Live-CD durchführen, (B) indem Sie die Festplatte auf ein anderes System verschieben oder (C) nachdem Sie Bilder der betroffenen Festplatten aufgenommen haben (über eine Live-CD). .
Aleksandr Levchuk

3
Oft sind nützliche Beweise in Erinnerung. Dies muss berücksichtigt werden, bevor ein Stromausfall empfohlen wird.
Sirex

Denken Sie auch daran, die LOM-Schnittstelle aus Sicherheitsgründen zu trennen :)
Kedare

7

In der heutigen Zeit könnte es sich um eine virtuelle Maschine handeln, sodass beide Methoden einfach sind und sogar remote ausgeführt werden können. (Virtuelle Maschinen bieten natürlich auch die Möglichkeit, Snapshots zu verwenden.)

Ich würde vorschlagen, die Verbindung zum Netzwerk als automatischen ersten Schritt zu trennen, da Sie so Zeit haben, über den nächsten Schritt nachzudenken, ob der nächste Schritt das Herausziehen des Netzkabels oder etwas anderes ist. Wenn Sie wissen, dass Ihre "Sicherheitsreaktionsverfahren" für Ihr Unternehmen keine Zeit zum detaillierten Durchsuchen des Computers erfordern, ist es möglicherweise nicht so wichtig, den RAM-Inhalt beizubehalten.

Ich würde vorschlagen, dass es wichtiger ist, das Opfer von seinen Muggern zu trennen, als das Wie, also sind beide Ansätze gültig. Ich hätte keine Probleme damit, das Netzkabel selbst zu ziehen. Sagen wir es so.


+1 für die VM. Wenn Sie das Netzwerk vom Netz trennen, läuft das Rootkit weiter - nicht so schwer für die Böswilligen, etwas (z. B.
Systemlöschung

6
Schnappschüsse des laufenden Systemzustands sind eine großartige Idee. Ich bin sauer auf mich selbst, weil ich nicht daran gedacht habe.
Jgoldschrafe

@Alexsandr - Ich habe versucht, an das tatsächliche Beispiel zu denken, und ich zeichne ein Leerzeichen, aber ich erinnere mich an ein Rootkit, das vollständig im Speicher verbleibt und beim Ziehen des Steckers verloren geht. Ich denke, es besteht in beiden Fällen die Gefahr, dass Beweise verloren gehen.
Rob Moir

6

Dies ist keine Entweder-Oder-Situation. Im Allgemeinen möchten Sie beides tun - Sie möchten bestimmte Forensiken (Speicherauszug laufender Prozesse, Abhörsockets, Dateien in / tmp usw.) auf einem System durchführen, das aus dem Netzwerk entfernt wurde, und dann Ihre verbleibenden Diagnosen von einem Safe aus durchführen Umgebung (dh eine Live-CD). Es gibt Situationen, in denen keiner der beiden Ansätze der richtige ist, und Sie müssen darüber nachdenken und verstehen, was diese in Ihrer Organisation sein könnten.


Wenn Sie das Netzwerk vom Netz trennen, läuft das Rootkit weiter - nicht so schwer, dass der Schadcode bei einem Network Link Down- Ereignis etwas ausführt (z. B. das Löschen des Systems) .
Aleksandr Levchuk

Das ist definitiv wahr, und es ist eine Chance, die Sie bewerten und entscheiden müssen, ob Sie abhängig von der Sensibilität der Situation ergreifen möchten. Einige Rootkits befinden sich nur im Speicher. Wenn Sie die Stromversorgung des Systems beenden, können Sie nicht mehr herausfinden, wie es dort hingekommen ist. Sie könnten versuchen, den Datenverkehr aus dem Switch-Port zu blockieren, während der Verbindungsstatus beibehalten wird, aber jedes Rootkit ist Software und kann alles, was jede andere Software kann - nichts hindert sie daran, das Standard-Gateway zu prüfen und dieselbe Bombe auszulösen, wenn es nicht erreichbar ist.
Jgoldschrafe

4

Bevor Sie etwas unternehmen, sollten Sie herausfinden, ob Sie Beweise für eine eventuelle Strafverfolgung aufbewahren müssen. Der Umgang mit Beweismitteln ist ein sehr kniffliges Thema und nichts für schwach geschulte Personen. Sobald Sie das beantwortet haben, kann die geschulte Computerforensikerin es von dort übernehmen.


1
Erstens denke ich, man sollte sich für eine strafrechtliche Verfolgung entscheiden oder nicht? . Kyle Rankin in seinem Vortrag ( goo.gl/g21Ok ). Beginnt damit, dies zu diskutieren. Um strafrechtlich verfolgt zu werden, müsste ein erheblicher Verlust an Monitoren nachgewiesen werden.
Aleksandr Levchuk

1
@Aleksander Im Allgemeinen müssen Sie sehr, sehr früh im Prozess wissen, ob Sie die kompromittierte Hardware und Daten wiederverwenden können oder ob Sie sie lagern und ein neues System aus völlig neuen Teilen erstellen müssen. Dies ist sehr wahrscheinlich, bevor Sie finanzielle oder geschäftliche Reputationsverluste nachgewiesen haben. Die Wahrung der Beweiskette muss in dem Moment geschehen, in dem jemand erkannt hat, dass ein potenziell umsetzbares Ereignis eingetreten ist.
sysadmin1138

Oft ist es am besten, zunächst Optionen offen zu halten oder nicht, da Sie möglicherweise nicht wissen, ob ein monetärer Verlust vorliegt. In den frühen Phasen, in denen Sie alles nach dem Buch machen, ist es wichtig, die Sorgerechtskette aufrechtzuerhalten.
Rory Alsop

3

Der Server muss nicht ausgeschaltet werden. Sie können die Konnektivität einfach über das Border Gateway / Router deaktivieren. Eine Firewall-Regel reicht aus, um weitere gesendete / empfangene Pakete zu verwerfen.


+1 Das ist ein Grund, warum ein Gateway eine gute Idee ist. Aber was ist, wenn Sie keine haben? Wenn Sie das direkte Netzwerkkabel abziehen, kann das Rootkit das Ereignis " Network Link Down" empfangen . Und ist es nicht eine schlechte Idee, sich beim Root-Server anzumelden und dort am Tag 0 etwas zu tun?
Aleksandr Levchuk

2

Die Antwort hängt weitgehend davon ab, was Sie unter "verwurzelt" verstehen. Das Ziehen der Netzwerkleitung ist normalerweise eine gute Idee, insbesondere wenn Sie glauben, dass dies ein aktiver menschlicher Angreifer war, der nach vertraulichen Informationen suchte.

Das Ziehen der Kraft ist viel schwieriger zu beantworten. Wenn Sie der Meinung sind, dass bösartiger Code ausgeführt wird, der möglicherweise seine Spuren verwischt, tun Sie dies. Wenn Sie jedoch der Meinung sind, dass sich möglicherweise noch ein Einbruch im Speicher befindet, lassen Sie ihn laufen.

Insgesamt hängt es davon ab, ob Sie mit bösartigem Code, verärgerten Mitarbeitern oder jemandem mit einem bestimmten Ziel zu tun haben.

Wenn Sie vorsichtig sind, ziehen Sie die Stromversorgung. Sie verlieren eine kleine Menge potenzieller Beweise, können jedoch die massive Entfernung anderer Beweise durch automatisierten Code verhindern.

- Wenn Sie jedoch der Meinung sind, dass die Maschine kompromittiert wurde und Sie wissen, dass sie keine vertraulichen Daten enthält, sind Sie von Ihrer Netzwerksicherheit an anderer Stelle sehr überzeugt und verstehen die Konsequenzen, die sich daraus ergeben Sehen Sie nach, ob Sie den Angriff verfolgen oder verstehen können, und gehen Sie von dort aus. Das ist normalerweise keine gute Idee


1

Meine Antwort war vor der Bearbeitung mit den 5 Annahmen.
Ich ging davon aus, dass Sie es mit einem hoch entwickelten, zielgerichteten Angreifer zu tun haben, wenn Ihr Server gerootet wurde, und dass Sie nicht wissen können, wann und woher der Angriff kam. (Da der Computer gerootet war, können Sie offensichtlich nichts vertrauen, was er Ihnen sagt. Möglicherweise haben Sie jedoch einige Off-Box-Informationen, z. B. IDS ...)
Ich nahm auch an, dass Sie Interesse daran haben, mit Ihrem Angreifer umzugehen und nicht nur zu winken ihn weg wie eine lästige Fliege. Wenn der angenommene Angreifer ein Script-Kiddie ist, wäre dies anders. Ich ging auch davon aus, dass der Angreifer, da er zielgerichtet und ausgefeilt ist, wahrscheinlich benutzerdefinierte Software auf Ihrem Computer ausführt, die auf Ihre Aktionen darauf reagieren kann ...


Weder.
Schauen Sie sich /security//q/181/33 an , so oder so ist es eine schlechte Idee.
Es ist, als würde man dem schwarzen Ritter ein paar Bandaids geben ... zu wenig, zu spät, es wird einfach nicht viel helfen.


Für alle, die der Meinung sind, dass diese Antwort zu weit draußen oder einfach nicht "sicherheitsbewusst" genug ist, müssen Sie erkennen, dass es bereits zu spät ist .
Es ist nicht mehr Ihr Server, auch wenn Sie ihn vollständig trennen. Selbst wenn Sie herunterfahren, führen Sie alle Ihre AVs und was auch immer aus - Sie besitzen es nicht mehr, sie tun es.
Das ist irgendwie die Definition von "verwurzelt".

Unter der Annahme, dass sie es besitzen und ihr Eigentum vor Ihnen verbergen können, müssen Sie sich überlegen, was das Trennen der Verbindung bewirken wird.
Das Einzige, was es erreichen wird - da es trotzdem weiterhin verwurzelt ist - ist, Ihren Gegner wissen zu lassen, dass Sie auf dem richtigen Weg sind. Das bringt ihre Wachen einfach auf und bringt sie dazu, nach sich selbst aufzuräumen (falls sie es noch nicht getan haben), was jede Hoffnung auf Forensik zunichte macht.
Sie schützen diesen Server oder seine Daten immer noch nicht. Wie lange ist es her ? verwurzelt? Wie würdest du wissen?

Was machst du besser:

  • Lassen Sie den Server laufen ...
  • Isolieren Sie es vom Rest Ihres internen Netzwerks, anderen Servern usw. - aber am besten schließen Sie eine Art Simulation an, so scheint es verbunden zu sein .
  • Starten Sie leise die Echtzeit- / Netzwerkforensik, führen Sie Traces aus usw.
  • Versuchen Sie, das Ausmaß und die Länge des Schadens herauszufinden (offensichtlich ist es anders, wenn es vor 2 Stunden oder vor 2 Monaten passiert ist).
  • Fahren Sie von dort fort ... Erst nachdem Sie den tatsächlichen Schaden gemindert haben, können Sie ihn bereinigen.
  • Vergessen Sie natürlich nicht, die Ursachen zu untersuchen und alle Kontrollen durchzusetzen, um sicherzustellen, dass es nicht wieder vorkommt ...

2
Ich denke, dies kann in einer Situation funktionieren, in der Sie es schnell in eine simulierte / isolierte Umgebung verschieben können, aber so wenige Unternehmen können dies tun, dass sie sich in Wirklichkeit für die Seite "Auswirkungen minimieren" entscheiden möchten, also den Netzstecker oder das Netzwerk ziehen ist oft die sofortige Beseitigung dieser Bedrohung. (Immer noch + 1'ed Sie, wie ich wünschte, es wäre so :-)
Rory Alsop

@ Rory Problem ist, dass Sie die Auswirkungen nicht minimieren können, der Server ist bereits pwned. Sie erhalten das nicht zurück und vertrauliche Daten werden möglicherweise auch gestohlen, da Sie nicht wissen, wie lange sie Zugriff hatten. Das heißt, die simulierte Umgebung ist nur ein Sahnehäubchen, es ist die Isolation, die wichtig ist - und ich würde glauben, dass die meisten Unternehmen über eine solide Firewall verfügen, ein paar Zugriffsregeln umdrehen und Sie sind Gold wert. Das ist ein weiterer Grund, warum zugängliche Server in einer DMZ sein sollten - macht diesen Teil einfacher ...
AviD

Außerdem möchte ich etwas klarstellen - das oben Gesagte gilt, wenn das Betriebssystem gerootet ist . Wenn auf Ihrer Website eine Sicherheitsanfälligkeit auf Anwendungsebene (z. B. SQL Injection) ausgenutzt wird, fahren Sie sie ABSOLUT herunter und ziehen Sie alle Kabel, die Sie in die Hände bekommen können! Das Betriebssystem root ist jedoch anders - sie steuern die gesamte Infrastruktur Ihres Computers. Sie haben keine Kontrolle mehr.
AviD

2
Nein, ich meinte, die Auswirkungen über diese verwurzelte Maschine hinaus zu minimieren. Ich bin damit einverstanden, dass es völlig verloren geht, aber wenn Sie es nicht schnell isolieren können, haben Sie keine Möglichkeit zu wissen, was der Controller mit dem Rest Ihrer Systeme tun könnte
Rory Alsop

0

Nachdem Sie Ihre Annahmen überprüft haben, tun Sie beides. Verwenden Sie ein CD / DVD-basiertes Medium, um den aktuellen Status zu sichern. In erster Linie möchten Sie in der Lage sein, festzustellen, wie Sie kompromittiert wurden. Möglicherweise möchten Sie auch versuchen, Benutzerdaten wiederherzustellen, die nicht auf Ihren Backup-Images enthalten sind. Yo

Erstellen Sie dann das System von den neuesten Sicherungsmedien neu, die nicht kontaminiert sind. Überprüfen Sie dies nach Möglichkeit mit Prüfsummen. Alternativ können Sie die Software vom Installationsmedium neu installieren und neu konfigurieren. Die Neukonfiguration sollte automatisch erfolgen, wenn Sie Ihren Server mit Puppet oder cfEngine konfiguriert haben.

Laden Sie die Benutzerdaten neu und suchen Sie nach Root-Kit-Komponenten. Stellen Sie sicher, dass Sie keine setuid- oder setgid-Programme in den Datenverzeichnissen haben.

Bestimmen und schließen Sie die Zugriffsmethode, mit der das System infiziert wird. Die Reaktivierung des Servers wird schrittweise durchgeführt, um zu überprüfen, ob die Anwendungen wie erwartet ausgeführt werden. Achten Sie sorgfältig auf neue Infektionsversuche.

Dies alles setzt voraus, dass sich die Infektion auf Wurzelebene befindet. Webinfektionen können durch Ändern des vom Webserver ausgeführten Codes durchgeführt werden. Wenn Sie dem Webserver Schreibzugriff auf seinen Code gewähren, wird dies möglicherweise einfacher. Möglicherweise möchten Sie diesen Fall dennoch so behandeln, als ob das Root-Konto kompromittiert wurde.

Wenn root auf einem System auf einem System kompromittiert wurde, sind möglicherweise mehr Systeme kompromittiert. Überlegen Sie sorgfältig, auf welche Systeme vom infizierten System ohne Kennwort zugegriffen werden kann.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.