GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Untersuchen Sie einen kompromittierten Windows-Server

Dieser Artikel hilft Ihnen, Hinweise auf einen kompromittierten Windows®-Server zu verstehen und zu identifizieren. Dies ist ein sehr allgemeines Dokument, das Sie als Ressource verwenden können, um ein potenzielles Problem aufzuspüren, anstatt einen kompromittierten Server zu beheben.

Arten der Kompromittierung

Dieser Artikel befasst sich mit zwei Arten von Kompromittierung:Anwendungsebene und System- oder Root-Ebene. Diese sind ziemlich schwerwiegend und erfordern oft einen robusten Disaster-Recovery-Plan, um sie abzumildern.

Kompromittierung auf Anwendungsebene

Eine Kompromittierung auf Anwendungsebene tritt auf, wenn ein Dienst oder Benutzer auf niedriger Ebene kompromittiert wird. Typische Kompromisse in dieser Gruppe umfassen die folgenden Probleme:

  • Website-Entstellung
  • FTP-Tagging
  • FTP-Dateimanipulation
  • SQL-Injection

Diese Art von Kompromittierung kann Daten auf dem Server verändern. Sie erreichen jedoch niemals Administrator- oder Root-Zugriff auf den Server. In diesen Fällen können Sie die Schwachstelle möglicherweise identifizieren und absichern. Das Sichern einer Schwachstelle auf Anwendungsebene kann beinhalten, einem anonymen Webbenutzer den Schreibzugriff zu entziehen, Viren von einem Server zu entfernen oder eine Anwendung durch verfügbare Patches zu sichern. Um geänderte Dateien zu reparieren, müssen Sie sie aus einer Sicherung wiederherstellen.

Verwaltungs-, System- oder Root-Level-Kompromittierung

Diese Art der Kompromittierung findet statt, wenn ein Angreifer administrativen Zugriff auf das System erhält, und kann die folgenden Probleme beinhalten:

  • Kompromittierter Dienst, der als System ausgeführt wird , LocalService , oder Administrative Benutzer
  • Kompromittiertes Benutzerkonto mit Administratorrechten
  • Zugriff durch einen nicht-administrativen Benutzer auf einen Ort, der auf administrative Benutzer beschränkt ist (z. B. Systemverzeichnisse usw.)
  • Virus im System- oder Verwaltungsverzeichnis gefunden
  • Offenbar schädliche ausgehende Netzwerkaktivitäten
  • SQL-Injection (einschließlich Befehlsausführung)

Wichtig: Wenn ein Angreifer diese Zugriffsebene erhält, können Sie keine Änderungen feststellen, die während der Kompromittierung vorgenommen wurden.

Windows-Tools, mit denen Sie nach einer Kompromittierung suchen können

  • Aufgabenliste: Befehlszeilentool mit Details zu Prozessen und Diensten im System
  • Task-Manager: Grafisches Tool mit Details zu Prozessen, Ressourcenstatistiken und Netzwerkaktivitäten im System
  • Ressourcenmanager: Grafisches Tool ähnlich dem Taskmanager aber weitere Details zur Ressourcennutzung bereitstellen

Untersuchen Sie einen kompromittierten Server

Um eine mögliche Kompromittierungssituation zu untersuchen, führen Sie die folgenden Aufgaben aus, die in diesem Abschnitt beschrieben werden:

  • Identifizieren Sie die Kompromittierung
  • Überprüfen Sie die Prozesse
  • Dienste überprüfen
  • Überprüfen Sie die Benutzer

Identifizieren Sie die Kompromittierung

Eine hohe anhaltende unerwartete Bandbreitenauslastung ist häufig ein häufiges Symptom. Da Angreifer normalerweise Systeme kompromittieren, die beabsichtigen, einen Netzwerkdienst darauf auszuführen, könnte ein Dienst auf dem System ausgeführt werden, sodass das Abhören eines ungeraden Ports auf einen kompromittierten Server hinweisen könnte.

  • Führen Sie den folgenden Befehl aus, um Netzwerkverbindungen auf TCP zu überprüfen:

    NetStat -naop 'TCP'
    
  • Führen Sie den folgenden Befehl aus, um Netzwerkverbindungen auf UDP zu überprüfen:

    NetStat** -naop 'UDP'
    
  • Um bestimmte Verbindungen zu zählen, führen Sie einen der folgenden Befehle aus:

    NetStat** -naop 'TCP'
    
    find /c ":<port>"
    

