Wie man verborgene Linux-Prozesse mit Unhide aufdeckt
Während GNU / Linux ein extrem sicheres Betriebssystem ist, werden viele Leute in ein falsches Sicherheitsgefühl gelockt. Sie haben die falsche Vorstellung, dass nichts passieren kann, weil sie von einer sicheren Umgebung aus arbeiten. Es stimmt zwar, dass für die Linux-Umgebung sehr wenig Malware existiert, aber es ist immer noch möglich, dass eine Linux-Installation letztendlich kompromittiert wird. Nicht zuletzt ist die Berücksichtigung von Rootkits und ähnlichen Angriffen ein wichtiger Teil der Systemadministration. Ein Rootkit bezieht sich auf eine Reihe von Tools, die von Drittanbietern verwendet werden, nachdem sie Zugriff auf ein Computersystem erhalten haben, auf das sie zu Recht keinen Zugriff haben. Dieses Kit kann dann verwendet werden, um Dateien ohne das Wissen der rechtmäßigen Benutzer zu ändern. Das unhide-Paket bietet die Technologie, die benötigt wird, um solche kompromittierte Software schnell zu finden.
Unhide befindet sich in den Repositorys für die meisten großen Linux-Distributionen. Die Verwendung eines Paketmanagerbefehls wie sudo apt-get install unhide reicht aus, um die Installation auf Debian- und Ubuntu-Varianten zu erzwingen. Server mit GUI-Zugriff können den Synaptic Package Manager verwenden. Fedora und Arch-Distributionen verfügen über vordefinierte Versionen von Unhide für ihre eigenen Paketverwaltungssysteme. Sobald die Installation installiert ist, sollten Systemadministratoren mehrere Möglichkeiten nutzen können.
Methode 1: Bruteforcing-Prozess-IDs
Die grundlegendste Technik besteht darin, jede Prozess-ID routinemäßig auszuführen, um sicherzustellen, dass keine davon vor dem Benutzer verborgen wurde. Wenn Sie keinen root-Zugriff haben, geben Sie sudo unhide brute -d an der CLI-Eingabeaufforderung ein. Die Option d verdoppelt den Test, um die Anzahl der gemeldeten Fehlalarme zu reduzieren.
Die Ausgabe ist extrem einfach. Nach einer Copyright-Nachricht wird die Einblendung der durchgeführten Prüfungen erläutert. Es wird eine Zeile geben:
[*] Starten des Scannens mit roher Gewalt gegen PIDS mit fork ()und eine andere besagt:
[*] Starten des Brute-Force-Scans gegen PIDS mit Pthread-FunktionenWenn es keine andere Ausgabe gibt, gibt es keinen Grund zur Besorgnis. Wenn die routinemäßige Unterroutine des Programms etwas findet, wird Folgendes gemeldet:
Gefunden VERSTECKTE PID: 0000
Die vier Nullen würden durch eine gültige Nummer ersetzt werden. Wenn es nur liest, dass es ein Übergangsprozess ist, dann könnte dies ein falsches Positiv sein. Fühlen Sie sich frei, den Test mehrmals durchzuführen, bis er ein sauberes Ergebnis liefert. Wenn weitere Informationen vorhanden sind, kann dies eine Nachprüfung rechtfertigen. Wenn Sie ein Protokoll benötigen, können Sie mit der Option -f eine Protokolldatei im aktuellen Verzeichnis erstellen. Neuere Versionen des Programms rufen diese Datei unhide-linux.log auf und es enthält eine Klartextausgabe.
Methode 2: Vergleichen von / proc und / bin / ps
Sie können stattdessen einblenden, um die Prozesslisten / bin / ps und / proc zu vergleichen, um sicherzustellen, dass diese zwei separaten Listen in der Unix-Dateistruktur übereinstimmen. Wenn etwas nicht in Ordnung ist, meldet das Programm die ungewöhnliche PID. Unix-Regeln schreiben vor, dass laufende Prozesse ID-Nummern in diesen beiden Listen enthalten müssen. Geben Sie sudo ein, und zeigen Sie proc -v an, um den Test zu starten. Tacking auf v wird das Programm in den ausführlichen Modus versetzen.
Diese Methode gibt eine Eingabeaufforderung mit folgenden Angaben zurück:
[*] Suche nach versteckten Prozessen durch / proc stat scanSollte etwas Ungewöhnliches auftreten, wird es nach dieser Textzeile angezeigt.
Methode 3: Kombinieren der Proc und Procfs Techniken
Bei Bedarf können Sie die Unix-Dateibaumlisten / bin / ps und / proc vergleichen und dabei auch alle Informationen aus der / bin / ps-Liste mit den virtuellen procfs-Einträgen vergleichen. Dies überprüft sowohl die Unix-Dateibaum-Regeln als auch die procfs-Daten. Geben Sie sudo ein, und führen Sie procall -v aus, um diesen Test durchzuführen, der einige Zeit dauern kann, da er alle / proc -Stats scannen sowie mehrere andere Tests durchführen muss. Es ist eine hervorragende Möglichkeit, um sicherzustellen, dass alles auf einem Server copasetic ist.
PRO TIPP: Wenn das Problem bei Ihrem Computer oder Laptop / Notebook auftritt, sollten Sie versuchen, die Reimage Plus Software zu verwenden, die die Repositories durchsuchen und beschädigte und fehlende Dateien ersetzen kann. Dies funktioniert in den meisten Fällen, in denen das Problem aufgrund einer Systembeschädigung auftritt. Sie können Reimage Plus herunterladen, indem Sie hier klickenMethode 4: Vergleiche procfs Ergebnisse mit / bin / ps
Die vorherigen Tests sind für die meisten Anwendungen zu kompliziert, aber Sie könnten die Prüfungen des proc-Dateisystems aus praktischen Gründen unabhängig voneinander ausführen. Geben Sie sudo ein, und zeigen Sie procfs -m an, das diese Überprüfungen sowie mehrere weitere Überprüfungen durchführt, die durch Ankreuzen von -m bereitgestellt werden.
Dies ist immer noch ein ziemlich aufwendiger Test und kann einen Moment dauern. Es gibt drei separate Zeilen der Ausgabe zurück:
Beachten Sie, dass Sie mit jedem dieser Tests ein vollständiges Protokoll erstellen können, indem Sie dem Befehl -f hinzufügen.
Methode 5: Ausführen eines Quick Scan
Wenn Sie lediglich einen Schnellscan durchführen müssen, ohne sich mit gründlichen Prüfungen zu befassen, geben Sie einfach sudo einfliegen schnell ein, was so schnell wie der Name vermuten lässt. Diese Technik scannt sowohl Proc-Listen als auch das proc-Dateisystem. Es führt auch eine Prüfung aus, bei der die von / bin / ps gesammelten Informationen mit Informationen verglichen werden, die von Aufrufen an Systemressourcen bereitgestellt werden. Dies liefert eine einzige Ausgabezeile, erhöht aber leider das Risiko von Fehlalarmen. Es ist nützlich, nach Überprüfung der vorherigen Ergebnisse noch einmal zu überprüfen.
Die Ausgabe ist wie folgt:
[*] Suche nach versteckten Prozessen durch Vergleich der Ergebnisse von Systemaufrufen, proc, dir und psMöglicherweise werden nach dem Ausführen dieses Scans mehrere vorübergehende Prozesse angezeigt.
Methode 6: Ausführen eines umgekehrten Suchlaufs
Eine ausgezeichnete Technik zum Ausspionieren von Rootkits beinhaltet die Überprüfung aller ps-Threads. Wenn Sie den Befehl ps an einer CLI-Eingabeaufforderung ausführen, können Sie eine Befehlsliste anzeigen, die von einem Terminal ausgeführt wird. Beim Rückwärtsscan wird überprüft, dass jeder der Prozessor-Threads der ps-Images gültige Systemaufrufe aufweist und in der Procfs-Liste nachgeschlagen werden kann. Dies ist ein guter Weg, um sicherzustellen, dass ein Rootkit nicht etwas abgetötet hat. Geben Sie einfach sudo ein, um die Überprüfung zu deaktivieren. Es sollte extrem schnell laufen. Wenn es läuft, sollte das Programm Sie darüber informieren, dass es nach gefälschten Prozessen sucht.
Methode 7: Vergleichen von / bin / ps mit Systemaufrufen
Schließlich umfasst die umfassendste Überprüfung den Vergleich aller Informationen aus der Auflistung / bin / ps mit Informationen aus gültigen Systemaufrufen. Geben Sie sudo ein und zeigen Sie sys an, um diesen Test zu starten. Es wird wahrscheinlich länger dauern als die anderen. Da es so viele verschiedene Ausgabezeilen bietet, möchten Sie vielleicht den Befehl -f log-to-file verwenden, um den Rückblick auf alles, was es gefunden hat, zu erleichtern.
PRO TIPP: Wenn das Problem bei Ihrem Computer oder Laptop / Notebook auftritt, sollten Sie versuchen, die Reimage Plus Software zu verwenden, die die Repositories durchsuchen und beschädigte und fehlende Dateien ersetzen kann. Dies funktioniert in den meisten Fällen, in denen das Problem aufgrund einer Systembeschädigung auftritt. Sie können Reimage Plus herunterladen, indem Sie hier klicken