UNIT42 (SYSMON/EVENT LOGS)
How many Event logs are there with Event ID 11?

PS C:\> Invoke-WebRequest -Uri https://www.7-zip.org/a/7z2409-x64.exe -OutFile 7zip.exe
...
* install 7zip if required
PS C:\> GUI > BFT.zip > 7-zip > extract files
...
PS C:\> Get-WinEvent -Path "Microsoft-Windows-Sysmon-Operational.evtx" -MaxEvents 1 | Format-List *
* display all fields prior to filtering
PS C:\> Get-WinEvent -Path "Microsoft-Windows-Sysmon-Operational.evtx" | Where-Object {$_.Id -eq 11} | Measure-Object | Select-Object -ExpandProperty Count
56
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?

PS C:\> Invoke-WebRequest -Uri https://www.7-zip.org/a/7z2409-x64.exe -OutFile 7zip.exe
...
* install 7zip if required
PS C:\> GUI > BFT.zip > 7-zip > extract files
...
PS C:\> Get-WinEvent -Path "Microsoft-Windows-Sysmon-Operational.evtx" -MaxEvents 1 | Format-List *
* display all fields prior to filtering
PS C:\> Get-WinEvent -Path "Microsoft-Windows-Sysmon-Operational.evtx" |
Where-Object { $_.Id -eq 1 } |
ForEach-Object {
$xml = [xml]$_.ToXml()
$eventData = $xml.Event.EventData.Data
# Output all Name/Value pairs in the event
$eventData | ForEach-Object {
[PSCustomObject]@{
Name = $_.Name
Value = $_.'#text'
}
}
# Optional: separator between events
Write-Host "`n--- Next Event ---`n"
} | Format-List
RuleName technique_id=T1204,technique_name=User Execution
UtcTime 2024-02-14 03:41:56.538
ProcessGuid {817bddf3-3684-65cc-2d02-000000001900}
ProcessId 10672
Image C:\Users\CyberJunkie\Downloads\Preventivo24.02.14.exe.exe
FileVersion 1.1.2
Description Photo and vn Installer
Product Photo and vn
Company Photo and Fax Vn
OriginalFileName Fattura 2 2024.exe
CommandLine "C:\Users\CyberJunkie\Downloads\Preventivo24.02.14.exe.exe"
CurrentDirectory C:\Users\CyberJunkie\Downloads\
User DESKTOP-887GK2L\CyberJunkie
LogonGuid {817bddf3-311e-65cc-a7ae-1b0000000000}
LogonId 0x1baea7
TerminalSessionId 1
IntegrityLevel Medium
Hashes SHA1=18A24AA0AC052D31FC5B56F5C0187041174FFC61,MD5=32F35B78A3DC5949CE3C99F2981DEF6B,SHA256=0CB44C4F8273750FA40497FCA81E850F73927E70B13C8F80CDCFEE9D1478E6F3,IMPHASH=36ACA8EDDDB161C588FCF5AFDC1AD9FA
ParentProcessGuid {817bddf3-311f-65cc-0a01-000000001900}
ParentProcessId 1116
ParentImage C:\Windows\explorer.exe
ParentCommandLine C:\Windows\Explorer.EXE
ParentUser DESKTOP-887GK2L\CyberJunkie
...
* display event id 1 specific fields
PS C:\> Get-WinEvent -Path "Microsoft-Windows-Sysmon-Operational.evtx" | Where-Object {$_.Id -eq 1} |
ForEach-Object {
$xml = [xml]$_.ToXml()
[PSCustomObject]@{
TimeCreated = $_.TimeCreated
Image = ($xml.Event.EventData.Data | Where-Object { $_.Name -eq "Image" }).'#text'
ParentImage = ($xml.Event.EventData.Data | Where-Object { $_.Name -eq "ParentImage" }).'#text'
CommandLine = ($xml.Event.EventData.Data | Where-Object { $_.Name -eq "CommandLine" }).'#text'
Hashes = ($xml.Event.EventData.Data | Where-Object { $_.Name -eq "Hashes" }).'#text'
ProcessId = ($xml.Event.EventData.Data | Where-Object { $_.Name -eq "ProcessId" }).'#text'
User = ($xml.Event.EventData.Data | Where-Object { $_.Name -eq "User" }).'#text'
}
} | Format-List
TimeCreated : 2/13/2024 10:41:58 PM
Image : C:\Windows\SysWOW64\msiexec.exe
ParentImage : C:\Windows\System32\msiexec.exe
CommandLine : C:\Windows\syswow64\MsiExec.exe -Embedding 5250A3DB12224F77D2A18B4EB99AC5EB
Hashes : SHA1=9AB9B12901E1EA2DF943B45AD20D8732618608CD,MD5=898277AC5894C4E1412A49040053B0D3,SHA256=445A2E800DC68DF89ABF713F3B4B632D40AE6310EF3660B42D974BB582426BC5,IMPHASH=E4E40938E4BF6C66424859ED02171C41
ProcessId : 10280
User : DESKTOP-887GK2L\CyberJunkie
TimeCreated : 2/13/2024 10:41:57 PM
Image : C:\Windows\SysWOW64\msiexec.exe
ParentImage : C:\Users\CyberJunkie\Downloads\Preventivo24.02.14.exe.exe
CommandLine : "C:\Windows\system32\msiexec.exe" /i "C:\Users\CyberJunkie\AppData\Roaming\Photo and Fax Vn\Photo and vn 1.1.2\install\F97891C\main1.msi" AI_SETUPEXEPATH=C:\Users\CyberJunkie\Downloads\Preventivo24.02.14.exe.exe SETUPEXEDIR=C:\Users\CyberJunkie\Downloads\
EXE_CMD_LINE="/exenoupdates /forcecleanup /wintime 1707880560 "
Hashes : SHA1=9AB9B12901E1EA2DF943B45AD20D8732618608CD,MD5=898277AC5894C4E1412A49040053B0D3,SHA256=445A2E800DC68DF89ABF713F3B4B632D40AE6310EF3660B42D974BB582426BC5,IMPHASH=E4E40938E4BF6C66424859ED02171C41
ProcessId : 10324
User : DESKTOP-887GK2L\CyberJunkie
TimeCreated : 2/13/2024 10:41:57 PM
Image : C:\Windows\SysWOW64\msiexec.exe
ParentImage : C:\Windows\System32\msiexec.exe
CommandLine : C:\Windows\syswow64\MsiExec.exe -Embedding 5364C761FA9A55D636271A1CE8A6742D C
Hashes : SHA1=9AB9B12901E1EA2DF943B45AD20D8732618608CD,MD5=898277AC5894C4E1412A49040053B0D3,SHA256=445A2E800DC68DF89ABF713F3B4B632D40AE6310EF3660B42D974BB582426BC5,IMPHASH=E4E40938E4BF6C66424859ED02171C41
ProcessId : 6996
User : DESKTOP-887GK2L\CyberJunkie
TimeCreated : 2/13/2024 10:41:57 PM
Image : C:\Windows\System32\msiexec.exe
ParentImage : C:\Windows\System32\services.exe
CommandLine : C:\Windows\system32\msiexec.exe /V
Hashes : SHA1=32B8B2E3B3ECD8E194ACE65A5E5052C326D7CCAA,MD5=3A8464F2CECDF1D89430C64237949F20,SHA256=8CA4B8B7A2F8E6E7D1DF1AE46437FC252CD9C4B78CA3C7ADCAB721BD0F68B358,IMPHASH=0990A9500FF8DF93E0E059EE13E7C796
ProcessId : 10220
User : NT AUTHORITY\SYSTEM
TimeCreated : 2/13/2024 10:41:56 PM
Image : C:\Users\CyberJunkie\Downloads\Preventivo24.02.14.exe.exe
ParentImage : C:\Windows\explorer.exe
CommandLine : "C:\Users\CyberJunkie\Downloads\Preventivo24.02.14.exe.exe"
Hashes : SHA1=18A24AA0AC052D31FC5B56F5C0187041174FFC61,MD5=32F35B78A3DC5949CE3C99F2981DEF6B,SHA256=0CB44C4F8273750FA40497FCA81E850F73927E70B13C8F80CDCFEE9D1478E6F3,IMPHASH=36ACA8EDDDB161C588FCF5AFDC1AD9FA
ProcessId : 10672
User : DESKTOP-887GK2L\CyberJunkie
TimeCreated : 2/13/2024 10:41:45 PM
Image : C:\Program Files\Mozilla Firefox\pingsender.exe
ParentImage : C:\Program Files\Mozilla Firefox\firefox.exe
CommandLine : "C:\Program Files\Mozilla Firefox\pingsender.exe" https://incoming.telemetry.mozilla.org/submit/telemetry/cb88145b-129d-471c-b605-4fdf09fec680/event/Firefox/122.0.1/release/20240205133611?v=4
C:\Users\CyberJunkie\AppData\Roaming\Mozilla\Firefox\Profiles\avsa4d81.default-release\saved-telemetry-pings\cb88145b-129d-471c-b605-4fdf09fec680 https://incoming.telemetry.mozilla.org/submit/telemetry/6fcd92a2-cc60-4df6-b6fb-66356dd011c1/main/Firefox/122.0.1/release/20240205133611?v=4
C:\Users\CyberJunkie\AppData\Roaming\Mozilla\Firefox\Profiles\avsa4d81.default-release\saved-telemetry-pings\6fcd92a2-cc60-4df6-b6fb-66356dd011c1
Hashes : SHA1=282F855BEB4FACF0726E13ECCADB7D3411B30B85,MD5=A1F5FF25E3D0F160BC7CE7CA57349D83,SHA256=B412C45DE423534D85F121ABC348FB38020FDA804EA0A972708B7447B0E7325D,IMPHASH=F84029681F81FED23E3E067364DA1699
ProcessId : 5584
User : DESKTOP-887GK2L\CyberJunkie
* Look for any suspicious files being run on weird directory
- the rich event details such as command line, image path, parent process,
etc. are inside the Message property as a big text blob, or inside the
event’s XML
- Must view using xml as sysmon event details such as Image path are
not exposed as separate properties in PowerShell’s default event
object; they’re embedded inside the event’s XML or Message field.
Which Cloud drive was used to distribute the malware?

