techlogia — KI- und Web-Dienstleister Berlin
Alle Kurse
Frei lesbar – ohne Anmeldung

Incident Response mit journald

Ein Server wurde kompromittiert. Du untersuchst den Vorfall systematisch: journald-Logs filtern, verdächtige Logins und Prozesse identifizieren, eine Timeline rekonstruieren, kompromittierte Services isolieren und einen Incident-Report schreiben. Universitäts-Niveau — SOC-Analyst-Workflow in der Praxis. 5 Aufgaben, ca. 90 Minuten.

Dauer: 90 Min.Niveau: ProfiAufgaben: 5

Server-Vorfall untersuchen

Incident Response: einen Server-Vorfall untersuchen

Ein Server wurde kompromittiert — ein Angreifer hat sich Zugang verschafft. Als Analyst musst du systematisch herausfinden: Wer kam rein, wie, was hat er getan, und wie stoppst du ihn? Dieser strukturierte Ablauf heißt Incident Response und ist der Alltag eines SOC-Analysten (Security Operations Center).

Wichtige Begriffe

  • journald / journalctl: das zentrale Logging-System moderner Linux-Server. journalctl durchsucht diese Logs.
  • Persistenz: Mechanismen, mit denen sich ein Angreifer dauerhaft einnistet (z. B. ein versteckter Cronjob, der regelmäßig startet).
  • Timeline: die zeitliche Rekonstruktion des Angriffs — das Rückgrat jedes Vorfall-Berichts.
  • Containment: das Eindämmen/Isolieren der Bedrohung, damit kein weiterer Schaden entsteht.

Dein Ziel

Du filterst verdächtige Logins, findest den bösartigen Cronjob, baust eine Timeline, isolierst den kompromittierten Dienst und schreibst einen Incident-Report — Universitäts-Niveau.

Aufgaben

  1. 1. Fehlgeschlagene Logins finden

    Schritt 1: Wer hat angegriffen? Fehlgeschlagene SSH-Logins verraten die IP-Adressen eines Brute-Force-Angriffs. Du filterst sie aus dem Journal und sicherst die Angreifer-IPs.

    Lege den Arbeitsordner an und extrahiere die Quell-IPs der gescheiterten Logins:

    mkdir -p /home/student/incident
    journalctl -u ssh | grep -i "failed password" | grep -oE '([0-9]{1,3}\.){3}[0-9]{1,3}' | sort -u > /home/student/incident/suspicious-ips.txt

    grep -oE zieht nur die IP-Adressen heraus, sort -u macht sie eindeutig.

    Kontrolle: /home/student/incident/suspicious-ips.txt ist nicht leer.

  2. 2. Verdächtigen Cronjob identifizieren

    Schritt 2: Persistenz finden. Angreifer nutzen Cronjobs, um sich dauerhaft einzunisten — ein Eintrag, der regelmäßig z. B. eine Reverse-Shell startet, überlebt jeden Neustart. Du findest ihn, indem du alle Crontab-Speicherorte prüfst.

    Durchsuche die Cron-Verzeichnisse und kopiere die verdächtige Zeile in eine Datei:

    sudo grep -rE "bash|curl|wget|nc|/tmp/" /etc/crontab /etc/cron.d/ /var/spool/cron/ 2>/dev/null

    Trage die gefundene bösartige Zeile ein (nano /home/student/incident/malicious-cron.txt).

    Kontrolle: /home/student/incident/malicious-cron.txt ist nicht leer.

  3. 3. Angriffs-Timeline rekonstruieren

    Schritt 3: Timeline rekonstruieren. Eine chronologische Timeline zeigt Eintrittspunkt, Aktionen des Angreifers und Auswirkung in der richtigen Reihenfolge — ohne sie kann niemand den Vorfall nachvollziehen. Nutze die Zeitstempel aus dem Journal.

    Schreibe pro Zeile Zeitstempel + Ereignis (mindestens 3 Zeilen) nach timeline.txt, z. B.:

    2026-05-28 02:14  Erster erfolgreicher SSH-Login von Angreifer-IP
    2026-05-28 02:17  Boesartiger Cronjob in /etc/cron.d/ angelegt
    2026-05-28 02:19  Unbekannter Dienst 'rogue-agent' gestartet

    Hilfreich zum Recherchieren: journalctl --since "today" | less.

    Kontrolle: /home/student/incident/timeline.txt enthält mindestens 3 Zeilen.

  4. 4. Kompromittierten Service isolieren

    Schritt 4: Containment. Solange der kompromittierte Dienst läuft, kann der Angreifer aktiv bleiben. Du musst ihn stoppen (sofortiger Schaden gestoppt) und deaktivieren (startet nach Reboot nicht wieder — die Persistenz ist weg).

    Stoppe und deaktiviere den bösartigen Dienst rogue-agent:

    sudo systemctl stop rogue-agent
    sudo systemctl disable rogue-agent

    Kontrolle: systemctl is-active rogue-agent meldet inactive und systemctl is-enabled rogue-agent meldet disabled.

  5. 5. Incident-Report verfassen

    Schritt 5: Incident-Report. Ein guter Bericht beginnt mit einer Zusammenfassung (Entscheider lesen oft nur die) und endet mit Empfehlungen (damit derselbe Angriff nicht wieder funktioniert). So schließt sich der Kreis: Lessons Learned.

    Schreibe einen strukturierten Bericht (nano /home/student/incident/report.md), der mindestens diese Abschnitte enthält:

    # Incident-Report
    
    ## Zusammenfassung
    Kurz: Was ist passiert, wann, welche Auswirkung.
    
    ## Timeline
    (Verweis auf timeline.txt)
    
    ## Betroffene Systeme
    ...
    
    ## Empfehlungen
    - Passwoerter zuruecksetzen
    - Public-Key-Auth erzwingen, Passwort-Login abschalten
    - Monitoring/fail2ban einrichten

    Kontrolle: /home/student/incident/report.md enthält eine Überschrift „Zusammenfassung" (oder „Summary") und „Empfehlungen" (oder „Recommendations").

Jetzt selbst üben

Lesen ist gut – selbst machen ist besser. Starte diesen Kurs an einer echten Linux-VM, direkt im Browser. Ein kostenloses Konto genügt.

Kostenlos starten

Lab-Inhalte unter CC BY 4.0 – frei nutzbar mit Namensnennung (© TechLogia).

Incident Response mit journald