it-swarm.com.de

Ein früherer IT-Mitarbeiter hat wahrscheinlich einige Hintertüren hinterlassen. Wie kann ich sie beseitigen?

Ich begann für ein Unternehmen zu arbeiten, das einen früheren IT-Mitarbeiter wegen Datenlecks entlassen hatte.

Ich kann nur folgendes sagen:

Wir verwenden eine Firebird-Datenbank mit einer Anwendung, die von einem anderen Unternehmen, Proxmox, für die Virtualisierung von Windows Server 2008 R2, SQL Server, Cloud-Core-Mikrotik-Router und einigen anderen Mikrotik-Geräten geschrieben wurde.

Ich bin mir nicht 100% sicher, aber gibt es eine schnelle Möglichkeit, um zu überprüfen, ob noch Hintertüren vorhanden sind, ohne interne Prozesse zu unterbrechen und alles neu zu formatieren?

Dieser vorherige Typ war wirklich gut und hatte Software in C++ und C # geschrieben. Ich weiß auch, dass er einige Assembler gemacht und ein paar Programme in ollydbg geknackt hat.

67
user2265690

Die einzige Möglichkeit, absolut sicher zu sein, besteht darin, jedes System sauber zu wischen und von Grund auf neu zu installieren. Sie müssen auch alle lokal generierten Software und Konfigurationen überprüfen, um sicherzustellen, dass sie keine Hintertüren enthalten. Dies ist eine nicht triviale Aufgabe, die mit nicht trivialen Kosten verbunden ist.

Darüber hinaus können Sie nicht wirklich viel tun.

Offensichtlich, während Sie entscheiden, was zu tun ist

  • Überprüfen Sie alle Firewall-Regeln auf ihre Gültigkeit
  • Überprüfen Sie alle Konten auf Gültigkeit
  • Überprüfen Sie alle Sudoers-Dateien auf ihre Gültigkeit
  • Ändern Sie alle Passwörter und Schlüssel

aber das kratzt nur an der Oberfläche.

109
user9517

Erstens ist das wichtigste Ziel eines entlassenen Systemadministrators, seine Vergangenheit aufzuräumen, insbesondere wenn es sich um einen Abgang in schlechtem Zustand handelte. Wenn ein Angriff auf sein vorheriges System stattfinden würde, würde er nichts gewinnen (insbesondere nicht seinen alten Job), aber er könnte viel verlieren. Ich war viele Male mit ähnlichen Ängsten konfrontiert, aber meiner Meinung nach sind sie weitgehend unbegründet. Ich denke, es ist viel wahrscheinlicher, dass er, wenn Sie ihm einige Fragen stellen würden, sehr nett und hilfsbereit für Sie wäre (was Sie dann wiederum Ihrem Chef gegenüber erwähnen sollten).


Betrachten Sie nun den sehr unwahrscheinlichen Fall, dass er wirklich etwas Schädliches tun möchte.

Erstellen Sie ein Archiv Ihres gesamten Netzwerks an einem für ihn nicht erreichbaren Ort (hinter einer Firewall außerhalb seiner Verantwortung, Festplatte in einem verschlossenen Schrank usw.).

Sobald Sie dieses Backup erstellt haben, kann er seine Spuren nicht mehr verwischen. Im Falle eines Schurkenangriffs dient dies als Beweismittel.


Sie können nie 100% sicher sein (außer im Falle einer Neuinstallation des gesamten Netzwerks). Sie können eine Checkliste durchgehen, aber Sie können nie sicher sein, dass Sie alles überprüft haben.

Selbst wenn Sie ein Loch finden, können Sie nicht beweisen, dass es absichtlich dort platziert wurde. Beachten Sie, dass das gleiche Problem für Softwareentwickler besteht. Schlechte Arbeit ist keine Straftat, und Sie können nicht beweisen, dass er beispielsweise "vergessen" hat, das Standardkennwort für den Datenbankadministrator absichtlich zu ändern. Oder dass Benutzern, deren Passwort von ihm festgelegt wurde, "versehentlich" die Berechtigungen erteilt wurden, die für die Verbindung mit Ihren streng geheimen Datenbanken erforderlich sind.


In den meisten Fällen ist der wichtigste Teil Ihres Systems nicht Ihr Betriebssystem, sondern die Daten, die auf diesen verwaltet werden. Dies gilt insbesondere dann, wenn es sich bei diesen Daten um private Daten handelt und Eigentum Ihrer Kunden ist. Er hätte sie lange vor seinem letzten Arbeitstag stehlen, verschlüsseln und an Orten aufbewahren können, die nur ihm bekannt waren. Suchen Sie daher auch nach Spuren, die darauf hinweisen, dass er vor Ihrer Abreise Kopien Ihrer Daten erstellt hat. Beachten Sie jedoch, dass Sie nichts finden werden, wenn er es "richtig" gemacht hat.

@ JonasWielicki verglich diese Frage mit einer unserer kanonischen Sicherheitsfragen ( Wie gehe ich mit einem kompromittierten Server um ). Ich stehe zu meiner Antwort auf diese Frage, aber es gibt einen wichtigen Unterschied.

In dieser Frage war bekannt, dass der Server kompromittiert wurde . Soweit ich verstehe , ist diese Frage in diesem Fall noch nicht geklärt. Daher bin ich mir nicht sicher, ob wir den Flammenwerfer noch ausbrechen müssen.

Menschen verlassen eine Organisation die ganze Zeit, ohne dass etwas Schlimmes passiert, selbst wenn sie unter schlechten Bedingungen abgereist sind. Nur gut programmieren zu können, was all die "Beweise" sind, die Sie uns in der Frage OP gezeigt haben, bedeutet nicht, dass jemand per se ein Hacker ist oder dass er Sie jetzt angreifen wird, nachdem er gegangen ist.