PS C:\> Invoke-WebRequest -Uri https://www.7-zip.org/a/7z2409-x64.exe -OutFile 7zip.exe
...
* install 7zip if required
PS C:\> GUI > BFT.zip > 7-zip > extract files
...
PS C:\> Get-WinEvent -Path "Microsoft-Windows-Sysmon-Operational.evtx" -MaxEvents 1 | Format-List *
* display all fields prior to filtering
PS C:\> Get-WinEvent -Path "Microsoft-Windows-Sysmon-Operational.evtx" |
Where-Object { $_.Id -eq 22 } |
ForEach-Object {
$xml = [xml]$_.ToXml()
$eventData = $xml.Event.EventData.Data
# Output all Name/Value pairs in the event
$eventData | ForEach-Object {
[PSCustomObject]@{
Name = $_.Name
Value = $_.'#text'
}
}
# Optional: separator between events
Write-Host "`n--- Next Event ---`n"
} | Format-List
Name Value
---- -----
RuleName -
UtcTime 2024-02-14 03:41:56.955
ProcessGuid {817bddf3-3684-65cc-2d02-000000001900}
ProcessId 10672
QueryName www.example.com
QueryStatus 0
QueryResults ::ffff:93.184.216.34;199.43.135.53;2001:500:8f::53;199.43.133.53;2001:500:8d::53;
Image C:\Users\CyberJunkie\Downloads\Preventivo24.02.14.exe.exe
User DESKTOP-887GK2L\CyberJunkie
* display event id 22 specific fields
#display DNS queries
PS C:\> Get-WinEvent -Path "Microsoft-Windows-Sysmon-Operational.evtx" | Where-Object {$_.Id -eq 22} | ForEach-Object {[xml]$xml = $_.ToXml(); $xml.Event.EventData.Data | ForEach-Object {"$($_.Name): $($_.'#text')"}}
RuleName: -
UtcTime: 2024-02-14 03:41:56.955
ProcessGuid: {817bddf3-3684-65cc-2d02-000000001900}
ProcessId: 10672
QueryName: www.example.com
QueryStatus: 0
QueryResults: ::ffff:93.184.216.34;199.43.135.53;2001:500:8f::53;199.43.133.53;2001:500:8d::53;
Image: C:\Users\CyberJunkie\Downloads\Preventivo24.02.14.exe.exe
User: DESKTOP-887GK2L\CyberJunkie
RuleName: -
UtcTime: 2024-02-14 03:41:43.924
ProcessGuid: {817bddf3-3514-65cc-0802-000000001900}
ProcessId: 4292
QueryName: d.dropbox.com
QueryStatus: 0
QueryResults: type: 5 d.v.dropbox.com;type: 5 d-edge.v.dropbox.com;162.125.8.20;205.251.192.57;2600:9000:5300:3900::1;
Image: C:\Program Files\Mozilla Firefox\firefox.exe
User: DESKTOP-887GK2L\CyberJunkie
RuleName: -
UtcTime: 2024-02-14 03:41:25.269
ProcessGuid: {817bddf3-3514-65cc-0802-000000001900}
ProcessId: 4292
QueryName: uc2f030016253ec53f4953980a4e.dl.dropboxusercontent.com
QueryStatus: 0
QueryResults: type: 5 edge-block-www-env.dropbox-dns.com;::ffff:162.125.81.15;198.51.44.6;2620:4d:4000:6259:7:6:0:1;198.51.45.6;2a00:edc0:6259:7:6::2;198.51.44.70;2620:4d:4000:6259:7:6:0:3;198.51.45.70;2a00:edc0:6259:7:6::4;
Image: C:\Program Files\Mozilla Firefox\firefox.exe
User: DESKTOP-887GK2L\CyberJunkie
#correlate w/ event ID 11 - file creation
PS C:\> Get-WinEvent -Path "Microsoft-Windows-Sysmon-Operational.evtx" | Where-Object {$_.Id -eq 11} | ForEach-Object {[xml]$xml = $_.ToXml(); $xml.Event.EventData.Data | ForEach-Object {"$($_.Name): $($_.'#text')"}}
RuleName: -
UtcTime: 2024-02-14 03:41:30.472
ProcessGuid: {817bddf3-3514-65cc-0802-000000001900}
ProcessId: 4292
Image: C:\Program Files\Mozilla Firefox\firefox.exe
TargetFilename: C:\Users\CyberJunkie\Downloads\Preventivo24.02.14.exe.exe:Zone.Identifier
CreationUtcTime: 2024-02-14 03:41:26.459
User: DESKTOP-887GK2L\CyberJunkie
RuleName: -
UtcTime: 2024-02-14 03:41:26.459
ProcessGuid: {817bddf3-3514-65cc-0802-000000001900}
ProcessId: 4292
Image: C:\Program Files\Mozilla Firefox\firefox.exe
TargetFilename: C:\Users\CyberJunkie\Downloads\Preventivo24.02.14.exe.exe
CreationUtcTime: 2024-02-14 03:41:26.459
User: DESKTOP-887GK2L\CyberJunkie
RuleName: -
UtcTime: 2024-02-14 03:41:26.459
ProcessGuid: {817bddf3-3514-65cc-0802-000000001900}
ProcessId: 4292
Image: C:\Program Files\Mozilla Firefox\firefox.exe
TargetFilename: C:\Users\CyberJunkie\Downloads\skZdsnwf.exe.part
CreationUtcTime: 2024-02-14 03:41:26.459
User: DESKTOP-887GK2L\CyberJunkie
RuleName: -
UtcTime: 2024-02-14 03:41:26.459
ProcessGuid: {817bddf3-3514-65cc-0802-000000001900}
ProcessId: 4292
Image: C:\Program Files\Mozilla Firefox\firefox.exe
TargetFilename: C:\Users\CyberJunkie\Downloads\skZdsnwf.exe.part
CreationUtcTime: 2024-02-14 03:41:26.459
User: DESKTOP-887GK2L\CyberJunkie
RuleName: -
UtcTime: 2024-02-14 03:41:26.459
ProcessGuid: {817bddf3-3514-65cc-0802-000000001900}
ProcessId: 4292
Image: C:\Program Files\Mozilla Firefox\firefox.exe
TargetFilename: C:\Users\CYBERJ~1\AppData\Local\Temp\skZdsnwf.exe
CreationUtcTime: 2024-02-14 03:41:26.459
User: DESKTOP-887GK2L\CyberJunkie
For many of the files it wrote to disk, the initial malicious file used a defense evasion technique called Time Stomping, where the file creation date is changed to make it appear older and blend in with other files. What was the timestamp changed to for the PDF file?