Hinweis: Das Sysinterne TCP view bietet alternative grafische Tools für diese Überprüfung.

Prüfen Sie die Prozesse

Identifizieren Sie jeden verdächtigen Prozess. Auf einem kompromittierten Server werden wahrscheinlich ein oder mehrere schädliche Prozesse ausgeführt. Sie können diese manchmal daran erkennen, dass sie Tippfehler, Grammatikfehler oder eine verdächtige Beschreibung enthalten.

  • Führen Sie den folgenden Befehl aus, um die auf dem System ausgeführten Prozesse aufzulisten:

    Tasklist /FI "USERNAME ne NT AUTHORITY\SYSTEM" /FI "STATUS eq running" 
    
  • Führen Sie den folgenden Befehl aus, um die als Dienst definierten Prozesse aufzulisten:

    Tasklist /svc 
    
  • Führen Sie den folgenden Befehl aus, um einen Schnappschuss des aktuell ausgeführten Prozesses mit derselben Ausgabe wie die Taskmanager-Prozessliste aufzulisten:

    Get-Process
    
  • Führen Sie einen der folgenden Befehle aus, um Prozesse und den Benutzer, unter dem sie ausgeführt werden, aufzulisten:

    gwmi win32_process
    
    select Name, @{l="User name";e={$_.getowner().user}}
    

Prüfen Sie die Dienste

Suchen Sie nach Tippfehlern, Grammatikfehlern oder verdächtigen Beschreibungen. Wenn ein Dienst fragwürdig aussieht, untersuchen Sie die Eigenschaften und Abhängigkeiten. Stellen Sie außerdem fest, ob die Datei ausführbar ist. Verwenden Sie die Dienste-GUI um laufende Dienste anzuzeigen.

  • Führen Sie den folgenden Befehl aus, um laufende Dienste aufzulisten:

    get-service | where-object {$_.Status -eq "Running"}
    

Benutzer überprüfen

Um festzustellen, ob ein Server kompromittiert ist, und um eine fehlerhafte Konfiguration schnell zu identifizieren, überprüfen Sie grundlegende Benutzerkonten.

  • Führen Sie den folgenden Befehl aus, um unbekannte oder ungewöhnlich benannte Benutzerkonten durch Auflisten konfigurierter Benutzer zu identifizieren:

    net user
    
  • Führen Sie den folgenden Befehl aus, um unbekannte Benutzer in der lokalen Administratorengruppe durch Auflisten konfigurierter Administratoren zu identifizieren:

    net localgroup Administrators
    
  • Führen Sie den folgenden Befehl aus, um zu sehen, ob ein Gastkonto aktiviert und in der Gruppe Administratoren ist:

    net user guest
    

Tools verfügbar von Microsoft Sysinternals

Weitere Informationen finden Sie in den folgenden Quellen:

  • Dokumentation zu Sysinternals
  • Live-Link zu sysinternen Tools
  • Sophos AntiRootkit

Verwenden Sie die Registerkarte „Feedback“, um Kommentare abzugeben oder Fragen zu stellen. Sie können auch mit uns ins Gespräch kommen.


Linux
  1. DotNetPanel-Windows-Hosting

  2. Überprüfen Sie die Betriebszeit von Windows Server

  3. Bereiten Sie die Migration eines Windows-Servers vor

  4. Fehlerbehebung bei einem ausgefallenen Windows-Cloud-Server

  5. VNC-Server ohne X Window System

SSL-Zertifikate auf einem Windows-Server installieren

Benutzer ist in Windows gesperrt

Plesk-Serversystemaktualisierung

Graylog-Überwachungsserver unter Ubuntu Linux für Überwachungsserver/-dienste

FTP auf Windows Server 2012 (R2) installieren

Soll ich Linux Server oder Windows wählen?