logjammer

Veröffentlicht2023-11-13
Retired2024-05-16
AutorCyberJunkie

Szenario

Sie haben die Möglichkeit erhalten, als Junior-DFIR-Berater für eine große Unternehmensberatung zu arbeiten. Allerdings haben sie Ihnen eine technische Bewertung zur Durchführung vorgelegt. Die Beratungsfirma Forela-Security möchte Ihr Wissen in der Analyse von Windows-Ereignisprotokollen einschätzen. Wir vermuten, dass der Benutzer Cyberjunkie sich an seinem Computer angemeldet hat und möglicherweise bösartige Aktionen unternommen hat. Bitte analysieren Sie die bereitgestellten Ereignisprotokolle und geben Sie Rückmeldung.


Task 01

Frage: Wann hat sich der Benutzer “cyberjunkie” zum ersten Mal erfolgreich an seinem Computer angemeldet? (UTC)
Original: When did user cyberjunkie successfully log into his computer? (UTC)

Die vorhandenen Eventlogs können mit hayabusa gescannt werden. Dadurch kann schnell ein Überblick über potentiell bösartige Vorgänge gewonnen werden. Zusätzlich zur Ausgabe als json-timeline werden die Schalter -w (oder --no-wizard) zur default Konfiguration ohne Abfragen und -U für UTC Zeitstempel genutzt.

hayabusa.exe json-timeline -w -U -d . -o hayabusa.json

Als Ergebnis gibt es eine große JSON Datei in der alle relevanten Events gemäß der genutzten Regeln zusammenfasst. Ein Login erzeugt ein Windows Event mit der ID 4624 im Security Log, eine Suche nach diesen Events offenbart den gesuchten Nutzers.

{
    "Timestamp": "2023-03-27 14:37:09.879 +00:00",
    "RuleTitle": "Logon (Interactive) *Creds in memory*",
    "Level": "info",
    "Computer": "DESKTOP-887GK2L",
    "Channel": "Sec",
    "EventID": 4624,
    "RecordID": 13058,
    "Details": {
        "Type": "2 - INTERACTIVE",
        "TgtUser": "CyberJunkie",
        "SrcComp": "DESKTOP-887GK2L",
        "SrcIP": "127.0.0.1",
        "LID": "0x25f28"
    }
}

Antwort: 27/03/2023 14:37:09


Task 02

Frage: Der Benutzer hat die Firewall-Einstellungen am System manipuliert. Analysieren Sie die Firewall-Ereignisprotokolle, um den Namen der hinzugefügten Firewall-Regel herauszufinden?
Original: The user tampered with firewall settings on the system. Analyze the firewall event logs to find out the Name of the firewall rule added?

Neben den in Task 01 genutzten Security Eventlog, ist auch der Microsoft-Windows-Windows Firewall With Advanced Security/Firewall mit 929 Ereignissen in der Sammlung enthalten. Dieser enthält Events die sich auf Ereignisse die die Firewall betreffen beziehen. Bei dem Hinzufügen einer Regel wird dies mit der EventID 2004 in diesem Log erfassst. So kann die verdächtige neue Regel identifiziert werden:

{
    "Timestamp": "2023-03-27 14:44:43.415 +00:00",
    "RuleTitle": "Uncommon New Firewall Rule Added In Windows Firewall Exception List",
    "Level": "med",
    "Computer": "DESKTOP-887GK2L",
    "Channel": "Firewall",
    "EventID": 2004,
    "RecordID": 1120,
    "Details": {
        "RuleName": "Metasploit C2 Bypass",
        "App": "",
        "ModifyingApp": "C:\\Windows\\System32\\mmc.exe",
        "User": "S-1-5-21-3393683511-3463148672-371912004-1001",
        "Svc": "",
        "Protocol": 6,
        "LocalAddr": "*",
        "LocalPort": "*",
        "RemoteAddr": "*",
        "RemotePort": 4444,
        "Action": 3
    }
}

Antwort: Metasploit C2 Bypass


Task 03