PS C:\> Invoke-WebRequest -Uri https://www.7-zip.org/a/7z2409-x64.exe -OutFile 7zip.exe
...
* install 7zip if required
PS C:\> GUI > BFT.zip > 7-zip > extract files
...
PS C:\> Get-WinEvent -Path "Microsoft-Windows-Sysmon-Operational.evtx" -MaxEvents 1 | Format-List *
* display all fields prior to filtering
PS C:\> Get-WinEvent -Path "Microsoft-Windows-Sysmon-Operational.evtx" |
Where-Object { $_.Id -eq 2 } |
ForEach-Object {
$xml = [xml]$_.ToXml()
$eventData = $xml.Event.EventData.Data
# Output all Name/Value pairs in the event
$eventData | ForEach-Object {
[PSCustomObject]@{
Name = $_.Name
Value = $_.'#text'
}
}
# Optional: separator between events
Write-Host "`n--- Next Event ---`n"
} | Format-List
RuleName technique_id=T1070.006,technique_name=Timestomp
UtcTime 2024-02-14 03:41:58.389
ProcessGuid {817bddf3-3684-65cc-2d02-000000001900}
ProcessId 10672
Image C:\Users\CyberJunkie\Downloads\Preventivo24.02.14.exe.exe
TargetFilename C:\Users\CyberJunkie\AppData\Roaming\Photo and Fax Vn\Photo and vn 1.1.2\install\F97891C\WindowsVolume\Gam...
CreationUtcTime 2024-01-10 18:12:27.357
PreviousCreationUtcTime 2024-02-14 03:41:58.389
User DESKTOP-887GK2L\CyberJunkie
* display event id 2 specific fields
PS C:\> Get-WinEvent -Path "Microsoft-Windows-Sysmon-Operational.evtx" | Where-Object { $_.Id -eq 2 } |
ForEach-Object {
$xml = [xml]$_.ToXml()
[PSCustomObject]@{
TimeCreated = $_.TimeCreated
Image = ($xml.Event.EventData.Data | Where-Object { $_.Name -eq "Image" }).'#text'
PreviousCreationUtcTime = ($xml.Event.EventData.Data | Where-Object { $_.Name -eq "PreviousCreationUtcTime" }).'#text'
CreationUtcTime = ($xml.Event.EventData.Data | Where-Object { $_.Name -eq "CreationUtcTime" }).'#text'
RuleName = ($xml.Event.EventData.Data | Where-Object {$_.Name -eq "RuleName"}).'#text'
User = ($xml.Event.EventData.Data | Where-Object { $_.Name -eq "User"}).'#text'
}
} | Format-List
TimeCreated : 2/13/2024 10:41:57 PM
Image : C:\Users\CyberJunkie\Downloads\Preventivo24.02.14.exe.exe
PreviousCreationUtcTime : 2024-02-14 03:41:57.545
CreationUtcTime : 2024-01-14 08:10:06.029
RuleName : technique_id=T1070.006,technique_name=Timestomp
User : DESKTOP-887GK2L\CyberJunkie
...
* the PreviousCreationUtcTime is the real time the file was written or created.
* the CreationUtcTime is the suspicious backdated timestamp (e.g., from the 1990s, or aligning with legitimate system files).
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.