Wenn Sie wirklich besorgt sind, würde ich vorschlagen, eine externe Sicherheitsfirma zu beauftragen, um Ihr System zu prüfen. Dies wird hoffentlich nicht nur kleine Überraschungen aufdecken, die der frühere Systemadministrator hinterlassen hat, sondern auch eine gute Grundlage für alle Ihre zukünftigen Sicherheitsprobleme und -bedenken sein.

15
Rob Moir

Die einzige Möglichkeit, um sicherzustellen, dass keine Hintertür vorhanden ist, besteht darin, das System wie gesagt zu zerstören.

Wenn das nicht ganz möglich ist,

  1. Betrachten Sie eine sichere Basiskonfiguration, und die Analyse der aktuellen Konfiguration weicht davon ab.
  2. Überprüfen Sie alle suid-Programme.
  3. Analysieren Sie alle laufenden Prozesse.
  4. Führen Sie einen Portscan auf dem System durch, um offene Ports und Dienste zu identifizieren.
  5. Überwachen Sie routinemäßig alle ausgehenden und eingehenden Verbindungen und suchen Sie nach unerwünschten Verbindungen.
12
hax

Sie müssen entscheiden, wie sicher Sie sein möchten. Das Kosten-Nutzen-Verhältnis wird sich niemals aus dem Orbit ergeben.

Fordern Manager Zusicherungen oder versuchen Sie nur, die von Ihnen geerbten Systeme angemessen zu untersuchen?

Wenn es Manager sind, können Sie jetzt herausfinden, wie vernünftig sie sind. Sind sie bereit, sich mit "ziemlich sicher" zufrieden zu geben? Vielleicht kannst du dem Entlassenen zu seinem neuen Job folgen!

Wenn Sie Ihre eigenen Systeme untersuchen möchten, beginne ich mit der Einrichtung eines Netzwerküberwachungssystems wie snort. Suchen Sie nach unerwartetem Datenverkehr, z. B. "Warum spricht das System jeden Tag mit diesem einen Server in Russland?" oder "Warum machen die Leute IRC über meinen Webserver?" (das ist mir passiert).

Ich denke, @ peterhs Vorschlag, ein großes Archiv zu erstellen, ist eine wirklich gute Idee. Ich denke auch, dass sein Vorschlag, dass der entlassene Kerl hilfreich ist, völlig realistisch ist. Probleme wie dieses erweisen sich in 90% der Fälle als dummes Management.

10
Dylan Martin

Sie sollten eine Überprüfung der aktuellen Funktionalität und Nutzung durchführen, aber ehrlich gesagt sollten Sie bei Null anfangen.

Das heißt, Sie sollten nicht nur „aus dem Orbit nuklearisieren“, sondern alle Kernfunktionen und -anforderungen notieren, z. B. welche Ports in der Firewall möglicherweise für die Einschränkungen der Box, der IP-Adresse oder des Hostnamens geöffnet sein müssen. Sanitär “so.

Erstellen Sie dann eine neue Umgebung basierend auf dem, was Sie gesehen haben, führen Sie einige Tests durch, um zu bestätigen, dass die Funktionalität bei der Umstellung identisch ist, und planen Sie dann die Wartung für eine offizielle Umschaltung: Kopieren Sie die Daten aus dem alten Setup in die neue und schalten Sie dann entweder die IPs ein Die Box, um die alten IPs von der alten Box zu übernehmen oder andere Systeme einzurichten, die Zugriff benötigen, um eine Verbindung zum neuen Setup herstellen zu können.

Aber selbst wenn Sie dies tun, können Sie den Daten in der Datenbank möglicherweise nicht vertrauen, aber zumindest in einem solchen Fall wird das Kernsystem auf etwas Stabileres und „Vernünftigeres“ umgestellt, sodass Sie einen saubereren haben Startpunkt.

Sie haben auch die vorherige I.T. Leute konnten in Assembler und C++ programmieren. Meine Frage wäre: Warum? Führen Sie daher eine Prüfung des möglicherweise vorhandenen benutzerdefinierten Codes durch und bewerten Sie die Funktionalität. Denn während die anderen Leute vielleicht in ihren Programmierkenntnissen „ausgefallen“ waren, wer weiß, ob sie etwas in C++ programmiert haben, das zum Beispiel leicht in Python) neu erstellt werden kann = oder ein Bash/Batch-Skript. Ich habe heutzutage viele C++ - Programmierer getroffen, die C++ - Code wirklich übermäßig verwenden, wenn einfachere Tools verwendet werden können, um gleichwertige Funktionen zu erreichen.

Aber am Ende des Tages könnte der Wiederaufbau der Architektur von Grund auf das einzig - und sicherste - sein.

7
JakeGould

Das erste ist, dass jeder sein Passwort ändert. Zweitens müssen Sie die Firewall und alles, was direkt mit ihr verbunden ist, sichern. Ändern Sie ALLE Passwörter überall.

Wenn er nicht durch die Firewall kommt, muss er sich auf etwas verlassen, das eine Verbindung zu ihm herstellt, und es viel schwieriger machen, wieder hineinzukommen.

Sie müssen alles über die Firewall, Regeln und Konfiguration lernen und diese Zeile für Zeile auf Dinge überprüfen, die nicht dazu gehören. Selbst dann ist es möglicherweise besser, einen neuen Router zu erwerben und die Konfiguration manuell zu übertragen. Überprüfen Sie, ob jede Änderung an der Konfiguration korrekt ist, keine Hintertür, und ob sie überhaupt noch benötigt wird. Dies ist der perfekte Zeitpunkt, um die Kruft aus Ihrem System zu entfernen.

2
cybernard