unit42

Veröffentlicht2024-04-04
Retired2024-04-04
AutorCyberJunkie

Szenario

In diesem Sherlock werden Sie sich mit Sysmon-Protokollen und verschiedenen nützlichen Event-IDs vertraut machen, um bösartige Aktivitäten auf einem Windows-System zu identifizieren und zu analysieren. Palo Alto’s Unit42 hat kürzlich Forschung zu einer UltraVNC-Kampagne durchgeführt, bei der Angreifer eine manipulierte Version von UltraVNC einsetzten, um Zugriff auf Systeme zu erhalten. Dieses Labor ist von dieser Kampagne inspiriert und führt die Teilnehmer durch die Anfangsphase des Zugriffs der Kampagne.


Task 01

Frage: Wie viele Ereignisprotokolle gibt es mit der Ereignis-ID 11?
Original: How many Event logs are there with Event ID 11?

Mit Hilfe von Get-WinEvent kann die gegebene EVTX Datei (Windows Ereignisprotokoll) durchsucht werden. Zum Zählen der einzelnen Events kann das Group-Object Cmdlet genutzt werden um nach der ID zu gruppieren und zu zählen.

    Get-WinEvent -Path .\Microsoft-Windows-Sysmon-Operational.evtx | Group-Object -Property Id | Select-Object Count, Name                                                                                                                        
    Count Name
    ----- ----
    6       1
    16      2
    1       3
    1       5
    15      7
    1       10
    56      11
    14      12
    19      13
    2       15
    7       17
    3       22
    26      23
    2       26

Antwort: 56


Task 02

Frage: Immer wenn ein Prozess im Speicher erstellt wird, wird ein Ereignis mit der Ereignis-ID 1 aufgezeichnet, das Details wie Befehlszeile, Hashes, Prozesspfad, übergeordneten Prozesspfad usw. enthält. Diese Informationen sind für einen Analysten sehr nützlich, da sie es uns ermöglichen, alle Programme zu sehen, die auf einem System ausgeführt werden, was bedeutet, dass wir bösartige Prozesse erkennen können, die ausgeführt werden. Welcher bösartige Prozess hat das System des Opfers infiziert?
Original: Whenever a process is created in memory, an event with Event ID 1 is recorded with details such as command line, hashes, process path, parent process path, etc. This information is very useful for an analyst because it allows us to see all programs executed on a system, which means we can spot any malicious processes being executed. What is the malicious process that infected the victim’s system?

Aus der Abfrage aus Task 1 ist bekannt, das es in dem Ereignisprotokoll nur 6 mal das Event mit der ID 1 (Prozesserstellung) gibt. Mittels Where-Object können nur diese Events gefiltert werden. Anschließend müssen die verschachtelten Properties des Sysmon Events ausgelesen werden. In diesem Fall fällt ein Prozess auf, der aus einer .exe Datei aus dem \Downloads\ Ordner heraus gestartet wurde.

    Get-WinEvent -Path .\Microsoft-Windows-Sysmon-Operational.evtx | Where-Object {($_.ID -eq "1")} | Select-Object @{Name="UtcTime"; Expression={$_.Properties[1].Value }}, @{Name="Image"; Expression={$_.Properties[4].Value }}

    UtcTime                 Image
    -------                 -----
    2024-02-14 03:41:58.178 C:\Windows\SysWOW64\msiexec.exe
    2024-02-14 03:41:57.905 C:\Windows\SysWOW64\msiexec.exe
    2024-02-14 03:41:57.787 C:\Windows\SysWOW64\msiexec.exe
    2024-02-14 03:41:57.604 C:\Windows\System32\msiexec.exe
    2024-02-14 03:41:56.538 C:\Users\CyberJunkie\Downloads\Preventivo24.02.14.exe.exe
    2024-02-14 03:41:45.304 C:\Program Files\Mozilla Firefox\pingsender.exe

Antwort: C:\Users\CyberJunkie\Downloads\Preventivo24.02.14.exe.exe


Task 03

Frage: Welches Cloud-Laufwerk wurde verwendet, um die Malware zu verbreiten?
Original: Which Cloud drive was used to distribute the malware?