PS C:\> Invoke-WebRequest -Uri https://www.7-zip.org/a/7z2409-x64.exe -OutFile 7zip.exe
...
* install 7zip if required
PS C:\> GUI > BFT.zip > 7-zip > extract files
...
PS C:\> Get-WinEvent -Path "Microsoft-Windows-Sysmon-Operational.evtx" -MaxEvents 1 | Format-List *
* display all fields prior to filtering
PS C:\> Get-WinEvent -Path "Microsoft-Windows-Sysmon-Operational.evtx" |
Where-Object { $_.Id -eq 11 } |
ForEach-Object {
$xml = [xml]$_.ToXml()
$eventData = $xml.Event.EventData.Data
# Output all Name/Value pairs in the event
$eventData | ForEach-Object {
[PSCustomObject]@{
Name = $_.Name
Value = $_.'#text'
}
}
# Optional: separator between events
Write-Host "`n--- Next Event ---`n"
} | Format-List
Name : RuleName
Value : -
Name : UtcTime
Value : 2024-02-14 03:41:58.404
Name : ProcessGuid
Value : {817bddf3-3684-65cc-2d02-000000001900}
Name : ProcessId
Value : 10672
Name : Image
Value : C:\Users\CyberJunkie\Downloads\Preventivo24.02.14.exe.exe
Name : TargetFilename
Value : C:\Users\CyberJunkie\AppData\Roaming\Photo and Fax Vn\Photo and vn 1.1.2\install\F97891C\WindowsVolume\Games\once.cmd
Name : CreationUtcTime
Value : 2024-02-14 03:41:58.404
Name : User
Value : DESKTOP-887GK2L\CyberJunkie
* display event id 11 specific fields
PS C:\> Get-WinEvent -Path "Microsoft-Windows-Sysmon-Operational.evtx" | Where-Object {$_.Id -eq 11} |
ForEach-Object {
$xml = [xml]$_.ToXml()
[PSCustomObject]@{
TimeCreated = $_.TimeCreated
UtcTime = ($xml.Event.EventData.Data | Where-Object { $_.Name -eq "UtcTime" }).'#text'
ProcessId = ($xml.Event.EventData.Data | Where-Object { $_.Name -eq "ProcessId" }).'#text'
Image = ($xml.Event.EventData.Data | Where-Object { $_.Name -eq "Image" }).'#text'
TargetFilename = ($xml.Event.EventData.Data | Where-Object { $_.Name -eq "TargetFilename" }).'#text'
CreationUtcTime = ($xml.Event.EventData.Data | Where-Object { $_.Name -eq "CreationUtcTime" }).'#text'
User = ($xml.Event.EventData.Data | Where-Object { $_.Name -eq "User" }).'#text'
}
} | Format-List
TimeCreated : 2/13/2024 10:41:58 PM
UtcTime : 2024-02-14 03:41:58.404
ProcessId : 10672
Image : C:\Users\CyberJunkie\Downloads\Preventivo24.02.14.exe.exe
TargetFilename : C:\Users\CyberJunkie\AppData\Roaming\Photo and Fax Vn\Photo and vn 1.1.2\install\F97891C\WindowsVolume\Games\once.cmd
CreationUtcTime : 2024-02-14 03:41:58.404
User : DESKTOP-887GK2L\CyberJunkie
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?