Frage: Was ist die Richtung der Firewall-Regel?
Original: Whats the direction of the firewall rule?

Die Angabe des RemotePort: 4444 in dem Ergebnis der Suche aus Task 02 deutet auf eine Ausgehende Regel hin. Für eine klare Identifikation kann EvtxECmd genutzt werden um die vorhandene Events alle in JSON lesen zu können, nicht nur die Ergebnisse der Analyse von hayabusa

EvtxECmd.exe -d . --json .

Anschließend finden sich alle Events im gleichen Wortlaut wie im EventViewer von Microsoft Windows. Das gesuchte Event kann über die bekannte RecordId schnell verglichen werden, die gesuchte Information befindet sich in PayloadData3:

    {
        "PayloadData1": ": Metasploit C2 Bypass",
        "PayloadData2": "",
        "PayloadData3": "Direction: Outbound",
        "PayloadData4": "Action: Allow",
        "PayloadData5": "Protocol: TCP",
        "RemoteHost": "*: 4444",
        "MapDescription": "A rule has been added to the Windows Defender Firewall exception list",

        "Provider": "Microsoft-Windows-Windows Firewall With Advanced Security",
        "EventId": 2004,
        "EventRecordId": "1120",

        "TimeCreated": "2023-03-27T14:44:43.4157021+00:00",
        "RecordNumber": 929
    }

Antwort: Outbound


Task 04

Frage: Der Benutzer hat die Überwachungsrichtlinie des Computers geändert. Was ist die Unterkategorie dieser geänderten Richtlinie?
Original: The user changed audit policy of the computer. Whats the Subcategory of this changed policy?

Änderungen an der Audit Policy werden im Security Log mit der EventID 4719 erfasst. Diese können mit dem Get-WinEvent Cmdlet ausgelesen werden um die gesuchte Subkategorie zu finden:

    Get-WinEvent -Path .\Security.evtx | Where-Object { $_.id -eq 4719 } | Format-List

    TimeCreated  : 27/03/2023 16:50:03
    ProviderName : Microsoft-Windows-Security-Auditing
    Id           : 4719
    Message      : System audit policy was changed.

                Subject:
                    Security ID:            S-1-5-18
                    Account Name:           DESKTOP-887GK2L$
                    Account Domain:         WORKGROUP
                    Logon ID:               0x3E7

                Audit Policy Change:
                    Category:               Object Access
                    Subcategory:            Other Object Access Events
                    Subcategory GUID:       {0cce9227-69ae-11d9-bed3-505054503030}
                    Changes:                Success Added

Antwort: Other Object Access Events


Task 05

Frage: Der Benutzer “cyberjunkie” hat eine geplante Aufgabe erstellt. Wie lautet der Name dieser Aufgabe?
Original: The user “cyberjunkie” created a scheduled task. Whats the name of this task?

Neue Scheduled Tasks werden ebenfalls im Security Ereignislog erfasst. Diese Meldungen werden mit der EventID 4698 versehen. Das gleiche Cmdlet wie in Task 04 kann genutzt werden um die Task Definition zu erhalten, im RegistrationInfo Block ist der Name hinterlegt:

 7
 8
 9
10
11
12
 <RegistrationInfo>
   <Date>2023-03-27T07:51:21.4599985</Date>
   <Author>DESKTOP-887GK2L\CyberJunkie</Author>
   <Description>practice</Description>
   <URI>\HTB-AUTOMATION</URI>
 </RegistrationInfo>

Antwort: HTB-AUTOMATION


Task 06

Frage: Was ist der vollständige Pfad der Datei, die für diese Aufgabe geplant wurde?
Original: Whats the full path of the file which was scheduled for the task?

Dank der XML Definition des Tasks aus der vorherigen Ausgabe kann der gesuchte Pfad aus dem Actions Block ausgelesen werden.

45
46
47
48
49
50
 <Actions Context="Author">
   <Exec>
	 <Command>C:\Users\CyberJunkie\Desktop\Automation-HTB.ps1</Command>
	 <Arguments>-A [email protected]</Arguments>
   </Exec>
 </Actions>

