71 lines
3.8 KiB
Markdown
71 lines
3.8 KiB
Markdown
|
---
|
||
|
title: "CAPEv2 Sandbox Teil 2: Einrichtung der VM(s)"
|
||
|
date: 2023-12-20T14:41:12+01:00
|
||
|
draft: true
|
||
|
---
|
||
|
|
||
|
Nach der Installation der Sandbox-Umgebung an sich kann man an die Erstellung und Installation der VMs gehen.
|
||
|
Hier werde ich als Beispiel die Installation einer Windows 7 64bit-VM inkl. Microsoft Office 2010 (32bit) durchführen.
|
||
|
Letztendlich gibt es jedoch keinen großen Unterschied zwischen den unterstützten Gast-Betriebssystemen (Windows 7+,
|
||
|
MacOS oder diverse Linux-Distributionen), es ist jedoch je nach Platform mehr oder weniger Aufwand (Bei Windows 10+
|
||
|
muss Defender komplett deaktiviert werden und es empfiehlt sich den Großteil der Bloatware zu deinstallieren um die
|
||
|
Hardwareanforderungen zu verringern).
|
||
|
|
||
|
Hier ist ein Beispiel der Software, die ich auf meine Windows 7-VM installiere. Der Einfachheit halber packe ich die
|
||
|
Dateien alle zusammen in eine ISO-Datei (mithilfe von mkisofs), die ich dann an die VM anhängen kann. Ebenfalls
|
||
|
interessant ist es, wenn man zusätzlich zu Software auch Dokumente und Bilder auf der VM ablegt, um eventuelles
|
||
|
Ransomware-Verhalten besser beobachten zu können. Das Skript `disable_win7noise.bat` wird mit CAPEv2 ausgeliefert.
|
||
|
|
||
|
```
|
||
|
~ $ ls isos/win7cuckoo
|
||
|
7z2301-x64.exe OpenJDK8U-jre_x64_windows_hotspot_8u392b08.msi windows6.1-kb2533552-x64_0ba5ac38d4e1c9588a1e53ad390d23c1e4ecd04d.msu
|
||
|
agent.py python-3.8.10.exe windows6.1-kb2533623-x64.msu
|
||
|
disable_win7noise.bat VC_redist.x64.exe windows6.1-kb976932-x64_74865ef2562006e51d7f9333b4a8d45b7a749dab.exe
|
||
|
ndp48-x86-x64-allos-enu.exe VC_redist.x86.exe Win_x64_576753_mini_installer.exe
|
||
|
```
|
||
|
|
||
|
Aufgrund der Weise, wie CAPEv2 funktioniert, muss der VM eine statische IP-Addresse vergeben werden:
|
||
|
|
||
|
<!-- TODO Bild Einfügen -->
|
||
|
|
||
|
Diese IP-Addresse muss dann später in der `/opt/CAPEv2/conf/kvm.conf` eingetragen werden.
|
||
|
Ebenfalls sollten UAC und die Windows Firewall deaktiviert werden:
|
||
|
|
||
|
<!-- TODO Bilder Einfügen -->
|
||
|
|
||
|
In der Regel setze ich die Auflösung der VM auch hoch, entweder auf 1280x768 oder 1920x1080. Für die Aktivierung von
|
||
|
Windows 7 und Office 2010 muss leider - sofern man keinen KMS Server besitzt, den man diesen VMs aussetzen möchte - die
|
||
|
Telefonische Aktivierung verwendet werden.
|
||
|
|
||
|
Bei der Installation von Python und MS-Office ist es wichtig, die 32-Bit-Variante zu verwenden, da die 64Bit-Variante
|
||
|
leider nicht mit allen Analyseverfahren kompatibel ist.
|
||
|
|
||
|
Sobald Python installiert (am besten im PATH registrieren und für alle Benutzer installieren)
|
||
|
ist sollte noch Pillow nachinstalliert werden:
|
||
|
|
||
|
```
|
||
|
> py -m pip install --upgrade pip
|
||
|
> py -m pip install Pillow==9.5.0
|
||
|
```
|
||
|
|
||
|
`agent.py` ist der Teil der Software, der in der VM mitläuft um die Aufgaben dort auszuführen. Dieser Datei gibt man
|
||
|
unter Windows 7 einen Unauffälligen Namen und legt sie unter
|
||
|
`C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp` ab, unter Linux lässt man sie entweder von systemd oder
|
||
|
cron beim (re)boot starten. Unter Windows 10/11 muss die Datei an einem anderen Ort abgelegt werden und dann ein
|
||
|
Scheduled Task erstellt werden, der dieses Skript beim Boot als Admin ausführt. Langfristig habe ich geplant, den Agent
|
||
|
und seine Dependencies mit PyInstaller zusammenzufassen.
|
||
|
|
||
|
Falls die Installation des Agents erfolgreich war, kann man nun auf port 8000 der VM einen JSON-String sehen:
|
||
|
|
||
|
<!-- BILD EINFÜGEN -->
|
||
|
|
||
|
Letztendlich ist noch zu empfehlen die Grafik auf VNC umzustellen von Spice und dadurch nicht mehr benötigte Geräte
|
||
|
zu entfernen. Dabei muss jedoch ein teil des XML-Codes der VM bearbeitet werden.
|
||
|
|
||
|
<!-- Bild einfügen -->
|
||
|
|
||
|
Diese Änderungen machen es möglich, später die Liveansicht im Webbrowser zu verwenden.
|
||
|
|
||
|
Sobald die VM fertig konfiguriert ist und der Agent erreichbar ist, muss nur noch im laufenden Zustand ein Snapshot
|
||
|
erstellt werden.
|