Ein unbedachter Klick im Web oder die Installation von Programmen aus unseriösen Quellen genügt, damit sich schädliche Software auf einem System verbreitet. Optimal wäre es, verdächtige Dateien zunächst einmal im Labor zu untersuchen, wo sie keinen Schaden anrichten können. Genau das leistet Cuckoo Sandbox . Eine Sandbox ist ein abgeschirmter Bereich, in dem Programme ausprobiert werden können, aber keine Möglichkeit haben, die Umgebung zu schädigen. Die Open-Source-Lösung Cuckoo ist zwar in erster Linie für das Unternehmensumfeld gedacht, aber ein guter Ausgangspunkt, wenn Sie in die Computerforensik einsteigen wollen.
Cuckoo Sandbox verstehen
Einrichtung und Installation von Cuckoo Sandbox sind nicht ganz leicht. Die Entwickler haben sich zwar größte Mühe gegeben, den Prozess möglichst unkompliziert zu gestalten, was aber nichts daran ändert, dass Sie ein recht komplexes System aufbauen. Cuckoo Sandbox funktioniert nach einem Client-Host-Prinzip. Die Malware, oder besser gesagt, die verdächtigen Dateien, werden auf den Clients installiert. Die Clients bestehen in der Praxis aus virtuellen Maschinen, auf denen das Betriebssystem läuft, unter dessen Umgebung die verdächtigen Dateien ausgeführt werden. Auf dem Client ist auch ein Cuckoo-Agent installiert, der die Kommunikation mit dem Host übernimmt. Dieser läuft auf einem eigenen System, ist also von der virtuellen Umgebung getrennt. Cuckoo zeigt sich sehr flexibel beim Aufbau von Testszenarien und unterstützt auch verschiedene virtuelle Maschinen und Hostumgebungen. Am unkompliziertesten ist es aber, wenn Sie sich an dem von den Entwicklern vorgeschlagenen Weg orientieren. Sie nutzen Ubuntu als Hostsystem, Virtualbox von Oracle wird als virtuelle Maschine, also als eigentliche Sandbox genutzt. Um Windows-Programme zu testen, benötigen Sie schließlich noch eine Lizenz und ein Installationsmedium, um Windows dann in der virtuellen Maschine zu installieren.
Malware-Guide: Diese Gefahren bedrohen Ihren PC
Das System aufbauen
Führen Sie unter Ubuntu zunächst eventuell angebotene Systemupdates durch. Danach müssen Sie erst einmal alle Pakete installieren, die Cuckoo auf dem Host voraussetzt:
sudo apt-get install python python-pip python-dev libffi-dev libssl-dev
sudo apt-get install python-virtualenv python-setuptools
sudo apt-get install libjpeg-dev zlib1g-dev swig
Damit installieren Sie die notwendigen Python-Komponenten. Wenn Sie das Webinterface für das Tool einsetzen wollen, was nicht unbedingt notwendig ist, aber Tipparbeit spart, müssen Sie zusätzlich noch Mongo DB installieren. Danach können Sie die Software für virtuelle Maschinen installieren. Cuckoo unterstützt aktuell Virtuabox in den Versionen 4.3, 5.0 und 5.1. Ist auch das erledigt, fügen Sie noch tcpdump dem System hinzu. Unter Debian/Ubuntu erledigen Sie dies so:
sudo apt-get install tcpdump apparmor-utils
sudo aa-disable /usr/sbin/tcpdump
Dies schaltet zugleich die Überwachung durch Apparmor aus. Damit haben Sie die Vorbereitungen abgeschlossen und können mit den Befehlen
sudo pip install -U pip setuptools
sudo pip install -U cuckoo
Cuckoo selbst einrichten.
Das Gastsystem einrichten