Antwort: C:\Users\CyberJunkie\Desktop\Automation-HTB.ps1


Task 07

Frage: Was sind die Argumente des Befehls?
Original: What are the arguments of the command?

Im gleichen Block wie die Antwort für Task 06 findet sich auch eine Auflistung der Argumente.

45
46
47
48
49
50
 <Actions Context="Author">
   <Exec>
	 <Command>C:\Users\CyberJunkie\Desktop\Automation-HTB.ps1</Command>
	 <Arguments>-A [email protected]</Arguments>
   </Exec>
 </Actions>

Antwort: -A [email protected]


Task 08

Frage: Das Antivirenprogramm auf dem System hat eine Bedrohung identifiziert und Maßnahmen ergriffen. Welches Tool wurde vom Antivirenprogramm als Malware identifiziert?
Original: The antivirus running on the system identified a threat and performed actions on it. Which tool was identified as malware by antivirus?

Im Windows Defender-Operational.evtx werden mit der EventID 1116 alle Funde von Malware erfasst. In diesem Fall war das 139 mal der Fall, daher muss zur Beantwortung der Frage weiter gefiltert werden:

Get-WinEvent -Path '.\Windows Defender-Operational.evtx' | Where-Object { $_.id -eq 1116 } `
| Select-Object @{Name="Threat Name"; Expression={$_.Properties[7].Value }}  `
| Group-Object -Property "Threat Name" | Select-Object Name, Count

Name                             Count
----                             -----
HackTool:MSIL/SharpHound!MSR         1
HackTool:PowerShell/SharpHound.B     1
Trojan:Win64/Meterpreter.B         137
  • Get-WinEvent liest das Ereignislog vom -Path ein und ermöglicht die Suche nach Ereignissen
  • Where-Object filtert nur die Ereignisse mit der EventId -eq 1116 heraus
  • Select-Object greift auf den siebten Datenpunkt des Ereignisses zu, dem Threat Name
  • Group-Object gruppiert die gleichen Ausgaben
  • Select-Object gibt nur Name und Count aus

Antwort: SharpHound


Task 09

Frage: Was ist der vollständige Pfad der Malware, die Alarm ausgelöst hat?
Original: Whats the full path of the malware which raised the alert?

Das in Task 08 identifizerte Event zur Erkennung von SharpHound durch Defender hat die RecordId 440. Zur detailierten Ausgabe der Angaben zu diesem Event kann auch die XML Form genutzt werden:

0
(Get-WinEvent -Path '.\Windows Defender-Operational.evtx' | Where-Object { $_.RecordId -eq 440 }).ToXml()

Teil dieses XML Dokuments ist auch der Path Block:

  <Data Name='Path'>
    containerfile:_C:\Users\CyberJunkie\Downloads\SharpHound-v1.1.0.zip;
    file:_C:\Users\CyberJunkie\Downloads\SharpHound-v1.1.0.zip-&gt;SharpHound.ps1;
    webfile:_C:\Users\CyberJunkie\Downloads\SharpHound-v1.1.0.zip|https://objects.githubusercontent.com/github-production-release-asset-2e65be/385323486/70d776cc-8f83-44d5-b226-2dccc4f7c1e3?X-Amz-Algorithm=AWS4-HMAC-SHA256&amp;X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20230327%2Fus-east-1%2Fs3%2Faws4_request&amp;X-Amz-Date=20230327T144228Z&amp;X-Amz-Expires=300&amp;X-Amz-Signature=f969ef5ca3eec150dc1e23623434adc1e4a444ba026423c32edf5e85d881a771&amp;X-Amz-SignedHeaders=host&amp;actor_id=0&amp;key_id=0&amp;repo_id=385323486&amp;response-content-disposition=attachment%3B%20filename%3DSharpHound-v1.1.0.zip&amp;response-content-type=application%2Foctet-stream|pid:3532,ProcessStart:133244017530289775
  </Data>

