64
Digitale Forensik Veranstaltung Sicherheit Rechnernetzen

Veranstaltung - Rechnernetze und Telekommunikationeinstein.informatik.uni-oldenburg.de/.../04ss/sr/skripte/forensik.pdf · Forensik Forensik: lat. für gerichtlich (oder auch kriminaltechnisch)

  • Upload
    ngodien

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

Digitale Forensik

Veranstaltung� Sicherheit Rechnernetzen

Übersicht

� Was ist Forensik?

� Vorgehensweise

� Werkzeuge

� Kurzeinführung in Autopsy

Nach erfolgreichem Einbruch

� Überwachungsmethoden analysieren

� Verwischen von Spuren / Entdeckung vermeiden

� Installation eines Rootkits

� Einrichtung von Hintertüren

� Angriff auf weitere Systeme

Forensik

� Forensik: lat. für gerichtlich (oder auch kriminaltechnisch)

� Nachweis und der Aufklärung von strafbaren Handlungen

� Digitale Forensik wird auch als Computer Forensik bezeichnet

Digitale Forensik

Frage: Wer hat � wann� wo� was� wie� warum

auf einem Rechnersystem gemacht?

Ziel

� Klären der vorherigen Fragen durch strukturierte, schlüssige Analyse

� Abschätzung möglicher Gefahren

� Aussagen sollten nachvollziehbar sein und bei Bedarf vor Gericht Bestand haben

Entwicklung

� Junger Zweig der IT-Branche

� 1986 (von Einzelpersonen) erstmals zur Verfolgung von Hackern eingesetzt

� 1999 durch das "Coroner's Toolkit" von Dan Farmer und Wietse Venema zu einer echten Methode entwickelt

� Erlangung der öffentlichen Aufmerksamkeit im Jahr 2001 durch das Honeynet Projekt der "Forensic Challenge"

Grundsätze� Änderungen am Original-System weitestgehend

vermeiden� Wie im echten Leben, nichts anfassen bis die

Spurensicherung eintrifft

� Änderungen Dokumentieren� Nur externe Analysesysteme (z.B. NIDS) erlauben

das Entdecken eines Einbruchs, ohne auf dem betroffenen System entsprechende Programme zu starten

� Interne Analyse bewirkt eine Veränderung des Systems

Grundsätze

� Uhrzeit und Datum notieren� Zeitdaten des BIOS sichern� Differenzen zum korrekten Zeit notieren� Ermöglicht die Erstellung einer exakten Zeitskala,

sowie die Korrelation mit anderen Datenquellen, z.B. NIDS, SIV, Router/Firewall Logs

Grundsätze

� Hardware-Inventur des Originalsystems� Bei einer Hardwareuntersuchung muss die

Ausstattung zu Beginn notiert werden

� Geringe Personenzahl im Untersuchungsraum� Kleine eingespielte Teams arbeiten effektiver� Unkoordinierte Aktionen, die zur Vernichtung von

Beweisen führen können, werden verhindert

Grundsätze

� Zuerst Daten sammeln, dann analysieren� Nur gesammelte Daten sind vor nachträglicher

Zerstörung sicher

� Niemals mit Originaldaten arbeiten� Durch arbeiten auf einer exakten Kopie können

nachträgliche Veränderungen der Daten leicht festgestellt werden

Grundsätze

� Daten in Reihenfolge ihrer Vergänglichkeit sichern� Registerwerte, Cacheinhalte

� Hauptspeicher

� Aktueller Zustand des Netzwerks

� Laufende Prozesse

� Daten auf Festplatte

� Daten auf Wechselmedien

� Sonstige Daten (auch Papier)

Grundsätze

� Bei einer Sicherung ist es unmöglich eine "Momentaufnahme" zu machen, da jede Aktion eine Veränderung nach sich zieht

� Forensisch sterile Datenträger verwenden� Keine Viren� Sauber gelöschte Medien� Auf Fehler des Dateisystems geprüft

Erstkontakt (klassische Fehler)

� In Panik den Netz(werk)stecker ziehen� Laufende Prozesse können nicht mehr analysiert

werden� Es bleibt nur die Post-Mortem Analyse der

