rogueone

Veröffentlicht2023-11-17
Retired2025-01-16
AutorCyberJunkie

Szenario

Ihr SIEM-System hat innerhalb weniger Sekunden mehrere Alarme generiert, die auf eine mögliche C2-Kommunikation (Command and Control) vom Arbeitsplatz von Simon Stark hinweisen. Obwohl Simon selbst nichts Ungewöhnliches bemerkte, ließ das IT-Team ihn Screenshots seines Task-Managers teilen, um nach verdächtigen Prozessen zu suchen. Es wurden jedoch keine verdächtigen Prozesse festgestellt, dennoch hielten die Alarme zur C2-Kommunikation an. Der SOC-Manager ordnete daraufhin die sofortige Isolierung des Arbeitsplatzes und die Erstellung eines Speicherauszugs zur Analyse an. Als Experte für Speicherforensik sind Sie beauftragt, das SOC-Team von Forela bei der Untersuchung und Lösung dieses dringenden Vorfalls zu unterstützen.


Task 01

Frage: Bitte identifizieren Sie den bösartigen Prozess und bestätigen Sie die Prozess-ID des bösartigen Prozesses.
Original: Please identify the malicious process and confirm process id of malicious process.

Zur Analyse steht ein Memory Image zur Verfügung. Zur Analyse solcher Abbilder kann volatility3 genutzt werden. Für eine initiale Erkennung von möglichen bösartigen Prozessen bieten sich verschiedene Möglichkeiten an. Da in späteren Fragen auch C2 Traffic erwähnt wird, ist eine der validen Optionen die Prüfung der existierenden Netzwerkverbindungen auf Unregelmäßigkeiten oder Ungewöhnlichkeiten. Hierfür bietet volatiliy mehrere Möglichkeiten, unteranderem das netscan Plugin. Hierbei werden existierende Netzwerk Objekte im Abbild gesucht und zu Prozessen, IPs und Ports zugeordnet. Bei der Prüfung der Ausgabe fällt ein Prozess (vermeintlich svchost.exe) auf, der zu einer externen IP und dem Port 8888 kommuniziert.

	vol -f .\20230810.mem windows.netscan

	Offset  	    Proto   LocalAddr    	LocalPort   ForeignAddr 	ForeignPort State   	PID 	Owner   	Created
	[...]
	0x9e8b8cb58010  TCPv4   172.17.79.131   64254   	13.127.155.166  8888    	ESTABLISHED 6812    svchost.exe 2023-08-10 11:30:03.000000

Antwort: 6812


Task 02

Frage: Das SOC-Team glaubt, dass der bösartige Prozess möglicherweise einen weiteren Prozess gestartet hat, durch den der Angreifer in der Lage war, Befehle auszuführen. Wie lautet die Prozess-ID dieses Kindprozesses?
Original: The SOC team believe the malicious process may spawned another process which enabled threat actor to execute commands. What is the process ID of that child process?

Zur Prüfung der Prozesshierarchie können, pslist, pstree oder psscan genutzt werden um die aktuellen (und teils bereits beendetet) Prozesse und ihre Abhängigkeiten zu erkennen. Als Teil der Antwort zum pstree Plugin wird ersichtlich, das es einen cmd.exe Prozess mit PID: 4364 zu dem aus Task 1 bestätigt bösartigen Prozess mit der ID 6812 gibt.

	vol -f .\20230810.mem windows.pstree

	PID	PPID	ImageFileName	Offset(V)	Threads	Handles	SessionId	Wow64	CreateTime	ExitTime
	[...]
	*** 6812	7436	svchost.exe	0x9e8b87762080	3	-	1	False	2023-08-10 11:30:03.000000 	N/A
	**** 4364	6812	cmd.exe	0x9e8b8b6ef080	1	-	1	False	2023-08-10 11:30:57.000000 	N/A

Antwort: 4364


Task 03

Frage: Das Reverse-Engineering-Team benötigt die bösartige Datei zur Analyse. Ihr SOC-Manager hat Sie angewiesen, den Hash der Datei zu ermitteln und das Sample anschließend an das Reverse-Engineering-Team weiterzuleiten. Wie lautet der MD5-Hash der bösartigen Datei?
Original: The reverse engineering team need the malicious file sample to analyze. Your SOC manager instructed you to find the hash of the file and then forward the sample to reverse engineering team. Whats the md5 hash of the malicious file?