Antwort: C:\Users\CyberJunkie\Downloads\SharpHound-v1.1.0.zip


Task 10

Frage: Welche Aktion wurde vom Antivirenprogramm durchgeführt?
Original: What action was taken by the antivirus?

Neben dem zuvor genutzten Event 1116 schreibt Defender auch die getätigten Maßnahmen mit der EventID 1117 in das gleiche Log. Um die Maßnahme zu dem in Task 09 identifizierten Event zu finden, kann die <Data Name='Detection ID'>{0EBC4BEA-5532-4EFB-8A34-64F91CC8702E}</Data> genutzt werden. Das zugehörige Event für die Maßnahme hat die RecordId 443:

    <Data Name='Action ID'>2</Data>
    <Data Name='Action Name'>Quarantine</Data>

Antwort: Quarantine


Task 11

Frage: Der Benutzer hat PowerShell verwendet, um Befehle auszuführen. Welcher Befehl wurde vom Benutzer ausgeführt?
Original: The user used Powershell to execute commands. What command was executed by the user?

Ausgeführte PowerShell Kommandos werden, je nach Konfiguration, auch im Powershell-Operational Ereignislog unter der EventID 4104 gespeichert. In der Übersicht von hayabusa sind diese Events und deren Inhalt dank der Regel PwSh Scriptblock erfasst.

{
    "Timestamp": "2023-03-27 14:58:33.364 +00:00",
    "RuleTitle": "PwSh Scriptblock",
    "Level": "info",
    "Computer": "DESKTOP-887GK2L",
    "Channel": "PwSh",
    "EventID": 4104,
    "RecordID": 571,
    "Details": {
        "ScriptBlock": "Get-FileHash -Algorithm md5 .\\Desktop\\Automation-HTB.ps1"
    },
    "ExtraFieldInfo": {
        "MessageNumber": 1,
        "MessageTotal": 1,
        "Path": "",
        "ScriptBlockId": "b4fcf72f-abdc-4a84-923f-8e06a758000b"
    }
}

Antwort: Get-FileHash -Algorithm md5 .\Desktop\Automation-HTB.ps1


Task 12

Frage: Wir vermuten, dass der Benutzer einige Ereignisprotokolldateien gelöscht hat. Welche Ereignisprotokolldatei wurde gelöscht?
Original: We suspect the user deleted some event logs. Which Event log file was cleared?

Im Microsoft-Windows-Eventlog das in der System.evtx Datei geführt wird wird mit der EventID 104 das Leeren eines Eventlogs festgehalten.

 0
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<Event xmlns='http://schemas.microsoft.com/win/2004/08/events/event'>
  <System>
    <Provider Name='Microsoft-Windows-Eventlog' Guid='{fc65ddd8-d6ef-4962-83d5-6e5cfe9ce148}' />
    <EventID>104</EventID>
    <Version>0</Version>
    <Level>4</Level>
    <Task>104</Task>
    <Opcode>0</Opcode>
    <Keywords>0x8000000000000000</Keywords>
    <TimeCreated SystemTime='2023-03-27T15:01:56.5158362Z' />
    <EventRecordID>2186</EventRecordID>
    <Correlation />
    <Execution ProcessID='1332' ThreadID='5332' />
    <Channel>System</Channel>
    <Computer>DESKTOP-887GK2L</Computer>
    <Security UserID='S-1-5-21-3393683511-3463148672-371912004-1001' />
  </System>
  <UserData>
    <LogFileCleared xmlns='http://manifests.microsoft.com/win/2004/08/windows/eventlog'>
      <SubjectUserName>CyberJunkie</SubjectUserName>
      <SubjectDomainName>DESKTOP-887GK2L</SubjectDomainName>
      <Channel>Microsoft-Windows-Windows Firewall With Advanced Security/Firewall</Channel>
      <BackupPath></BackupPath>
    </LogFileCleared>
  </UserData>
</Event>

Antwort: Microsoft-Windows-Windows Firewall With Advanced Security/Firewall