Festplatte� Fehlende Netzwerkverbindung kann Aktion eines

Werkzeugs auslösen

Erstkontakt (klassische Fehler)

� Einspielen des letzten Backups ohne Modifikation� Analyse wird nahezu unmöglich� Backup kann bereits kompromitiert sein� Erneuter Angriff erzielt gleiche Wirkung

Erstkontakt (klassische Fehler)

� Auffällige Prozesse beenden, entsprechende Dateien löschen und das System so weiterbetreiben� Sehr einfache und Methode, aber absolut

wirkunglos

� Fehlende Koordination in größeren Unternehmen (viele Administartoren)

� Nachträgliche Einspielen der Analysetools auf das kompromitierte System

Beginn der Analyse

� Brauchbare Programme zusammenstellen

� Möglichst statisch linken

� Typische Unix/Linux Programme:� dd, cp, cat, ls, ps, lsof, strings, find, file, bash, grep,

less, vi, perl, ifconfig, kill, nc/netcat, tcpdump, arp, des, df, diff, du, last, lsmod, md5, mv, netstat, rpcinfo, showmount, top, uname, uptime, w, who, fdisk, gzip

Beginn der Analyse

� Beschaffung der Werkzeuge� Am einfachsten mit Linux CD, z.B. Knoppix� Minimal invasive Analyse, da lauffähig von CD� Viele Standardwerkzeuge lassen sich für Analyse

verwenden� Imagedateien können direkt als „Laufwerk“

eingebunden werden� Einfache Um-/Weiterleitung von Daten (command

chaining)

Externe Hilfsmittel

� Logserver, Firewall-Logs, Router-Logs

� System Integrity Verifier (SIV), kann neu angelegte oder manipulierte Daten erkennen

� Wichtig bei externen Quellen ist immer die korrekte Zeitumrechnung und die Ermittlung von Zeitdifferenzen

Externes Hilfsmittel

� IDS� Erhöhter Netzwerkverkehr� Verstoß gegen die Sicherheitsrichtlinien (nicht

erlaubte Protokolle, Zugriffszeiten, ...)� Dateisystem wird stärker genutzt� Höhere Prozessorlast� Geänderte Passwörter / neue Benutzer

Standardwerkzeuge

� Wichtig: Nicht gleich hiermit loslegen!

� last - wer war zuletzt eingeloggt

� lastb - zeigt auch Fehlversuche bzgl. des Einloggens an

� who - wer ist momentan eingeloggt

� w - etwas ausführlicher als who

Standardwerkzeuge

� lastcomm - zuletzt ausgeführtes Kommando

� ps - welches Prozesse laufen gerade

� netstat - Anzeigen der Routen und offenen Netzwerkverbindungen

� arp - Anzeigen aller MAC-Adressen im Cache

Windows Pakete

� Unter Windows müssen diese Pakete explizit installiert werden! (Z.B. IRCR Tool - Incident Response Collection Report)

� psloggedon – Zeigt eingeloggte Benutzer und Benutzer, die über Windows-Share auf die Maschine zugreifen

� psfile - Erzeugt eine Liste von Dateien, die Remote geöffnet sind. Optional kann die Datei geschlossen werden

Windows Pakete

� fport - Erstellt eine Liste aller TCP/UDP Ports mit den zugehörigen Applikationen

� dumpevt - Erzeugt aus dem Eventlog einen ASCII-Output zur einfacheren Bearbeitung

� ntlast - Zeigt die letzten Logins im System an, dafür muss das Auditing aber aktiviert worden sein

Spezielle Werkzeuge

� lsof - Analyse, welche Applikation auf welchem Port läuft

� netcat - Das Universalwerkzeug

� dd - Kopieren und konvertieren von Dateien

� script - Protokolliert Befehle und deren Ausgaben

Lsof

� Offene Dateien� lsof

� Offene Netzwerkverbindungen� lsof -i

� Alle Sockets� lsof -U

� Gelöschte aber noch offene Dateien� lsof +L1

Prozesse ohne zugehörige Datei

� Einbrecher können eine Datei nach dem Ausführen löschen um z.B. Sniffer zu verstecken