Sie haben den Host damit soweit vorbereitet. Die Malware wird im Gast getestet. Dazu setzen Sie mit Virtualbox eine neue virtuelle Maschine auf und installieren darin das gewünschte Betriebssystem. Auch darin müssen Sie Python installieren. Im Gastsystem müssen Sie die Netzwerkverbindung anpassen. Hierzu haben die Entwickler einige Hinweise für die Anpassungen in Windows auf einer eigenen Seite zusammengestellt . Im Arbeitsverzeichnis von Cuckoo existiert auf dem Host ein Unterordner „/agent“. In diesem finden Sie eine Python-Datei. Diese muss auf das Gastsystem übertragen werden. Das könnte über einen mit der virtuellen Maschine geteilten Ordner erfolgen, über einen Cloudspeicher oder aber direkt per Datenträger. Wichtig ist nur, dass während dieser Übertragung keine Malware versehentlich auf dem System landet. Damit Sie später nicht jedes Mal von vorn beginnen müssen, starten Sie die virtuelle Maschine neu und kontrollieren, ob alles läuft. Vor allem die Netzwerkverbindung muss funktionieren. Ist das der Fall, speichern und klonen Sie die virtuelle Maschine. So können Sie nach den Experimenten immer wieder mit einer frischen Installation beginnen.
Tipp: So lösen Sie Linux-Netzwerkprobleme
Zusammenspiel konfigurieren

Nun gilt es, die finale Konfiguration des Aufbaus zu erledigen. Die gesamte Steuerung von Cuckoo erfolgt über eine Reihe von Konfigurationsdateien, die allesamt im Arbeitsverzeichnis der Anwendung liegen. Wenn Sie keine Änderungen vorgenommen haben, ist dies „~/.cuckoo/conf“. Bearbeiten müssen Sie mindestens die Dateien „virtualbox.conf“ und „reporting.conf“. Eine Übersicht aller Werte finden Sie im Wiki der Entwickler unter https://cuckoo.sh/docs/installation/host/configuration.html . In der „virtualbox.conf“ sollten Sie den Wert bei „mode“ auf „gui“ ändern, um mit der virtuellen Maschine interagieren zu können. Außerdem müssen Sie unter „machines“ den exakten Namen der virtuellen Maschine angeben, wie auch in Virtualbox zu finden. Dort erfahren Sie auch deren IP-Adresse, die Sie in der entsprechenden Zeile eintragen müssen. In der „reporting-conf“ aktivieren Sie im Abschnitt „mongoDB“ über „enabled=yes“ die Nutzung der Datenbank.
Die erste Analyse
Wenn die Einrichtung des Systems soweit funktioniert hat, können Sie jetzt Ihr erstes Stück Software analysieren. Beginnen Sie am besten mit einer Anwendung, die garantiert keine Malware ist, um sich mit den Ausgaben von Cuckoo vertraut zu machen. Selbst für Experten ist es nicht immer einfach, nützlichen Datenverkehr von schädlichen Komponenten zu unterscheiden. Eine Windows-Anwendung wie „notepad.exe“ besitzt nur übersichtliche Funktionen und könnte etwa zu einem ersten Testobjekt werden, zumal das Programm auf jedem Windows-System zu finden und zu kopieren ist. Öffnen Sie zur besseren Übersicht auf dem Linux-Host zwei Terminals. Im ersten Fenster starten Sie zunächst mit cuckoo das System. Im zweiten Fenster aktivieren Sie mit cuckoo web die grafische Oberfläche. Rufen Sie mit einem Browser die URL „http://localhost:8000“ auf und laden Sie mit „Submit File“ die Datei hoch. Nach der Übertragung können Sie mit „Analyze“ die Untersuchung beginnen. Mit der Option „Enable Simulated Human Interaction“ läuft die Untersuchung automatisiert ab – entweder bis das Programm sich selbst beendet oder der eingestellte Timeout erreicht ist. Wenn Sie die Option nicht nutzen, interagieren Sie selbst mit dem Programm in der virtuellen Maschine. Wurde alles korrekt konfiguriert, startet Cuckoo die virtuelle Maschine, überträgt das zu untersuchende Stück dorthin und führt es aus. Sie könnten damit jetzt Aktionen ausführen. Cuckoo wird im Hintergrund den Datenverkehr und Systemzugriffe analysieren. Ist der Timeout erreicht oder Sie beenden das zu untersuchende Programm, können Sie sich dann die erste Analyse ansehen.