Aus der Abfrage von Task 1 ist bekannt, das Sysmon 3 mal ein DNSEvent (22) erzeugt hat. Dieses beinhaltet das Query das gestellt wurde. Hierbei fällt ein Request nach einem bekannten Filehosting-Dienst auf.

    Get-WinEvent -Path .\Microsoft-Windows-Sysmon-Operational.evtx | Where-Object {($_.ID -eq "22")}| Select-Object @{Name="UtcTime"; Expression={$_.Properties[1].Value }}, @{Name="QueryName"; Expression={$_.Properties[4].Value }}                                                                                                                                                                                    UtcTime                 QueryName
    -------                 ---------
    2024-02-14 03:41:56.955 www.example.com
    2024-02-14 03:41:43.924 d.dropbox.com
    2024-02-14 03:41:25.269 uc2f030016253ec53f4953980a4e.dl.dropboxusercontent.com

Antwort: dropbox


Task 04

Frage: Die anfängliche bösartige Datei, die zeitgestempelt ist (eine Abwehrtechnik, bei der das Erstellungsdatum der Datei geändert wird, um sie alt aussehen zu lassen), hat viele Dateien auf der Festplatte erstellt. Zu welchem Zeitstempel wurde eine PDF-Datei geändert?
Original: The initial malicious file time-stamped (a defense evasion technique, where the file creation date is changed to make it appear old) many files it created on disk. What was the timestamp changed to for a PDF file?

Sysmon loggt Änderungen an “Creation Time” Zeitstempeln mit der EventID 2. Dieses wurde, laut Übersicht, 16 mal geloggt.

    Get-WinEvent -Path .\Microsoft-Windows-Sysmon-Operational.evtx | Where-Object {($_.ID -eq "2")}| Select-Object @{Name="UtcTime"; Expression={$_.Properties[1].Value }}, @{Name="TargetFilename"; Expression={$_.Properties[5].Value }}, @{Name="PreviousCreationUtcTime"; Expression={$_.Properties[6].Value }}

    UtcTime                 TargetFilename                                                                                                                                         PreviousCreationUtcTime
    -------                 --------------                                                                                                                                         -----------------------
    2024-02-14 03:41:58.420 C:\Users\CyberJunkie\AppData\Roaming\Photo and Fax Vn\Photo and vn 1.1.2\install\F97891C\WindowsVolume\Games\UVncVirtualDisplay\UVncVirtualDisplay.inf 2024-01-10 18:12:27.013
    2024-02-14 03:41:58.420 C:\Users\CyberJunkie\AppData\Roaming\Photo and Fax Vn\Photo and vn 1.1.2\install\F97891C\WindowsVolume\Games\UVncVirtualDisplay\uvncvirtualdisplay.cat 2024-01-10 18:12:26.889
    2024-02-14 03:41:58.420 C:\Users\CyberJunkie\AppData\Roaming\Photo and Fax Vn\Photo and vn 1.1.2\install\F97891C\WindowsVolume\Games\vnchooks.dll                              2024-01-10 18:12:26.686
    2024-02-14 03:41:58.420 C:\Users\CyberJunkie\AppData\Roaming\Photo and Fax Vn\Photo and vn 1.1.2\install\F97891C\WindowsVolume\Games\UVncVirtualDisplay\UVncVirtualDisplay.dll 2024-01-10 18:12:26.905
    2024-02-14 03:41:58.420 C:\Users\CyberJunkie\AppData\Roaming\Photo and Fax Vn\Photo and vn 1.1.2\install\F97891C\WindowsVolume\Games\ddengine.dll                              2024-01-10 18:12:26.406
    2024-02-14 03:41:58.420 C:\Users\CyberJunkie\AppData\Roaming\Photo and Fax Vn\Photo and vn 1.1.2\install\F97891C\WindowsVolume\Games\viewer.exe                                2024-01-10 18:12:26.670
    2024-02-14 03:41:58.404 C:\Users\CyberJunkie\AppData\Roaming\Photo and Fax Vn\Photo and vn 1.1.2\install\F97891C\WindowsVolume\Games\taskhost.exe                              2024-01-10 18:12:26.513
    2024-02-14 03:41:58.404 C:\Users\CyberJunkie\AppData\Roaming\Photo and Fax Vn\Photo and vn 1.1.2\install\F97891C\TempFolder\~.pdf                                              2024-01-14 08:10:06.029
    2024-02-14 03:41:58.404 C:\Users\CyberJunkie\AppData\Roaming\Photo and Fax Vn\Photo and vn 1.1.2\install\F97891C\WindowsVolume\Games\UltraVNC.ini                              2024-01-10 18:12:26.530
    2024-02-14 03:41:58.404 C:\Users\CyberJunkie\AppData\Roaming\Photo and Fax Vn\Photo and vn 1.1.2\install\F97891C\WindowsVolume\Games\cmd.txt                                   2024-01-10 18:12:26.326
    2024-02-14 03:41:58.404 C:\Users\CyberJunkie\AppData\Roaming\Photo and Fax Vn\Photo and vn 1.1.2\install\F97891C\WindowsVolume\Games\once.cmd                                  2024-01-10 18:12:26.458
    2024-02-14 03:41:58.404 C:\Users\CyberJunkie\AppData\Roaming\Photo and Fax Vn\Photo and vn 1.1.2\install\F97891C\WindowsVolume\Games\on.cmd                                    2024-01-10 18:12:26.436
    2024-02-14 03:41:58.404 C:\Users\CyberJunkie\AppData\Roaming\Photo and Fax Vn\Photo and vn 1.1.2\install\F97891C\WindowsVolume\Games\cmmc.cmd                                  2024-01-10 18:12:26.373
    2024-02-14 03:41:58.404 C:\Users\CyberJunkie\AppData\Roaming\Photo and Fax Vn\Photo and vn 1.1.2\install\F97891C\WindowsVolume\Games\c.cmd                                     2024-01-10 18:12:26.295
    2024-02-14 03:41:58.389 C:\Users\CyberJunkie\AppData\Roaming\Photo and Fax Vn\Photo and vn 1.1.2\install\F97891C\WindowsVolume\Games\powercfg.msi                              2024-01-10 18:12:27.357
    2024-02-14 03:41:57.545 C:\Users\CyberJunkie\AppData\Roaming\Photo and Fax Vn\Photo and vn 1.1.2\install\F97891C\main1.msi                                                     2024-01-14 08:14:23.713