PS C:\> Invoke-WebRequest -Uri https://www.7-zip.org/a/7z2409-x64.exe -OutFile 7zip.exe
...
* install 7zip if required
PS C:\> GUI > BFT.zip > 7-zip > extract files
...
PS C:\> Get-WinEvent -Path "Microsoft-Windows-Sysmon-Operational.evtx" -MaxEvents 1 | Format-List *
* display all fields prior to filtering
PS C:\> Get-WinEvent -Path "Microsoft-Windows-Sysmon-Operational.evtx" |
Where-Object { $_.Id -eq 22 } |
ForEach-Object {
$xml = [xml]$_.ToXml()
$eventData = $xml.Event.EventData.Data
# Output all Name/Value pairs in the event
$eventData | ForEach-Object {
[PSCustomObject]@{
Name = $_.Name
Value = $_.'#text'
}
}
# Optional: separator between events
Write-Host "`n--- Next Event ---`n"
} | Format-List
Name : RuleName
Value : -
Name : UtcTime
Value : 2024-02-14 03:41:56.955
Name : ProcessGuid
Value : {817bddf3-3684-65cc-2d02-000000001900}
Name : ProcessId
Value : 10672
Name : QueryName
Value : www.example.com
Name : QueryStatus
Value : 0
Name : QueryResults
Value : ::ffff:93.184.216.34;199.43.135.53;2001:500:8f::53;199.43.133.53;2001:500:8d::53;
Name : Image
Value : C:\Users\CyberJunkie\Downloads\Preventivo24.02.14.exe.exe
Name : User
Value : DESKTOP-887GK2L\CyberJunkie
* display event id 22 specific fields
#drill down
PS C:\> Get-WinEvent -Path "Microsoft-Windows-Sysmon-Operational.evtx" | Where-Object {$_.Id -eq 22} |
ForEach-Object {
$xml = [xml]$_.ToXml()
[PSCustomObject]@{
TimeCreated = $_.TimeCreated
UtcTime = ($xml.Event.EventData.Data | Where-Object { $_.Name -eq "UtcTime" }).'#text'
ProcessId = ($xml.Event.EventData.Data | Where-Object { $_.Name -eq "ProcessId" }).'#text'
Image = ($xml.Event.EventData.Data | Where-Object { $_.Name -eq "Image" }).'#text'
QueryName = ($xml.Event.EventData.Data | Where-Object { $_.Name -eq "QueryName" }).'#text'
QueryResults = ($xml.Event.EventData.Data | Where-Object { $_.Name -eq "QueryResults" }).'#text'
User = ($xml.Event.EventData.Data | Where-Object { $_.Name -eq "User" }).'#text'
}
} | Format-List
TimeCreated : 2/13/2024 10:41:58 PM
UtcTime : 2024-02-14 03:41:56.955
ProcessId : 10672
Image : C:\Users\CyberJunkie\Downloads\Preventivo24.02.14.exe.exe
QueryName : www.example.com
QueryResults : ::ffff:93.184.216.34;199.43.135.53;2001:500:8f::53;199.43.133.53;2001:500:8d::53;
User : DESKTOP-887GK2L\CyberJunkie
Which IP address did the malicious process try to reach out to?