� Wiederherstellung der Datei bei installiertem proc- Filesystem mit� cat /proc/[PID]/exe > [Datei]

Netcat

� Universalwerkzeug für Netzangelegenheiten� netcat host port (client)� netcat -l -p port (server)

� Kann als Server auf jedem Port laufen

� Verwendet wahlweise TCP oder UDP

� Keine Interpretation von Sonderzeichen (Unmodifizierte Übertragung)

Dd

� Einfaches kopieren� dd if=Quelldatei of=Zieldatei

� Echtes löschen der Festplatte hda� dd if=/dev/zero of=/dev/hda� Für spätere Datenanalyse wichtig

� 1:1 Kopie einer Festplatte (baugleich!)� dd if=/dev/hdb of=/dev/hda

Script

� Einfache Anwendung � script -f Ausgabedatei

� Zur direkter Übermittlung der Sitzung auf anderen Rechner

# mkfifo named_pipe

# script -f named_pipe

# cat named_pipe | netcat zielrechner port &

Verbindungsdaten sichern

� Zielmaschine:� netcat -l -p 12345 >> analyse.txt

� Quellmaschine:� netstat -an |netcat -w 3 Zielrechner 12345

� Verschlüsselte Variante� Z: netcat -l -p 12345 | des -d -c -k [Schlüssel] >>

analyse.txt� Q: netstat -an |des -e -c -k [Schlüssel] | netcat -w 3

Zielrechner 12345

Hauptspeicher sichern

� Systemspeicher� Z: netcat -l -p 23456 > mem_out.img� Q: dd bs=1024 </dev/mem |netcat Zielrechner

23456 -w 3

� Kernelspeicher� Z: netcat -l -p 34567 > kmem_out.img� Q: dd bs=1024 </dev/kmem |netcat Zielrechner

34567 -w 3

Festplatten sichern

� Bit für Bit Daten sichern mit „dd“

� U.a. um MD5 Hashing erweiterte Variante vom DoD „dcfldd“

� Vorteile von Bitstream gegenüber Datei Backup� Dateiensysteme sind meist in Blöcke unterteilt.

Wird eine Datei überschreiben und der letzte Block wird kaum verwendet, bleiben Datenreste des Vorgängers erhalten - „File Slack“.Dieser Rest kann wichtige Hinweise enthalten, wird bei einem Datei Backup aber nicht mitgesichert

Festplatten sichern

� Ein Bitstream enthält im Gegensatz zum Datei Backup auch alle nicht-allokierten Datenblöcke. Gelöschte Dateien können ggf. wieder hergestellt werden.

� Ein Datei Backup modifiziert die Zugriffszeiten aller Dateien. Eine Zeitskala basierend auf Zugriffszeiten wird dadurch unmöglich

Festplatten sichern

� Erzeugung eines Bitstreams� Z: netcat -l -p 12345 | dd of=[Datei]� Q: dd if=[Partition] | netcat -w 3 [IP-Ziel] 12345

Hash Summen

� Nach der Datensammlung sollten über alle Dateien Hashsummen gebildet werden� z.B. mit md5sum [Datei]� spätere Veränderungen durch Defekte oder

Manipulationen lassen sich so erkennen

Rootkits entdecken

� Offene Ports (Scan von außen mit netstat vergleichen – versteckte Hintertür?)

� Modulliste (wenn nicht versteckt)

� Vergleich der Systemsprungtabelle mit System.map

Rootkits entdecken

� Signatur (wenn bekannt und nicht verschlüsselt) im Speicher suchen (z.B. mit strings /dev/kmem)

� PID-Test (versuchen alle freien PIDs durch einen Testprozess zu belegen)

� Www.chkrootkit.org (erkennt sehr viele Rootkits auf lokalem Rechner automatisch)

Beliebte Verstecke

� Beliebte Plätze für Rootkits� /dev/, /usr/man, /lib/modules, /usr/lib

� Oft trojanisierte Programme� ps, ls, find, ifconfig, netstat, du, df� sshd, httpd� login, passwd� inetd, tcpd

Werkzeugsammlungen

� Freeware

� Foremost� The Coroner's Toolkit (TCT)� The @stake Sleuth Kit (TASK)� Autopsy