Unter den geänderten Dateien findet sich auch eine PDF Datei am Pfad C:\Users\CyberJunkie\AppData\Roaming\Photo and Fax Vn\Photo and vn 1.1.2\install\F97891C\TempFolder\~.pdf bei der der alte Zeitstempel 2024-01-14 08:10:06.029 war

Antwort: 2024-01-14 08:10:06


Task 05

Frage: Die bösartige Datei hat einige Dateien auf der Festplatte abgelegt. Wo wurde “once.cmd” auf der Festplatte erstellt? Bitte antworten Sie mit dem vollständigen Pfad zusammen mit dem Dateinamen.
Original: The malicious file dropped a few files on disk. Where was “once.cmd” created on disk? Please answer with the full path along with the filename.

Im vorhandenen Ereignisprotokoll werden unter EventID 11 Dateierzeugungen geloggt, diese 56 neuen Dateien wurden in Task 1 ermittelt. Um die Daten zur gesuchten once.cmd einzuschränken wird ein Where-Object Filter genutzt.

    Get-WinEvent -Path .\Microsoft-Windows-Sysmon-Operational.evtx | Where-Object {($_.ID -eq "11")}| Select-Object @{Name="UtcTime"; Expression={$_.Properties[1].Value }}, @{Name="Image"; Expression={$_.Properties[4].Value }}, @{Name="TargetFilename"; Expression={$_.Properties[5].Value }} | Where-Object {$_.TargetFilename -like '*once.cmd'}

    UtcTime                 Image                                                     TargetFilename
    -------                 -----                                                     --------------
    2024-02-14 03:41:58.577 C:\Windows\system32\msiexec.exe                           C:\Games\once.cmd
    2024-02-14 03:41:58.404 C:\Users\CyberJunkie\Downloads\Preventivo24.02.14.exe.exe C:\Users\CyberJunkie\AppData\Roaming\Photo and Fax Vn\Photo and vn 1.1.2\install\F97891C\WindowsVolume\Games\once.cmd