PS C:\> Invoke-WebRequest -Uri https://www.7-zip.org/a/7z2409-x64.exe -OutFile 7zip.exe
...
* install 7zip if required
PS C:\> GUI > BFT.zip > 7-zip > extract files
...
PS C:\> Get-WinEvent -Path "Microsoft-Windows-Sysmon-Operational.evtx" -MaxEvents 1 | Format-List *
* display all fields prior to filtering
#identify specific fields
PS C:\> Get-WinEvent -Path "Microsoft-Windows-Sysmon-Operational.evtx" |
Where-Object { $_.Id -eq 3 } |
ForEach-Object {
$xml = [xml]$_.ToXml()
$eventData = $xml.Event.EventData.Data
# Output all Name/Value pairs in the event
$eventData | ForEach-Object {
[PSCustomObject]@{
Name = $_.Name
Value = $_.'#text'
}
}
# Optional: separator between events
Write-Host "`n--- Next Event ---`n"
} | Format-List
Name : RuleName
Value : technique_id=T1036,technique_name=Masquerading
Name : UtcTime
Value : 2024-02-14 03:41:57.159
Name : ProcessGuid
Value : {817bddf3-3684-65cc-2d02-000000001900}
Name : ProcessId
Value : 10672
Name : Image
Value : C:\Users\CyberJunkie\Downloads\Preventivo24.02.14.exe.exe
Name : User
Value : DESKTOP-887GK2L\CyberJunkie
Name : Protocol
Value : tcp
Name : Initiated
Value : true
Name : SourceIsIpv6
Value : false
Name : SourceIp
Value : 172.17.79.132
Name : SourceHostname
Value : -
Name : SourcePort
Value : 61177
Name : SourcePortName
Value : -
Name : DestinationIsIpv6
Value : false
Name : DestinationIp
Value : 93.184.216.34
Name : DestinationHostname
Value : -
Name : DestinationPort
Value : 80
Name : DestinationPortName
Value : -
PS C:\> Get-WinEvent -Path "\Microsoft-Windows-Sysmon-Operational.evtx" | Where-Object {$_.Id -eq 3} |
ForEach-Object {
$xml = [xml]$_.ToXml()
[PSCustomObject]@{
TimeCreated = $_.TimeCreated
UtcTime = ($xml.Event.EventData.Data | Where-Object { $_.Name -eq "UtcTime" }).'#text'
ProcessId = ($xml.Event.EventData.Data | Where-Object { $_.Name -eq "ProcessId" }).'#text'
Image = ($xml.Event.EventData.Data | Where-Object { $_.Name -eq "Image" }).'#text'
SourceIp = ($xml.Event.EventData.Data | Where-Object { $_.Name -eq "SourceIp" }).'#text'
SourcePort = ($xml.Event.EventData.Data | Where-Object { $_.Name -eq "SourcePort" }).'#text'
DestinationIp = ($xml.Event.EventData.Data | Where-Object { $_.Name -eq "DestinationIp" }).'#text'
DestinationPort = ($xml.Event.EventData.Data | Where-Object { $_.Name -eq "DestinationPort" }).'#text'
User = ($xml.Event.EventData.Data | Where-Object { $_.Name -eq "User" }).'#text'
}
} | Format-List
TimeCreated : 2/13/2024 10:41:58 PM
UtcTime : 2024-02-14 03:41:57.159
ProcessId : 10672
Image : C:\Users\CyberJunkie\Downloads\Preventivo24.02.14.exe.exe
SourceIp : 172.17.79.132
SourcePort : 61177
DestinationIp : 93.184.216.34
DestinationPort : 80
User : DESKTOP-887GK2L\CyberJunkie
The malicious process terminated itself after infecting the PC with a backdoored variant of UltraVNC. When did the process terminate itself?

