Die Sicherung eines kompromittierten Systems ist die
Grundlage für das Nachvollziehen eines Angriffes.
Äußerst wichtig ist es, dass alle Textein- und
Ausgaben aufgezeichnet werden. Graphische Ausgaben
sollten per Screenshots gesichert werden (z.B.
mit xwd oder gimp).
Man sollte einen aktuellen Schnappschuss (Snapshot)
des Systems auf einem Backup-Medium erzeugen.
Die Sicherung der Daten sollte in Reihenfolge ihrer
Vergänglichkeit erfolgen:
- Cache, Hauptspeicher
- Netzwerkverbindungen
- Prozesse
- Festplattendaten
- Daten auf Disketten, CD-RW, Streamer, ...
- Daten auf CD-R, Notizen, Post-It-Notes, ...
Die "Spurensicherung" und Analyse wird durch verschiedene
Softwaresammlungen unterstützt. Zu diesen gehören unter
anderem
TCT,
TCTUtils,
und cryptcat.
Auf keinen Fall sollten die
möglicherweise kompromittierten Programme des Opferrechners
zum Einsatz kommen, viele Root-Kits tauschen
Systemprogramme wie ps und lsmod einfach aus.
Die sichere Alternative besteht darin,
eine "saubere" Rettungsdistribution von Diskette oder
CD-Rom zu mounten und deren Systemprogramme zu verwenden.
(Nicht Booten sondern nur Mounten!!!) Zu empfehlen sind
hier neben Knoppix
auch sogenannte "Business Cards",
also Rettungs-CDs in Scheckkartengröße. Zwei Vertreter
können als ISO-Image unter http://www.lnx-bbc.org/ bzw.
http://lbt.linuxcare.com/ heruntergeladen werden.
Folgende Maßnahmen sind bei den meisten
Einbrüchen sinnvoll:
Aufzeichnung aller Sicherungsaktionen auf einen anderen
Rechner
mkfifo named_pipe
script -f named_pipe
cat named_pipe | nc LogHost LogPort
Datensammlung auf anderen Rechner mittels nc (netcat)
-
kompromittierter Rechner:
[Daten] | nc -w 2 [LogHost-IP] 6666
-
LogHost:
nc -l -p 6666 | gzip >> datei.gz
Bei nicht vertrauenswürdigen Netzen sollte die Kommunikation
verschlüsselt werden:
-
kompromittierter Rechner:
[Daten] | des -e -c -k [Schlüssel] | nc -w 2 [LogHost-IP] 6666
-
LogHost:
nc -l -p 6666 | des -d -c -k [Schlüssel] >> Datei
z.B. Hauptspeicher:
-
kompromittierter Rechner:
dd if=/dev/mem | nc -w 2 192.168.1.5 6666
-
LogHost:
nc -l -p 6666 > mem.img
-
Prozesse:
ps enf -Aelf --cols 1000 ls -lR /proc/[0-9]*
Konfiguration der Netzwerkkarten
ifconfig -a
netstat -iea
ip addr show (iproute2-Utilities)
Routingtabellen
netstat -rn
iproute2-Utilities
- ip route show table main
- ip rule show (iproute2-Utilities)
Paketfilterregeln
iptables -L -vn --line-numbers
geöffnete Dateien
lsof
aktuelle Netzwerkverbindungen
lsof -i
Sockets
lsof -U
Gelöschte aber noch offene Dateien
lsof +L1
Einbrecher können ein Programm auch nach dessen
Start löschen. Man kann bei installiertem proc-
Filesystem gerade ablaufende Programme wieder in
eine Datei sichern:
cat /proc/[PID]/exe > programm.bin
weiterhin:
- last (letzter eingeloggter Benutzer)
- who (aktuelle Benutzer)
- w (welcher Benutzer führt was aus?)
- arp
- fdisk
- ......
Partition übers Netz sichern:
- kompromittierter Rechner: dd if=/dev/hda1 | nc -w 2 [LogHost-IP] 6666
- LogHost: nc -l -p 6666 | gzip >> hda1.img.gz
|