Die Abfrage liefert 2 Ergebnisse, offenbar wurden auf dem System 2 Dateien mit dem Namen once.cmd erstellt. Allerdings ist nur die zweite von dem zuvor identifizierten Preventivo24.02.14.exe.exe erstellt.

Antwort: C:\Users\CyberJunkie\AppData\Roaming\Photo and Fax Vn\Photo and vn 1.1.2\install\F97891C\WindowsVolume\Games\once.cmd


Task 06

Frage: Die bösartige Datei versuchte, eine Dummy-Domäne zu erreichen, höchstwahrscheinlich um den Internetverbindungsstatus zu überprüfen. Welchen Domainnamen hat sie versucht zu verbinden?
Original: The malicious file attempted to reach a dummy domain, most likely to check the internet connection status. What domain name did it try to connect to?

Die Abfrage nach EventID 22 aus Task 2 zeigt alle DNS Anfragen. Mit der Ergänzung um die Spalte Image kann die erste Anfrage dem bösartigen Prozess zugeordnet werden.

    Get-WinEvent -Path .\Microsoft-Windows-Sysmon-Operational.evtx | Where-Object {($_.ID -eq "22")}| Select-Object @{Name="UtcTime"; Expression={$_.Properties[1].Value }}, @{Name="QueryName"; Expression={$_.Properties[4].Value }}, @{Name="Image"; Expression={$_.Properties[7].Value }}                                                                                                                                                                                                                                                                                                                                                                                                                                                     UtcTime                 QueryName                                              Image
    -------                 ---------                                              -----
    2024-02-14 03:41:56.955 www.example.com                                        C:\Users\CyberJunkie\Downloads\Preventivo24.02.14.exe.exe
    2024-02-14 03:41:43.924 d.dropbox.com                                          C:\Program Files\Mozilla Firefox\firefox.exe
    2024-02-14 03:41:25.269 uc2f030016253ec53f4953980a4e.dl.dropboxusercontent.com C:\Program Files\Mozilla Firefox\firefox.exe

Antwort: www.example.com


Task 07

Frage: An welche IP-Adresse hat der bösartige Prozess versucht, sich zu verbinden?
Original: Which IP address did the malicious process try to reach out to?

Sysmon EventID 3 loggt Netzwerk Verbindungen die erstellt werden. Dort werden auch entsprechende Ziel IP Adressen erfasst.

    Get-WinEvent -Path .\Microsoft-Windows-Sysmon-Operational.evtx | Where-Object {($_.ID -eq "3")}| Select-Object @{Name="UtcTime"; Expression={$_.Properties[1].Value }}, @{Name="Image"; Expression={$_.Properties[4].Value }}, @{Name="DestinationIp"; Expression={$_.Properties[14].Value }}

    UtcTime                 Image                                                     DestinationIp
    -------                 -----                                                     -------------
    2024-02-14 03:41:57.159 C:\Users\CyberJunkie\Downloads\Preventivo24.02.14.exe.exe 93.184.216.34

Antwort: 93.184.216.34


Task 08

Frage: Der bösartige Prozess hat sich selbst beendet, nachdem er den PC mit einer backdoored Variante von UltraVNC infiziert hat. Wann hat sich der Prozess selbst beendet?
Original: The malicious process terminated itself after infecting the PC with a backdoored variant of UltraVNC. When did the process terminate itself?

Das Beenden von Prozessen wird von Sysmon mit EventID 5 geloggt. Gemäß der Liste aus Task 1 ist dieses Event nur einmal im Logging Zeitraum aufgetreten:

    Get-WinEvent -Path .\Microsoft-Windows-Sysmon-Operational.evtx | Where-Object {($_.ID -eq "5")}| Select-Object @{Name="UtcTime"; Expression={$_.Properties[1].Value }}, @{Name="Image"; Expression={$_.Properties[4].Value }}

    UtcTime                 Image
    -------                 -----
    2024-02-14 03:41:58.795 C:\Users\CyberJunkie\Downloads\Preventivo24.02.14.exe.exe

Antwort: 2024-02-14 03:41:58