PS C:\> Invoke-WebRequest -Uri https://www.7-zip.org/a/7z2409-x64.exe -OutFile 7zip.exe
...
* install 7zip if required
PS C:\> GUI > BFT.zip > 7-zip > extract files
...
PS C:\> Get-WinEvent -Path "Microsoft-Windows-Sysmon-Operational.evtx" -MaxEvents 1 | Format-List *
* display all fields prior to filtering
#identify specific fields
PS C:\> Get-WinEvent -Path "Microsoft-Windows-Sysmon-Operational.evtx" |
Where-Object { $_.Id -eq 5 } |
ForEach-Object {
$xml = [xml]$_.ToXml()
$eventData = $xml.Event.EventData.Data
# Output all Name/Value pairs in the event
$eventData | ForEach-Object {
[PSCustomObject]@{
Name = $_.Name
Value = $_.'#text'
}
}
# Optional: separator between events
Write-Host "`n--- Next Event ---`n"
} | Format-List
Name : RuleName
Value : -
Name : UtcTime
Value : 2024-02-14 03:41:58.795
Name : ProcessGuid
Value : {817bddf3-3684-65cc-2d02-000000001900}
Name : ProcessId
Value : 10672
Name : Image
Value : C:\Users\CyberJunkie\Downloads\Preventivo24.02.14.exe.exe
Name : User
Value : DESKTOP-887GK2L\CyberJunkie
* drill down further if/when there are more than one events
Last updated