� Spezielle Windows Tools� Galleta, Pasco, Rifiuti

Foremost

� Entwickelt von U.S. Air Force Office of Special Investigations

� Kommando-orientiertes Werkzeug zur Bearbeitung von Imagedateien� Durch garantierte ro-Funktionalität notfalls auf

Originaldaten einsetzbar� Dateiwiederherstellung

� Besonders mit http://www.wotsit.org sehr effektive Dateirestaurierung

Open Source Computer Forensic

� Speziell zusammengestellte und bootfähige Werkzeuge sind z.B.� Penguin Sleuth Kit Bootable CD� http://www.linux-forensics.com/

� F.I.R.E.� http://fire.dmzs.com/� Auch für Boot-Disketten

The Coroner's Toolkit (TCT)

� 1999 für einen Computerforensikkurs von Dan Farmer und Wietse Venema entwickelt

� grave-robber Sammelt von einem Live-System alle wichtigen Informationen für die Analysephase, inkl. Zugriffszeiten und Hashsummen

� pcat Zeigt den Inhalt des Speicherplatzes, den ein laufender Prozess belegt

The Coroner's Toolkit

� ils Listet alle nicht-allokierten Inodes einer Partition samt Zusatzinformationen auf.

� icat Zeigt den Inhalt eines Inodes� unrm Sammelt alle nicht-allokierten Datenblöcke

einer Partition in einer Ausgabedatei

The Coroner's Toolkit

� lazarus Versucht die Datenblöcke eines Eingabe-Images (z.B. mit unrm erstellt) wieder zu einer Datei zusammen zu setzen (sehr rechenintensiv)

� mactime Verwendet eine Liste aller Dateien und Verzeichnisse des Zielsystems und sortiert diese anhand der Zugriffszeiten. Der Suchzeitraum kann durch ein Zeitfenster eingegrenzt werden

The @stake Sleuth Kit (TASK)

� Sammlung von CLI basierten Datei und Media Management Werkzeugen

� Unterstützt verschiedene Dateisysteme (BS-Endian unabhängig)� NTFS, FAT, FFS, EXT2FS, and EXT3FS

TASK Werkzeuge

� Dateisystem und -name� fsstat - Dateiinformationen inkl. Layout und Labels� fls – Listet belegte (allozierte) und gelöschte

Dateien� ffind – Findet (un-)belegte Dateinamen, die auf eine

Metadatenstruktur zeigen

TASK Werkzeuge

� Metadatenstruktur� Dateiinformationen werden aufgrund der

Metadatenstruktur erkannt, z.B. Inode Informationen unter ext2fs und Directory unter FAT

� ifind, ils, istat ähnlich wie ffind, fls, fsstat� icat - extrahiert Daten anhand der MD-Struktur

TASK Werkzeuge

� Dateneinheit� Werkzeuge zur Bearbeitung einzelner

Dateneinheiten, z.B. Cluster unter FAT oder Fragmente unter ext2fs

� dcat, dcalc, dls, dstat

TASK Werkzeuge

� Media Management� mmls – Zeigt das Layout des Mediums an, z.B.

Partitionstabelle und Label� Kann versteckte Daten zwischen Partitionen finden

und zur weiteren Analyse extrahieren

TASK Werkzeuge

� Sonstige Werkzeuge

� hfind - Sucht Hashwerte aus entsprechenden Datenbanken wie, NIST NSRL oder Hashkeeper

� mactime – Erzeugt eine „Timeline“ der Dateiaktivitäten mittels fls and ils

� sorter: Sortiert Dateien eines Dateisystems nach Kategorien (Dateityp)

Autopsy

� Webfrontend zu TASK

� Analyse „dead or alive“

Autopsy Kurzeinführung

Ein neuer Fall

Ein neuer Rechner

Die zugehörige Imagedatei

Alles konfiguriert

Automatische zeitliche Abfolge

Image Integrität

Datei Analyse

Metadaten Analyse

Analyse der Dateneinheiten

Brauchbare Hilfe

Zusammenfassung

� Nach einem Angriff� Nicht ignorieren� Daten nicht einfach abschreiben� Aus den Überresten lernen