Um den Hash der Datei zu erstellen kann beispielsweise durch das DumpFiles Modul und der Angabe der Prozess ID alle zugehörigen Dateien aus dem Memory Image exportiert werden. Eines davon ist auch die .exe die ausgeführt wird, dies ist die gesuchte bösartige Datei.

    vol -f .\20230810.mem windows.dumpfiles.DumpFiles --pid 6812

    Cache   FileObject      FileName        Result
    [...]
    ImageSectionObject      0x9e8b91ec0140  svchost.exe     file.0x9e8b91ec0140.0x9e8b957f24c0.ImageSectionObject.svchost.exe.img

Anschließend kann mittels des Get-Filehash und dem zugehörigen Algorithm Flag der MD5 Hash ermittelt werden.

    Get-Filehash -Algorithm md5 file.0x9e8b91ec0140.0x9e8b957f24c0.ImageSectionObject.svchost.exe.img | Select-Object Hash

    Hash
    ----
    5BD547C6F5BFC4858FE62C8867ACFBB5
Antwort: `5BD547C6F5BFC4858FE62C8867ACFBB5`

Task 04

Frage: Um das Ausmaß des Vorfalls festzustellen, hat der SOC-Manager ein Threat-Hunting-Team eingesetzt, das die Umgebung nach Kompromittierungsindikatoren durchsuchen soll. Es wäre für das Team eine große Hilfe, wenn Sie die C2-IP-Adresse und Ports bestätigen könnten, damit unser Team diese für die Suche nutzen kann.
Original: In order to find the scope of the incident, the SOC manager has deployed a threat hunting team to sweep across the environment for any indicator of compromise. It would be a great help to the team if you are able to confirm the C2 IP address and ports so our team can utilise these in their sweep.

Die Antwort auf diese Frage wurde bereits durch die Ausgabe in Task 1 verifiziert, da der ungewöhnliche Port zur initialen Identifikation des bösartigen Prozesses genutzt wurde.

Antwort: 13.127.155.166:8888


Task 05

Frage: Wir benötigen eine Timeline, um den Vorfall einzugrenzen und dem erweiterten DFIR-Team (Digital Forensics and Incident Response) bei der Ursachenanalyse zu helfen. Können Sie die Zeit bestätigen, zu der der Prozess gestartet wurde und der C2-Kanal aufgebaut wurde?
Original: We need a timeline to help us scope out the incident and help the wider DFIR team to perform root cause analysis. Can you confirm time the process was executed and C2 channel was established?

Auch diese Frage kann durch die Ausgabe aus Task 1 beantwortet werden, hier ist der notwendige Zeitstempel bereits ersichtlich.

Antwort: 10/08/2023 11:30:03


Task 06

Frage: Wie lautet der Speicher-Offset des bösartigen Prozesses?
Original: What is the memory offset of the malicious process?

Und auch diese Frage lässt sich durch eine vorherige Ausgabe beantworten, in diesem Fall die Ausgabe von pstree aus dem Task 2, die neben den dort gesuchten Informationen auch der Offset angezeigt wird.

Antwort: 0x9e8b87762080


Task 07

Frage: Sie haben erfolgreich ein Speicherabbild analysiert und dafür Lob von Ihrem Vorgesetzten erhalten. Am nächsten Tag bittet Ihr Manager um ein Update zur bösartigen Datei. Sie überprüfen VirusTotal und stellen fest, dass die Datei bereits hochgeladen wurde – vermutlich vom Reverse-Engineering-Team. Ihre Aufgabe ist es, zu ermitteln, wann das Sample erstmals bei VirusTotal eingereicht wurde.
Original: You successfully analyzed a memory dump and received praise from your manager. The following day, your manager requests an update on the malicious file. You check VirusTotal and find that the file has already been uploaded, likely by the reverse engineering team. Your task is to determine when the sample was first submitted to VirusTotal.

Dank des bekannten MD5 Hash aus Task 3 kann VirusTotal danach durchsucht werden. In dem Details Tab wird unteranderem das First Submission Datum festgehalten.

https://www.virustotal.com/gui/file/eaf09578d6eca82501aa2b3fcef473c3795ea365a9b33a252e5dc712c62981ea/details

Antwort: 10/08/2023 11:58:10