Загрузка данных
Apr 17, 2024 @ 12:55:43.153
winlog.event_data.param3:
CommandInvocation(Write-XmlReport): "Write-XmlReport" CommandInvocation(Out-File): "Out-File" ParameterBinding(Out-File): name="FilePath"; value="PrivescCheck_MASLOV-O-PC.xml"
event.original:
Pipeline execution details for command line: "XML" { Write-XmlReport -AllResults $ResultArrayList | Out-File $ReportFileName } . Context Information: DetailSequence=1 DetailTotal=2 SequenceNumber=244886 UserId=FERRUMFOX\maslov-o HostName=ConsoleHost HostVersion=5.1.19041.4291 HostId=caab5788-d9f9-4f40-956d-226e78d129dc HostApplication=powershell -ep bypass EngineVersion=5.1.19041.4291 RunspaceId=9ee7a641-1d35-49fa-af70-6bfa6a8bad42 PipelineId=74 ScriptName= CommandLine= "XML" { Write-XmlReport -AllResults $ResultArrayList | Out-File $ReportFileName } Details: CommandInvocation(Write-XmlReport): "Write-XmlReport" CommandInvocation(Out-File): "Out-File" ParameterBinding(Out-File): name="FilePath"; value="PrivescCheck_MASLOV-O-PC.xml"
type:
wineventlog
@timestamp:
Apr 17, 2024 @ 12:55:43.153
winlog.keywords:
Classic
winlog.channel:
Windows PowerShell
winlog.record_id:
123,463
winlog.api:
wineventlog
winlog.computer_name:
maslov-o-pc.ferrumfox.corp
winlog.event_data.param1:
"XML" { Write-XmlReport -AllResults $ResultArrayList | Out-File $ReportFileName }
winlog.event_data.param2:
DetailSequence=1 DetailTotal=2 SequenceNumber=244886 UserId=FERRUMFOX\maslov-o HostName=ConsoleHost HostVersion=5.1.19041.4291 HostId=caab5788-d9f9-4f40-956d-226e78d129dc HostApplication=powershell -ep bypass EngineVersion=5.1.19041.4291 RunspaceId=9ee7a641-1d35-49fa-af70-6bfa6a8bad42 PipelineId=74 ScriptName= CommandLine= "XML" { Write-XmlReport -AllResults $ResultArrayList | Out-File $ReportFileName }
winlog.opcode:
Info
winlog.event_id:
800
winlog.task:
Pipeline Execution Details
winlog.provider_name:
PowerShell
log.level:
information
host.name:
maslov-o-pc.ferrumfox.corp
host.id:
47d68211-05ac-417f-b800-36a9b19f714b
host.hostname:
maslov-o-pc
host.architecture:
x86_64
host.ip:
10.181.21.46
host.os.name:
Windows 10 Pro
host.os.platform:
windows
host.os.version:
10.0
host.os.kernel:
10.0.19041.4291 (WinBuild.160101.0800)
host.os.build:
19045.4291
host.os.family:
windows
host.mac:
fa:16:3e:8a:ea:03
@version:
1
event.provider:
PowerShell
event.action:
Pipeline Execution Details
event.kind:
event
event.created:
Apr 17, 2024 @ 12:55:46.382
event.code:
800
_id:
YZIg7I4BjcmPCGzWrQjV
_type:
_doc
_index:
cyberpolygon-ferrumfox-win
_score:
-
Expanded document
View surrounding documents
View single document
@timestamp
Apr 17, 2024 @ 12:55:43.153
@version
1
_id
YZIg7I4BjcmPCGzWrQjV
_index
cyberpolygon-ferrumfox-win
_score
-
_type
_doc
event.action
Pipeline Execution Details
event.code
800
event.created
Apr 17, 2024 @ 12:55:46.382
event.kind
event
event.original
Pipeline execution details for command line: "XML" { Write-XmlReport -AllResults $ResultArrayList | Out-File $ReportFileName }
.
Context Information:
DetailSequence=1
DetailTotal=2
SequenceNumber=244886
UserId=FERRUMFOX\maslov-o
HostName=ConsoleHost
HostVersion=5.1.19041.4291
HostId=caab5788-d9f9-4f40-956d-226e78d129dc
HostApplication=powershell -ep bypass
EngineVersion=5.1.19041.4291
RunspaceId=9ee7a641-1d35-49fa-af70-6bfa6a8bad42
PipelineId=74
ScriptName=
CommandLine= "XML" { Write-XmlReport -AllResults $ResultArrayList | Out-File $ReportFileName }
Details:
CommandInvocation(Write-XmlReport): "Write-XmlReport"
CommandInvocation(Out-File): "Out-File"
ParameterBinding(Out-File): name="FilePath"; value="PrivescCheck_MASLOV-O-PC.xml"
event.provider
PowerShell
host.architecture
x86_64
host.hostname
maslov-o-pc
host.id
47d68211-05ac-417f-b800-36a9b19f714b
host.ip
10.181.21.46
host.mac
fa:16:3e:8a:ea:03
host.name
maslov-o-pc.ferrumfox.corp
host.os.build
19045.4291
host.os.family
windows
host.os.kernel
10.0.19041.4291 (WinBuild.160101.0800)
host.os.name
Windows 10 Pro
host.os.platform
windows
host.os.version
10.0
log.level
information
type
wineventlog
winlog.api
wineventlog
winlog.channel
Windows PowerShell
winlog.computer_name
maslov-o-pc.ferrumfox.corp
winlog.event_data.param1
"XML" { Write-XmlReport -AllResults $ResultArrayList | Out-File $ReportFileName }
winlog.event_data.param2
DetailSequence=1
DetailTotal=2
SequenceNumber=244886
UserId=FERRUMFOX\maslov-o
HostName=ConsoleHost
HostVersion=5.1.19041.4291
HostId=caab5788-d9f9-4f40-956d-226e78d129dc
HostApplication=powershell -ep bypass
EngineVersion=5.1.19041.4291
RunspaceId=9ee7a641-1d35-49fa-af70-6bfa6a8bad42
PipelineId=74
ScriptName=
CommandLine= "XML" { Write-XmlReport -AllResults $ResultArrayList | Out-File $ReportFileName }
winlog.event_data.param3
CommandInvocation(Write-XmlReport): "Write-XmlReport"
CommandInvocation(Out-File): "Out-File"
ParameterBinding(Out-File): name="FilePath"; value="PrivescCheck_MASLOV-O-PC.xml"
winlog.event_id
800
winlog.keywords
Classic
winlog.opcode
Info
winlog.provider_name
PowerShell
winlog.record_id
123,463
winlog.task
Pipeline Execution Details
Apr 17, 2024 @ 12:55:43.081
winlog.event_data.param3:
CommandInvocation(Write-HtmlReport): "Write-HtmlReport" CommandInvocation(Out-File): "Out-File" ParameterBinding(Out-File): name="FilePath"; value="PrivescCheck_MASLOV-O-PC.html"
event.original:
Pipeline execution details for command line: "HTML" { Write-HtmlReport -AllResults $ResultArrayList | Out-File $ReportFileName } . Context Information: DetailSequence=1 DetailTotal=2 SequenceNumber=244882 UserId=FERRUMFOX\maslov-o HostName=ConsoleHost HostVersion=5.1.19041.4291 HostId=caab5788-d9f9-4f40-956d-226e78d129dc HostApplication=powershell -ep bypass EngineVersion=5.1.19041.4291 RunspaceId=9ee7a641-1d35-49fa-af70-6bfa6a8bad42 PipelineId=74 ScriptName= CommandLine= "HTML" { Write-HtmlReport -AllResults $ResultArrayList | Out-File $ReportFileName } Details: CommandInvocation(Write-HtmlReport): "Write-HtmlReport" CommandInvocation(Out-File): "Out-File" ParameterBinding(Out-File): name="FilePath"; value="PrivescCheck_MASLOV-O-PC.html"
type:
wineventlog
@timestamp:
Apr 17, 2024 @ 12:55:43.081
winlog.keywords:
Classic
winlog.channel:
Windows PowerShell
winlog.record_id:
123,436
winlog.api:
wineventlog
winlog.opcode:
Info
winlog.computer_name:
maslov-o-pc.ferrumfox.corp
winlog.event_data.param1:
"HTML" { Write-HtmlReport -AllResults $ResultArrayList | Out-File $ReportFileName }
winlog.event_data.param2:
DetailSequence=1 DetailTotal=2 SequenceNumber=244882 UserId=FERRUMFOX\maslov-o HostName=ConsoleHost HostVersion=5.1.19041.4291 HostId=caab5788-d9f9-4f40-956d-226e78d129dc HostApplication=powershell -ep bypass EngineVersion=5.1.19041.4291 RunspaceId=9ee7a641-1d35-49fa-af70-6bfa6a8bad42 PipelineId=74 ScriptName= CommandLine= "HTML" { Write-HtmlReport -AllResults $ResultArrayList | Out-File $ReportFileName }
winlog.task:
Pipeline Execution Details
winlog.event_id:
800
winlog.provider_name:
PowerShell
log.level:
information
host.id:
47d68211-05ac-417f-b800-36a9b19f714b
host.name:
maslov-o-pc.ferrumfox.corp
host.hostname:
maslov-o-pc
host.architecture:
x86_64
host.ip:
10.181.21.46
host.os.name:
Windows 10 Pro
host.os.platform:
windows
host.os.version:
10.0
host.os.kernel:
10.0.19041.4291 (WinBuild.160101.0800)
host.os.build:
19045.4291
host.os.family:
windows
host.mac:
fa:16:3e:8a:ea:03
@version:
1
event.provider:
PowerShell
event.action:
Pipeline Execution Details
event.kind:
event
event.created:
Apr 17, 2024 @ 12:55:46.268
event.code:
800
_id:
4pIg7I4BjcmPCGzWrQfT
_type:
_doc
_index:
cyberpolygon-ferrumfox-win
_score:
-
Expanded document
View surrounding documents
View single document
@timestamp
Apr 17, 2024 @ 12:55:43.081
@version
1
_id
4pIg7I4BjcmPCGzWrQfT
_index
cyberpolygon-ferrumfox-win
_score
-
_type
_doc
event.action
Pipeline Execution Details
event.code
800
event.created
Apr 17, 2024 @ 12:55:46.268
event.kind
event
event.original
Pipeline execution details for command line: "HTML" { Write-HtmlReport -AllResults $ResultArrayList | Out-File $ReportFileName }
.
Context Information:
DetailSequence=1
DetailTotal=2
SequenceNumber=244882
UserId=FERRUMFOX\maslov-o
HostName=ConsoleHost
HostVersion=5.1.19041.4291
HostId=caab5788-d9f9-4f40-956d-226e78d129dc
HostApplication=powershell -ep bypass
EngineVersion=5.1.19041.4291
RunspaceId=9ee7a641-1d35-49fa-af70-6bfa6a8bad42
PipelineId=74
ScriptName=
CommandLine= "HTML" { Write-HtmlReport -AllResults $ResultArrayList | Out-File $ReportFileName }
Details:
CommandInvocation(Write-HtmlReport): "Write-HtmlReport"
CommandInvocation(Out-File): "Out-File"
ParameterBinding(Out-File): name="FilePath"; value="PrivescCheck_MASLOV-O-PC.html"
event.provider
PowerShell
host.architecture
x86_64
host.hostname
maslov-o-pc
host.id
47d68211-05ac-417f-b800-36a9b19f714b
host.ip
10.181.21.46
host.mac
fa:16:3e:8a:ea:03
host.name
maslov-o-pc.ferrumfox.corp
host.os.build
19045.4291
host.os.family
windows
host.os.kernel
10.0.19041.4291 (WinBuild.160101.0800)
host.os.name
Windows 10 Pro
host.os.platform
windows
host.os.version
10.0
log.level
information
type
wineventlog
winlog.api
wineventlog
winlog.channel
Windows PowerShell
winlog.computer_name
maslov-o-pc.ferrumfox.corp
winlog.event_data.param1
"HTML" { Write-HtmlReport -AllResults $ResultArrayList | Out-File $ReportFileName }
winlog.event_data.param2
DetailSequence=1
DetailTotal=2
SequenceNumber=244882
UserId=FERRUMFOX\maslov-o
HostName=ConsoleHost
HostVersion=5.1.19041.4291
HostId=caab5788-d9f9-4f40-956d-226e78d129dc
HostApplication=powershell -ep bypass
EngineVersion=5.1.19041.4291
RunspaceId=9ee7a641-1d35-49fa-af70-6bfa6a8bad42
PipelineId=74
ScriptName=
CommandLine= "HTML" { Write-HtmlReport -AllResults $ResultArrayList | Out-File $ReportFileName }
winlog.event_data.param3
CommandInvocation(Write-HtmlReport): "Write-HtmlReport"
CommandInvocation(Out-File): "Out-File"
ParameterBinding(Out-File): name="FilePath"; value="PrivescCheck_MASLOV-O-PC.html"
winlog.event_id
800
winlog.keywords
Classic
winlog.opcode
Info
winlog.provider_name
PowerShell
winlog.record_id
123,436
winlog.task
Pipeline Execution Details
Apr 17, 2024 @ 12:55:43.037
winlog.event_data.param3:
CommandInvocation(Write-CsvReport): "Write-CsvReport" CommandInvocation(Out-File): "Out-File" ParameterBinding(Out-File): name="FilePath"; value="PrivescCheck_MASLOV-O-PC.csv" ParameterBinding(Out-File): name="InputObject"; value=""Id","Category","DisplayName","Description","Severity","ResultRawString"" ParameterBinding(Out-File): name="InputObject"; value=""NET_WLAN","TA0001 - Initial Access","Wi-Fi profiles","Get information about saved Wi-Fi profiles. Clear-text pre-shared keys (PSK) are displayed when possible, and potentially vulnerable 802.1x profiles are listed.","None",""" ParameterBinding(Out-File): name="InputObject"; value=""NET_AIRSTRIKE","TA0001 - Initial Access","Network selection from lock screen","Check whether the 'Do not display network selection UI' policy is enabled on workstations (CVE-2021-28316 - Airstrike attack).","Low"," Key : HKLM\SOFTWARE\Policies\Microsoft\Windows\System Value : DontDisplayNetworkSelectionUI Data : (null) Description : The network selection UI is displayed on the logon screen (default). "" ParameterBinding(Out-File): name="InputObject"; value=""HARDEN_FILE_EXTENSION_ASSOC","TA0001 - Initial Access","File extension associations","Check whether file extensions such as '.bat' or '.wsh' are associated to a text editor. Note that only basic text editors such as 'Notepad' are detected. If a rich text editor is set instead, this check could yield false positives.","Low"," Extension Command --------- ------- .application ""C:\Windows\System32\rundll32.exe"" ""C:\Windows\System32\dfshim.dll"",ShOpenVerbApplication %1 .appref-ms ""C:\Windows\System32\rundll32.exe"" ""C:\Windows\System32\dfshim.dll"",ShOpenVerbShortcut %1|%2 .bat ""%1"" %* .chm ""C:\Windows\hh.exe"" %1 .cmd ""%1"" %* .com ""%1"" %* .cpl C:\Windows\System32\control.exe ""%1"",%* .diagcab C:\Windows\system32\msdt.exe /cab ""%1"" .hta C:\Windows\SysWOW64\mshta.exe ""%1"" {1E460BD7-F1C3-4B2E-88BF-4E770A288AF5}%U{1E460BD7-F1C3-4B2E-8... .hlp C:\Windows\winhlp32.exe %1 .htm ""C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"" --single-argument %1 .html ""C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"" --single-argument %1 .js C:\Windows\System32\WScript.exe ""%1"" %* .JSE C:\Windows\System32\WScript.exe ""%1"" %* .library-ms C:\Windows\Explorer.exe .mht ""C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"" --single-argument %1 .mhtml ""C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"" --single-argument %1 .msc C:\Windows\system32\mmc.exe ""%1"" %* .msrcincident ""C:\Windows\system32\msra.exe"" -openfile ""%1"" .pif ""%1"" %* .ppkg ""C:\Windows\System32\provtool.exe"" ""%1"" /source ShellOpen .psc1 ""C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe"" -p ""%1"" .reg regedit.exe ""%1"" .scf C:\Windows\explorer.exe .scr ""%1"" /S .searchConnector-ms C:\Windows\Explorer.exe .search-ms C:\Windows\Explorer.exe .theme C:\Windows\system32\rundll32.exe C:\Windows\system32\themecpl.dll,OpenThemeAction %1 .themepack C:\Windows\system32\rundll32.exe C:\Windows\system32\themecpl.dll,OpenThemeAction %1 .URL ""C:\Windows\System32\rundll32.exe"" ""C:\Windows\System32\ieframe.dll"",OpenURL %l .VBE ""C:\Windows\System32\WScript.exe"" ""%1"" %* .vbs ""C:\Windows\System32\WScript.exe"" ""%1"" %* .WSF ""C:\Windows\System32\WScript.exe"" ""%1"" %* .WSH ""C:\Windows\System32\WScript.exe"" ""%1"" %* "" ParameterBinding(Out-File): name="InputObject"; value=""HARDEN_BITLOCKER","TA0001 - Initial Access","BitLocker configuration","Check whether BitLocker is enabled on the system drive and requires a second factor of authentication (PIN or startup key). Note that this check might yield a false positive if a third-party drive encryption software is installed.","High"," MachineRole : Workstation Description : BitLocker is not enabled. "" ParameterBinding(Out-File): name="InputObject"; value=""HARDEN_BIOS_MODE","TA0003 - Persistence","UEFI & Secure Boot","Check whether UEFI and Secure Boot are supported and enabled. Note that Secure Boot requires UEFI.","None"," Name Vulnerable Description ---- ---------- ----------- UEFI False BIOS mode is UEFI. Secure Boot False "" ParameterBinding(Out-File): name="InputObject"; value=""MISC_STARTUP_LAST","TA0004 - Privilege Escalation","Last system startup time","Get information about the last startup date and time based on the machine's tick count. Note that the result might not be completely reliable.","None"," Time ---- 2024-04-16 - 12:37:58 "" ParameterBinding(Out-File): name="InputObject"; value=""NET_UDP_ENDPOINTS","TA0004 - Privilege Escalation","UDP endpoint servers","Get information about all the UDP ports that are in a LISTEN state. Note that the associated process is also listed. DNS is filtered out to minimize the output.","None"," IP Proto LocalAddress State PID Name -- ----- ------------ ----- --- ---- IPv4 UDP 0.0.0.0:123 N/A 1112 svchost IPv4 UDP 0.0.0.0:500 N/A 2948 svchost IPv4 UDP 0.0.0.0:3389 N/A 688 svchost IPv4 UDP 0.0.0.0:4500 N/A 2948 svchost IPv4 UDP 0.0.0.0:5050 N/A 6028 svchost IPv4 UDP 0.0.0.0:5353 N/A 1296 svchost IPv4 UDP 0.0.0.0:5353 N/A 3880 chrome IPv4 UDP 0.0.0.0:5355 N/A 1296 svchost IPv4 UDP 0.0.0.0:58558 N/A 9256 chrome IPv4 UDP 10.181.21.46:137 N/A 4 System IPv4 UDP 10.181.21.46:138 N/A 4 System IPv4 UDP 10.181.21.46:1900 N/A 976 svchost IPv4 UDP 10.181.21.46:63426 N/A 976 svchost IPv4 UDP 127.0.0.1:1900 N/A 976 svchost IPv4 UDP 127.0.0.1:61940 N/A 652 lsass IPv4 UDP 127.0.0.1:63427 N/A 976 svchost IPv4 UDP 127.0.0.1:65492 N/A 1460 svchost IPv4 UDP 127.0.0.1:65494 N/A 2092 svchost IPv6 UDP [::]:123 N/A 1112 svchost IPv6 UDP [::]:500 N/A 2948 svchost IPv6 UDP [::]:3389 N/A 688 svchost IPv6 UDP [::]:4500 N/A 2948 svchost IPv6 UDP [::1]:1900 N/A 976 svchost IPv6 UDP [::1]:63425 N/A 976 svchost "" ParameterBinding(Out-File): name="InputObject"; value=""NET_TCP_ENDPOINTS","TA0004 - Privilege Escalation","TCP endpoint servers","Get information about all the TCP ports that are in a LISTEN state. Note that the associated process is also listed.","None"," IP Proto LocalAddress State PID Name -- ----- ------------ ----- --- ---- IPv4 TCP 0.0.0.0:135 LISTENING 816 svchost IPv4 TCP 0.0.0.0:445 LISTENING 4 System IPv4 TCP 0.0.0.0:3389 LISTENING 688 svchost IPv4 TCP 0.0.0.0:5040 LISTENING 6028 svchost IPv4 TCP 0.0.0.0:7680 LISTENING 1040 svchost IPv4 TCP 0.0.0.0:49664 LISTENING 652 lsass IPv4 TCP 0.0.0.0:49665 LISTENING 504 wininit IPv4 TCP 0.0.0.0:49666 LISTENING 1372 svchost IPv4 TCP 0.0.0.0:49667 LISTENING 1348 svchost IPv4 TCP 0.0.0.0:49670 LISTENING 2248 svchost IPv4 TCP 0.0.0.0:49671 LISTENING 2800 spoolsv IPv4 TCP 0.0.0.0:49672 LISTENING 652 lsass IPv4 TCP 0.0.0.0:49692 LISTENING 644 services IPv4 TCP 10.181.21.46:139 LISTENING 4 System IPv6 TCP [::]:135 LISTENING 816 svchost IPv6 TCP [::]:445 LISTENING 4 System IPv6 TCP [::]:3389 LISTENING 688 svchost IPv6 TCP [::]:7680 LISTENING 1040 svchost IPv6 TCP [::]:49664 LISTENING 652 lsass IPv6 TCP [::]:49665 LISTENING 504 wininit IPv6 TCP [::]:49666 LISTENING 1372 svchost IPv6 TCP [::]:49667 LISTENING 1348 svchost IPv6 TCP [::]:49670 LISTENING 2248 svchost IPv6 TCP [::]:49671 LISTENING 2800 spoolsv IPv6 TCP [::]:49672 LISTENING 652 lsass IPv6 TCP [::]:49692 LISTENING 644 services "" ParameterBinding(Out-File): name="InputObject"; value=""USER_PRIVILEGES","TA0004 - Privilege Escalation","User privileges","Check whether the current user has privileges (e.g., SeImpersonatePrivilege) that can be leveraged for privilege escalation to SYSTEM.","None"," Name State Description Exploitable ---- ----- ----------- ----------- SeShutdownPrivilege Disabled Shut down the system False SeChangeNotifyPrivilege Enabled Bypass traverse checking False SeUndockPrivilege Disabled Remove computer from docking station False SeIncreaseWorkingSetPrivilege Disabled Increase a process working set False SeTimeZonePrivilege Disabled Change the time zone False "" ParameterBinding(Out-File): name="InputObject"; value=""UPDATE_HOTFIX","TA0004 - Privilege Escalation","Latest updates installed","Check whether a Windows security update was installed within the last 31 days.","None",""" ParameterBinding(Out-File): name="InputObject"; value=""UPDATE_HOTFIX_INFO","TA0004 - Privilege Escalation","Windows Update history","Get information about Windows Update history. Update packages are sorted by date in descending order, so that most recent ones are shown first. Note that the script might fail to retrieve install dates when run with PowerShell version 2.","None"," HotFixID Description InstalledBy InstalledOn -------- ----------- ----------- ----------- KB5036892 Security Update NT AUTHORITY\SYSTEM 4/13/2024 12:00:00 AM KB5036618 Update NT AUTHORITY\SYSTEM 4/13/2024 12:00:00 AM KB5033052 Update NT AUTHORITY\SYSTEM 4/13/2024 12:00:00 AM KB5015684 Update NT AUTHORITY\SYSTEM 4/13/2024 12:00:00 AM KB5011048 Update NT AUTHORITY\SYSTEM 4/13/2024 12:00:00 AM KB5037018 Security Update NT AUTHORITY\SYSTEM 4/12/2024 12:00:00 AM KB5027122 Update NT AUTHORITY\SYSTEM 4/12/2024 12:00:00 AM KB5011352 Security Update 4/3/2022 12:00:00 AM KB5003791 Update 4/3/2022 12:00:00 AM "" ParameterBinding(Out-File): name="InputObject"; value=""UPDATE_HISTORY","TA0004 - Privilege Escalation","Last Windows Update date","Get information about the latest Windows update. Note that this check might be unreliable.","None"," Time TimeRaw ---- ------- 2024-04-17 - 12:48:36 4/17/2024 12:48:36 PM "" ParameterBinding(Out-File): name="InputObject"; value=""MISC_HIJACKABLE_DLL","TA0004 - Privilege Escalation","Known ghost DLLs","Get information about services that are known to be prone to ghost DLL hijacking. Note that their exploitation requires the current user to have write permissions on at least one system-wide PATH folder.","None"," Name : cdpsgshims.dll Description : Loaded by the Connected Devices Platform Service (CDPSvc) upon startup. RunAs : NT AUTHORITY\LocalService RebootRequired : True Link : https://nafiez.github.io/security/eop/2019/11/05/windows-service-host-process-eop.html Name : WptsExtensions.dll Description : Loaded by the Task Scheduler service (Schedule) upon startup. RunAs : LocalSystem RebootRequired : True Link : http://remoteawesomethoughts.blogspot.com/2019/05/windows-10-task-schedulerservice.html Name : SprintCSP.dll Description : Loaded by the Storage Service (StorSvc) when the RPC procedure 'SvcRebootToFlashingMode' is invoked. RunAs : LocalSystem RebootRequired : False Link : https://github.com/blackarrowsec/redteam-research/tree/master/LPE%20via%20StorSvc "" ParameterBinding(Out-File): name="InputObject"; value=""CONFIG_PATH_FOLDERS","TA0004 - Privilege Escalation","PATH folder permissions","Check whether the current user has any write permissions on the system-wide PATH folders. If so, the system could be vulnerable to privilege escalation through ghost DLL hijacking.","None",""" ParameterBinding(Out-File): name="InputObject"; value=""SCHTASKS_IMAGE_PERMISSIONS","TA0004 - Privilege Escalation","Scheduled task binary permissions","Check whether the current user has any write permissions on a scheduled task's binary or its folder. Note that low-privileged users cannot list all the scheduled tasks.","None",""" ParameterBinding(Out-File): name="InputObject"; value=""CONFIG_MSI","TA0004 - Privilege Escalation","AlwaysInstallElevated","Check whether the 'AlwaysInstallElevated' policy is enabled system-wide and for the current user. If so, the current user may install a Windows Installer package with elevated (SYSTEM) privileges.","None"," LocalMachineKey : HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer LocalMachineValue : AlwaysInstallElevated LocalMachineData : (null) Description : AlwaysInstallElevated is not enabled in HKLM. ""
event.original:
Pipeline execution details for command line: "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName } . Context Information: DetailSequence=1 DetailTotal=7 SequenceNumber=244878 UserId=FERRUMFOX\maslov-o HostName=ConsoleHost HostVersion=5.1.19041.4291 HostId=caab5788-d9f9-4f40-956d-226e78d129dc HostApplication=powershell -ep bypass EngineVersion=5.1.19041.4291 RunspaceId=9ee7a641-1d35-49fa-af70-6bfa6a8bad42 PipelineId=74 ScriptName= CommandLine= "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName } Details: CommandInvocation(Write-CsvReport): "Write-CsvReport" CommandInvocation(Out-File): "Out-File" ParameterBinding(Out-File): name="FilePath"; value="PrivescCheck_MASLOV-O-PC.csv" ParameterBinding(Out-File): name="InputObject"; value=""Id","Category","DisplayName","Description","Severity","ResultRawString"" ParameterBinding(Out-File): name="InputObject"; value=""NET_WLAN","TA0001 - Initial Access","Wi-Fi profiles","Get information about saved Wi-Fi profiles. Clear-text pre-shared keys (PSK) are displayed when possible, and potentially vulnerable 802.1x profiles are listed.","None",""" ParameterBinding(Out-File): name="InputObject"; value=""NET_AIRSTRIKE","TA0001 - Initial Access","Network selection from lock screen","Check whether the 'Do not display network selection UI' policy is enabled on workstations (CVE-2021-28316 - Airstrike attack).","Low"," Key : HKLM\SOFTWARE\Policies\Microsoft\Windows\System Value : DontDisplayNetworkSelectionUI Data : (null) Description : The network selection UI is displayed on the logon screen (default). "" ParameterBinding(Out-File): name="InputObject"; value=""HARDEN_FILE_EXTENSION_ASSOC","TA0001 - Initial Access","File extension associations","Check whether file extensions such as '.bat' or '.wsh' are associated to a text editor. Note that only basic text editors such as 'Notepad' are detected. If a rich text editor is set instead, this check could yield false positives.","Low"," Extension Command --------- ------- .application ""C:\Windows\System32\rundll32.exe"" ""C:\Windows\System32\dfshim.dll"",ShOpenVerbApplication "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName } .appref-ms ""C:\Windows\System32\rundll32.exe"" ""C:\Windows\System32\dfshim.dll"",ShOpenVerbShortcut "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName } | DetailSequence=1 DetailTotal=7 SequenceNumber=244878 UserId=FERRUMFOX\maslov-o HostName=ConsoleHost HostVersion=5.1.19041.4291 HostId=caab5788-d9f9-4f40-956d-226e78d129dc HostApplication=powershell -ep bypass EngineVersion=5.1.19041.4291 RunspaceId=9ee7a641-1d35-49fa-af70-6bfa6a8bad42 PipelineId=74 ScriptName= CommandLine= "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName } .bat "" "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName } "" %* .chm ""C:\Windows\hh.exe"" "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName } .cmd "" "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName } "" %* .com "" "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName } "" %* .cpl C:\Windows\System32\control.exe "" "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName } "",%* .diagcab C:\Windows\system32\msdt.exe /cab "" "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName } "" .hta C:\Windows\SysWOW64\mshta.exe "" "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName } "" {1E460BD7-F1C3-4B2E-88BF-4E770A288AF5}%U{1E460BD7-F1C3-4B2E-8... .hlp C:\Windows\winhlp32.exe "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName } .htm ""C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"" --single-argument "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName } .html ""C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"" --single-argument "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName } .js C:\Windows\System32\WScript.exe "" "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName } "" %* .JSE C:\Windows\System32\WScript.exe "" "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName } "" %* .library-ms C:\Windows\Explorer.exe .mht ""C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"" --single-argument "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName } .mhtml ""C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"" --single-argument "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName } .msc C:\Windows\system32\mmc.exe "" "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName } "" %* .msrcincident ""C:\Windows\system32\msra.exe"" -openfile "" "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName } "" .pif "" "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName } "" %* .ppkg ""C:\Windows\System32\provtool.exe"" "" "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName } "" /source ShellOpen .psc1 ""C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe"" -p "" "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName } "" .reg regedit.exe "" "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName } "" .scf C:\Windows\explorer.exe .scr "" "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName } "" /S .searchConnector-ms C:\Windows\Explorer.exe .search-ms C:\Windows\Explorer.exe .theme C:\Windows\system32\rundll32.exe C:\Windows\system32\themecpl.dll,OpenThemeAction "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName } .themepack C:\Windows\system32\rundll32.exe C:\Windows\system32\themecpl.dll,OpenThemeAction "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName } .URL ""C:\Windows\System32\rundll32.exe"" ""C:\Windows\System32\ieframe.dll"",OpenURL %l .VBE ""C:\Windows\System32\WScript.exe"" "" "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName } "" %* .vbs ""C:\Windows\System32\WScript.exe"" "" "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName } "" %* .WSF ""C:\Windows\System32\WScript.exe"" "" "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName } "" %* .WSH ""C:\Windows\System32\WScript.exe"" "" "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName } "" %* "" ParameterBinding(Out-File): name="InputObject"; value=""HARDEN_BITLOCKER","TA0001 - Initial Access","BitLocker configuration","Check whether BitLocker is enabled on the system drive and requires a second factor of authentication (PIN or startup key). Note that this check might yield a false positive if a third-party drive encryption software is installed.","High"," MachineRole : Workstation Description : BitLocker is not enabled. "" ParameterBinding(Out-File): name="InputObject"; value=""HARDEN_BIOS_MODE","TA0003 - Persistence","UEFI & Secure Boot","Check whether UEFI and Secure Boot are supported and enabled. Note that Secure Boot requires UEFI.","None"," Name Vulnerable Description ---- ---------- ----------- UEFI False BIOS mode is UEFI. Secure Boot False "" ParameterBinding(Out-File): name="InputObject"; value=""MISC_STARTUP_LAST","TA0004 - Privilege Escalation","Last system startup time","Get information about the last startup date and time based on the machine's tick count. Note that the result might not be completely reliable.","None"," Time ---- 2024-04-16 - 12:37:58 "" ParameterBinding(Out-File): name="InputObject"; value=""NET_UDP_ENDPOINTS","TA0004 - Privilege Escalation","UDP endpoint servers","Get information about all the UDP ports that are in a LISTEN state. Note that the associated process is also listed. DNS is filtered out to minimize the output.","None"," IP Proto LocalAddress State PID Name -- ----- ------------ ----- --- ---- IPv4 UDP 0.0.0.0:123 N/A 1112 svchost IPv4 UDP 0.0.0.0:500 N/A 2948 svchost IPv4 UDP 0.0.0.0:3389 N/A 688 svchost IPv4 UDP 0.0.0.0:4500 N/A 2948 svchost IPv4 UDP 0.0.0.0:5050 N/A 6028 svchost IPv4 UDP 0.0.0.0:5353 N/A 1296 svchost IPv4 UDP 0.0.0.0:5353 N/A 3880 chrome IPv4 UDP 0.0.0.0:5355 N/A 1296 svchost IPv4 UDP 0.0.0.0:58558 N/A 9256 chrome IPv4 UDP 10.181.21.46:137 N/A 4 System IPv4 UDP 10.181.21.46:138 N/A 4 System IPv4 UDP 10.181.21.46:1900 N/A 976 svchost IPv4 UDP 10.181.21.46:63426 N/A 976 svchost IPv4 UDP 127.0.0.1:1900 N/A 976 svchost IPv4 UDP 127.0.0.1:61940 N/A 652 lsass IPv4 UDP 127.0.0.1:63427 N/A 976 svchost IPv4 UDP 127.0.0.1:65492 N/A 1460 svchost IPv4 UDP 127.0.0.1:65494 N/A 2092 svchost IPv6 UDP [::]:123 N/A 1112 svchost IPv6 UDP [::]:500 N/A 2948 svchost IPv6 UDP [::]:3389 N/A 688 svchost IPv6 UDP [::]:4500 N/A 2948 svchost IPv6 UDP [::1]:1900 N/A 976 svchost IPv6 UDP [::1]:63425 N/A 976 svchost "" ParameterBinding(Out-File): name="InputObject"; value=""NET_TCP_ENDPOINTS","TA0004 - Privilege Escalation","TCP endpoint servers","Get information about all the TCP ports that are in a LISTEN state. Note that the associated process is also listed.","None"," IP Proto LocalAddress State PID Name -- ----- ------------ ----- --- ---- IPv4 TCP 0.0.0.0:135 LISTENING 816 svchost IPv4 TCP 0.0.0.0:445 LISTENING 4 System IPv4 TCP 0.0.0.0:3389 LISTENING 688 svchost IPv4 TCP 0.0.0.0:5040 LISTENING 6028 svchost IPv4 TCP 0.0.0.0:7680 LISTENING 1040 svchost IPv4 TCP 0.0.0.0:49664 LISTENING 652 lsass IPv4 TCP 0.0.0.0:49665 LISTENING 504 wininit IPv4 TCP 0.0.0.0:49666 LISTENING 1372 svchost IPv4 TCP 0.0.0.0:49667 LISTENING 1348 svchost IPv4 TCP 0.0.0.0:49670 LISTENING 2248 svchost IPv4 TCP 0.0.0.0:49671 LISTENING 2800 spoolsv IPv4 TCP 0.0.0.0:49672 LISTENING 652 lsass IPv4 TCP 0.0.0.0:49692 LISTENING 644 services IPv4 TCP 10.181.21.46:139 LISTENING 4 System IPv6 TCP [::]:135 LISTENING 816 svchost IPv6 TCP [::]:445 LISTENING 4 System IPv6 TCP [::]:3389 LISTENING 688 svchost IPv6 TCP [::]:7680 LISTENING 1040 svchost IPv6 TCP [::]:49664 LISTENING 652 lsass IPv6 TCP [::]:49665 LISTENING 504 wininit IPv6 TCP [::]:49666 LISTENING 1372 svchost IPv6 TCP [::]:49667 LISTENING 1348 svchost IPv6 TCP [::]:49670 LISTENING 2248 svchost IPv6 TCP [::]:49671 LISTENING 2800 spoolsv IPv6 TCP [::]:49672 LISTENING 652 lsass IPv6 TCP [::]:49692 LISTENING 644 services "" ParameterBinding(Out-File): name="InputObject"; value=""USER_PRIVILEGES","TA0004 - Privilege Escalation","User privileges","Check whether the current user has privileges (e.g., SeImpersonatePrivilege) that can be leveraged for privilege escalation to SYSTEM.","None"," Name State Description Exploitable ---- ----- ----------- ----------- SeShutdownPrivilege Disabled Shut down the system False SeChangeNotifyPrivilege Enabled Bypass traverse checking False SeUndockPrivilege Disabled Remove computer from docking station False SeIncreaseWorkingSetPrivilege Disabled Increase a process working set False SeTimeZonePrivilege Disabled Change the time zone False "" ParameterBinding(Out-File): name="InputObject"; value=""UPDATE_HOTFIX","TA0004 - Privilege Escalation","Latest updates installed","Check whether a Windows security update was installed within the last 31 days.","None",""" ParameterBinding(Out-File): name="InputObject"; value=""UPDATE_HOTFIX_INFO","TA0004 - Privilege Escalation","Windows Update history","Get information about Windows Update history. Update packages are sorted by date in descending order, so that most recent ones are shown first. Note that the script might fail to retrieve install dates when run with PowerShell version 2.","None"," HotFixID Description InstalledBy InstalledOn -------- ----------- ----------- ----------- KB5036892 Security Update NT AUTHORITY\SYSTEM 4/13/2024 12:00:00 AM KB5036618 Update NT AUTHORITY\SYSTEM 4/13/2024 12:00:00 AM KB5033052 Update NT AUTHORITY\SYSTEM 4/13/2024 12:00:00 AM KB5015684 Update NT AUTHORITY\SYSTEM 4/13/2024 12:00:00 AM KB5011048 Update NT AUTHORITY\SYSTEM 4/13/2024 12:00:00 AM KB5037018 Security Update NT AUTHORITY\SYSTEM 4/12/2024 12:00:00 AM KB5027122 Update NT AUTHORITY\SYSTEM 4/12/2024 12:00:00 AM KB5011352 Security Update 4/3/2022 12:00:00 AM KB5003791 Update 4/3/2022 12:00:00 AM "" ParameterBinding(Out-File): name="InputObject"; value=""UPDATE_HISTORY","TA0004 - Privilege Escalation","Last Windows Update date","Get information about the latest Windows update. Note that this check might be unreliable.","None"," Time TimeRaw ---- ------- 2024-04-17 - 12:48:36 4/17/2024 12:48:36 PM "" ParameterBinding(Out-File): name="InputObject"; value=""MISC_HIJACKABLE_DLL","TA0004 - Privilege Escalation","Known ghost DLLs","Get information about services that are known to be prone to ghost DLL hijacking. Note that their exploitation requires the current user to have write permissions on at least one system-wide PATH folder.","None"," Name : cdpsgshims.dll Description : Loaded by the Connected Devices Platform Service (CDPSvc) upon startup. RunAs : NT AUTHORITY\LocalService RebootRequired : True Link : https://nafiez.github.io/security/eop/2019/11/05/windows-service-host-process-eop.html Name : WptsExtensions.dll Description : Loaded by the Task Scheduler service (Schedule) upon startup. RunAs : LocalSystem RebootRequired : True Link : http://remoteawesomethoughts.blogspot.com/2019/05/windows-10-task-schedulerservice.html Name : SprintCSP.dll Description : Loaded by the Storage Service (StorSvc) when the RPC procedure 'SvcRebootToFlashingMode' is invoked. RunAs : LocalSystem RebootRequired : False Link : https://github.com/blackarrowsec/redteam-research/tree/master/LPE%20via%20StorSvc "" ParameterBinding(Out-File): name="InputObject"; value=""CONFIG_PATH_FOLDERS","TA0004 - Privilege Escalation","PATH folder permissions","Check whether the current user has any write permissions on the system-wide PATH folders. If so, the system could be vulnerable to privilege escalation through ghost DLL hijacking.","None",""" ParameterBinding(Out-File): name="InputObject"; value=""SCHTASKS_IMAGE_PERMISSIONS","TA0004 - Privilege Escalation","Scheduled task binary permissions","Check whether the current user has any write permissions on a scheduled task's binary or its folder. Note that low-privileged users cannot list all the scheduled tasks.","None",""" ParameterBinding(Out-File): name="InputObject"; value=""CONFIG_MSI","TA0004 - Privilege Escalation","AlwaysInstallElevated","Check whether the 'AlwaysInstallElevated' policy is enabled system-wide and for the current user. If so, the current user may install a Windows Installer package with elevated (SYSTEM) privileges.","None"," LocalMachineKey : HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer LocalMachineValue : AlwaysInstallElevated LocalMachineData : (null) Description : AlwaysInstallElevated is not enabled in HKLM. ""
type:
wineventlog
@timestamp:
Apr 17, 2024 @ 12:55:43.037
winlog.keywords:
Classic
winlog.record_id:
123,414
winlog.api:
wineventlog
winlog.channel:
Windows PowerShell
winlog.event_data.param1:
"CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName }
winlog.event_data.param2:
DetailSequence=1 DetailTotal=7 SequenceNumber=244878 UserId=FERRUMFOX\maslov-o HostName=ConsoleHost HostVersion=5.1.19041.4291 HostId=caab5788-d9f9-4f40-956d-226e78d129dc HostApplication=powershell -ep bypass EngineVersion=5.1.19041.4291 RunspaceId=9ee7a641-1d35-49fa-af70-6bfa6a8bad42 PipelineId=74 ScriptName= CommandLine= "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName }
winlog.opcode:
Info
winlog.computer_name:
maslov-o-pc.ferrumfox.corp
winlog.event_id:
800
winlog.task:
Pipeline Execution Details
winlog.provider_name:
PowerShell
log.level:
information
host.name:
maslov-o-pc.ferrumfox.corp
host.id:
47d68211-05ac-417f-b800-36a9b19f714b
host.hostname:
maslov-o-pc
host.architecture:
x86_64
host.ip:
10.181.21.46
host.os.name:
Windows 10 Pro
host.os.platform:
windows
host.os.version:
10.0
host.os.kernel:
10.0.19041.4291 (WinBuild.160101.0800)
host.os.build:
19045.4291
host.os.family:
windows
host.mac:
fa:16:3e:8a:ea:03
@version:
1
event.provider:
PowerShell
event.action:
Pipeline Execution Details
event.kind:
event
event.created:
Apr 17, 2024 @ 12:55:46.267
event.code:
800
_id:
zJIg7I4BjcmPCGzWrQfT
_type:
_doc
_index:
cyberpolygon-ferrumfox-win
_score:
-
Expanded document
View surrounding documents
View single document
@timestamp
Apr 17, 2024 @ 12:55:43.037
@version
1
_id
zJIg7I4BjcmPCGzWrQfT
_index
cyberpolygon-ferrumfox-win
_score
-
_type
_doc
event.action
Pipeline Execution Details
event.code
800
event.created
Apr 17, 2024 @ 12:55:46.267
event.kind
event
event.original
Pipeline execution details for command line: "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName }
.
Context Information:
DetailSequence=1
DetailTotal=7
SequenceNumber=244878
UserId=FERRUMFOX\maslov-o
HostName=ConsoleHost
HostVersion=5.1.19041.4291
HostId=caab5788-d9f9-4f40-956d-226e78d129dc
HostApplication=powershell -ep bypass
EngineVersion=5.1.19041.4291
RunspaceId=9ee7a641-1d35-49fa-af70-6bfa6a8bad42
PipelineId=74
ScriptName=
CommandLine= "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName }
Details:
CommandInvocation(Write-CsvReport): "Write-CsvReport"
CommandInvocation(Out-File): "Out-File"
ParameterBinding(Out-File): name="FilePath"; value="PrivescCheck_MASLOV-O-PC.csv"
ParameterBinding(Out-File): name="InputObject"; value=""Id","Category","DisplayName","Description","Severity","ResultRawString""
ParameterBinding(Out-File): name="InputObject"; value=""NET_WLAN","TA0001 - Initial Access","Wi-Fi profiles","Get information about saved Wi-Fi profiles. Clear-text pre-shared keys (PSK) are displayed when possible, and potentially vulnerable 802.1x profiles are listed.","None","""
ParameterBinding(Out-File): name="InputObject"; value=""NET_AIRSTRIKE","TA0001 - Initial Access","Network selection from lock screen","Check whether the 'Do not display network selection UI' policy is enabled on workstations (CVE-2021-28316 - Airstrike attack).","Low","
Key : HKLM\SOFTWARE\Policies\Microsoft\Windows\System
Value : DontDisplayNetworkSelectionUI
Data : (null)
Description : The network selection UI is displayed on the logon screen (default).
""
ParameterBinding(Out-File): name="InputObject"; value=""HARDEN_FILE_EXTENSION_ASSOC","TA0001 - Initial Access","File extension associations","Check whether file extensions such as '.bat' or '.wsh' are associated to a text editor. Note that only basic text editors such as 'Notepad' are detected. If a rich text editor is set instead, this check could yield false positives.","Low","
Extension Command
--------- -------
.application ""C:\Windows\System32\rundll32.exe"" ""C:\Windows\System32\dfshim.dll"",ShOpenVerbApplication "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName }
.appref-ms ""C:\Windows\System32\rundll32.exe"" ""C:\Windows\System32\dfshim.dll"",ShOpenVerbShortcut "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName }
| DetailSequence=1
DetailTotal=7
SequenceNumber=244878
UserId=FERRUMFOX\maslov-o
HostName=ConsoleHost
HostVersion=5.1.19041.4291
HostId=caab5788-d9f9-4f40-956d-226e78d129dc
HostApplication=powershell -ep bypass
EngineVersion=5.1.19041.4291
RunspaceId=9ee7a641-1d35-49fa-af70-6bfa6a8bad42
PipelineId=74
ScriptName=
CommandLine= "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName }
.bat "" "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName }
"" %*
.chm ""C:\Windows\hh.exe"" "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName }
.cmd "" "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName }
"" %*
.com "" "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName }
"" %*
.cpl C:\Windows\System32\control.exe "" "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName }
"",%*
.diagcab C:\Windows\system32\msdt.exe /cab "" "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName }
""
.hta C:\Windows\SysWOW64\mshta.exe "" "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName }
"" {1E460BD7-F1C3-4B2E-88BF-4E770A288AF5}%U{1E460BD7-F1C3-4B2E-8...
.hlp C:\Windows\winhlp32.exe "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName }
.htm ""C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"" --single-argument "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName }
.html ""C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"" --single-argument "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName }
.js C:\Windows\System32\WScript.exe "" "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName }
"" %*
.JSE C:\Windows\System32\WScript.exe "" "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName }
"" %*
.library-ms C:\Windows\Explorer.exe
.mht ""C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"" --single-argument "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName }
.mhtml ""C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"" --single-argument "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName }
.msc C:\Windows\system32\mmc.exe "" "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName }
"" %*
.msrcincident ""C:\Windows\system32\msra.exe"" -openfile "" "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName }
""
.pif "" "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName }
"" %*
.ppkg ""C:\Windows\System32\provtool.exe"" "" "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName }
"" /source ShellOpen
.psc1 ""C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe"" -p "" "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName }
""
.reg regedit.exe "" "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName }
""
.scf C:\Windows\explorer.exe
.scr "" "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName }
"" /S
.searchConnector-ms C:\Windows\Explorer.exe
.search-ms C:\Windows\Explorer.exe
.theme C:\Windows\system32\rundll32.exe C:\Windows\system32\themecpl.dll,OpenThemeAction "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName }
.themepack C:\Windows\system32\rundll32.exe C:\Windows\system32\themecpl.dll,OpenThemeAction "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName }
.URL ""C:\Windows\System32\rundll32.exe"" ""C:\Windows\System32\ieframe.dll"",OpenURL %l
.VBE ""C:\Windows\System32\WScript.exe"" "" "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName }
"" %*
.vbs ""C:\Windows\System32\WScript.exe"" "" "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName }
"" %*
.WSF ""C:\Windows\System32\WScript.exe"" "" "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName }
"" %*
.WSH ""C:\Windows\System32\WScript.exe"" "" "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName }
"" %*
""
ParameterBinding(Out-File): name="InputObject"; value=""HARDEN_BITLOCKER","TA0001 - Initial Access","BitLocker configuration","Check whether BitLocker is enabled on the system drive and requires a second factor of authentication (PIN or startup key). Note that this check might yield a false positive if a third-party drive encryption software is installed.","High","
MachineRole : Workstation
Description : BitLocker is not enabled.
""
ParameterBinding(Out-File): name="InputObject"; value=""HARDEN_BIOS_MODE","TA0003 - Persistence","UEFI & Secure Boot","Check whether UEFI and Secure Boot are supported and enabled. Note that Secure Boot requires UEFI.","None","
Name Vulnerable Description
---- ---------- -----------
UEFI False BIOS mode is UEFI.
Secure Boot False
""
ParameterBinding(Out-File): name="InputObject"; value=""MISC_STARTUP_LAST","TA0004 - Privilege Escalation","Last system startup time","Get information about the last startup date and time based on the machine's tick count. Note that the result might not be completely reliable.","None","
Time
----
2024-04-16 - 12:37:58
""
ParameterBinding(Out-File): name="InputObject"; value=""NET_UDP_ENDPOINTS","TA0004 - Privilege Escalation","UDP endpoint servers","Get information about all the UDP ports that are in a LISTEN state. Note that the associated process is also listed. DNS is filtered out to minimize the output.","None","
IP Proto LocalAddress State PID Name
-- ----- ------------ ----- --- ----
IPv4 UDP 0.0.0.0:123 N/A 1112 svchost
IPv4 UDP 0.0.0.0:500 N/A 2948 svchost
IPv4 UDP 0.0.0.0:3389 N/A 688 svchost
IPv4 UDP 0.0.0.0:4500 N/A 2948 svchost
IPv4 UDP 0.0.0.0:5050 N/A 6028 svchost
IPv4 UDP 0.0.0.0:5353 N/A 1296 svchost
IPv4 UDP 0.0.0.0:5353 N/A 3880 chrome
IPv4 UDP 0.0.0.0:5355 N/A 1296 svchost
IPv4 UDP 0.0.0.0:58558 N/A 9256 chrome
IPv4 UDP 10.181.21.46:137 N/A 4 System
IPv4 UDP 10.181.21.46:138 N/A 4 System
IPv4 UDP 10.181.21.46:1900 N/A 976 svchost
IPv4 UDP 10.181.21.46:63426 N/A 976 svchost
IPv4 UDP 127.0.0.1:1900 N/A 976 svchost
IPv4 UDP 127.0.0.1:61940 N/A 652 lsass
IPv4 UDP 127.0.0.1:63427 N/A 976 svchost
IPv4 UDP 127.0.0.1:65492 N/A 1460 svchost
IPv4 UDP 127.0.0.1:65494 N/A 2092 svchost
IPv6 UDP [::]:123 N/A 1112 svchost
IPv6 UDP [::]:500 N/A 2948 svchost
IPv6 UDP [::]:3389 N/A 688 svchost
IPv6 UDP [::]:4500 N/A 2948 svchost
IPv6 UDP [::1]:1900 N/A 976 svchost
IPv6 UDP [::1]:63425 N/A 976 svchost
""
ParameterBinding(Out-File): name="InputObject"; value=""NET_TCP_ENDPOINTS","TA0004 - Privilege Escalation","TCP endpoint servers","Get information about all the TCP ports that are in a LISTEN state. Note that the associated process is also listed.","None","
IP Proto LocalAddress State PID Name
-- ----- ------------ ----- --- ----
IPv4 TCP 0.0.0.0:135 LISTENING 816 svchost
IPv4 TCP 0.0.0.0:445 LISTENING 4 System
IPv4 TCP 0.0.0.0:3389 LISTENING 688 svchost
IPv4 TCP 0.0.0.0:5040 LISTENING 6028 svchost
IPv4 TCP 0.0.0.0:7680 LISTENING 1040 svchost
IPv4 TCP 0.0.0.0:49664 LISTENING 652 lsass
IPv4 TCP 0.0.0.0:49665 LISTENING 504 wininit
IPv4 TCP 0.0.0.0:49666 LISTENING 1372 svchost
IPv4 TCP 0.0.0.0:49667 LISTENING 1348 svchost
IPv4 TCP 0.0.0.0:49670 LISTENING 2248 svchost
IPv4 TCP 0.0.0.0:49671 LISTENING 2800 spoolsv
IPv4 TCP 0.0.0.0:49672 LISTENING 652 lsass
IPv4 TCP 0.0.0.0:49692 LISTENING 644 services
IPv4 TCP 10.181.21.46:139 LISTENING 4 System
IPv6 TCP [::]:135 LISTENING 816 svchost
IPv6 TCP [::]:445 LISTENING 4 System
IPv6 TCP [::]:3389 LISTENING 688 svchost
IPv6 TCP [::]:7680 LISTENING 1040 svchost
IPv6 TCP [::]:49664 LISTENING 652 lsass
IPv6 TCP [::]:49665 LISTENING 504 wininit
IPv6 TCP [::]:49666 LISTENING 1372 svchost
IPv6 TCP [::]:49667 LISTENING 1348 svchost
IPv6 TCP [::]:49670 LISTENING 2248 svchost
IPv6 TCP [::]:49671 LISTENING 2800 spoolsv
IPv6 TCP [::]:49672 LISTENING 652 lsass
IPv6 TCP [::]:49692 LISTENING 644 services
""
ParameterBinding(Out-File): name="InputObject"; value=""USER_PRIVILEGES","TA0004 - Privilege Escalation","User privileges","Check whether the current user has privileges (e.g., SeImpersonatePrivilege) that can be leveraged for privilege escalation to SYSTEM.","None","
Name State Description Exploitable
---- ----- ----------- -----------
SeShutdownPrivilege Disabled Shut down the system False
SeChangeNotifyPrivilege Enabled Bypass traverse checking False
SeUndockPrivilege Disabled Remove computer from docking station False
SeIncreaseWorkingSetPrivilege Disabled Increase a process working set False
SeTimeZonePrivilege Disabled Change the time zone False
""
ParameterBinding(Out-File): name="InputObject"; value=""UPDATE_HOTFIX","TA0004 - Privilege Escalation","Latest updates installed","Check whether a Windows security update was installed within the last 31 days.","None","""
ParameterBinding(Out-File): name="InputObject"; value=""UPDATE_HOTFIX_INFO","TA0004 - Privilege Escalation","Windows Update history","Get information about Windows Update history. Update packages are sorted by date in descending order, so that most recent ones are shown first. Note that the script might fail to retrieve install dates when run with PowerShell version 2.","None","
HotFixID Description InstalledBy InstalledOn
-------- ----------- ----------- -----------
KB5036892 Security Update NT AUTHORITY\SYSTEM 4/13/2024 12:00:00 AM
KB5036618 Update NT AUTHORITY\SYSTEM 4/13/2024 12:00:00 AM
KB5033052 Update NT AUTHORITY\SYSTEM 4/13/2024 12:00:00 AM
KB5015684 Update NT AUTHORITY\SYSTEM 4/13/2024 12:00:00 AM
KB5011048 Update NT AUTHORITY\SYSTEM 4/13/2024 12:00:00 AM
KB5037018 Security Update NT AUTHORITY\SYSTEM 4/12/2024 12:00:00 AM
KB5027122 Update NT AUTHORITY\SYSTEM 4/12/2024 12:00:00 AM
KB5011352 Security Update 4/3/2022 12:00:00 AM
KB5003791 Update 4/3/2022 12:00:00 AM
""
ParameterBinding(Out-File): name="InputObject"; value=""UPDATE_HISTORY","TA0004 - Privilege Escalation","Last Windows Update date","Get information about the latest Windows update. Note that this check might be unreliable.","None","
Time TimeRaw
---- -------
2024-04-17 - 12:48:36 4/17/2024 12:48:36 PM
""
ParameterBinding(Out-File): name="InputObject"; value=""MISC_HIJACKABLE_DLL","TA0004 - Privilege Escalation","Known ghost DLLs","Get information about services that are known to be prone to ghost DLL hijacking. Note that their exploitation requires the current user to have write permissions on at least one system-wide PATH folder.","None","
Name : cdpsgshims.dll
Description : Loaded by the Connected Devices Platform Service (CDPSvc) upon startup.
RunAs : NT AUTHORITY\LocalService
RebootRequired : True
Link : https://nafiez.github.io/security/eop/2019/11/05/windows-service-host-process-eop.html
Name : WptsExtensions.dll
Description : Loaded by the Task Scheduler service (Schedule) upon startup.
RunAs : LocalSystem
RebootRequired : True
Link : http://remoteawesomethoughts.blogspot.com/2019/05/windows-10-task-schedulerservice.html
Name : SprintCSP.dll
Description : Loaded by the Storage Service (StorSvc) when the RPC procedure 'SvcRebootToFlashingMode' is invoked.
RunAs : LocalSystem
RebootRequired : False
Link : https://github.com/blackarrowsec/redteam-research/tree/master/LPE%20via%20StorSvc
""
ParameterBinding(Out-File): name="InputObject"; value=""CONFIG_PATH_FOLDERS","TA0004 - Privilege Escalation","PATH folder permissions","Check whether the current user has any write permissions on the system-wide PATH folders. If so, the system could be vulnerable to privilege escalation through ghost DLL hijacking.","None","""
ParameterBinding(Out-File): name="InputObject"; value=""SCHTASKS_IMAGE_PERMISSIONS","TA0004 - Privilege Escalation","Scheduled task binary permissions","Check whether the current user has any write permissions on a scheduled task's binary or its folder. Note that low-privileged users cannot list all the scheduled tasks.","None","""
ParameterBinding(Out-File): name="InputObject"; value=""CONFIG_MSI","TA0004 - Privilege Escalation","AlwaysInstallElevated","Check whether the 'AlwaysInstallElevated' policy is enabled system-wide and for the current user. If so, the current user may install a Windows Installer package with elevated (SYSTEM) privileges.","None","
LocalMachineKey : HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer
LocalMachineValue : AlwaysInstallElevated
LocalMachineData : (null)
Description : AlwaysInstallElevated is not enabled in HKLM.
""
event.provider
PowerShell
host.architecture
x86_64
host.hostname
maslov-o-pc
host.id
47d68211-05ac-417f-b800-36a9b19f714b
host.ip
10.181.21.46
host.mac
fa:16:3e:8a:ea:03
host.name
maslov-o-pc.ferrumfox.corp
host.os.build
19045.4291
host.os.family
windows
host.os.kernel
10.0.19041.4291 (WinBuild.160101.0800)
host.os.name
Windows 10 Pro
host.os.platform
windows
host.os.version
10.0
log.level
information
type
wineventlog
winlog.api
wineventlog
winlog.channel
Windows PowerShell
winlog.computer_name
maslov-o-pc.ferrumfox.corp
winlog.event_data.param1
"CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName }
winlog.event_data.param2
DetailSequence=1
DetailTotal=7
SequenceNumber=244878
UserId=FERRUMFOX\maslov-o
HostName=ConsoleHost
HostVersion=5.1.19041.4291
HostId=caab5788-d9f9-4f40-956d-226e78d129dc
HostApplication=powershell -ep bypass
EngineVersion=5.1.19041.4291
RunspaceId=9ee7a641-1d35-49fa-af70-6bfa6a8bad42
PipelineId=74
ScriptName=
CommandLine= "CSV" { Write-CsvReport -AllResults $ResultArrayList | Out-File $ReportFileName }
winlog.event_data.param3
CommandInvocation(Write-CsvReport): "Write-CsvReport"
CommandInvocation(Out-File): "Out-File"
ParameterBinding(Out-File): name="FilePath"; value="PrivescCheck_MASLOV-O-PC.csv"
ParameterBinding(Out-File): name="InputObject"; value=""Id","Category","DisplayName","Description","Severity","ResultRawString""
ParameterBinding(Out-File): name="InputObject"; value=""NET_WLAN","TA0001 - Initial Access","Wi-Fi profiles","Get information about saved Wi-Fi profiles. Clear-text pre-shared keys (PSK) are displayed when possible, and potentially vulnerable 802.1x profiles are listed.","None","""
ParameterBinding(Out-File): name="InputObject"; value=""NET_AIRSTRIKE","TA0001 - Initial Access","Network selection from lock screen","Check whether the 'Do not display network selection UI' policy is enabled on workstations (CVE-2021-28316 - Airstrike attack).","Low","
Key : HKLM\SOFTWARE\Policies\Microsoft\Windows\System
Value : DontDisplayNetworkSelectionUI
Data : (null)
Description : The network selection UI is displayed on the logon screen (default).
""
ParameterBinding(Out-File): name="InputObject"; value=""HARDEN_FILE_EXTENSION_ASSOC","TA0001 - Initial Access","File extension associations","Check whether file extensions such as '.bat' or '.wsh' are associated to a text editor. Note that only basic text editors such as 'Notepad' are detected. If a rich text editor is set instead, this check could yield false positives.","Low","
Extension Command
--------- -------
.application ""C:\Windows\System32\rundll32.exe"" ""C:\Windows\System32\dfshim.dll"",ShOpenVerbApplication %1
.appref-ms ""C:\Windows\System32\rundll32.exe"" ""C:\Windows\System32\dfshim.dll"",ShOpenVerbShortcut %1|%2
.bat ""%1"" %*
.chm ""C:\Windows\hh.exe"" %1
.cmd ""%1"" %*
.com ""%1"" %*
.cpl C:\Windows\System32\control.exe ""%1"",%*
.diagcab C:\Windows\system32\msdt.exe /cab ""%1""
.hta C:\Windows\SysWOW64\mshta.exe ""%1"" {1E460BD7-F1C3-4B2E-88BF-4E770A288AF5}%U{1E460BD7-F1C3-4B2E-8...
.hlp C:\Windows\winhlp32.exe %1
.htm ""C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"" --single-argument %1
.html ""C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"" --single-argument %1
.js C:\Windows\System32\WScript.exe ""%1"" %*
.JSE C:\Windows\System32\WScript.exe ""%1"" %*
.library-ms C:\Windows\Explorer.exe
.mht ""C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"" --single-argument %1
.mhtml ""C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"" --single-argument %1
.msc C:\Windows\system32\mmc.exe ""%1"" %*
.msrcincident ""C:\Windows\system32\msra.exe"" -openfile ""%1""
.pif ""%1"" %*
.ppkg ""C:\Windows\System32\provtool.exe"" ""%1"" /source ShellOpen
.psc1 ""C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe"" -p ""%1""
.reg regedit.exe ""%1""
.scf C:\Windows\explorer.exe
.scr ""%1"" /S
.searchConnector-ms C:\Windows\Explorer.exe
.search-ms C:\Windows\Explorer.exe
.theme C:\Windows\system32\rundll32.exe C:\Windows\system32\themecpl.dll,OpenThemeAction %1
.themepack C:\Windows\system32\rundll32.exe C:\Windows\system32\themecpl.dll,OpenThemeAction %1
.URL ""C:\Windows\System32\rundll32.exe"" ""C:\Windows\System32\ieframe.dll"",OpenURL %l
.VBE ""C:\Windows\System32\WScript.exe"" ""%1"" %*
.vbs ""C:\Windows\System32\WScript.exe"" ""%1"" %*
.WSF ""C:\Windows\System32\WScript.exe"" ""%1"" %*
.WSH ""C:\Windows\System32\WScript.exe"" ""%1"" %*
""
ParameterBinding(Out-File): name="InputObject"; value=""HARDEN_BITLOCKER","TA0001 - Initial Access","BitLocker configuration","Check whether BitLocker is enabled on the system drive and requires a second factor of authentication (PIN or startup key). Note that this check might yield a false positive if a third-party drive encryption software is installed.","High","
MachineRole : Workstation
Description : BitLocker is not enabled.
""
ParameterBinding(Out-File): name="InputObject"; value=""HARDEN_BIOS_MODE","TA0003 - Persistence","UEFI & Secure Boot","Check whether UEFI and Secure Boot are supported and enabled. Note that Secure Boot requires UEFI.","None","
Name Vulnerable Description
---- ---------- -----------
UEFI False BIOS mode is UEFI.
Secure Boot False
""
ParameterBinding(Out-File): name="InputObject"; value=""MISC_STARTUP_LAST","TA0004 - Privilege Escalation","Last system startup time","Get information about the last startup date and time based on the machine's tick count. Note that the result might not be completely reliable.","None","
Time
----
2024-04-16 - 12:37:58
""
ParameterBinding(Out-File): name="InputObject"; value=""NET_UDP_ENDPOINTS","TA0004 - Privilege Escalation","UDP endpoint servers","Get information about all the UDP ports that are in a LISTEN state. Note that the associated process is also listed. DNS is filtered out to minimize the output.","None","
IP Proto LocalAddress State PID Name
-- ----- ------------ ----- --- ----
IPv4 UDP 0.0.0.0:123 N/A 1112 svchost
IPv4 UDP 0.0.0.0:500 N/A 2948 svchost
IPv4 UDP 0.0.0.0:3389 N/A 688 svchost
IPv4 UDP 0.0.0.0:4500 N/A 2948 svchost
IPv4 UDP 0.0.0.0:5050 N/A 6028 svchost
IPv4 UDP 0.0.0.0:5353 N/A 1296 svchost
IPv4 UDP 0.0.0.0:5353 N/A 3880 chrome
IPv4 UDP 0.0.0.0:5355 N/A 1296 svchost
IPv4 UDP 0.0.0.0:58558 N/A 9256 chrome
IPv4 UDP 10.181.21.46:137 N/A 4 System
IPv4 UDP 10.181.21.46:138 N/A 4 System
IPv4 UDP 10.181.21.46:1900 N/A 976 svchost
IPv4 UDP 10.181.21.46:63426 N/A 976 svchost
IPv4 UDP 127.0.0.1:1900 N/A 976 svchost
IPv4 UDP 127.0.0.1:61940 N/A 652 lsass
IPv4 UDP 127.0.0.1:63427 N/A 976 svchost
IPv4 UDP 127.0.0.1:65492 N/A 1460 svchost
IPv4 UDP 127.0.0.1:65494 N/A 2092 svchost
IPv6 UDP [::]:123 N/A 1112 svchost
IPv6 UDP [::]:500 N/A 2948 svchost
IPv6 UDP [::]:3389 N/A 688 svchost
IPv6 UDP [::]:4500 N/A 2948 svchost
IPv6 UDP [::1]:1900 N/A 976 svchost
IPv6 UDP [::1]:63425 N/A 976 svchost
""
ParameterBinding(Out-File): name="InputObject"; value=""NET_TCP_ENDPOINTS","TA0004 - Privilege Escalation","TCP endpoint servers","Get information about all the TCP ports that are in a LISTEN state. Note that the associated process is also listed.","None","
IP Proto LocalAddress State PID Name
-- ----- ------------ ----- --- ----
IPv4 TCP 0.0.0.0:135 LISTENING 816 svchost
IPv4 TCP 0.0.0.0:445 LISTENING 4 System
IPv4 TCP 0.0.0.0:3389 LISTENING 688 svchost
IPv4 TCP 0.0.0.0:5040 LISTENING 6028 svchost
IPv4 TCP 0.0.0.0:7680 LISTENING 1040 svchost
IPv4 TCP 0.0.0.0:49664 LISTENING 652 lsass
IPv4 TCP 0.0.0.0:49665 LISTENING 504 wininit
IPv4 TCP 0.0.0.0:49666 LISTENING 1372 svchost
IPv4 TCP 0.0.0.0:49667 LISTENING 1348 svchost
IPv4 TCP 0.0.0.0:49670 LISTENING 2248 svchost
IPv4 TCP 0.0.0.0:49671 LISTENING 2800 spoolsv
IPv4 TCP 0.0.0.0:49672 LISTENING 652 lsass
IPv4 TCP 0.0.0.0:49692 LISTENING 644 services
IPv4 TCP 10.181.21.46:139 LISTENING 4 System
IPv6 TCP [::]:135 LISTENING 816 svchost
IPv6 TCP [::]:445 LISTENING 4 System
IPv6 TCP [::]:3389 LISTENING 688 svchost
IPv6 TCP [::]:7680 LISTENING 1040 svchost
IPv6 TCP [::]:49664 LISTENING 652 lsass
IPv6 TCP [::]:49665 LISTENING 504 wininit
IPv6 TCP [::]:49666 LISTENING 1372 svchost
IPv6 TCP [::]:49667 LISTENING 1348 svchost
IPv6 TCP [::]:49670 LISTENING 2248 svchost
IPv6 TCP [::]:49671 LISTENING 2800 spoolsv
IPv6 TCP [::]:49672 LISTENING 652 lsass
IPv6 TCP [::]:49692 LISTENING 644 services
""
ParameterBinding(Out-File): name="InputObject"; value=""USER_PRIVILEGES","TA0004 - Privilege Escalation","User privileges","Check whether the current user has privileges (e.g., SeImpersonatePrivilege) that can be leveraged for privilege escalation to SYSTEM.","None","
Name State Description Exploitable
---- ----- ----------- -----------
SeShutdownPrivilege Disabled Shut down the system False
SeChangeNotifyPrivilege Enabled Bypass traverse checking False
SeUndockPrivilege Disabled Remove computer from docking station False
SeIncreaseWorkingSetPrivilege Disabled Increase a process working set False
SeTimeZonePrivilege Disabled Change the time zone False
""
ParameterBinding(Out-File): name="InputObject"; value=""UPDATE_HOTFIX","TA0004 - Privilege Escalation","Latest updates installed","Check whether a Windows security update was installed within the last 31 days.","None","""
ParameterBinding(Out-File): name="InputObject"; value=""UPDATE_HOTFIX_INFO","TA0004 - Privilege Escalation","Windows Update history","Get information about Windows Update history. Update packages are sorted by date in descending order, so that most recent ones are shown first. Note that the script might fail to retrieve install dates when run with PowerShell version 2.","None","
HotFixID Description InstalledBy InstalledOn
-------- ----------- ----------- -----------
KB5036892 Security Update NT AUTHORITY\SYSTEM 4/13/2024 12:00:00 AM
KB5036618 Update NT AUTHORITY\SYSTEM 4/13/2024 12:00:00 AM
KB5033052 Update NT AUTHORITY\SYSTEM 4/13/2024 12:00:00 AM
KB5015684 Update NT AUTHORITY\SYSTEM 4/13/2024 12:00:00 AM
KB5011048 Update NT AUTHORITY\SYSTEM 4/13/2024 12:00:00 AM
KB5037018 Security Update NT AUTHORITY\SYSTEM 4/12/2024 12:00:00 AM
KB5027122 Update NT AUTHORITY\SYSTEM 4/12/2024 12:00:00 AM
KB5011352 Security Update 4/3/2022 12:00:00 AM
KB5003791 Update 4/3/2022 12:00:00 AM
""
ParameterBinding(Out-File): name="InputObject"; value=""UPDATE_HISTORY","TA0004 - Privilege Escalation","Last Windows Update date","Get information about the latest Windows update. Note that this check might be unreliable.","None","
Time TimeRaw
---- -------
2024-04-17 - 12:48:36 4/17/2024 12:48:36 PM
""
ParameterBinding(Out-File): name="InputObject"; value=""MISC_HIJACKABLE_DLL","TA0004 - Privilege Escalation","Known ghost DLLs","Get information about services that are known to be prone to ghost DLL hijacking. Note that their exploitation requires the current user to have write permissions on at least one system-wide PATH folder.","None","
Name : cdpsgshims.dll
Description : Loaded by the Connected Devices Platform Service (CDPSvc) upon startup.
RunAs : NT AUTHORITY\LocalService
RebootRequired : True
Link : https://nafiez.github.io/security/eop/2019/11/05/windows-service-host-process-eop.html
Name : WptsExtensions.dll
Description : Loaded by the Task Scheduler service (Schedule) upon startup.
RunAs : LocalSystem
RebootRequired : True
Link : http://remoteawesomethoughts.blogspot.com/2019/05/windows-10-task-schedulerservice.html
Name : SprintCSP.dll
Description : Loaded by the Storage Service (StorSvc) when the RPC procedure 'SvcRebootToFlashingMode' is invoked.
RunAs : LocalSystem
RebootRequired : False
Link : https://github.com/blackarrowsec/redteam-research/tree/master/LPE%20via%20StorSvc
""
ParameterBinding(Out-File): name="InputObject"; value=""CONFIG_PATH_FOLDERS","TA0004 - Privilege Escalation","PATH folder permissions","Check whether the current user has any write permissions on the system-wide PATH folders. If so, the system could be vulnerable to privilege escalation through ghost DLL hijacking.","None","""
ParameterBinding(Out-File): name="InputObject"; value=""SCHTASKS_IMAGE_PERMISSIONS","TA0004 - Privilege Escalation","Scheduled task binary permissions","Check whether the current user has any write permissions on a scheduled task's binary or its folder. Note that low-privileged users cannot list all the scheduled tasks.","None","""
ParameterBinding(Out-File): name="InputObject"; value=""CONFIG_MSI","TA0004 - Privilege Escalation","AlwaysInstallElevated","Check whether the 'AlwaysInstallElevated' policy is enabled system-wide and for the current user. If so, the current user may install a Windows Installer package with elevated (SYSTEM) privileges.","None","
LocalMachineKey : HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer
LocalMachineValue : AlwaysInstallElevated
LocalMachineData : (null)
Description : AlwaysInstallElevated is not enabled in HKLM.
""
winlog.event_id
800
winlog.keywords
Classic
winlog.opcode
Info
winlog.provider_name
PowerShell
winlog.record_id
123,414
winlog.task
Pipeline Execution Details
Apr 17, 2024 @ 12:55:43.004
winlog.event_data.param3:
CommandInvocation(Write-TxtReport): "Write-TxtReport" CommandInvocation(Out-File): "Out-File" ParameterBinding(Out-File): name="FilePath"; value="PrivescCheck_MASLOV-O-PC.txt" ParameterBinding(Out-File): name="InputObject"; value="+----------+---------------------------------------------------+ | CATEGORY | TA0043 - Reconnaissance | | NAME | User identity | +----------+---------------------------------------------------+ | Get information about the current user (name, domain name) | | and its access token (SID, integrity level, authentication | | ID). | +--------------------------------------------------------------+" ParameterBinding(Out-File): name="InputObject"; value="[*] Status: Informational Name : FERRUMFOX\maslov-o SID : S-1-5-21-2213792943-3978625667-3641601853-1107 IntegrityLevel : Medium Mandatory Level (S-1-16-8192) SessionId : 3 TokenId : 00000000-00dcb008 AuthenticationId : 00000000-0028e629 OriginId : 00000000-000003e7 ModifiedId : 00000000-0028ea90 Source : User32 (00000000-0028e5b1) " ParameterBinding(Out-File): name="InputObject"; value="+----------+---------------------------------------------------+ | CATEGORY | TA0043 - Reconnaissance | | NAME | User groups | +----------+---------------------------------------------------+ | Get information about the groups the current user belongs to | | (name, type, SID). | +--------------------------------------------------------------+" ParameterBinding(Out-File): name="InputObject"; value="[*] Status: Informational Name Type SID ---- ---- --- FERRUMFOX\Domain Users Group S-1-5-21-2213792943-3978625667-3641601853-513 Everyone WellKnownGroup S-1-1-0 BUILTIN\Remote Desktop Users Alias S-1-5-32-555 BUILTIN\Users Alias S-1-5-32-545 NT AUTHORITY\REMOTE INTERACTIVE LOGON WellKnownGroup S-1-5-14 NT AUTHORITY\INTERACTIVE WellKnownGroup S-1-5-4 NT AUTHORITY\Authenticated Users WellKnownGroup S-1-5-11 NT AUTHORITY\This Organization WellKnownGroup S-1-5-15 NT AUTHORITY\LogonSessionId_0_2679955 LogonSession S-1-5-5-0-2679955 LOCAL WellKnownGroup S-1-2-0 Authentication authority asserted identity WellKnownGroup S-1-18-1 Mandatory Label\Medium Mandatory Level Label S-1-16-8192 " ParameterBinding(Out-File): name="InputObject"; value="+----------+---------------------------------------------------+ | CATEGORY | TA0043 - Reconnaissance | | NAME | User restricted SIDs | +----------+---------------------------------------------------+ | Get information about potential restricted SIDs applied to | | the current user. | +--------------------------------------------------------------+" ParameterBinding(Out-File): name="InputObject"; value="[*] Status: Informational (nothing found) " ParameterBinding(Out-File): name="InputObject"; value="+----------+---------------------------------------------------+ | CATEGORY | TA0004 - Privilege Escalation | | NAME | User privileges | +----------+---------------------------------------------------+ | Check whether the current user has privileges (e.g., | | SeImpersonatePrivilege) that can be leveraged for privilege | | escalation to SYSTEM. | +--------------------------------------------------------------+" ParameterBinding(Out-File): name="InputObject"; value="[*] Status: Informational (not vulnerable) Name State Description Exploitable ---- ----- ----------- ----------- SeShutdownPrivilege Disabled Shut down the system False SeChangeNotifyPrivilege Enabled Bypass traverse checking False SeUndockPrivilege Disabled Remove computer from docking station False SeIncreaseWorkingSetPrivilege Disabled Increase a process working set False SeTimeZonePrivilege Disabled Change the time zone False " ParameterBinding(Out-File): name="InputObject"; value="+----------+---------------------------------------------------+ | CATEGORY | TA0006 - Credential Access | | NAME | User environment variables | +----------+---------------------------------------------------+ | Check whether any environment variables contain sensitive | | information such as credentials or secrets. Note that this | | check follows a keyword-based approach and thus might not be | | completely reliable. | +--------------------------------------------------------------+" ParameterBinding(Out-File): name="InputObject"; value="[*] Status: Informational (nothing found) " ParameterBinding(Out-File): name="InputObject"; value="+----------+---------------------------------------------------+ | CATEGORY | TA0004 - Privilege Escalation | | NAME | Non-default services | +----------+---------------------------------------------------+ | Get information about third-party services. It does so by | | parsing the target executable's metadata and checking | | whether the publisher is Microsoft. | +--------------------------------------------------------------+" ParameterBinding(Out-File): name="InputObject"; value="[*] Status: Informational Name : GoogleChromeElevationService DisplayName : Google Chrome Elevation Service (GoogleChromeElevationService) ImagePath : "C:\Program Files\Google\Chrome\Application\123.0.6312.124\elevation_service.exe" User : LocalSystem StartMode : Manual Name : gupdate DisplayName : Google Update Service (gupdate) ImagePath : "C:\Program Files (x86)\Google\Update\GoogleUpdate.exe" /svc User : LocalSystem StartMode : Automatic Name : gupdatem DisplayName : Google Update Service (gupdatem) ImagePath : "C:\Program Files (x86)\Google\Update\GoogleUpdate.exe" /medsvc User : LocalSystem StartMode : Manual Name : ssh-agent DisplayName : OpenSSH Authentication Agent ImagePath : C:\Windows\System32\OpenSSH\ssh-agent.exe User : LocalSystem StartMode : Disabled Name : vm-agent DisplayName : vm-agent ImagePath : "c:\Program Files (x86)\virtio\monitor\vm-agent.exe" -d -l "c:\Program Files (x86)\virtio\monitor\vm-agent.log" User : LocalSystem StartMode : Automatic Name : VmAgentDaemon DisplayName : VMTools Daemon Service ImagePath : "c:\Program Files (x86)\virtio\monitor\vm-agent-daemon.exe" -s User : LocalSystem StartMode : Automatic Name : winlogbeat DisplayName : Winlogbeat ImagePath : "C:\Program Files\winlogbeat\winlogbeat.exe" --environment=windows_service -c "C:\Program Files\winlogbeat\winlogbeat.yml" --path.home "C:\Program Files\winlogbeat" --path.data "C:\ProgramData\winlogbeat" --path.logs "C:\ProgramData\winlogbeat\logs" -E logging.files.redirect_stderr=true User : LocalSystem StartMode : Automatic " ParameterBinding(Out-File): name="InputObject"; value="+----------+---------------------------------------------------+ | CATEGORY | TA0004 - Privilege Escalation | | NAME | Third-party Kernel drivers | +----------+---------------------------------------------------+ | Get information about third-party kernel drivers. It does so | | by parsing the driver's metadata and checking whether the | | publisher is Microsoft. | +--------------------------------------------------------------+"
event.original:
Pipeline execution details for command line: "TXT" { Write-TxtReport -AllResults $ResultArrayList | Out-File $ReportFileName } . Context Information: DetailSequence=1 DetailTotal=8 SequenceNumber=244874 UserId=FERRUMFOX\maslov-o HostName=ConsoleHost HostVersion=5.1.19041.4291 HostId=caab5788-d9f9-4f40-956d-226e78d129dc HostApplication=powershell -ep bypass EngineVersion=5.1.19041.4291 RunspaceId=9ee7a641-1d35-49fa-af70-6bfa6a8bad42 PipelineId=74 ScriptName= CommandLine= "TXT" { Write-TxtReport -AllResults $ResultArrayList | Out-File $ReportFileName } Details: CommandInvocation(Write-TxtReport): "Write-TxtReport" CommandInvocation(Out-File): "Out-File" ParameterBinding(Out-File): name="FilePath"; value="PrivescCheck_MASLOV-O-PC.txt" ParameterBinding(Out-File): name="InputObject"; value="+----------+---------------------------------------------------+ | CATEGORY | TA0043 - Reconnaissance | | NAME | User identity | +----------+---------------------------------------------------+ | Get information about the current user (name, domain name) | | and its access token (SID, integrity level, authentication | | ID). | +--------------------------------------------------------------+" ParameterBinding(Out-File): name="InputObject"; value="[*] Status: Informational Name : FERRUMFOX\maslov-o SID : S-1-5-21-2213792943-3978625667-3641601853-1107 IntegrityLevel : Medium Mandatory Level (S-1-16-8192) SessionId : 3 TokenId : 00000000-00dcb008 AuthenticationId : 00000000-0028e629 OriginId : 00000000-000003e7 ModifiedId : 00000000-0028ea90 Source : User32 (00000000-0028e5b1) " ParameterBinding(Out-File): name="InputObject"; value="+----------+---------------------------------------------------+ | CATEGORY | TA0043 - Reconnaissance | | NAME | User groups | +----------+---------------------------------------------------+ | Get information about the groups the current user belongs to | | (name, type, SID). | +--------------------------------------------------------------+" ParameterBinding(Out-File): name="InputObject"; value="[*] Status: Informational Name Type SID ---- ---- --- FERRUMFOX\Domain Users Group S-1-5-21-2213792943-3978625667-3641601853-513 Everyone WellKnownGroup S-1-1-0 BUILTIN\Remote Desktop Users Alias S-1-5-32-555 BUILTIN\Users Alias S-1-5-32-545 NT AUTHORITY\REMOTE INTERACTIVE LOGON WellKnownGroup S-1-5-14 NT AUTHORITY\INTERACTIVE WellKnownGroup S-1-5-4 NT AUTHORITY\Authenticated Users WellKnownGroup S-1-5-11 NT AUTHORITY\This Organization WellKnownGroup S-1-5-15 NT AUTHORITY\LogonSessionId_0_2679955 LogonSession S-1-5-5-0-2679955 LOCAL WellKnownGroup S-1-2-0 Authentication authority asserted identity WellKnownGroup S-1-18-1 Mandatory Label\Medium Mandatory Level Label S-1-16-8192 " ParameterBinding(Out-File): name="InputObject"; value="+----------+---------------------------------------------------+ | CATEGORY | TA0043 - Reconnaissance | | NAME | User restricted SIDs | +----------+---------------------------------------------------+ | Get information about potential restricted SIDs applied to | | the current user. | +--------------------------------------------------------------+" ParameterBinding(Out-File): name="InputObject"; value="[*] Status: Informational (nothing found) " ParameterBinding(Out-File): name="InputObject"; value="+----------+---------------------------------------------------+ | CATEGORY | TA0004 - Privilege Escalation | | NAME | User privileges | +----------+---------------------------------------------------+ | Check whether the current user has privileges (e.g., | | SeImpersonatePrivilege) that can be leveraged for privilege | | escalation to SYSTEM. | +--------------------------------------------------------------+" ParameterBinding(Out-File): name="InputObject"; value="[*] Status: Informational (not vulnerable) Name State Description Exploitable ---- ----- ----------- ----------- SeShutdownPrivilege Disabled Shut down the system False SeChangeNotifyPrivilege Enabled Bypass traverse checking False SeUndockPrivilege Disabled Remove computer from docking station False SeIncreaseWorkingSetPrivilege Disabled Increase a process working set False SeTimeZonePrivilege Disabled Change the time zone False " ParameterBinding(Out-File): name="InputObject"; value="+----------+---------------------------------------------------+ | CATEGORY | TA0006 - Credential Access | | NAME | User environment variables | +----------+---------------------------------------------------+ | Check whether any environment variables contain sensitive | | information such as credentials or secrets. Note that this | | check follows a keyword-based approach and thus might not be | | completely reliable. | +--------------------------------------------------------------+" ParameterBinding(Out-File): name="InputObject"; value="[*] Status: Informational (nothing found) " ParameterBinding(Out-File): name="InputObject"; value="+----------+---------------------------------------------------+ | CATEGORY | TA0004 - Privilege Escalation | | NAME | Non-default services | +----------+---------------------------------------------------+ | Get information about third-party services. It does so by | | parsing the target executable's metadata and checking | | whether the publisher is Microsoft. | +--------------------------------------------------------------+" ParameterBinding(Out-File): name="InputObject"; value="[*] Status: Informational Name : GoogleChromeElevationService DisplayName : Google Chrome Elevation Service (GoogleChromeElevationService) ImagePath : "C:\Program Files\Google\Chrome\Application\123.0.6312.124\elevation_service.exe" User : LocalSystem StartMode : Manual Name : gupdate DisplayName : Google Update Service (gupdate) ImagePath : "C:\Program Files (x86)\Google\Update\GoogleUpdate.exe" /svc User : LocalSystem StartMode : Automatic Name : gupdatem DisplayName : Google Update Service (gupdatem) ImagePath : "C:\Program Files (x86)\Google\Update\GoogleUpdate.exe" /medsvc User : LocalSystem StartMode : Manual Name : ssh-agent DisplayName : OpenSSH Authentication Agent ImagePath : C:\Windows\System32\OpenSSH\ssh-agent.exe User : LocalSystem StartMode : Disabled Name : vm-agent DisplayName : vm-agent ImagePath : "c:\Program Files (x86)\virtio\monitor\vm-agent.exe" -d -l "c:\Program Files (x86)\virtio\monitor\vm-agent.log" User : LocalSystem StartMode : Automatic Name : VmAgentDaemon DisplayName : VMTools Daemon Service ImagePath : "c:\Program Files (x86)\virtio\monitor\vm-agent-daemon.exe" -s User : LocalSystem StartMode : Automatic Name : winlogbeat DisplayName : Winlogbeat ImagePath : "C:\Program Files\winlogbeat\winlogbeat.exe" --environment=windows_service -c "C:\Program Files\winlogbeat\winlogbeat.yml" --path.home "C:\Program Files\winlogbeat" --path.data "C:\ProgramData\winlogbeat" --path.logs "C:\ProgramData\winlogbeat\logs" -E logging.files.redirect_stderr=true User : LocalSystem StartMode : Automatic " ParameterBinding(Out-File): name="InputObject"; value="+----------+---------------------------------------------------+ | CATEGORY | TA0004 - Privilege Escalation | | NAME | Third-party Kernel drivers | +----------+---------------------------------------------------+ | Get information about third-party kernel drivers. It does so | | by parsing the driver's metadata and checking whether the | | publisher is Microsoft. | +--------------------------------------------------------------+"
type:
wineventlog
@timestamp:
Apr 17, 2024 @ 12:55:43.004
winlog.keywords:
Classic
winlog.channel:
Windows PowerShell
winlog.api:
wineventlog
winlog.record_id:
123,385
winlog.event_data.param1:
"TXT" { Write-TxtReport -AllResults $ResultArrayList | Out-File $ReportFileName }
winlog.event_data.param2:
DetailSequence=1 DetailTotal=8 SequenceNumber=244874 UserId=FERRUMFOX\maslov-o HostName=ConsoleHost HostVersion=5.1.19041.4291 HostId=caab5788-d9f9-4f40-956d-226e78d129dc HostApplication=powershell -ep bypass EngineVersion=5.1.19041.4291 RunspaceId=9ee7a641-1d35-49fa-af70-6bfa6a8bad42 PipelineId=74 ScriptName= CommandLine= "TXT" { Write-TxtReport -AllResults $ResultArrayList | Out-File $ReportFileName }
winlog.computer_name:
maslov-o-pc.ferrumfox.corp
winlog.opcode:
Info
winlog.event_id:
800
winlog.task:
Pipeline Execution Details
winlog.provider_name:
PowerShell
log.level:
information
host.name:
maslov-o-pc.ferrumfox.corp
host.id:
47d68211-05ac-417f-b800-36a9b19f714b
host.hostname:
maslov-o-pc
host.architecture:
x86_64
host.ip:
10.181.21.46
host.os.platform:
windows
host.os.name:
Windows 10 Pro
host.os.version:
10.0
host.os.kernel:
10.0.19041.4291 (WinBuild.160101.0800)
host.os.build:
19045.4291
host.os.family:
windows
host.mac:
fa:16:3e:8a:ea:03
@version:
1
event.provider:
PowerShell
event.action:
Pipeline Execution Details
event.kind:
event
event.created:
Apr 17, 2024 @ 12:55:46.267
event.code:
800
_id:
r5Ig7I4BjcmPCGzWrQfT
_type:
_doc
_index:
cyberpolygon-ferrumfox-win
_score:
-
Expanded document
View surrounding documents
View single document
@timestamp
Apr 17, 2024 @ 12:55:43.004
@version
1
_id
r5Ig7I4BjcmPCGzWrQfT
_index
cyberpolygon-ferrumfox-win
_score
-
_type
_doc
event.action
Pipeline Execution Details
event.code
800
event.created
Apr 17, 2024 @ 12:55:46.267
event.kind
event
event.original
Pipeline execution details for command line: "TXT" { Write-TxtReport -AllResults $ResultArrayList | Out-File $ReportFileName }
.
Context Information:
DetailSequence=1
DetailTotal=8
SequenceNumber=244874
UserId=FERRUMFOX\maslov-o
HostName=ConsoleHost
HostVersion=5.1.19041.4291
HostId=caab5788-d9f9-4f40-956d-226e78d129dc
HostApplication=powershell -ep bypass
EngineVersion=5.1.19041.4291
RunspaceId=9ee7a641-1d35-49fa-af70-6bfa6a8bad42
PipelineId=74
ScriptName=
CommandLine= "TXT" { Write-TxtReport -AllResults $ResultArrayList | Out-File $ReportFileName }
Details:
CommandInvocation(Write-TxtReport): "Write-TxtReport"
CommandInvocation(Out-File): "Out-File"
ParameterBinding(Out-File): name="FilePath"; value="PrivescCheck_MASLOV-O-PC.txt"
ParameterBinding(Out-File): name="InputObject"; value="+----------+---------------------------------------------------+
| CATEGORY | TA0043 - Reconnaissance |
| NAME | User identity |
+----------+---------------------------------------------------+
| Get information about the current user (name, domain name) |
| and its access token (SID, integrity level, authentication |
| ID). |
+--------------------------------------------------------------+"
ParameterBinding(Out-File): name="InputObject"; value="[*] Status: Informational
Name : FERRUMFOX\maslov-o
SID : S-1-5-21-2213792943-3978625667-3641601853-1107
IntegrityLevel : Medium Mandatory Level (S-1-16-8192)
SessionId : 3
TokenId : 00000000-00dcb008
AuthenticationId : 00000000-0028e629
OriginId : 00000000-000003e7
ModifiedId : 00000000-0028ea90
Source : User32 (00000000-0028e5b1)
"
ParameterBinding(Out-File): name="InputObject"; value="+----------+---------------------------------------------------+
| CATEGORY | TA0043 - Reconnaissance |
| NAME | User groups |
+----------+---------------------------------------------------+
| Get information about the groups the current user belongs to |
| (name, type, SID). |
+--------------------------------------------------------------+"
ParameterBinding(Out-File): name="InputObject"; value="[*] Status: Informational
Name Type SID
---- ---- ---
FERRUMFOX\Domain Users Group S-1-5-21-2213792943-3978625667-3641601853-513
Everyone WellKnownGroup S-1-1-0
BUILTIN\Remote Desktop Users Alias S-1-5-32-555
BUILTIN\Users Alias S-1-5-32-545
NT AUTHORITY\REMOTE INTERACTIVE LOGON WellKnownGroup S-1-5-14
NT AUTHORITY\INTERACTIVE WellKnownGroup S-1-5-4
NT AUTHORITY\Authenticated Users WellKnownGroup S-1-5-11
NT AUTHORITY\This Organization WellKnownGroup S-1-5-15
NT AUTHORITY\LogonSessionId_0_2679955 LogonSession S-1-5-5-0-2679955
LOCAL WellKnownGroup S-1-2-0
Authentication authority asserted identity WellKnownGroup S-1-18-1
Mandatory Label\Medium Mandatory Level Label S-1-16-8192
"
ParameterBinding(Out-File): name="InputObject"; value="+----------+---------------------------------------------------+
| CATEGORY | TA0043 - Reconnaissance |
| NAME | User restricted SIDs |
+----------+---------------------------------------------------+
| Get information about potential restricted SIDs applied to |
| the current user. |
+--------------------------------------------------------------+"
ParameterBinding(Out-File): name="InputObject"; value="[*] Status: Informational (nothing found)
"
ParameterBinding(Out-File): name="InputObject"; value="+----------+---------------------------------------------------+
| CATEGORY | TA0004 - Privilege Escalation |
| NAME | User privileges |
+----------+---------------------------------------------------+
| Check whether the current user has privileges (e.g., |
| SeImpersonatePrivilege) that can be leveraged for privilege |
| escalation to SYSTEM. |
+--------------------------------------------------------------+"
ParameterBinding(Out-File): name="InputObject"; value="[*] Status: Informational (not vulnerable)
Name State Description Exploitable
---- ----- ----------- -----------
SeShutdownPrivilege Disabled Shut down the system False
SeChangeNotifyPrivilege Enabled Bypass traverse checking False
SeUndockPrivilege Disabled Remove computer from docking station False
SeIncreaseWorkingSetPrivilege Disabled Increase a process working set False
SeTimeZonePrivilege Disabled Change the time zone False
"
ParameterBinding(Out-File): name="InputObject"; value="+----------+---------------------------------------------------+
| CATEGORY | TA0006 - Credential Access |
| NAME | User environment variables |
+----------+---------------------------------------------------+
| Check whether any environment variables contain sensitive |
| information such as credentials or secrets. Note that this |
| check follows a keyword-based approach and thus might not be |
| completely reliable. |
+--------------------------------------------------------------+"
ParameterBinding(Out-File): name="InputObject"; value="[*] Status: Informational (nothing found)
"
ParameterBinding(Out-File): name="InputObject"; value="+----------+---------------------------------------------------+
| CATEGORY | TA0004 - Privilege Escalation |
| NAME | Non-default services |
+----------+---------------------------------------------------+
| Get information about third-party services. It does so by |
| parsing the target executable's metadata and checking |
| whether the publisher is Microsoft. |
+--------------------------------------------------------------+"
ParameterBinding(Out-File): name="InputObject"; value="[*] Status: Informational
Name : GoogleChromeElevationService
DisplayName : Google Chrome Elevation Service (GoogleChromeElevationService)
ImagePath : "C:\Program Files\Google\Chrome\Application\123.0.6312.124\elevation_service.exe"
User : LocalSystem
StartMode : Manual
Name : gupdate
DisplayName : Google Update Service (gupdate)
ImagePath : "C:\Program Files (x86)\Google\Update\GoogleUpdate.exe" /svc
User : LocalSystem
StartMode : Automatic
Name : gupdatem
DisplayName : Google Update Service (gupdatem)
ImagePath : "C:\Program Files (x86)\Google\Update\GoogleUpdate.exe" /medsvc
User : LocalSystem
StartMode : Manual
Name : ssh-agent
DisplayName : OpenSSH Authentication Agent
ImagePath : C:\Windows\System32\OpenSSH\ssh-agent.exe
User : LocalSystem
StartMode : Disabled
Name : vm-agent
DisplayName : vm-agent
ImagePath : "c:\Program Files (x86)\virtio\monitor\vm-agent.exe" -d -l "c:\Program Files
(x86)\virtio\monitor\vm-agent.log"
User : LocalSystem
StartMode : Automatic
Name : VmAgentDaemon
DisplayName : VMTools Daemon Service
ImagePath : "c:\Program Files (x86)\virtio\monitor\vm-agent-daemon.exe" -s
User : LocalSystem
StartMode : Automatic
Name : winlogbeat
DisplayName : Winlogbeat
ImagePath : "C:\Program Files\winlogbeat\winlogbeat.exe" --environment=windows_service -c "C:\Program
Files\winlogbeat\winlogbeat.yml" --path.home "C:\Program Files\winlogbeat" --path.data
"C:\ProgramData\winlogbeat" --path.logs "C:\ProgramData\winlogbeat\logs" -E
logging.files.redirect_stderr=true
User : LocalSystem
StartMode : Automatic
"
ParameterBinding(Out-File): name="InputObject"; value="+----------+---------------------------------------------------+
| CATEGORY | TA0004 - Privilege Escalation |
| NAME | Third-party Kernel drivers |
+----------+---------------------------------------------------+
| Get information about third-party kernel drivers. It does so |
| by parsing the driver's metadata and checking whether the |
| publisher is Microsoft. |
+--------------------------------------------------------------+"
event.provider
PowerShell
host.architecture
x86_64
host.hostname
maslov-o-pc
host.id
47d68211-05ac-417f-b800-36a9b19f714b
host.ip
10.181.21.46
host.mac
fa:16:3e:8a:ea:03
host.name
maslov-o-pc.ferrumfox.corp
host.os.build
19045.4291
host.os.family
windows
host.os.kernel
10.0.19041.4291 (WinBuild.160101.0800)
host.os.name
Windows 10 Pro
host.os.platform
windows
host.os.version
10.0
log.level
information
type
wineventlog
winlog.api
wineventlog
winlog.channel
Windows PowerShell
winlog.computer_name
maslov-o-pc.ferrumfox.corp
winlog.event_data.param1
"TXT" { Write-TxtReport -AllResults $ResultArrayList | Out-File $ReportFileName }
winlog.event_data.param2
DetailSequence=1
DetailTotal=8
SequenceNumber=244874
UserId=FERRUMFOX\maslov-o
HostName=ConsoleHost
HostVersion=5.1.19041.4291
HostId=caab5788-d9f9-4f40-956d-226e78d129dc
HostApplication=powershell -ep bypass
EngineVersion=5.1.19041.4291
RunspaceId=9ee7a641-1d35-49fa-af70-6bfa6a8bad42
PipelineId=74
ScriptName=
CommandLine= "TXT" { Write-TxtReport -AllResults $ResultArrayList | Out-File $ReportFileName }
winlog.event_data.param3
CommandInvocation(Write-TxtReport): "Write-TxtReport"
CommandInvocation(Out-File): "Out-File"
ParameterBinding(Out-File): name="FilePath"; value="PrivescCheck_MASLOV-O-PC.txt"
ParameterBinding(Out-File): name="InputObject"; value="+----------+---------------------------------------------------+
| CATEGORY | TA0043 - Reconnaissance |
| NAME | User identity |
+----------+---------------------------------------------------+
| Get information about the current user (name, domain name) |
| and its access token (SID, integrity level, authentication |
| ID). |
+--------------------------------------------------------------+"
ParameterBinding(Out-File): name="InputObject"; value="[*] Status: Informational
Name : FERRUMFOX\maslov-o
SID : S-1-5-21-2213792943-3978625667-3641601853-1107
IntegrityLevel : Medium Mandatory Level (S-1-16-8192)
SessionId : 3
TokenId : 00000000-00dcb008
AuthenticationId : 00000000-0028e629
OriginId : 00000000-000003e7
ModifiedId : 00000000-0028ea90
Source : User32 (00000000-0028e5b1)
"
ParameterBinding(Out-File): name="InputObject"; value="+----------+---------------------------------------------------+
| CATEGORY | TA0043 - Reconnaissance |
| NAME | User groups |
+----------+---------------------------------------------------+
| Get information about the groups the current user belongs to |
| (name, type, SID). |
+--------------------------------------------------------------+"
ParameterBinding(Out-File): name="InputObject"; value="[*] Status: Informational
Name Type SID
---- ---- ---
FERRUMFOX\Domain Users Group S-1-5-21-2213792943-3978625667-3641601853-513
Everyone WellKnownGroup S-1-1-0
BUILTIN\Remote Desktop Users Alias S-1-5-32-555
BUILTIN\Users Alias S-1-5-32-545
NT AUTHORITY\REMOTE INTERACTIVE LOGON WellKnownGroup S-1-5-14
NT AUTHORITY\INTERACTIVE WellKnownGroup S-1-5-4
NT AUTHORITY\Authenticated Users WellKnownGroup S-1-5-11
NT AUTHORITY\This Organization WellKnownGroup S-1-5-15
NT AUTHORITY\LogonSessionId_0_2679955 LogonSession S-1-5-5-0-2679955
LOCAL WellKnownGroup S-1-2-0
Authentication authority asserted identity WellKnownGroup S-1-18-1
Mandatory Label\Medium Mandatory Level Label S-1-16-8192
"
ParameterBinding(Out-File): name="InputObject"; value="+----------+---------------------------------------------------+
| CATEGORY | TA0043 - Reconnaissance |
| NAME | User restricted SIDs |
+----------+---------------------------------------------------+
| Get information about potential restricted SIDs applied to |
| the current user. |
+--------------------------------------------------------------+"
ParameterBinding(Out-File): name="InputObject"; value="[*] Status: Informational (nothing found)
"
ParameterBinding(Out-File): name="InputObject"; value="+----------+---------------------------------------------------+
| CATEGORY | TA0004 - Privilege Escalation |
| NAME | User privileges |
+----------+---------------------------------------------------+
| Check whether the current user has privileges (e.g., |
| SeImpersonatePrivilege) that can be leveraged for privilege |
| escalation to SYSTEM. |
+--------------------------------------------------------------+"
ParameterBinding(Out-File): name="InputObject"; value="[*] Status: Informational (not vulnerable)
Name State Description Exploitable
---- ----- ----------- -----------
SeShutdownPrivilege Disabled Shut down the system False
SeChangeNotifyPrivilege Enabled Bypass traverse checking False
SeUndockPrivilege Disabled Remove computer from docking station False
SeIncreaseWorkingSetPrivilege Disabled Increase a process working set False
SeTimeZonePrivilege Disabled Change the time zone False
"
ParameterBinding(Out-File): name="InputObject"; value="+----------+---------------------------------------------------+
| CATEGORY | TA0006 - Credential Access |
| NAME | User environment variables |
+----------+---------------------------------------------------+
| Check whether any environment variables contain sensitive |
| information such as credentials or secrets. Note that this |
| check follows a keyword-based approach and thus might not be |
| completely reliable. |
+--------------------------------------------------------------+"
ParameterBinding(Out-File): name="InputObject"; value="[*] Status: Informational (nothing found)
"
ParameterBinding(Out-File): name="InputObject"; value="+----------+---------------------------------------------------+
| CATEGORY | TA0004 - Privilege Escalation |
| NAME | Non-default services |
+----------+---------------------------------------------------+
| Get information about third-party services. It does so by |
| parsing the target executable's metadata and checking |
| whether the publisher is Microsoft. |
+--------------------------------------------------------------+"
ParameterBinding(Out-File): name="InputObject"; value="[*] Status: Informational
Name : GoogleChromeElevationService
DisplayName : Google Chrome Elevation Service (GoogleChromeElevationService)
ImagePath : "C:\Program Files\Google\Chrome\Application\123.0.6312.124\elevation_service.exe"
User : LocalSystem
StartMode : Manual
Name : gupdate
DisplayName : Google Update Service (gupdate)
ImagePath : "C:\Program Files (x86)\Google\Update\GoogleUpdate.exe" /svc
User : LocalSystem
StartMode : Automatic
Name : gupdatem
DisplayName : Google Update Service (gupdatem)
ImagePath : "C:\Program Files (x86)\Google\Update\GoogleUpdate.exe" /medsvc
User : LocalSystem
StartMode : Manual
Name : ssh-agent
DisplayName : OpenSSH Authentication Agent
ImagePath : C:\Windows\System32\OpenSSH\ssh-agent.exe
User : LocalSystem
StartMode : Disabled
Name : vm-agent
DisplayName : vm-agent
ImagePath : "c:\Program Files (x86)\virtio\monitor\vm-agent.exe" -d -l "c:\Program Files
(x86)\virtio\monitor\vm-agent.log"
User : LocalSystem
StartMode : Automatic
Name : VmAgentDaemon
DisplayName : VMTools Daemon Service
ImagePath : "c:\Program Files (x86)\virtio\monitor\vm-agent-daemon.exe" -s
User : LocalSystem
StartMode : Automatic
Name : winlogbeat
DisplayName : Winlogbeat
ImagePath : "C:\Program Files\winlogbeat\winlogbeat.exe" --environment=windows_service -c "C:\Program
Files\winlogbeat\winlogbeat.yml" --path.home "C:\Program Files\winlogbeat" --path.data
"C:\ProgramData\winlogbeat" --path.logs "C:\ProgramData\winlogbeat\logs" -E
logging.files.redirect_stderr=true
User : LocalSystem
StartMode : Automatic
"
ParameterBinding(Out-File): name="InputObject"; value="+----------+---------------------------------------------------+
| CATEGORY | TA0004 - Privilege Escalation |
| NAME | Third-party Kernel drivers |
+----------+---------------------------------------------------+
| Get information about third-party kernel drivers. It does so |
| by parsing the driver's metadata and checking whether the |
| publisher is Microsoft. |
+--------------------------------------------------------------+"
winlog.event_id
800
winlog.keywords
Classic
winlog.opcode
Info
winlog.provider_name
PowerShell
winlog.record_id
123,385
winlog.task
Pipeline Execution Details
Apr 17, 2024 @ 12:55:42.353
winlog.event_data.Payload:
CommandInvocation(Write-Host): "Write-Host" ParameterBinding(Write-Host): name="ForegroundColor"; value="White" ParameterBinding(Write-Host): name="Object"; value="┃ ~~~ PrivescCheck Summary ~~~ ┃"
event.original:
CommandInvocation(Write-Host): "Write-Host" ParameterBinding(Write-Host): name="ForegroundColor"; value="White" ParameterBinding(Write-Host): name="Object"; value="┃ ~~~ PrivescCheck Summary ~~~ ┃" Context: Severity = Informational Host Name = ConsoleHost Host Version = 5.1.19041.4291 Host ID = caab5788-d9f9-4f40-956d-226e78d129dc Host Application = powershell -ep bypass Engine Version = 5.1.19041.4291 Runspace ID = 9ee7a641-1d35-49fa-af70-6bfa6a8bad42 Pipeline ID = 74 Command Name = Write-Host Command Type = Cmdlet Script Name = Command Path = Sequence Number = 244257 User = FERRUMFOX\maslov-o Connected User = Shell ID = Microsoft.PowerShell User Data:
type:
wineventlog
@timestamp:
Apr 17, 2024 @ 12:55:42.353
winlog.provider_name:
Microsoft-Windows-PowerShell
winlog.channel:
Microsoft-Windows-PowerShell/Operational
winlog.record_id:
855,469
winlog.computer_name:
maslov-o-pc.ferrumfox.corp
winlog.user.name:
maslov-o
winlog.user.type:
User
winlog.user.identifier:
S-1-5-21-2213792943-3978625667-3641601853-1107
winlog.user.domain:
FERRUMFOX
winlog.provider_guid:
{a0c1853b-5c40-4b15-8766-3cf1c58f985a}
winlog.event_data.ContextInfo:
Severity = Informational Host Name = ConsoleHost Host Version = 5.1.19041.4291 Host ID = caab5788-d9f9-4f40-956d-226e78d129dc Host Application = powershell -ep bypass Engine Version = 5.1.19041.4291 Runspace ID = 9ee7a641-1d35-49fa-af70-6bfa6a8bad42 Pipeline ID = 74 Command Name = Write-Host Command Type = Cmdlet Script Name = Command Path = Sequence Number = 244257 User = FERRUMFOX\maslov-o Connected User = Shell ID = Microsoft.PowerShell
winlog.task:
Executing Pipeline
winlog.opcode:
To be used when operation is just executing a method
winlog.activity_id:
{eafc05f8-8ffa-0000-6801-ffeafa8fda01}
winlog.version:
1
winlog.api:
wineventlog
winlog.event_id:
4,103
winlog.process.thread.id:
2,996
winlog.process.pid:
2,340
log.level:
information
host.id:
47d68211-05ac-417f-b800-36a9b19f714b
host.name:
maslov-o-pc.ferrumfox.corp
host.hostname:
maslov-o-pc
host.architecture:
x86_64
host.ip:
10.181.21.46
host.os.platform:
windows
host.os.name:
Windows 10 Pro
host.os.version:
10.0
host.os.kernel:
10.0.19041.4291 (WinBuild.160101.0800)
host.os.build:
19045.4291
host.os.family:
windows
host.mac:
fa:16:3e:8a:ea:03
@version:
1
event.provider:
Microsoft-Windows-PowerShell
event.action:
Executing Pipeline
event.kind:
event
event.created:
Apr 17, 2024 @ 12:55:53.313
event.code:
4,103
_id:
UpIg7I4BjcmPCGzWxjFz
_type:
_doc
_index:
cyberpolygon-ferrumfox-win
_score:
-
Expanded document
View surrounding documents
View single document
@timestamp
Apr 17, 2024 @ 12:55:42.353
@version
1
_id
UpIg7I4BjcmPCGzWxjFz
_index
cyberpolygon-ferrumfox-win
_score
-
_type
_doc
event.action
Executing Pipeline
event.code
4,103
event.created
Apr 17, 2024 @ 12:55:53.313
event.kind
event
event.original
CommandInvocation(Write-Host): "Write-Host"
ParameterBinding(Write-Host): name="ForegroundColor"; value="White"
ParameterBinding(Write-Host): name="Object"; value="┃ ~~~ PrivescCheck Summary ~~~ ┃"
Context:
Severity = Informational
Host Name = ConsoleHost
Host Version = 5.1.19041.4291
Host ID = caab5788-d9f9-4f40-956d-226e78d129dc
Host Application = powershell -ep bypass
Engine Version = 5.1.19041.4291
Runspace ID = 9ee7a641-1d35-49fa-af70-6bfa6a8bad42
Pipeline ID = 74
Command Name = Write-Host
Command Type = Cmdlet
Script Name =
Command Path =
Sequence Number = 244257
User = FERRUMFOX\maslov-o
Connected User =
Shell ID = Microsoft.PowerShell
User Data:
event.provider
Microsoft-Windows-PowerShell
host.architecture
x86_64
host.hostname
maslov-o-pc
host.id
47d68211-05ac-417f-b800-36a9b19f714b
host.ip
10.181.21.46
host.mac
fa:16:3e:8a:ea:03
host.name
maslov-o-pc.ferrumfox.corp
host.os.build
19045.4291
host.os.family
windows
host.os.kernel
10.0.19041.4291 (WinBuild.160101.0800)
host.os.name
Windows 10 Pro
host.os.platform
windows
host.os.version
10.0
log.level
information
type
wineventlog
winlog.activity_id
{eafc05f8-8ffa-0000-6801-ffeafa8fda01}
winlog.api
wineventlog
winlog.channel
Microsoft-Windows-PowerShell/Operational
winlog.computer_name
maslov-o-pc.ferrumfox.corp
winlog.event_data.ContextInfo
Severity = Informational
Host Name = ConsoleHost
Host Version = 5.1.19041.4291
Host ID = caab5788-d9f9-4f40-956d-226e78d129dc
Host Application = powershell -ep bypass
Engine Version = 5.1.19041.4291
Runspace ID = 9ee7a641-1d35-49fa-af70-6bfa6a8bad42
Pipeline ID = 74
Command Name = Write-Host
Command Type = Cmdlet
Script Name =
Command Path =
Sequence Number = 244257
User = FERRUMFOX\maslov-o
Connected User =
Shell ID = Microsoft.PowerShell
winlog.event_data.Payload
CommandInvocation(Write-Host): "Write-Host"
ParameterBinding(Write-Host): name="ForegroundColor"; value="White"
ParameterBinding(Write-Host): name="Object"; value="┃ ~~~ PrivescCheck Summary ~~~ ┃"
winlog.event_id
4,103
winlog.opcode
To be used when operation is just executing a method
winlog.process.pid
2,340
winlog.process.thread.id
2,996
winlog.provider_guid
{a0c1853b-5c40-4b15-8766-3cf1c58f985a}
winlog.provider_name
Microsoft-Windows-PowerShell
winlog.record_id
855,469
winlog.task
Executing Pipeline
winlog.user.domain
FERRUMFOX
winlog.user.identifier
S-1-5-21-2213792943-3978625667-3641601853-1107
winlog.user.name
maslov-o
winlog.user.type
User
winlog.version
1
Apr 17, 2024 @ 12:55:42.351
winlog.event_data.param1:
Write-Host -ForegroundColor White "$($HeavyVertical)$(" " * 17)~~~ PrivescCheck Summary ~~~$(" " * 17)$($HeavyVertical)"
winlog.event_data.param3:
CommandInvocation(Write-Host): "Write-Host" ParameterBinding(Write-Host): name="ForegroundColor"; value="White" ParameterBinding(Write-Host): name="Object"; value="┃ ~~~ PrivescCheck Summary ~~~ ┃"
winlog.event_data.param2:
DetailSequence=1 DetailTotal=1 SequenceNumber=244256 UserId=FERRUMFOX\maslov-o HostName=ConsoleHost HostVersion=5.1.19041.4291 HostId=caab5788-d9f9-4f40-956d-226e78d129dc HostApplication=powershell -ep bypass EngineVersion=5.1.19041.4291 RunspaceId=9ee7a641-1d35-49fa-af70-6bfa6a8bad42 PipelineId=74 ScriptName= CommandLine= Write-Host -ForegroundColor White "$($HeavyVertical)$(" " * 17)~~~ PrivescCheck Summary ~~~$(" " * 17)$($HeavyVertical)"
event.original:
Pipeline execution details for command line: Write-Host -ForegroundColor White "$($HeavyVertical)$(" " * 17)~~~ PrivescCheck Summary ~~~$(" " * 17)$($HeavyVertical)" . Context Information: DetailSequence=1 DetailTotal=1 SequenceNumber=244256 UserId=FERRUMFOX\maslov-o HostName=ConsoleHost HostVersion=5.1.19041.4291 HostId=caab5788-d9f9-4f40-956d-226e78d129dc HostApplication=powershell -ep bypass EngineVersion=5.1.19041.4291 RunspaceId=9ee7a641-1d35-49fa-af70-6bfa6a8bad42 PipelineId=74 ScriptName= CommandLine= Write-Host -ForegroundColor White "$($HeavyVertical)$(" " * 17)~~~ PrivescCheck Summary ~~~$(" " * 17)$($HeavyVertical)" Details: CommandInvocation(Write-Host): "Write-Host" ParameterBinding(Write-Host): name="ForegroundColor"; value="White" ParameterBinding(Write-Host): name="Object"; value="┃ ~~~ PrivescCheck Summary ~~~ ┃"
type:
wineventlog
@timestamp:
Apr 17, 2024 @ 12:55:42.351
winlog.keywords:
Classic
winlog.record_id:
123,063
winlog.api:
wineventlog
winlog.channel:
Windows PowerShell
winlog.opcode:
Info
winlog.computer_name:
maslov-o-pc.ferrumfox.corp
winlog.event_id:
800
winlog.task:
Pipeline Execution Details
winlog.provider_name:
PowerShell
log.level:
information
host.id:
47d68211-05ac-417f-b800-36a9b19f714b
host.name:
maslov-o-pc.ferrumfox.corp
host.hostname:
maslov-o-pc
host.architecture:
x86_64
host.ip:
10.181.21.46
host.os.platform:
windows
host.os.name:
Windows 10 Pro
host.os.version:
10.0
host.os.kernel:
10.0.19041.4291 (WinBuild.160101.0800)
host.os.build:
19045.4291
host.os.family:
windows
host.mac:
fa:16:3e:8a:ea:03
@version:
1
event.provider:
PowerShell
event.action:
Pipeline Execution Details
event.kind:
event
event.created:
Apr 17, 2024 @ 12:55:45.751
event.code:
800
_id:
fZIg7I4BjcmPCGzWqgOF
_type:
_doc
_index:
cyberpolygon-ferrumfox-win
_score:
-
Expanded document
View surrounding documents
View single document
@timestamp
Apr 17, 2024 @ 12:55:42.351
@version
1
_id
fZIg7I4BjcmPCGzWqgOF
_index
cyberpolygon-ferrumfox-win
_score
-
_type
_doc
event.action
Pipeline Execution Details
event.code
800
event.created
Apr 17, 2024 @ 12:55:45.751
event.kind
event
event.original
Pipeline execution details for command line: Write-Host -ForegroundColor White "$($HeavyVertical)$(" " * 17)~~~ PrivescCheck Summary ~~~$(" " * 17)$($HeavyVertical)"
.
Context Information:
DetailSequence=1
DetailTotal=1
SequenceNumber=244256
UserId=FERRUMFOX\maslov-o
HostName=ConsoleHost
HostVersion=5.1.19041.4291
HostId=caab5788-d9f9-4f40-956d-226e78d129dc
HostApplication=powershell -ep bypass
EngineVersion=5.1.19041.4291
RunspaceId=9ee7a641-1d35-49fa-af70-6bfa6a8bad42
PipelineId=74
ScriptName=
CommandLine= Write-Host -ForegroundColor White "$($HeavyVertical)$(" " * 17)~~~ PrivescCheck Summary ~~~$(" " * 17)$($HeavyVertical)"
Details:
CommandInvocation(Write-Host): "Write-Host"
ParameterBinding(Write-Host): name="ForegroundColor"; value="White"
ParameterBinding(Write-Host): name="Object"; value="┃ ~~~ PrivescCheck Summary ~~~ ┃"
event.provider
PowerShell
host.architecture
x86_64
host.hostname
maslov-o-pc
host.id
47d68211-05ac-417f-b800-36a9b19f714b
host.ip
10.181.21.46
host.mac
fa:16:3e:8a:ea:03
host.name
maslov-o-pc.ferrumfox.corp
host.os.build
19045.4291
host.os.family
windows
host.os.kernel
10.0.19041.4291 (WinBuild.160101.0800)
host.os.name
Windows 10 Pro
host.os.platform
windows
host.os.version
10.0
log.level
information
type
wineventlog
winlog.api
wineventlog
winlog.channel
Windows PowerShell
winlog.computer_name
maslov-o-pc.ferrumfox.corp
winlog.event_data.param1
Write-Host -ForegroundColor White "$($HeavyVertical)$(" " * 17)~~~ PrivescCheck Summary ~~~$(" " * 17)$($HeavyVertical)"
winlog.event_data.param2
DetailSequence=1
DetailTotal=1
SequenceNumber=244256
UserId=FERRUMFOX\maslov-o
HostName=ConsoleHost
HostVersion=5.1.19041.4291
HostId=caab5788-d9f9-4f40-956d-226e78d129dc
HostApplication=powershell -ep bypass
EngineVersion=5.1.19041.4291
RunspaceId=9ee7a641-1d35-49fa-af70-6bfa6a8bad42
PipelineId=74
ScriptName=
CommandLine= Write-Host -ForegroundColor White "$($HeavyVertical)$(" " * 17)~~~ PrivescCheck Summary ~~~$(" " * 17)$($HeavyVertical)"
winlog.event_data.param3
CommandInvocation(Write-Host): "Write-Host"
ParameterBinding(Write-Host): name="ForegroundColor"; value="White"
ParameterBinding(Write-Host): name="Object"; value="┃ ~~~ PrivescCheck Summary ~~~ ┃"
winlog.event_id
800
winlog.keywords
Classic
winlog.opcode
Info
winlog.provider_name
PowerShell
winlog.record_id
123,063
winlog.task
Pipeline Execution Details
Apr 17, 2024 @ 12:53:12.474
winlog.event_data.ScriptBlockText:
Invoke-PrivescCheck -Extended -Report PrivescCheck_$($env:COMPUTERNAME) -Format TXT,CSV,HTML,XML
event.original:
Creating Scriptblock text (1 of 1): Invoke-PrivescCheck -Extended -Report PrivescCheck_$($env:COMPUTERNAME) -Format TXT,CSV,HTML,XML ScriptBlock ID: 8cb22ec9-13dc-4900-a7a7-42c7e3f043fa Path:
type:
wineventlog
@timestamp:
Apr 17, 2024 @ 12:53:12.474
winlog.provider_name:
Microsoft-Windows-PowerShell
winlog.record_id:
1,807
winlog.channel:
Microsoft-Windows-PowerShell/Operational
winlog.event_data.ScriptBlockId:
8cb22ec9-13dc-4900-a7a7-42c7e3f043fa
winlog.event_data.MessageTotal:
1
winlog.event_data.MessageNumber:
1
winlog.computer_name:
maslov-o-pc.ferrumfox.corp
winlog.user.name:
maslov-o
winlog.user.identifier:
S-1-5-21-2213792943-3978625667-3641601853-1107
winlog.user.type:
User
winlog.user.domain:
FERRUMFOX
winlog.opcode:
On create calls
winlog.task:
Execute a Remote Command
winlog.provider_guid:
{a0c1853b-5c40-4b15-8766-3cf1c58f985a}
winlog.activity_id:
{eafc05f8-8ffa-0000-10d8-fceafa8fda01}
winlog.version:
1
winlog.api:
wineventlog
winlog.event_id:
4,104
winlog.process.thread.id:
2,996
winlog.process.pid:
2,340
log.level:
verbose
host.name:
maslov-o-pc.ferrumfox.corp
host.id:
47d68211-05ac-417f-b800-36a9b19f714b
host.hostname:
maslov-o-pc
host.architecture:
x86_64
host.ip:
10.181.21.46
host.os.platform:
windows
host.os.name:
Windows 10 Pro
host.os.version:
10.0
host.os.kernel:
10.0.19041.4291 (WinBuild.160101.0800)
host.os.build:
19045.4291
host.os.family:
windows
host.mac:
fa:16:3e:8a:ea:03
@version:
1
event.provider:
Microsoft-Windows-PowerShell
event.action:
Execute a Remote Command
event.kind:
event
event.created:
Apr 17, 2024 @ 12:53:13.031
event.code:
4,104
_id:
Zo8e7I4BjcmPCGzWUpLd
_type:
_doc
_index:
cyberpolygon-ferrumfox-win
_score:
-
Expanded document
View surrounding documents
View single document
@timestamp
Apr 17, 2024 @ 12:53:12.474
@version
1
_id
Zo8e7I4BjcmPCGzWUpLd
_index
cyberpolygon-ferrumfox-win
_score
-
_type
_doc
event.action
Execute a Remote Command
event.code
4,104
event.created
Apr 17, 2024 @ 12:53:13.031
event.kind
event
event.original
Creating Scriptblock text (1 of 1):
Invoke-PrivescCheck -Extended -Report PrivescCheck_$($env:COMPUTERNAME) -Format TXT,CSV,HTML,XML
ScriptBlock ID: 8cb22ec9-13dc-4900-a7a7-42c7e3f043fa
Path:
event.provider
Microsoft-Windows-PowerShell
host.architecture
x86_64
host.hostname
maslov-o-pc
host.id
47d68211-05ac-417f-b800-36a9b19f714b
host.ip
10.181.21.46
host.mac
fa:16:3e:8a:ea:03
host.name
maslov-o-pc.ferrumfox.corp
host.os.build
19045.4291
host.os.family
windows
host.os.kernel
10.0.19041.4291 (WinBuild.160101.0800)
host.os.name
Windows 10 Pro
host.os.platform
windows
host.os.version
10.0
log.level
verbose
type
wineventlog
winlog.activity_id
{eafc05f8-8ffa-0000-10d8-fceafa8fda01}
winlog.api
wineventlog
winlog.channel
Microsoft-Windows-PowerShell/Operational
winlog.computer_name
maslov-o-pc.ferrumfox.corp
winlog.event_data.MessageNumber
1
winlog.event_data.MessageTotal
1
winlog.event_data.ScriptBlockId
8cb22ec9-13dc-4900-a7a7-42c7e3f043fa
winlog.event_data.ScriptBlockText
Invoke-PrivescCheck -Extended -Report PrivescCheck_$($env:COMPUTERNAME) -Format TXT,CSV,HTML,XML
winlog.event_id
4,104
winlog.opcode
On create calls
winlog.process.pid
2,340
winlog.process.thread.id
2,996
winlog.provider_guid
{a0c1853b-5c40-4b15-8766-3cf1c58f985a}
winlog.provider_name
Microsoft-Windows-PowerShell
winlog.record_id
1,807
winlog.task
Execute a Remote Command
winlog.user.domain
FERRUMFOX
winlog.user.identifier
S-1-5-21-2213792943-3978625667-3641601853-1107
winlog.user.name
maslov-o
winlog.user.type
User
winlog.version
1
Apr 17, 2024 @ 12:52:46.078
winlog.event_data.ScriptBlockText:
default { Write-Warning "`nReport format not implemented: $($Format.ToUpper())`n" } } } } } end { if ((-not $Extended) -and (-not $Force) -and (-not $Silent)) { Write-Warning "To get more info, run this script with the option '-Extended'." } } } function Invoke-Check { [CmdletBinding()] param( [object] $Check ) $Check.Severity = $Check.Severity -as $SeverityLevelEnum $IsVulnerabilityCheck = $Check.Severity -ne $SeverityLevelEnum::None if ($IsVulnerabilityCheck) { $Result = Invoke-Expression -Command "$($Check.Command) -BaseSeverity $([UInt32] $Check.BaseSeverity)" $Check | Add-Member -MemberType "NoteProperty" -Name "ResultRaw" -Value $Result.Result if ($Check.Severity) { $Check.Severity = $Result.Severity } } else { $Result = Invoke-Expression -Command "$($Check.Command)" $Check | Add-Member -MemberType "NoteProperty" -Name "ResultRaw" -Value $Result } if ($Check.Format -eq "Table") { $Check | Add-Member -MemberType "NoteProperty" -Name "ResultRawString" -Value $($Check.ResultRaw | Format-Table | Out-String) } elseif ($Check.Format -eq "List") { $Check | Add-Member -MemberType "NoteProperty" -Name "ResultRawString" -Value $($Check.ResultRaw | Format-List | Out-String) } [void] $ResultArrayList.Add($Check) $Check } function Write-CheckBanner { [OutputType([string])] [CmdletBinding()] param( [object] $Check, [switch] $Ascii ) function Split-Description { param([string]$Description) $DescriptionSplit = New-Object System.Collections.ArrayList $TempOld = "" $TempNew = "" $Description.Split(' ') | ForEach-Object { $TempNew = "$($TempOld) $($_)".Trim() if ($TempNew.Length -gt 60) { [void]$DescriptionSplit.Add($TempOld) $TempOld = "$($_)" } else { $TempOld = $TempNew } } if ($TempOld) { [void]$DescriptionSplit.Add($TempOld) } $DescriptionSplit } $HeavyVertical = [char] $(if ($Ascii) { '|' } else { 0x2503 }) $HeavyHorizontal = [char] $(if ($Ascii) { '-' } else { 0x2501 }) $HeavyVerticalAndRight = [char] $(if ($Ascii) { '+' } else { 0x2523 }) $HeavyVerticalAndLeft = [char] $(if ($Ascii) { '+' } else { 0x252B }) $HeavyDownAndHorizontal = [char] $(if ($Ascii) { '+' } else { 0x2533 }) $HeavyUpAndHorizontal = [char] $(if ($Ascii) { '+' } else { 0x253B }) $HeavyDownAndLeft = [char] $(if ($Ascii) { '+' } else { 0x2513 }) $HeavyDownAndRight = [char] $(if ($Ascii) { '+' } else { 0x250F }) $HeavyUpAndRight = [char] $(if ($Ascii) { '+' } else { 0x2517 }) $HeavyUpAndLeft = [char] $(if ($Ascii) { '+' } else { 0x251B }) $Result = "" $Result += "$($HeavyDownAndRight)$("$HeavyHorizontal" * 10)$($HeavyDownAndHorizontal)$("$HeavyHorizontal" * 51)$($HeavyDownAndLeft)`n" $Result += "$($HeavyVertical) CATEGORY $($HeavyVertical) $($Check.Category)$(' ' * (49 - $Check.Category.Length)) $($HeavyVertical)`n" $Result += "$($HeavyVertical) NAME $($HeavyVertical) $($Check.DisplayName)$(' ' * (49 - $Check.DisplayName.Length)) $($HeavyVertical)`n" $Result += "$($HeavyVerticalAndRight)$("$HeavyHorizontal" * 10)$($HeavyUpAndHorizontal)$("$HeavyHorizontal" * 51)$($HeavyVerticalAndLeft)`n" Split-Description -Description $Check.Description | ForEach-Object { $Result += "$($HeavyVertical) $($_)$(' '*(60 - ([String]$_).Length)) $($HeavyVertical)`n" } $Result += "$($HeavyUpAndRight)$("$HeavyHorizontal" * 62)$($HeavyUpAndLeft)" $Result } function Write-CheckResult { [OutputType([string])] [CmdletBinding()] param( [object] $CheckResult ) $IsVulnerabilityCheck = $CheckResult.BaseSeverity -ne $SeverityLevelEnum::None $Severity = $(if ($CheckResult.Severity) { $CheckResult.Severity} else { $SeverityLevelEnum::None }) -as $SeverityLevelEnum $ResultOutput = "[*] Status:" if ($Severity -eq $SeverityLevelEnum::None) { $ResultOutput += " Informational" if ($IsVulnerabilityCheck) { $ResultOutput += " (not vulnerable)" } else { if (-not $CheckResult.ResultRaw) { $ResultOutput += " (nothing found)" } } } else { $ResultOutput += " Vulnerable - $($Severity)" } $ResultOutput += "`n" switch ($CheckResult.Format) { "Table" { $ResultOutput += $CheckResult.ResultRaw | Format-Table -AutoSize | Out-String } "List" { $ResultOutput += $CheckResult.ResultRaw | Format-List | Out-String } default { Write-Warning "Unknown format: $($CheckResult.Format)" } } $ResultOutput } function Write-TxtReport { [CmdletBinding()] param( [object[]] $AllResults ) $AllResults | ForEach-Object { Write-CheckBanner -Check $_ -Ascii Write-CheckResult -CheckResult $_ } } function Write-CsvReport { [CmdletBinding()] param( [object[]] $AllResults ) $AllResults | Sort-Object -Property "Category" | Select-Object Id,Category,DisplayName,Description,Severity,ResultRawString | ConvertTo-Csv -NoTypeInformation } function Write-XmlReport { [CmdletBinding()] param( [object[]] $AllResults ) $AuthorizedXmlCharactersRegex = "[^\x09\x0A\x0D\x20-\xD7FF\xE000-\xFFFD\x10000\x10FFFF]" $AllResults | ForEach-Object { $_.ResultRawString = [System.Text.RegularExpressions.Regex]::Replace($_.ResultRawString, $AuthorizedXmlCharactersRegex, "") $_ } | Sort-Object -Property "Category" | Select-Object Id,Category,DisplayName,Description,Severity,ResultRawString | ConvertTo-Xml -As String } function Write-HtmlReport { [OutputType([string])] [CmdletBinding()] param( [object[]] $AllResults ) $JavaScript = @" var cells = document.getElementsByTagName('td'); for (var i=0; i<cells.length; i++) { var bg_color = null; if (cells[i].innerHTML == "Low") { bg_color = "bg_blue"; } else if (cells[i].innerHTML == "Medium") { bg_color = "bg_orange"; } else if (cells[i].innerHTML == "High") { bg_color = "bg_red"; } else if (cells[i].innerHTML == "None") { bg_color = "bg_grey"; } if (bg_color) { cells[i].innerHTML = "<span class=\"label " + bg_color + "\">" + cells[i].innerHTML + "</span>"; } // If a cell is too large, we need to make it scrollable. But 'td' elements are not // scrollable so, we need make it a 'div' first and apply the 'scroll' (c.f. CSS) style to make // it scrollable. cells[i].innerHTML = "<div class=\"scroll\">" + cells[i].innerHTML + "</div>"; } "@ $Css = @" body { font: 1.2em normal Arial,sans-serif; } table { border-collapse: collapse; width: 100%; border: 2px solid grey; } th { color: white; background: grey; text-align: center; padding: 5px 0; } td { text-align: center; padding: 5px 5px 5px 5px; max-width: 800px; } tbody td:nth-child(3) { text-align: left; } /* Render output results with 'pre' style */ tbody td:nth-child(5) { white-space: pre; margin: 1em 0px; padding: .2rem .4rem; font-size: 87.5%; font-family: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; text-align: left; } tbody tr:nth-child(odd) { background: whitesmoke; } .scroll { max-height: 200px; max-width: 800px; overflow: auto; } .label { color: white; margin: 8px; padding: 6px; display: block; width: 60px; border-radius: 5px; } .bg_green { background-color: green; } .bg_blue { background-color: royalblue; } .bg_orange { background-color: orange; } .bg_red { background-color: red; } .bg_grey { background-color: grey; } "@ $Html = @" <html lang="en-US"> <title>PrivescCheck Report</title> <head> <style> $($Css) </style> </head> <body> BODY_TO_REPLACE <script> $($JavaScript) </script> </body> </html> "@ $TableHtml = $AllResults | Sort-Object -Property "Category" | ConvertTo-Html -Property "Category","DisplayName","Description","Severity","ResultRawString" -Fragment $Html = $Html.Replace("BODY_TO_REPLACE", $TableHtml) $Html } function Get-SeverityColor { param ( [UInt32] $Severity ) switch ($Severity -as $SeverityLevelEnum) { $SeverityLevelEnum::Low { "DarkCyan" } $SeverityLevelEnum::Medium { "DarkYellow" } $SeverityLevelEnum::High { "Red" } default { Write-Warning "Get-SeverityColor > Unhandled severity level: $($Severity)" } } } function Write-ShortReport { [CmdletBinding()] param() $HeavyVertical = [char] 0x2503 $HeavyHorizontal = [char] 0x2501 $HeavyDownAndLeft = [char] 0x2513 $HeavyDownAndRight = [char] 0x250F $HeavyUpAndRight = [char] 0x2517 $HeavyUpAndLeft = [char] 0x251B $RightwardsArrow = [char] 0x2192 Write-Host -ForegroundColor White "$($HeavyDownAndRight)$("$HeavyHorizontal" * 62)$($HeavyDownAndLeft)" Write-Host -ForegroundColor White "$($HeavyVertical)$(" " * 17)~~~ PrivescCheck Summary ~~~$(" " * 17)$($HeavyVertical)" Write-Host -ForegroundColor White "$($HeavyUpAndRight)$("$HeavyHorizontal" * 62)$($HeavyUpAndLeft)" $AllVulnerabilities = $ResultArrayList | Where-Object { $_.Severity -ne $SeverityLevelEnum::None } $Categories = $AllVulnerabilities | Select-Object -ExpandProperty "Category" | Sort-Object -Unique if ($null -eq $AllVulnerabilities) { Write-Host -ForegroundColor White "No vulnerability found!" return } foreach ($Category in $Categories) { $Vulnerabilities = $AllVulnerabilities | Where-Object { $_.Category -eq $Category } Write-Host -ForegroundColor White " $($Category)" foreach ($Vulnerability in $Vulnerabilities) { $SeverityColor = Get-SeverityColor -Severity $($Vulnerability.Severity -as $SeverityLevelEnum) Write-Host -NoNewline -ForegroundColor White " -" Write-Host -NoNewLine " $($Vulnerability.DisplayName) $($RightwardsArrow)" Write-Host -ForegroundColor $SeverityColor " $($Vulnerability.Severity -as $SeverityLevelEnum)" } } Write-Host "" }
event.original:
Creating Scriptblock text (3 of 3): default { Write-Warning "`nReport format not implemented: $($Format.ToUpper())`n" } } } } } end { if ((-not $Extended) -and (-not $Force) -and (-not $Silent)) { Write-Warning "To get more info, run this script with the option '-Extended'." } } } function Invoke-Check { [CmdletBinding()] param( [object] $Check ) $Check.Severity = $Check.Severity -as $SeverityLevelEnum $IsVulnerabilityCheck = $Check.Severity -ne $SeverityLevelEnum::None if ($IsVulnerabilityCheck) { $Result = Invoke-Expression -Command "$($Check.Command) -BaseSeverity $([UInt32] $Check.BaseSeverity)" $Check | Add-Member -MemberType "NoteProperty" -Name "ResultRaw" -Value $Result.Result if ($Check.Severity) { $Check.Severity = $Result.Severity } } else { $Result = Invoke-Expression -Command "$($Check.Command)" $Check | Add-Member -MemberType "NoteProperty" -Name "ResultRaw" -Value $Result } if ($Check.Format -eq "Table") { $Check | Add-Member -MemberType "NoteProperty" -Name "ResultRawString" -Value $($Check.ResultRaw | Format-Table | Out-String) } elseif ($Check.Format -eq "List") { $Check | Add-Member -MemberType "NoteProperty" -Name "ResultRawString" -Value $($Check.ResultRaw | Format-List | Out-String) } [void] $ResultArrayList.Add($Check) $Check } function Write-CheckBanner { [OutputType([string])] [CmdletBinding()] param( [object] $Check, [switch] $Ascii ) function Split-Description { param([string]$Description) $DescriptionSplit = New-Object System.Collections.ArrayList $TempOld = "" $TempNew = "" $Description.Split(' ') | ForEach-Object { $TempNew = "$($TempOld) $($_)".Trim() if ($TempNew.Length -gt 60) { [void]$DescriptionSplit.Add($TempOld) $TempOld = "$($_)" } else { $TempOld = $TempNew } } if ($TempOld) { [void]$DescriptionSplit.Add($TempOld) } $DescriptionSplit } $HeavyVertical = [char] $(if ($Ascii) { '|' } else { 0x2503 }) $HeavyHorizontal = [char] $(if ($Ascii) { '-' } else { 0x2501 }) $HeavyVerticalAndRight = [char] $(if ($Ascii) { '+' } else { 0x2523 }) $HeavyVerticalAndLeft = [char] $(if ($Ascii) { '+' } else { 0x252B }) $HeavyDownAndHorizontal = [char] $(if ($Ascii) { '+' } else { 0x2533 }) $HeavyUpAndHorizontal = [char] $(if ($Ascii) { '+' } else { 0x253B }) $HeavyDownAndLeft = [char] $(if ($Ascii) { '+' } else { 0x2513 }) $HeavyDownAndRight = [char] $(if ($Ascii) { '+' } else { 0x250F }) $HeavyUpAndRight = [char] $(if ($Ascii) { '+' } else { 0x2517 }) $HeavyUpAndLeft = [char] $(if ($Ascii) { '+' } else { 0x251B }) $Result = "" $Result += "$($HeavyDownAndRight)$("$HeavyHorizontal" * 10)$($HeavyDownAndHorizontal)$("$HeavyHorizontal" * 51)$($HeavyDownAndLeft)`n" $Result += "$($HeavyVertical) CATEGORY $($HeavyVertical) $($Check.Category)$(' ' * (49 - $Check.Category.Length)) $($HeavyVertical)`n" $Result += "$($HeavyVertical) NAME $($HeavyVertical) $($Check.DisplayName)$(' ' * (49 - $Check.DisplayName.Length)) $($HeavyVertical)`n" $Result += "$($HeavyVerticalAndRight)$("$HeavyHorizontal" * 10)$($HeavyUpAndHorizontal)$("$HeavyHorizontal" * 51)$($HeavyVerticalAndLeft)`n" Split-Description -Description $Check.Description | ForEach-Object { $Result += "$($HeavyVertical) $($_)$(' '*(60 - ([String]$_).Length)) $($HeavyVertical)`n" } $Result += "$($HeavyUpAndRight)$("$HeavyHorizontal" * 62)$($HeavyUpAndLeft)" $Result } function Write-CheckResult { [OutputType([string])] [CmdletBinding()] param( [object] $CheckResult ) $IsVulnerabilityCheck = $CheckResult.BaseSeverity -ne $SeverityLevelEnum::None $Severity = $(if ($CheckResult.Severity) { $CheckResult.Severity} else { $SeverityLevelEnum::None }) -as $SeverityLevelEnum $ResultOutput = "[*] Status:" if ($Severity -eq $SeverityLevelEnum::None) { $ResultOutput += " Informational" if ($IsVulnerabilityCheck) { $ResultOutput += " (not vulnerable)" } else { if (-not $CheckResult.ResultRaw) { $ResultOutput += " (nothing found)" } } } else { $ResultOutput += " Vulnerable - $($Severity)" } $ResultOutput += "`n" switch ($CheckResult.Format) { "Table" { $ResultOutput += $CheckResult.ResultRaw | Format-Table -AutoSize | Out-String } "List" { $ResultOutput += $CheckResult.ResultRaw | Format-List | Out-String } default { Write-Warning "Unknown format: $($CheckResult.Format)" } } $ResultOutput } function Write-TxtReport { [CmdletBinding()] param( [object[]] $AllResults ) $AllResults | ForEach-Object { Write-CheckBanner -Check $_ -Ascii Write-CheckResult -CheckResult $_ } } function Write-CsvReport { [CmdletBinding()] param( [object[]] $AllResults ) $AllResults | Sort-Object -Property "Category" | Select-Object Id,Category,DisplayName,Description,Severity,ResultRawString | ConvertTo-Csv -NoTypeInformation } function Write-XmlReport { [CmdletBinding()] param( [object[]] $AllResults ) $AuthorizedXmlCharactersRegex = "[^\x09\x0A\x0D\x20-\xD7FF\xE000-\xFFFD\x10000\x10FFFF]" $AllResults | ForEach-Object { $_.ResultRawString = [System.Text.RegularExpressions.Regex]::Replace($_.ResultRawString, $AuthorizedXmlCharactersRegex, "") $_ } | Sort-Object -Property "Category" | Select-Object Id,Category,DisplayName,Description,Severity,ResultRawString | ConvertTo-Xml -As String } function Write-HtmlReport { [OutputType([string])] [CmdletBinding()] param( [object[]] $AllResults ) $JavaScript = @" var cells = document.getElementsByTagName('td'); for (var i=0; i<cells.length; i++) { var bg_color = null; if (cells[i].innerHTML == "Low") { bg_color = "bg_blue"; } else if (cells[i].innerHTML == "Medium") { bg_color = "bg_orange"; } else if (cells[i].innerHTML == "High") { bg_color = "bg_red"; } else if (cells[i].innerHTML == "None") { bg_color = "bg_grey"; } if (bg_color) { cells[i].innerHTML = "<span class=\"label " + bg_color + "\">" + cells[i].innerHTML + "</span>"; } // If a cell is too large, we need to make it scrollable. But 'td' elements are not // scrollable so, we need make it a 'div' first and apply the 'scroll' (c.f. CSS) style to make // it scrollable. cells[i].innerHTML = "<div class=\"scroll\">" + cells[i].innerHTML + "</div>"; } "@ $Css = @" body { font: 1.2em normal Arial,sans-serif; } table { border-collapse: collapse; width: 100%; border: 2px solid grey; } th { color: white; background: grey; text-align: center; padding: 5px 0; } td { text-align: center; padding: 5px 5px 5px 5px; max-width: 800px; } tbody td:nth-child(3) { text-align: left; } /* Render output results with 'pre' style */ tbody td:nth-child(5) { white-space: pre; margin: 1em 0px; padding: .2rem .4rem; font-size: 87.5%; font-family: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; text-align: left; } tbody tr:nth-child(odd) { background: whitesmoke; } .scroll { max-height: 200px; max-width: 800px; overflow: auto; } .label { color: white; margin: 8px; padding: 6px; display: block; width: 60px; border-radius: 5px; } .bg_green { background-color: green; } .bg_blue { background-color: royalblue; } .bg_orange { background-color: orange; } .bg_red { background-color: red; } .bg_grey { background-color: grey; } "@ $Html = @" <html lang="en-US"> <title>PrivescCheck Report</title> <head> <style> $($Css) </style> </head> <body> BODY_TO_REPLACE <script> $($JavaScript) </script> </body> </html> "@ $TableHtml = $AllResults | Sort-Object -Property "Category" | ConvertTo-Html -Property "Category","DisplayName","Description","Severity","ResultRawString" -Fragment $Html = $Html.Replace("BODY_TO_REPLACE", $TableHtml) $Html } function Get-SeverityColor { param ( [UInt32] $Severity ) switch ($Severity -as $SeverityLevelEnum) { $SeverityLevelEnum::Low { "DarkCyan" } $SeverityLevelEnum::Medium { "DarkYellow" } $SeverityLevelEnum::High { "Red" } default { Write-Warning "Get-SeverityColor > Unhandled severity level: $($Severity)" } } } function Write-ShortReport { [CmdletBinding()] param() $HeavyVertical = [char] 0x2503 $HeavyHorizontal = [char] 0x2501 $HeavyDownAndLeft = [char] 0x2513 $HeavyDownAndRight = [char] 0x250F $HeavyUpAndRight = [char] 0x2517 $HeavyUpAndLeft = [char] 0x251B $RightwardsArrow = [char] 0x2192 Write-Host -ForegroundColor White "$($HeavyDownAndRight)$("$HeavyHorizontal" * 62)$($HeavyDownAndLeft)" Write-Host -ForegroundColor White "$($HeavyVertical)$(" " * 17)~~~ PrivescCheck Summary ~~~$(" " * 17)$($HeavyVertical)" Write-Host -ForegroundColor White "$($HeavyUpAndRight)$("$HeavyHorizontal" * 62)$($HeavyUpAndLeft)" $AllVulnerabilities = $ResultArrayList | Where-Object { $_.Severity -ne $SeverityLevelEnum::None } $Categories = $AllVulnerabilities | Select-Object -ExpandProperty "Category" | Sort-Object -Unique if ($null -eq $AllVulnerabilities) { Write-Host -ForegroundColor White "No vulnerability found!" return } foreach ($Category in $Categories) { $Vulnerabilities = $AllVulnerabilities | Where-Object { $_.Category -eq $Category } Write-Host -ForegroundColor White " $($Category)" foreach ($Vulnerability in $Vulnerabilities) { $SeverityColor = Get-SeverityColor -Severity $($Vulnerability.Severity -as $SeverityLevelEnum) Write-Host -NoNewline -ForegroundColor White " -" Write-Host -NoNewLine " $($Vulnerability.DisplayName) $($RightwardsArrow)" Write-Host -ForegroundColor $SeverityColor " $($Vulnerability.Severity -as $SeverityLevelEnum)" } } Write-Host "" } ScriptBlock ID: 2d27b53a-8cab-4a94-9d96-32263cc3b8dc Path:
type:
wineventlog
@timestamp:
Apr 17, 2024 @ 12:52:46.078
winlog.provider_name:
Microsoft-Windows-PowerShell
winlog.channel:
Microsoft-Windows-PowerShell/Operational
winlog.record_id:
1,692
winlog.computer_name:
maslov-o-pc.ferrumfox.corp
winlog.provider_guid:
{a0c1853b-5c40-4b15-8766-3cf1c58f985a}
winlog.event_data.ScriptBlockId:
2d27b53a-8cab-4a94-9d96-32263cc3b8dc
winlog.event_data.MessageTotal:
3
winlog.event_data.MessageNumber:
3
winlog.user.name:
maslov-o
winlog.user.type:
User
winlog.user.identifier:
S-1-5-21-2213792943-3978625667-3641601853-1107
winlog.user.domain:
FERRUMFOX
winlog.task:
Execute a Remote Command
winlog.opcode:
On create calls
winlog.activity_id:
{eafc05f8-8ffa-0001-34d2-fceafa8fda01}
winlog.version:
1
winlog.api:
wineventlog
winlog.event_id:
4,104
winlog.process.thread.id:
2,996
winlog.process.pid:
2,340
log.level:
warning
host.name:
maslov-o-pc.ferrumfox.corp
host.id:
47d68211-05ac-417f-b800-36a9b19f714b
host.hostname:
maslov-o-pc
host.architecture:
x86_64
host.ip:
10.181.21.46
host.os.name:
Windows 10 Pro
host.os.platform:
windows
host.os.version:
10.0
host.os.kernel:
10.0.19041.4291 (WinBuild.160101.0800)
host.os.build:
19045.4291
host.os.family:
windows
host.mac:
fa:16:3e:8a:ea:03
@version:
1
event.provider:
Microsoft-Windows-PowerShell
event.action:
Execute a Remote Command
event.kind:
event
event.created:
Apr 17, 2024 @ 12:52:46.676
event.code:
4,104
_id:
k48d7I4BjcmPCGzW7JFb
_type:
_doc
_index:
cyberpolygon-ferrumfox-win
_score:
-
Expanded document
View surrounding documents
View single document
@timestamp
Apr 17, 2024 @ 12:52:46.078
@version
1
_id
k48d7I4BjcmPCGzW7JFb
_index
cyberpolygon-ferrumfox-win
_score
-
_type
_doc
event.action
Execute a Remote Command
event.code
4,104
event.created
Apr 17, 2024 @ 12:52:46.676
event.kind
event
event.original
Creating Scriptblock text (3 of 3):
default { Write-Warning "`nReport format not implemented: $($Format.ToUpper())`n" }
}
}
}
}
end {
if ((-not $Extended) -and (-not $Force) -and (-not $Silent)) {
Write-Warning "To get more info, run this script with the option '-Extended'."
}
}
}
function Invoke-Check {
[CmdletBinding()] param(
[object] $Check
)
$Check.Severity = $Check.Severity -as $SeverityLevelEnum
$IsVulnerabilityCheck = $Check.Severity -ne $SeverityLevelEnum::None
if ($IsVulnerabilityCheck) {
$Result = Invoke-Expression -Command "$($Check.Command) -BaseSeverity $([UInt32] $Check.BaseSeverity)"
$Check | Add-Member -MemberType "NoteProperty" -Name "ResultRaw" -Value $Result.Result
if ($Check.Severity) { $Check.Severity = $Result.Severity }
}
else {
$Result = Invoke-Expression -Command "$($Check.Command)"
$Check | Add-Member -MemberType "NoteProperty" -Name "ResultRaw" -Value $Result
}
if ($Check.Format -eq "Table") {
$Check | Add-Member -MemberType "NoteProperty" -Name "ResultRawString" -Value $($Check.ResultRaw | Format-Table | Out-String)
}
elseif ($Check.Format -eq "List") {
$Check | Add-Member -MemberType "NoteProperty" -Name "ResultRawString" -Value $($Check.ResultRaw | Format-List | Out-String)
}
[void] $ResultArrayList.Add($Check)
$Check
}
function Write-CheckBanner {
[OutputType([string])]
[CmdletBinding()] param(
[object] $Check,
[switch] $Ascii
)
function Split-Description {
param([string]$Description)
$DescriptionSplit = New-Object System.Collections.ArrayList
$TempOld = ""
$TempNew = ""
$Description.Split(' ') | ForEach-Object {
$TempNew = "$($TempOld) $($_)".Trim()
if ($TempNew.Length -gt 60) {
[void]$DescriptionSplit.Add($TempOld)
$TempOld = "$($_)"
}
else {
$TempOld = $TempNew
}
}
if ($TempOld) {
[void]$DescriptionSplit.Add($TempOld)
}
$DescriptionSplit
}
$HeavyVertical = [char] $(if ($Ascii) { '|' } else { 0x2503 })
$HeavyHorizontal = [char] $(if ($Ascii) { '-' } else { 0x2501 })
$HeavyVerticalAndRight = [char] $(if ($Ascii) { '+' } else { 0x2523 })
$HeavyVerticalAndLeft = [char] $(if ($Ascii) { '+' } else { 0x252B })
$HeavyDownAndHorizontal = [char] $(if ($Ascii) { '+' } else { 0x2533 })
$HeavyUpAndHorizontal = [char] $(if ($Ascii) { '+' } else { 0x253B })
$HeavyDownAndLeft = [char] $(if ($Ascii) { '+' } else { 0x2513 })
$HeavyDownAndRight = [char] $(if ($Ascii) { '+' } else { 0x250F })
$HeavyUpAndRight = [char] $(if ($Ascii) { '+' } else { 0x2517 })
$HeavyUpAndLeft = [char] $(if ($Ascii) { '+' } else { 0x251B })
$Result = ""
$Result += "$($HeavyDownAndRight)$("$HeavyHorizontal" * 10)$($HeavyDownAndHorizontal)$("$HeavyHorizontal" * 51)$($HeavyDownAndLeft)`n"
$Result += "$($HeavyVertical) CATEGORY $($HeavyVertical) $($Check.Category)$(' ' * (49 - $Check.Category.Length)) $($HeavyVertical)`n"
$Result += "$($HeavyVertical) NAME $($HeavyVertical) $($Check.DisplayName)$(' ' * (49 - $Check.DisplayName.Length)) $($HeavyVertical)`n"
$Result += "$($HeavyVerticalAndRight)$("$HeavyHorizontal" * 10)$($HeavyUpAndHorizontal)$("$HeavyHorizontal" * 51)$($HeavyVerticalAndLeft)`n"
Split-Description -Description $Check.Description | ForEach-Object {
$Result += "$($HeavyVertical) $($_)$(' '*(60 - ([String]$_).Length)) $($HeavyVertical)`n"
}
$Result += "$($HeavyUpAndRight)$("$HeavyHorizontal" * 62)$($HeavyUpAndLeft)"
$Result
}
function Write-CheckResult {
[OutputType([string])]
[CmdletBinding()] param(
[object] $CheckResult
)
$IsVulnerabilityCheck = $CheckResult.BaseSeverity -ne $SeverityLevelEnum::None
$Severity = $(if ($CheckResult.Severity) { $CheckResult.Severity} else { $SeverityLevelEnum::None }) -as $SeverityLevelEnum
$ResultOutput = "[*] Status:"
if ($Severity -eq $SeverityLevelEnum::None) {
$ResultOutput += " Informational"
if ($IsVulnerabilityCheck) {
$ResultOutput += " (not vulnerable)"
}
else {
if (-not $CheckResult.ResultRaw) {
$ResultOutput += " (nothing found)"
}
}
}
else {
$ResultOutput += " Vulnerable - $($Severity)"
}
$ResultOutput += "`n"
switch ($CheckResult.Format) {
"Table" { $ResultOutput += $CheckResult.ResultRaw | Format-Table -AutoSize | Out-String }
"List" { $ResultOutput += $CheckResult.ResultRaw | Format-List | Out-String }
default { Write-Warning "Unknown format: $($CheckResult.Format)" }
}
$ResultOutput
}
function Write-TxtReport {
[CmdletBinding()] param(
[object[]] $AllResults
)
$AllResults | ForEach-Object {
Write-CheckBanner -Check $_ -Ascii
Write-CheckResult -CheckResult $_
}
}
function Write-CsvReport {
[CmdletBinding()] param(
[object[]] $AllResults
)
$AllResults | Sort-Object -Property "Category" | Select-Object Id,Category,DisplayName,Description,Severity,ResultRawString | ConvertTo-Csv -NoTypeInformation
}
function Write-XmlReport {
[CmdletBinding()] param(
[object[]] $AllResults
)
$AuthorizedXmlCharactersRegex = "[^\x09\x0A\x0D\x20-\xD7FF\xE000-\xFFFD\x10000\x10FFFF]"
$AllResults | ForEach-Object {
$_.ResultRawString = [System.Text.RegularExpressions.Regex]::Replace($_.ResultRawString, $AuthorizedXmlCharactersRegex, "")
$_
} | Sort-Object -Property "Category" | Select-Object Id,Category,DisplayName,Description,Severity,ResultRawString | ConvertTo-Xml -As String
}
function Write-HtmlReport {
[OutputType([string])]
[CmdletBinding()] param(
[object[]] $AllResults
)
$JavaScript = @"
var cells = document.getElementsByTagName('td');
for (var i=0; i<cells.length; i++) {
var bg_color = null;
if (cells[i].innerHTML == "Low") {
bg_color = "bg_blue";
} else if (cells[i].innerHTML == "Medium") {
bg_color = "bg_orange";
} else if (cells[i].innerHTML == "High") {
bg_color = "bg_red";
} else if (cells[i].innerHTML == "None") {
bg_color = "bg_grey";
}
if (bg_color) {
cells[i].innerHTML = "<span class=\"label " + bg_color + "\">" + cells[i].innerHTML + "</span>";
}
// If a cell is too large, we need to make it scrollable. But 'td' elements are not
// scrollable so, we need make it a 'div' first and apply the 'scroll' (c.f. CSS) style to make
// it scrollable.
cells[i].innerHTML = "<div class=\"scroll\">" + cells[i].innerHTML + "</div>";
}
"@
$Css = @"
body {
font: 1.2em normal Arial,sans-serif;
}
table {
border-collapse: collapse;
width: 100%;
border: 2px solid grey;
}
th {
color: white;
background: grey;
text-align: center;
padding: 5px 0;
}
td {
text-align: center;
padding: 5px 5px 5px 5px;
max-width: 800px;
}
tbody td:nth-child(3) {
text-align: left;
}
/* Render output results with 'pre' style */
tbody td:nth-child(5) {
white-space: pre;
margin: 1em 0px;
padding: .2rem .4rem;
font-size: 87.5%;
font-family: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
text-align: left;
}
tbody tr:nth-child(odd) {
background: whitesmoke;
}
.scroll {
max-height: 200px;
max-width: 800px;
overflow: auto;
}
.label {
color: white;
margin: 8px;
padding: 6px;
display: block;
width: 60px;
border-radius: 5px;
}
.bg_green { background-color: green; }
.bg_blue { background-color: royalblue; }
.bg_orange { background-color: orange; }
.bg_red { background-color: red; }
.bg_grey { background-color: grey; }
"@
$Html = @"
<html lang="en-US">
<title>PrivescCheck Report</title>
<head>
<style>
$($Css)
</style>
</head>
<body>
BODY_TO_REPLACE
<script>
$($JavaScript)
</script>
</body>
</html>
"@
$TableHtml = $AllResults | Sort-Object -Property "Category" | ConvertTo-Html -Property "Category","DisplayName","Description","Severity","ResultRawString" -Fragment
$Html = $Html.Replace("BODY_TO_REPLACE", $TableHtml)
$Html
}
function Get-SeverityColor {
param (
[UInt32] $Severity
)
switch ($Severity -as $SeverityLevelEnum) {
$SeverityLevelEnum::Low { "DarkCyan" }
$SeverityLevelEnum::Medium { "DarkYellow" }
$SeverityLevelEnum::High { "Red" }
default { Write-Warning "Get-SeverityColor > Unhandled severity level: $($Severity)" }
}
}
function Write-ShortReport {
[CmdletBinding()] param()
$HeavyVertical = [char] 0x2503
$HeavyHorizontal = [char] 0x2501
$HeavyDownAndLeft = [char] 0x2513
$HeavyDownAndRight = [char] 0x250F
$HeavyUpAndRight = [char] 0x2517
$HeavyUpAndLeft = [char] 0x251B
$RightwardsArrow = [char] 0x2192
Write-Host -ForegroundColor White "$($HeavyDownAndRight)$("$HeavyHorizontal" * 62)$($HeavyDownAndLeft)"
Write-Host -ForegroundColor White "$($HeavyVertical)$(" " * 17)~~~ PrivescCheck Summary ~~~$(" " * 17)$($HeavyVertical)"
Write-Host -ForegroundColor White "$($HeavyUpAndRight)$("$HeavyHorizontal" * 62)$($HeavyUpAndLeft)"
$AllVulnerabilities = $ResultArrayList | Where-Object { $_.Severity -ne $SeverityLevelEnum::None }
$Categories = $AllVulnerabilities | Select-Object -ExpandProperty "Category" | Sort-Object -Unique
if ($null -eq $AllVulnerabilities) {
Write-Host -ForegroundColor White "No vulnerability found!"
return
}
foreach ($Category in $Categories) {
$Vulnerabilities = $AllVulnerabilities | Where-Object { $_.Category -eq $Category }
Write-Host -ForegroundColor White " $($Category)"
foreach ($Vulnerability in $Vulnerabilities) {
$SeverityColor = Get-SeverityColor -Severity $($Vulnerability.Severity -as $SeverityLevelEnum)
Write-Host -NoNewline -ForegroundColor White " -"
Write-Host -NoNewLine " $($Vulnerability.DisplayName) $($RightwardsArrow)"
Write-Host -ForegroundColor $SeverityColor " $($Vulnerability.Severity -as $SeverityLevelEnum)"
}
}
Write-Host ""
}
ScriptBlock ID: 2d27b53a-8cab-4a94-9d96-32263cc3b8dc
Path:
event.provider
Microsoft-Windows-PowerShell
host.architecture
x86_64
host.hostname
maslov-o-pc
host.id
47d68211-05ac-417f-b800-36a9b19f714b
host.ip
10.181.21.46
host.mac
fa:16:3e:8a:ea:03
host.name
maslov-o-pc.ferrumfox.corp
host.os.build
19045.4291
host.os.family
windows
host.os.kernel
10.0.19041.4291 (WinBuild.160101.0800)
host.os.name
Windows 10 Pro
host.os.platform
windows
host.os.version
10.0
log.level
warning
type
wineventlog
winlog.activity_id
{eafc05f8-8ffa-0001-34d2-fceafa8fda01}
winlog.api
wineventlog
winlog.channel
Microsoft-Windows-PowerShell/Operational
winlog.computer_name
maslov-o-pc.ferrumfox.corp
winlog.event_data.MessageNumber
3
winlog.event_data.MessageTotal
3
winlog.event_data.ScriptBlockId
2d27b53a-8cab-4a94-9d96-32263cc3b8dc
winlog.event_data.ScriptBlockText
default { Write-Warning "`nReport format not implemented: $($Format.ToUpper())`n" }
}
}
}
}
end {
if ((-not $Extended) -and (-not $Force) -and (-not $Silent)) {
Write-Warning "To get more info, run this script with the option '-Extended'."
}
}
}
function Invoke-Check {
[CmdletBinding()] param(
[object] $Check
)
$Check.Severity = $Check.Severity -as $SeverityLevelEnum
$IsVulnerabilityCheck = $Check.Severity -ne $SeverityLevelEnum::None
if ($IsVulnerabilityCheck) {
$Result = Invoke-Expression -Command "$($Check.Command) -BaseSeverity $([UInt32] $Check.BaseSeverity)"
$Check | Add-Member -MemberType "NoteProperty" -Name "ResultRaw" -Value $Result.Result
if ($Check.Severity) { $Check.Severity = $Result.Severity }
}
else {
$Result = Invoke-Expression -Command "$($Check.Command)"
$Check | Add-Member -MemberType "NoteProperty" -Name "ResultRaw" -Value $Result
}
if ($Check.Format -eq "Table") {
$Check | Add-Member -MemberType "NoteProperty" -Name "ResultRawString" -Value $($Check.ResultRaw | Format-Table | Out-String)
}
elseif ($Check.Format -eq "List") {
$Check | Add-Member -MemberType "NoteProperty" -Name "ResultRawString" -Value $($Check.ResultRaw | Format-List | Out-String)
}
[void] $ResultArrayList.Add($Check)
$Check
}
function Write-CheckBanner {
[OutputType([string])]
[CmdletBinding()] param(
[object] $Check,
[switch] $Ascii
)
function Split-Description {
param([string]$Description)
$DescriptionSplit = New-Object System.Collections.ArrayList
$TempOld = ""
$TempNew = ""
$Description.Split(' ') | ForEach-Object {
$TempNew = "$($TempOld) $($_)".Trim()
if ($TempNew.Length -gt 60) {
[void]$DescriptionSplit.Add($TempOld)
$TempOld = "$($_)"
}
else {
$TempOld = $TempNew
}
}
if ($TempOld) {
[void]$DescriptionSplit.Add($TempOld)
}
$DescriptionSplit
}
$HeavyVertical = [char] $(if ($Ascii) { '|' } else { 0x2503 })
$HeavyHorizontal = [char] $(if ($Ascii) { '-' } else { 0x2501 })
$HeavyVerticalAndRight = [char] $(if ($Ascii) { '+' } else { 0x2523 })
$HeavyVerticalAndLeft = [char] $(if ($Ascii) { '+' } else { 0x252B })
$HeavyDownAndHorizontal = [char] $(if ($Ascii) { '+' } else { 0x2533 })
$HeavyUpAndHorizontal = [char] $(if ($Ascii) { '+' } else { 0x253B })
$HeavyDownAndLeft = [char] $(if ($Ascii) { '+' } else { 0x2513 })
$HeavyDownAndRight = [char] $(if ($Ascii) { '+' } else { 0x250F })
$HeavyUpAndRight = [char] $(if ($Ascii) { '+' } else { 0x2517 })
$HeavyUpAndLeft = [char] $(if ($Ascii) { '+' } else { 0x251B })
$Result = ""
$Result += "$($HeavyDownAndRight)$("$HeavyHorizontal" * 10)$($HeavyDownAndHorizontal)$("$HeavyHorizontal" * 51)$($HeavyDownAndLeft)`n"
$Result += "$($HeavyVertical) CATEGORY $($HeavyVertical) $($Check.Category)$(' ' * (49 - $Check.Category.Length)) $($HeavyVertical)`n"
$Result += "$($HeavyVertical) NAME $($HeavyVertical) $($Check.DisplayName)$(' ' * (49 - $Check.DisplayName.Length)) $($HeavyVertical)`n"
$Result += "$($HeavyVerticalAndRight)$("$HeavyHorizontal" * 10)$($HeavyUpAndHorizontal)$("$HeavyHorizontal" * 51)$($HeavyVerticalAndLeft)`n"
Split-Description -Description $Check.Description | ForEach-Object {
$Result += "$($HeavyVertical) $($_)$(' '*(60 - ([String]$_).Length)) $($HeavyVertical)`n"
}
$Result += "$($HeavyUpAndRight)$("$HeavyHorizontal" * 62)$($HeavyUpAndLeft)"
$Result
}
function Write-CheckResult {
[OutputType([string])]
[CmdletBinding()] param(
[object] $CheckResult
)
$IsVulnerabilityCheck = $CheckResult.BaseSeverity -ne $SeverityLevelEnum::None
$Severity = $(if ($CheckResult.Severity) { $CheckResult.Severity} else { $SeverityLevelEnum::None }) -as $SeverityLevelEnum
$ResultOutput = "[*] Status:"
if ($Severity -eq $SeverityLevelEnum::None) {
$ResultOutput += " Informational"
if ($IsVulnerabilityCheck) {
$ResultOutput += " (not vulnerable)"
}
else {
if (-not $CheckResult.ResultRaw) {
$ResultOutput += " (nothing found)"
}
}
}
else {
$ResultOutput += " Vulnerable - $($Severity)"
}
$ResultOutput += "`n"
switch ($CheckResult.Format) {
"Table" { $ResultOutput += $CheckResult.ResultRaw | Format-Table -AutoSize | Out-String }
"List" { $ResultOutput += $CheckResult.ResultRaw | Format-List | Out-String }
default { Write-Warning "Unknown format: $($CheckResult.Format)" }
}
$ResultOutput
}
function Write-TxtReport {
[CmdletBinding()] param(
[object[]] $AllResults
)
$AllResults | ForEach-Object {
Write-CheckBanner -Check $_ -Ascii
Write-CheckResult -CheckResult $_
}
}
function Write-CsvReport {
[CmdletBinding()] param(
[object[]] $AllResults
)
$AllResults | Sort-Object -Property "Category" | Select-Object Id,Category,DisplayName,Description,Severity,ResultRawString | ConvertTo-Csv -NoTypeInformation
}
function Write-XmlReport {
[CmdletBinding()] param(
[object[]] $AllResults
)
$AuthorizedXmlCharactersRegex = "[^\x09\x0A\x0D\x20-\xD7FF\xE000-\xFFFD\x10000\x10FFFF]"
$AllResults | ForEach-Object {
$_.ResultRawString = [System.Text.RegularExpressions.Regex]::Replace($_.ResultRawString, $AuthorizedXmlCharactersRegex, "")
$_
} | Sort-Object -Property "Category" | Select-Object Id,Category,DisplayName,Description,Severity,ResultRawString | ConvertTo-Xml -As String
}
function Write-HtmlReport {
[OutputType([string])]
[CmdletBinding()] param(
[object[]] $AllResults
)
$JavaScript = @"
var cells = document.getElementsByTagName('td');
for (var i=0; i<cells.length; i++) {
var bg_color = null;
if (cells[i].innerHTML == "Low") {
bg_color = "bg_blue";
} else if (cells[i].innerHTML == "Medium") {
bg_color = "bg_orange";
} else if (cells[i].innerHTML == "High") {
bg_color = "bg_red";
} else if (cells[i].innerHTML == "None") {
bg_color = "bg_grey";
}
if (bg_color) {
cells[i].innerHTML = "<span class=\"label " + bg_color + "\">" + cells[i].innerHTML + "</span>";
}
// If a cell is too large, we need to make it scrollable. But 'td' elements are not
// scrollable so, we need make it a 'div' first and apply the 'scroll' (c.f. CSS) style to make
// it scrollable.
cells[i].innerHTML = "<div class=\"scroll\">" + cells[i].innerHTML + "</div>";
}
"@
$Css = @"
body {
font: 1.2em normal Arial,sans-serif;
}
table {
border-collapse: collapse;
width: 100%;
border: 2px solid grey;
}
th {
color: white;
background: grey;
text-align: center;
padding: 5px 0;
}
td {
text-align: center;
padding: 5px 5px 5px 5px;
max-width: 800px;
}
tbody td:nth-child(3) {
text-align: left;
}
/* Render output results with 'pre' style */
tbody td:nth-child(5) {
white-space: pre;
margin: 1em 0px;
padding: .2rem .4rem;
font-size: 87.5%;
font-family: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
text-align: left;
}
tbody tr:nth-child(odd) {
background: whitesmoke;
}
.scroll {
max-height: 200px;
max-width: 800px;
overflow: auto;
}
.label {
color: white;
margin: 8px;
padding: 6px;
display: block;
width: 60px;
border-radius: 5px;
}
.bg_green { background-color: green; }
.bg_blue { background-color: royalblue; }
.bg_orange { background-color: orange; }
.bg_red { background-color: red; }
.bg_grey { background-color: grey; }
"@
$Html = @"
<html lang="en-US">
<title>PrivescCheck Report</title>
<head>
<style>
$($Css)
</style>
</head>
<body>
BODY_TO_REPLACE
<script>
$($JavaScript)
</script>
</body>
</html>
"@
$TableHtml = $AllResults | Sort-Object -Property "Category" | ConvertTo-Html -Property "Category","DisplayName","Description","Severity","ResultRawString" -Fragment
$Html = $Html.Replace("BODY_TO_REPLACE", $TableHtml)
$Html
}
function Get-SeverityColor {
param (
[UInt32] $Severity
)
switch ($Severity -as $SeverityLevelEnum) {
$SeverityLevelEnum::Low { "DarkCyan" }
$SeverityLevelEnum::Medium { "DarkYellow" }
$SeverityLevelEnum::High { "Red" }
default { Write-Warning "Get-SeverityColor > Unhandled severity level: $($Severity)" }
}
}
function Write-ShortReport {
[CmdletBinding()] param()
$HeavyVertical = [char] 0x2503
$HeavyHorizontal = [char] 0x2501
$HeavyDownAndLeft = [char] 0x2513
$HeavyDownAndRight = [char] 0x250F
$HeavyUpAndRight = [char] 0x2517
$HeavyUpAndLeft = [char] 0x251B
$RightwardsArrow = [char] 0x2192
Write-Host -ForegroundColor White "$($HeavyDownAndRight)$("$HeavyHorizontal" * 62)$($HeavyDownAndLeft)"
Write-Host -ForegroundColor White "$($HeavyVertical)$(" " * 17)~~~ PrivescCheck Summary ~~~$(" " * 17)$($HeavyVertical)"
Write-Host -ForegroundColor White "$($HeavyUpAndRight)$("$HeavyHorizontal" * 62)$($HeavyUpAndLeft)"
$AllVulnerabilities = $ResultArrayList | Where-Object { $_.Severity -ne $SeverityLevelEnum::None }
$Categories = $AllVulnerabilities | Select-Object -ExpandProperty "Category" | Sort-Object -Unique
if ($null -eq $AllVulnerabilities) {
Write-Host -ForegroundColor White "No vulnerability found!"
return
}
foreach ($Category in $Categories) {
$Vulnerabilities = $AllVulnerabilities | Where-Object { $_.Category -eq $Category }
Write-Host -ForegroundColor White " $($Category)"
foreach ($Vulnerability in $Vulnerabilities) {
$SeverityColor = Get-SeverityColor -Severity $($Vulnerability.Severity -as $SeverityLevelEnum)
Write-Host -NoNewline -ForegroundColor White " -"
Write-Host -NoNewLine " $($Vulnerability.DisplayName) $($RightwardsArrow)"
Write-Host -ForegroundColor $SeverityColor " $($Vulnerability.Severity -as $SeverityLevelEnum)"
}
}
Write-Host ""
}
winlog.event_id
4,104
winlog.opcode
On create calls
winlog.process.pid
2,340
winlog.process.thread.id
2,996
winlog.provider_guid
{a0c1853b-5c40-4b15-8766-3cf1c58f985a}
winlog.provider_name
Microsoft-Windows-PowerShell
winlog.record_id
1,692
winlog.task
Execute a Remote Command
winlog.user.domain
FERRUMFOX
winlog.user.identifier
S-1-5-21-2213792943-3978625667-3641601853-1107
winlog.user.name
maslov-o
winlog.user.type
User
winlog.version
1
Apr 17, 2024 @ 12:52:46.078
winlog.event_data.ScriptBlockText:
function Invoke-PrivescCheck { [CmdletBinding()] param( [switch] $Extended = $false, [switch] $Experimental = $false, [switch] $Force = $false, [switch] $Silent = $false, [string] $Report, [ValidateSet("TXT","HTML","CSV","XML")] [string[]] $Format ) begin { $AllChecksCsv = @" "Id", "Command", "Category", "DisplayName", "Severity", "Format", "Extended", "RunIfAdmin", "Experimental", "Description" "USER_USER", "Invoke-UserCheck", "TA0043 - Reconnaissance", "User identity", "None", "List", "False", "True", "False", "Get information about the current user (name, domain name) and its access token (SID, integrity level, authentication ID)." "USER_GROUPS", "Invoke-UserGroupsCheck", "TA0043 - Reconnaissance", "User groups", "None", "Table", "False", "True", "False", "Get information about the groups the current user belongs to (name, type, SID)." "USER_RESTRICTED_SIDS", "Invoke-UserRestrictedSidsCheck", "TA0043 - Reconnaissance", "User restricted SIDs", "None", "Table", "True", "True", "False", "Get information about potential restricted SIDs applied to the current user." "USER_PRIVILEGES", "Invoke-UserPrivilegesCheck", "TA0004 - Privilege Escalation", "User privileges", "High", "Table", "False", "False", "False", "Check whether the current user has privileges (e.g., SeImpersonatePrivilege) that can be leveraged for privilege escalation to SYSTEM." "USER_ENV", "Invoke-UserEnvCheck", "TA0006 - Credential Access", "User environment variables", "None", "Table", "False", "True", "False", "Check whether any environment variables contain sensitive information such as credentials or secrets. Note that this check follows a keyword-based approach and thus might not be completely reliable." "SERVICE_INSTALLED", "Invoke-InstalledServicesCheck", "TA0004 - Privilege Escalation", "Non-default services", "None", "List", "False", "True", "False", "Get information about third-party services. It does so by parsing the target executable's metadata and checking whether the publisher is Microsoft." "SERVICE_THIRD_PARTY", "Invoke-ThirdPartyDriversCheck", "TA0004 - Privilege Escalation", "Third-party Kernel drivers", "None", "List", "True", "True", "False", "Get information about third-party kernel drivers. It does so by parsing the driver's metadata and checking whether the publisher is Microsoft." "SERVICE_VULN_DRIVER", "Invoke-VulnerableDriverCheck", "TA0004 - Privilege Escalation", "Vulnerable Kernel drivers", "High", "List", "False", "True", "False", "Check whether known vulnerable kernel drivers are installed. It does so by computing the file hash of each driver and comparing the value against the list provided by loldrivers.io." "SERVICE_PERMISSIONS", "Invoke-ServicesPermissionsCheck", "TA0004 - Privilege Escalation", "Service permissions", "High", "List", "False", "False", "False", "Check whether the current user has any write permissions on a service through the Service Control Manager (SCM)." "SERVICE_PERMISSIONS_REGISTRY", "Invoke-ServicesPermissionsRegistryCheck", "TA0004 - Privilege Escalation", "Service registry permissions", "High", "List", "False", "False", "False", "Check whether the current user has any write permissions on the configuration of a service in the registry." "SERVICE_IMAGE_PERMISSIONS", "Invoke-ServicesImagePermissionsCheck", "TA0004 - Privilege Escalation", "Service binary permissions", "High", "List", "False", "False", "False", "Check whether the current user has any write permissions on a service's binary or its folder." "SERVICE_UNQUOTED_PATH_INFO", "Invoke-ServicesUnquotedPathCheck -Info", "TA0004 - Privilege Escalation", "Service unquoted paths (info)", "None", "List", "True", "False", "False", "Check whether there are services configured with an unquoted path that contains spaces." "SERVICE_UNQUOTED_PATH", "Invoke-ServicesUnquotedPathCheck", "TA0004 - Privilege Escalation", "Service unquoted paths", "High", "List", "False", "False", "False", "Check whether there are services configured with an exploitable unquoted path that contains spaces." "SERVICE_SCM_PERMISSIONS", "Invoke-SCMPermissionsCheck", "TA0004 - Privilege Escalation", "Service Control Manager permissions", "High", "List", "False", "False", "False", "Check whether the current user has any write permissions on the Service Control Manager (SCM)." "APP_INSTALLED", "Invoke-InstalledProgramsCheck", "TA0043 - Reconnaissance", "Non-default applications", "None", "Table", "True", "True", "False", "Get information about non-default and third-party applications by searching the registry and the default install locations." "APP_MODIFIABLE", "Invoke-ModifiableProgramsCheck", "TA0004 - Privilege Escalation", "Application permissions", "Medium", "List", "True", "False", "False", "Check whether the current user has any write permissions on non-default or third-party applications." "APP_PROGRAMDATA", "Invoke-ProgramDataCheck", "TA0004 - Privilege Escalation", "Non-default ProgramData folders", "None", "List", "True", "False", "True", "Check whether the current user has any write permissions on a non-default "ProgramData" folder. This check is purely informative and the results require manual analysis." "APP_STARTUP_INFO", "Invoke-ApplicationsOnStartupCheck -Info", "TA0004 - Privilege Escalation", "Startup applications (info)", "None", "List", "True", "True", "False", "Get information about system-wide applications that are run at startup for all users." "APP_STARTUP", "Invoke-ApplicationsOnStartupCheck", "TA0004 - Privilege Escalation", "Startup application permissions", "Medium", "List", "True", "False", "False", "Check whether the current user has any write permissions on system-wide applications that are run at startup for all users." "APP_PROCESSES", "Invoke-RunningProcessCheck", "TA0043 - Reconnaissance", "Running processes", "None", "Table", "True", "True", "False", "Get information about the currently running processes that are not owned by the current user. Processes such as 'svchost.exe' are filtered out." "SCHTASKS_IMAGE_PERMISSIONS", "Invoke-ScheduledTasksImagePermissionsCheck", "TA0004 - Privilege Escalation", "Scheduled task binary permissions", "High", "List", "True", "False", "False", "Check whether the current user has any write permissions on a scheduled task's binary or its folder. Note that low-privileged users cannot list all the scheduled tasks." "SCHTASKS_UNQUOTED_PATH", "Invoke-ScheduledTasksUnquotedPathCheck", "TA0004 - Privilege Escalation", "Scheduled task unquoted paths", "Medium", "List", "True", "False", "True", "Check whether there are scheduled tasks configured with an exploitable unquoted path. Note that low-privileged users cannot list all the scheduled tasks." "CREDS_SENSITIVE_HIVE_FILES", "Invoke-SensitiveHiveFileAccessCheck", "TA0006 - Credential Access", "Hive file permissions", "Medium", "List", "False", "False", "False", "Check whether the current user has read permissions on the SAM/SYSTEM/SECURITY files in the system folder (CVE-2021-36934 - HiveNightmare)." "CREDS_SENSITIVE_HIVE_FILES_VSS", "Invoke-SensitiveHiveShadowCopyCheck", "TA0006 - Credential Access", "Hive file shadow copy permissions", "High", "List", "False", "False", "False", "Check whether the current user has read permissions on the SAM/SYSTEM/SECURITY files stored in volume shadow copies (CVE-2021-36934 - HiveNightmare)." "CREDS_UNATTEND", "Invoke-UnattendFilesCheck", "TA0006 - Credential Access", "Unattend file credentials", "Medium", "List", "False", "True", "False", "Check whether there are any 'unattend' files and whether they contain clear-text credentials." "CREDS_WINLOGON", "Invoke-WinlogonCheck", "TA0006 - Credential Access", "WinLogon credentials", "Medium", "List", "False", "True", "False", "Check whether the 'WinLogon' registry key contains clear-text credentials. Note that entries with an empty password field are filtered out." "CREDS_CRED_FILES", "Invoke-CredentialFilesCheck", "TA0006 - Credential Access", "Credential files", "None", "List", "True", "False", "False", "Get information about the current user's CREDENTIAL files." "CREDS_VAULT_CRED", "Invoke-VaultCredCheck", "TA0006 - Credential Access", "Vault credentials (creds)", "None", "List", "True", "True", "False", "Check whether the current user's credential vault contains any clear-text Windows passwords." "CREDS_VAULT_LIST", "Invoke-VaultListCheck", "TA0006 - Credential Access", "Vault credentials (list)", "None", "List", "True", "True", "False", "Check whether the current user's credential vault contains any clear-text web passwords." "CREDS_GPP", "Invoke-GPPPasswordCheck", "TA0006 - Credential Access", "GPP passwords", "Medium", "List", "False", "True", "False", "Check whether there are cached Group Policy Preference (GPP) files that contain clear-text passwords." "CREDS_PS_HIST", "Invoke-PowerShellHistoryCheck", "TA0006 - Credential Access", "PowerShell history", "None", "List", "True", "True", "False", "Check whether the current user's PowerShell history contains any clear-text credentials. Note that this check follows a keyword-based approach and thus might not be completely reliable." "CREDS_SCCM_NAA", "Invoke-CcmNaaCredentialsCheck", "TA0006 - Credential Access", "SCCM Network Access Account (NAA)", "Medium", "List", "False", "True", "False", "Check whether SCCM NAA credentials are stored in the WMI repository. If so, the username and password DPAPI blobs are returned, but can only be decrypted using the SYSTEM's DPAPI user key." "HARDEN_UAC", "Invoke-UacCheck", "TA0008 - Lateral Movement", "UAC settings", "Low", "List", "False", "True", "False", "Check whether User Access Control (UAC) is enabled and whether it filters the access token of local administrator accounts when they authenticate remotely." "HARDEN_LSA_PROTECTION", "Invoke-LsaProtectionCheck", "TA0006 - Credential Access", "LSA Protection", "Low", "List", "False", "True", "False", "Check whether LSA protection is enabled. Note that when LSA protection is enabled, 'lsass.exe' runs as a Protected Process Light (PPL) and thus can only be accessed by other protected processes with an equivalent or higher protection level." "HARDEN_CREDENTIAL_GUARD", "Invoke-CredentialGuardCheck", "TA0006 - Credential Access", "Credential Guard", "Low", "List", "False", "True", "False", "Check whether Credential Guard is supported and enabled. Note that when Credential Guard is enabled, credentials are stored in an isolated process ('LsaIso.exe') that cannot be accessed, even if the kernel is compromised." "HARDEN_BIOS_MODE", "Invoke-BiosModeCheck", "TA0003 - Persistence", "UEFI & Secure Boot", "Low", "Table", "False", "True", "False", "Check whether UEFI and Secure Boot are supported and enabled. Note that Secure Boot requires UEFI." "HARDEN_LAPS", "Invoke-LapsCheck", "TA0008 - Lateral Movement", "LAPS", "Medium", "List", "False", "True", "False", "Check whether LAPS is configured and enabled. Note that this applies to domain-joined machines only." "HARDEN_PS_TRANSCRIPT", "Invoke-PowershellTranscriptionCheck", "TA0005 - Defense Evasion", "PowerShell transcription", "None", "List", "True", "True", "False", "Check whether PowerShell Transcription is configured and enabled." "HARDEN_BITLOCKER", "Invoke-BitLockerCheck", "TA0001 - Initial Access", "BitLocker configuration", "Medium", "List", "False", "True", "False", "Check whether BitLocker is enabled on the system drive and requires a second factor of authentication (PIN or startup key). Note that this check might yield a false positive if a third-party drive encryption software is installed." "HARDEN_APPLOCKER_POLICY", "Invoke-AppLockerPolicyCheck", "TA0005 - Defense Evasion", "AppLocker policy", "Low", "List", "True", "False", "False", "Check whether an AppLocker policy is defined and, if so, whether it contains rules that can be exploited, in the context of the curr
event.original:
Creating Scriptblock text (1 of 3): function Invoke-PrivescCheck { [CmdletBinding()] param( [switch] $Extended = $false, [switch] $Experimental = $false, [switch] $Force = $false, [switch] $Silent = $false, [string] $Report, [ValidateSet("TXT","HTML","CSV","XML")] [string[]] $Format ) begin { $AllChecksCsv = @" "Id", "Command", "Category", "DisplayName", "Severity", "Format", "Extended", "RunIfAdmin", "Experimental", "Description" "USER_USER", "Invoke-UserCheck", "TA0043 - Reconnaissance", "User identity", "None", "List", "False", "True", "False", "Get information about the current user (name, domain name) and its access token (SID, integrity level, authentication ID)." "USER_GROUPS", "Invoke-UserGroupsCheck", "TA0043 - Reconnaissance", "User groups", "None", "Table", "False", "True", "False", "Get information about the groups the current user belongs to (name, type, SID)." "USER_RESTRICTED_SIDS", "Invoke-UserRestrictedSidsCheck", "TA0043 - Reconnaissance", "User restricted SIDs", "None", "Table", "True", "True", "False", "Get information about potential restricted SIDs applied to the current user." "USER_PRIVILEGES", "Invoke-UserPrivilegesCheck", "TA0004 - Privilege Escalation", "User privileges", "High", "Table", "False", "False", "False", "Check whether the current user has privileges (e.g., SeImpersonatePrivilege) that can be leveraged for privilege escalation to SYSTEM." "USER_ENV", "Invoke-UserEnvCheck", "TA0006 - Credential Access", "User environment variables", "None", "Table", "False", "True", "False", "Check whether any environment variables contain sensitive information such as credentials or secrets. Note that this check follows a keyword-based approach and thus might not be completely reliable." "SERVICE_INSTALLED", "Invoke-InstalledServicesCheck", "TA0004 - Privilege Escalation", "Non-default services", "None", "List", "False", "True", "False", "Get information about third-party services. It does so by parsing the target executable's metadata and checking whether the publisher is Microsoft." "SERVICE_THIRD_PARTY", "Invoke-ThirdPartyDriversCheck", "TA0004 - Privilege Escalation", "Third-party Kernel drivers", "None", "List", "True", "True", "False", "Get information about third-party kernel drivers. It does so by parsing the driver's metadata and checking whether the publisher is Microsoft." "SERVICE_VULN_DRIVER", "Invoke-VulnerableDriverCheck", "TA0004 - Privilege Escalation", "Vulnerable Kernel drivers", "High", "List", "False", "True", "False", "Check whether known vulnerable kernel drivers are installed. It does so by computing the file hash of each driver and comparing the value against the list provided by loldrivers.io." "SERVICE_PERMISSIONS", "Invoke-ServicesPermissionsCheck", "TA0004 - Privilege Escalation", "Service permissions", "High", "List", "False", "False", "False", "Check whether the current user has any write permissions on a service through the Service Control Manager (SCM)." "SERVICE_PERMISSIONS_REGISTRY", "Invoke-ServicesPermissionsRegistryCheck", "TA0004 - Privilege Escalation", "Service registry permissions", "High", "List", "False", "False", "False", "Check whether the current user has any write permissions on the configuration of a service in the registry." "SERVICE_IMAGE_PERMISSIONS", "Invoke-ServicesImagePermissionsCheck", "TA0004 - Privilege Escalation", "Service binary permissions", "High", "List", "False", "False", "False", "Check whether the current user has any write permissions on a service's binary or its folder." "SERVICE_UNQUOTED_PATH_INFO", "Invoke-ServicesUnquotedPathCheck -Info", "TA0004 - Privilege Escalation", "Service unquoted paths (info)", "None", "List", "True", "False", "False", "Check whether there are services configured with an unquoted path that contains spaces." "SERVICE_UNQUOTED_PATH", "Invoke-ServicesUnquotedPathCheck", "TA0004 - Privilege Escalation", "Service unquoted paths", "High", "List", "False", "False", "False", "Check whether there are services configured with an exploitable unquoted path that contains spaces." "SERVICE_SCM_PERMISSIONS", "Invoke-SCMPermissionsCheck", "TA0004 - Privilege Escalation", "Service Control Manager permissions", "High", "List", "False", "False", "False", "Check whether the current user has any write permissions on the Service Control Manager (SCM)." "APP_INSTALLED", "Invoke-InstalledProgramsCheck", "TA0043 - Reconnaissance", "Non-default applications", "None", "Table", "True", "True", "False", "Get information about non-default and third-party applications by searching the registry and the default install locations." "APP_MODIFIABLE", "Invoke-ModifiableProgramsCheck", "TA0004 - Privilege Escalation", "Application permissions", "Medium", "List", "True", "False", "False", "Check whether the current user has any write permissions on non-default or third-party applications." "APP_PROGRAMDATA", "Invoke-ProgramDataCheck", "TA0004 - Privilege Escalation", "Non-default ProgramData folders", "None", "List", "True", "False", "True", "Check whether the current user has any write permissions on a non-default "ProgramData" folder. This check is purely informative and the results require manual analysis." "APP_STARTUP_INFO", "Invoke-ApplicationsOnStartupCheck -Info", "TA0004 - Privilege Escalation", "Startup applications (info)", "None", "List", "True", "True", "False", "Get information about system-wide applications that are run at startup for all users." "APP_STARTUP", "Invoke-ApplicationsOnStartupCheck", "TA0004 - Privilege Escalation", "Startup application permissions", "Medium", "List", "True", "False", "False", "Check whether the current user has any write permissions on system-wide applications that are run at startup for all users." "APP_PROCESSES", "Invoke-RunningProcessCheck", "TA0043 - Reconnaissance", "Running processes", "None", "Table", "True", "True", "False", "Get information about the currently running processes that are not owned by the current user. Processes such as 'svchost.exe' are filtered out." "SCHTASKS_IMAGE_PERMISSIONS", "Invoke-ScheduledTasksImagePermissionsCheck", "TA0004 - Privilege Escalation", "Scheduled task binary permissions", "High", "List", "True", "False", "False", "Check whether the current user has any write permissions on a scheduled task's binary or its folder. Note that low-privileged users cannot list all the scheduled tasks." "SCHTASKS_UNQUOTED_PATH", "Invoke-ScheduledTasksUnquotedPathCheck", "TA0004 - Privilege Escalation", "Scheduled task unquoted paths", "Medium", "List", "True", "False", "True", "Check whether there are scheduled tasks configured with an exploitable unquoted path. Note that low-privileged users cannot list all the scheduled tasks." "CREDS_SENSITIVE_HIVE_FILES", "Invoke-SensitiveHiveFileAccessCheck", "TA0006 - Credential Access", "Hive file permissions", "Medium", "List", "False", "False", "False", "Check whether the current user has read permissions on the SAM/SYSTEM/SECURITY files in the system folder (CVE-2021-36934 - HiveNightmare)." "CREDS_SENSITIVE_HIVE_FILES_VSS", "Invoke-SensitiveHiveShadowCopyCheck", "TA0006 - Credential Access", "Hive file shadow copy permissions", "High", "List", "False", "False", "False", "Check whether the current user has read permissions on the SAM/SYSTEM/SECURITY files stored in volume shadow copies (CVE-2021-36934 - HiveNightmare)." "CREDS_UNATTEND", "Invoke-UnattendFilesCheck", "TA0006 - Credential Access", "Unattend file credentials", "Medium", "List", "False", "True", "False", "Check whether there are any 'unattend' files and whether they contain clear-text credentials." "CREDS_WINLOGON", "Invoke-WinlogonCheck", "TA0006 - Credential Access", "WinLogon credentials", "Medium", "List", "False", "True", "False", "Check whether the 'WinLogon' registry key contains clear-text credentials. Note that entries with an empty password field are filtered out." "CREDS_CRED_FILES", "Invoke-CredentialFilesCheck", "TA0006 - Credential Access", "Credential files", "None", "List", "True", "False", "False", "Get information about the current user's CREDENTIAL files." "CREDS_VAULT_CRED", "Invoke-VaultCredCheck", "TA0006 - Credential Access", "Vault credentials (creds)", "None", "List", "True", "True", "False", "Check whether the current user's credential vault contains any clear-text Windows passwords." "CREDS_VAULT_LIST", "Invoke-VaultListCheck", "TA0006 - Credential Access", "Vault credentials (list)", "None", "List", "True", "True", "False", "Check whether the current user's credential vault contains any clear-text web passwords." "CREDS_GPP", "Invoke-GPPPasswordCheck", "TA0006 - Credential Access", "GPP passwords", "Medium", "List", "False", "True", "False", "Check whether there are cached Group Policy Preference (GPP) files that contain clear-text passwords." "CREDS_PS_HIST", "Invoke-PowerShellHistoryCheck", "TA0006 - Credential Access", "PowerShell history", "None", "List", "True", "True", "False", "Check whether the current user's PowerShell history contains any clear-text credentials. Note that this check follows a keyword-based approach and thus might not be completely reliable." "CREDS_SCCM_NAA", "Invoke-CcmNaaCredentialsCheck", "TA0006 - Credential Access", "SCCM Network Access Account (NAA)", "Medium", "List", "False", "True", "False", "Check whether SCCM NAA credentials are stored in the WMI repository. If so, the username and password DPAPI blobs are returned, but can only be decrypted using the SYSTEM's DPAPI user key." "HARDEN_UAC", "Invoke-UacCheck", "TA0008 - Lateral Movement", "UAC settings", "Low", "List", "False", "True", "False", "Check whether User Access Control (UAC) is enabled and whether it filters the access token of local administrator accounts when they authenticate remotely." "HARDEN_LSA_PROTECTION", "Invoke-LsaProtectionCheck", "TA0006 - Credential Access", "LSA Protection", "Low", "List", "False", "True", "False", "Check whether LSA protection is enabled. Note that when LSA protection is enabled, 'lsass.exe' runs as a Protected Process Light (PPL) and thus can only be accessed by other protected processes with an equivalent or higher protection level." "HARDEN_CREDENTIAL_GUARD", "Invoke-CredentialGuardCheck", "TA0006 - Credential Access", "Credential Guard", "Low", "List", "False", "True", "False", "Check whether Credential Guard is supported and enabled. Note that when Credential Guard is enabled, credentials are stored in an isolated process ('LsaIso.exe') that cannot be accessed, even if the kernel is compromised." "HARDEN_BIOS_MODE", "Invoke-BiosModeCheck", "TA0003 - Persistence", "UEFI & Secure Boot", "Low", "Table", "False", "True", "False", "Check whether UEFI and Secure Boot are supported and enabled. Note that Secure Boot requires UEFI." "HARDEN_LAPS", "Invoke-LapsCheck", "TA0008 - Lateral Movement", "LAPS", "Medium", "List", "False", "True", "False", "Check whether LAPS is configured and enabled. Note that this applies to domain-joined machines only." "HARDEN_PS_TRANSCRIPT", "Invoke-PowershellTranscriptionCheck", "TA0005 - Defense Evasion", "PowerShell transcription", "None", "List", "True", "True", "False", "Check whether PowerShell Transcription is configured and enabled." "HARDEN_BITLOCKER", "Invoke-BitLockerCheck", "TA0001 - Initial Access", "BitLocker configuration", "Medium", "List", "False", "True", "False", "Check whether BitLocker is enabled on the system drive and requires a second factor of authentication (PIN or startup key). Note that this check might yield a false positive if a third-party drive encryption software is installed." "HARDEN_APPLOCKER_POLICY", "Invoke-AppLockerPolicyCheck", "TA0005 - Defense Evasion", "AppLocker policy", "Low", "List", "True", "False", "False", "Check whether an AppLocker policy is defined and, if so, whether it contains rules that can be exploited, in the context of the curr ScriptBlock ID: 2d27b53a-8cab-4a94-9d96-32263cc3b8dc Path:
type:
wineventlog
@timestamp:
Apr 17, 2024 @ 12:52:46.078
winlog.process.thread.id:
2,996
winlog.process.pid:
2,340
winlog.record_id:
1,690
winlog.channel:
Microsoft-Windows-PowerShell/Operational
winlog.computer_name:
maslov-o-pc.ferrumfox.corp
winlog.opcode:
On create calls
winlog.user.name:
maslov-o
winlog.user.identifier:
S-1-5-21-2213792943-3978625667-3641601853-1107
winlog.user.type:
User
winlog.user.domain:
FERRUMFOX
winlog.event_data.ScriptBlockId:
2d27b53a-8cab-4a94-9d96-32263cc3b8dc
winlog.event_data.MessageTotal:
3
winlog.event_data.MessageNumber:
1
winlog.task:
Execute a Remote Command
winlog.provider_guid:
{a0c1853b-5c40-4b15-8766-3cf1c58f985a}
winlog.activity_id:
{eafc05f8-8ffa-0001-34d2-fceafa8fda01}
winlog.version:
1
winlog.api:
wineventlog
winlog.event_id:
4,104
winlog.provider_name:
Microsoft-Windows-PowerShell
log.level:
warning
host.id:
47d68211-05ac-417f-b800-36a9b19f714b
host.name:
maslov-o-pc.ferrumfox.corp
host.hostname:
maslov-o-pc
host.architecture:
x86_64
host.ip:
10.181.21.46
host.os.platform:
windows
host.os.name:
Windows 10 Pro
host.os.version:
10.0
host.os.kernel:
10.0.19041.4291 (WinBuild.160101.0800)
host.os.build:
19045.4291
host.os.family:
windows
host.mac:
fa:16:3e:8a:ea:03
@version:
1
event.provider:
Microsoft-Windows-PowerShell
event.action:
Execute a Remote Command
event.kind:
event
event.created:
Apr 17, 2024 @ 12:52:46.676
event.code:
4,104
_id:
kY8d7I4BjcmPCGzW7JFb
_type:
_doc
_index:
cyberpolygon-ferrumfox-win
_score:
-
Expanded document
View surrounding documents
View single document
@timestamp
Apr 17, 2024 @ 12:52:46.078
@version
1
_id
kY8d7I4BjcmPCGzW7JFb
_index
cyberpolygon-ferrumfox-win
_score
-
_type
_doc
event.action
Execute a Remote Command
event.code
4,104
event.created
Apr 17, 2024 @ 12:52:46.676
event.kind
event
event.original
Creating Scriptblock text (1 of 3):
function Invoke-PrivescCheck {
[CmdletBinding()] param(
[switch] $Extended = $false,
[switch] $Experimental = $false,
[switch] $Force = $false,
[switch] $Silent = $false,
[string] $Report,
[ValidateSet("TXT","HTML","CSV","XML")]
[string[]] $Format
)
begin {
$AllChecksCsv = @"
"Id", "Command", "Category", "DisplayName", "Severity", "Format", "Extended", "RunIfAdmin", "Experimental", "Description"
"USER_USER", "Invoke-UserCheck", "TA0043 - Reconnaissance", "User identity", "None", "List", "False", "True", "False", "Get information about the current user (name, domain name) and its access token (SID, integrity level, authentication ID)."
"USER_GROUPS", "Invoke-UserGroupsCheck", "TA0043 - Reconnaissance", "User groups", "None", "Table", "False", "True", "False", "Get information about the groups the current user belongs to (name, type, SID)."
"USER_RESTRICTED_SIDS", "Invoke-UserRestrictedSidsCheck", "TA0043 - Reconnaissance", "User restricted SIDs", "None", "Table", "True", "True", "False", "Get information about potential restricted SIDs applied to the current user."
"USER_PRIVILEGES", "Invoke-UserPrivilegesCheck", "TA0004 - Privilege Escalation", "User privileges", "High", "Table", "False", "False", "False", "Check whether the current user has privileges (e.g., SeImpersonatePrivilege) that can be leveraged for privilege escalation to SYSTEM."
"USER_ENV", "Invoke-UserEnvCheck", "TA0006 - Credential Access", "User environment variables", "None", "Table", "False", "True", "False", "Check whether any environment variables contain sensitive information such as credentials or secrets. Note that this check follows a keyword-based approach and thus might not be completely reliable."
"SERVICE_INSTALLED", "Invoke-InstalledServicesCheck", "TA0004 - Privilege Escalation", "Non-default services", "None", "List", "False", "True", "False", "Get information about third-party services. It does so by parsing the target executable's metadata and checking whether the publisher is Microsoft."
"SERVICE_THIRD_PARTY", "Invoke-ThirdPartyDriversCheck", "TA0004 - Privilege Escalation", "Third-party Kernel drivers", "None", "List", "True", "True", "False", "Get information about third-party kernel drivers. It does so by parsing the driver's metadata and checking whether the publisher is Microsoft."
"SERVICE_VULN_DRIVER", "Invoke-VulnerableDriverCheck", "TA0004 - Privilege Escalation", "Vulnerable Kernel drivers", "High", "List", "False", "True", "False", "Check whether known vulnerable kernel drivers are installed. It does so by computing the file hash of each driver and comparing the value against the list provided by loldrivers.io."
"SERVICE_PERMISSIONS", "Invoke-ServicesPermissionsCheck", "TA0004 - Privilege Escalation", "Service permissions", "High", "List", "False", "False", "False", "Check whether the current user has any write permissions on a service through the Service Control Manager (SCM)."
"SERVICE_PERMISSIONS_REGISTRY", "Invoke-ServicesPermissionsRegistryCheck", "TA0004 - Privilege Escalation", "Service registry permissions", "High", "List", "False", "False", "False", "Check whether the current user has any write permissions on the configuration of a service in the registry."
"SERVICE_IMAGE_PERMISSIONS", "Invoke-ServicesImagePermissionsCheck", "TA0004 - Privilege Escalation", "Service binary permissions", "High", "List", "False", "False", "False", "Check whether the current user has any write permissions on a service's binary or its folder."
"SERVICE_UNQUOTED_PATH_INFO", "Invoke-ServicesUnquotedPathCheck -Info", "TA0004 - Privilege Escalation", "Service unquoted paths (info)", "None", "List", "True", "False", "False", "Check whether there are services configured with an unquoted path that contains spaces."
"SERVICE_UNQUOTED_PATH", "Invoke-ServicesUnquotedPathCheck", "TA0004 - Privilege Escalation", "Service unquoted paths", "High", "List", "False", "False", "False", "Check whether there are services configured with an exploitable unquoted path that contains spaces."
"SERVICE_SCM_PERMISSIONS", "Invoke-SCMPermissionsCheck", "TA0004 - Privilege Escalation", "Service Control Manager permissions", "High", "List", "False", "False", "False", "Check whether the current user has any write permissions on the Service Control Manager (SCM)."
"APP_INSTALLED", "Invoke-InstalledProgramsCheck", "TA0043 - Reconnaissance", "Non-default applications", "None", "Table", "True", "True", "False", "Get information about non-default and third-party applications by searching the registry and the default install locations."
"APP_MODIFIABLE", "Invoke-ModifiableProgramsCheck", "TA0004 - Privilege Escalation", "Application permissions", "Medium", "List", "True", "False", "False", "Check whether the current user has any write permissions on non-default or third-party applications."
"APP_PROGRAMDATA", "Invoke-ProgramDataCheck", "TA0004 - Privilege Escalation", "Non-default ProgramData folders", "None", "List", "True", "False", "True", "Check whether the current user has any write permissions on a non-default "ProgramData" folder. This check is purely informative and the results require manual analysis."
"APP_STARTUP_INFO", "Invoke-ApplicationsOnStartupCheck -Info", "TA0004 - Privilege Escalation", "Startup applications (info)", "None", "List", "True", "True", "False", "Get information about system-wide applications that are run at startup for all users."
"APP_STARTUP", "Invoke-ApplicationsOnStartupCheck", "TA0004 - Privilege Escalation", "Startup application permissions", "Medium", "List", "True", "False", "False", "Check whether the current user has any write permissions on system-wide applications that are run at startup for all users."
"APP_PROCESSES", "Invoke-RunningProcessCheck", "TA0043 - Reconnaissance", "Running processes", "None", "Table", "True", "True", "False", "Get information about the currently running processes that are not owned by the current user. Processes such as 'svchost.exe' are filtered out."
"SCHTASKS_IMAGE_PERMISSIONS", "Invoke-ScheduledTasksImagePermissionsCheck", "TA0004 - Privilege Escalation", "Scheduled task binary permissions", "High", "List", "True", "False", "False", "Check whether the current user has any write permissions on a scheduled task's binary or its folder. Note that low-privileged users cannot list all the scheduled tasks."
"SCHTASKS_UNQUOTED_PATH", "Invoke-ScheduledTasksUnquotedPathCheck", "TA0004 - Privilege Escalation", "Scheduled task unquoted paths", "Medium", "List", "True", "False", "True", "Check whether there are scheduled tasks configured with an exploitable unquoted path. Note that low-privileged users cannot list all the scheduled tasks."
"CREDS_SENSITIVE_HIVE_FILES", "Invoke-SensitiveHiveFileAccessCheck", "TA0006 - Credential Access", "Hive file permissions", "Medium", "List", "False", "False", "False", "Check whether the current user has read permissions on the SAM/SYSTEM/SECURITY files in the system folder (CVE-2021-36934 - HiveNightmare)."
"CREDS_SENSITIVE_HIVE_FILES_VSS", "Invoke-SensitiveHiveShadowCopyCheck", "TA0006 - Credential Access", "Hive file shadow copy permissions", "High", "List", "False", "False", "False", "Check whether the current user has read permissions on the SAM/SYSTEM/SECURITY files stored in volume shadow copies (CVE-2021-36934 - HiveNightmare)."
"CREDS_UNATTEND", "Invoke-UnattendFilesCheck", "TA0006 - Credential Access", "Unattend file credentials", "Medium", "List", "False", "True", "False", "Check whether there are any 'unattend' files and whether they contain clear-text credentials."
"CREDS_WINLOGON", "Invoke-WinlogonCheck", "TA0006 - Credential Access", "WinLogon credentials", "Medium", "List", "False", "True", "False", "Check whether the 'WinLogon' registry key contains clear-text credentials. Note that entries with an empty password field are filtered out."
"CREDS_CRED_FILES", "Invoke-CredentialFilesCheck", "TA0006 - Credential Access", "Credential files", "None", "List", "True", "False", "False", "Get information about the current user's CREDENTIAL files."
"CREDS_VAULT_CRED", "Invoke-VaultCredCheck", "TA0006 - Credential Access", "Vault credentials (creds)", "None", "List", "True", "True", "False", "Check whether the current user's credential vault contains any clear-text Windows passwords."
"CREDS_VAULT_LIST", "Invoke-VaultListCheck", "TA0006 - Credential Access", "Vault credentials (list)", "None", "List", "True", "True", "False", "Check whether the current user's credential vault contains any clear-text web passwords."
"CREDS_GPP", "Invoke-GPPPasswordCheck", "TA0006 - Credential Access", "GPP passwords", "Medium", "List", "False", "True", "False", "Check whether there are cached Group Policy Preference (GPP) files that contain clear-text passwords."
"CREDS_PS_HIST", "Invoke-PowerShellHistoryCheck", "TA0006 - Credential Access", "PowerShell history", "None", "List", "True", "True", "False", "Check whether the current user's PowerShell history contains any clear-text credentials. Note that this check follows a keyword-based approach and thus might not be completely reliable."
"CREDS_SCCM_NAA", "Invoke-CcmNaaCredentialsCheck", "TA0006 - Credential Access", "SCCM Network Access Account (NAA)", "Medium", "List", "False", "True", "False", "Check whether SCCM NAA credentials are stored in the WMI repository. If so, the username and password DPAPI blobs are returned, but can only be decrypted using the SYSTEM's DPAPI user key."
"HARDEN_UAC", "Invoke-UacCheck", "TA0008 - Lateral Movement", "UAC settings", "Low", "List", "False", "True", "False", "Check whether User Access Control (UAC) is enabled and whether it filters the access token of local administrator accounts when they authenticate remotely."
"HARDEN_LSA_PROTECTION", "Invoke-LsaProtectionCheck", "TA0006 - Credential Access", "LSA Protection", "Low", "List", "False", "True", "False", "Check whether LSA protection is enabled. Note that when LSA protection is enabled, 'lsass.exe' runs as a Protected Process Light (PPL) and thus can only be accessed by other protected processes with an equivalent or higher protection level."
"HARDEN_CREDENTIAL_GUARD", "Invoke-CredentialGuardCheck", "TA0006 - Credential Access", "Credential Guard", "Low", "List", "False", "True", "False", "Check whether Credential Guard is supported and enabled. Note that when Credential Guard is enabled, credentials are stored in an isolated process ('LsaIso.exe') that cannot be accessed, even if the kernel is compromised."
"HARDEN_BIOS_MODE", "Invoke-BiosModeCheck", "TA0003 - Persistence", "UEFI & Secure Boot", "Low", "Table", "False", "True", "False", "Check whether UEFI and Secure Boot are supported and enabled. Note that Secure Boot requires UEFI."
"HARDEN_LAPS", "Invoke-LapsCheck", "TA0008 - Lateral Movement", "LAPS", "Medium", "List", "False", "True", "False", "Check whether LAPS is configured and enabled. Note that this applies to domain-joined machines only."
"HARDEN_PS_TRANSCRIPT", "Invoke-PowershellTranscriptionCheck", "TA0005 - Defense Evasion", "PowerShell transcription", "None", "List", "True", "True", "False", "Check whether PowerShell Transcription is configured and enabled."
"HARDEN_BITLOCKER", "Invoke-BitLockerCheck", "TA0001 - Initial Access", "BitLocker configuration", "Medium", "List", "False", "True", "False", "Check whether BitLocker is enabled on the system drive and requires a second factor of authentication (PIN or startup key). Note that this check might yield a false positive if a third-party drive encryption software is installed."
"HARDEN_APPLOCKER_POLICY", "Invoke-AppLockerPolicyCheck", "TA0005 - Defense Evasion", "AppLocker policy", "Low", "List", "True", "False", "False", "Check whether an AppLocker policy is defined and, if so, whether it contains rules that can be exploited, in the context of the curr
ScriptBlock ID: 2d27b53a-8cab-4a94-9d96-32263cc3b8dc
Path:
event.provider
Microsoft-Windows-PowerShell
host.architecture
x86_64
host.hostname
maslov-o-pc
host.id
47d68211-05ac-417f-b800-36a9b19f714b
host.ip
10.181.21.46
host.mac
fa:16:3e:8a:ea:03
host.name
maslov-o-pc.ferrumfox.corp
host.os.build
19045.4291
host.os.family
windows
host.os.kernel
10.0.19041.4291 (WinBuild.160101.0800)
host.os.name
Windows 10 Pro
host.os.platform
windows
host.os.version
10.0
log.level
warning
type
wineventlog
winlog.activity_id
{eafc05f8-8ffa-0001-34d2-fceafa8fda01}
winlog.api
wineventlog
winlog.channel
Microsoft-Windows-PowerShell/Operational
winlog.computer_name
maslov-o-pc.ferrumfox.corp
winlog.event_data.MessageNumber
1
winlog.event_data.MessageTotal
3
winlog.event_data.ScriptBlockId
2d27b53a-8cab-4a94-9d96-32263cc3b8dc
winlog.event_data.ScriptBlockText
function Invoke-PrivescCheck {
[CmdletBinding()] param(
[switch] $Extended = $false,
[switch] $Experimental = $false,
[switch] $Force = $false,
[switch] $Silent = $false,
[string] $Report,
[ValidateSet("TXT","HTML","CSV","XML")]
[string[]] $Format
)
begin {
$AllChecksCsv = @"
"Id", "Command", "Category", "DisplayName", "Severity", "Format", "Extended", "RunIfAdmin", "Experimental", "Description"
"USER_USER", "Invoke-UserCheck", "TA0043 - Reconnaissance", "User identity", "None", "List", "False", "True", "False", "Get information about the current user (name, domain name) and its access token (SID, integrity level, authentication ID)."
"USER_GROUPS", "Invoke-UserGroupsCheck", "TA0043 - Reconnaissance", "User groups", "None", "Table", "False", "True", "False", "Get information about the groups the current user belongs to (name, type, SID)."
"USER_RESTRICTED_SIDS", "Invoke-UserRestrictedSidsCheck", "TA0043 - Reconnaissance", "User restricted SIDs", "None", "Table", "True", "True", "False", "Get information about potential restricted SIDs applied to the current user."
"USER_PRIVILEGES", "Invoke-UserPrivilegesCheck", "TA0004 - Privilege Escalation", "User privileges", "High", "Table", "False", "False", "False", "Check whether the current user has privileges (e.g., SeImpersonatePrivilege) that can be leveraged for privilege escalation to SYSTEM."
"USER_ENV", "Invoke-UserEnvCheck", "TA0006 - Credential Access", "User environment variables", "None", "Table", "False", "True", "False", "Check whether any environment variables contain sensitive information such as credentials or secrets. Note that this check follows a keyword-based approach and thus might not be completely reliable."
"SERVICE_INSTALLED", "Invoke-InstalledServicesCheck", "TA0004 - Privilege Escalation", "Non-default services", "None", "List", "False", "True", "False", "Get information about third-party services. It does so by parsing the target executable's metadata and checking whether the publisher is Microsoft."
"SERVICE_THIRD_PARTY", "Invoke-ThirdPartyDriversCheck", "TA0004 - Privilege Escalation", "Third-party Kernel drivers", "None", "List", "True", "True", "False", "Get information about third-party kernel drivers. It does so by parsing the driver's metadata and checking whether the publisher is Microsoft."
"SERVICE_VULN_DRIVER", "Invoke-VulnerableDriverCheck", "TA0004 - Privilege Escalation", "Vulnerable Kernel drivers", "High", "List", "False", "True", "False", "Check whether known vulnerable kernel drivers are installed. It does so by computing the file hash of each driver and comparing the value against the list provided by loldrivers.io."
"SERVICE_PERMISSIONS", "Invoke-ServicesPermissionsCheck", "TA0004 - Privilege Escalation", "Service permissions", "High", "List", "False", "False", "False", "Check whether the current user has any write permissions on a service through the Service Control Manager (SCM)."
"SERVICE_PERMISSIONS_REGISTRY", "Invoke-ServicesPermissionsRegistryCheck", "TA0004 - Privilege Escalation", "Service registry permissions", "High", "List", "False", "False", "False", "Check whether the current user has any write permissions on the configuration of a service in the registry."
"SERVICE_IMAGE_PERMISSIONS", "Invoke-ServicesImagePermissionsCheck", "TA0004 - Privilege Escalation", "Service binary permissions", "High", "List", "False", "False", "False", "Check whether the current user has any write permissions on a service's binary or its folder."
"SERVICE_UNQUOTED_PATH_INFO", "Invoke-ServicesUnquotedPathCheck -Info", "TA0004 - Privilege Escalation", "Service unquoted paths (info)", "None", "List", "True", "False", "False", "Check whether there are services configured with an unquoted path that contains spaces."
"SERVICE_UNQUOTED_PATH", "Invoke-ServicesUnquotedPathCheck", "TA0004 - Privilege Escalation", "Service unquoted paths", "High", "List", "False", "False", "False", "Check whether there are services configured with an exploitable unquoted path that contains spaces."
"SERVICE_SCM_PERMISSIONS", "Invoke-SCMPermissionsCheck", "TA0004 - Privilege Escalation", "Service Control Manager permissions", "High", "List", "False", "False", "False", "Check whether the current user has any write permissions on the Service Control Manager (SCM)."
"APP_INSTALLED", "Invoke-InstalledProgramsCheck", "TA0043 - Reconnaissance", "Non-default applications", "None", "Table", "True", "True", "False", "Get information about non-default and third-party applications by searching the registry and the default install locations."
"APP_MODIFIABLE", "Invoke-ModifiableProgramsCheck", "TA0004 - Privilege Escalation", "Application permissions", "Medium", "List", "True", "False", "False", "Check whether the current user has any write permissions on non-default or third-party applications."
"APP_PROGRAMDATA", "Invoke-ProgramDataCheck", "TA0004 - Privilege Escalation", "Non-default ProgramData folders", "None", "List", "True", "False", "True", "Check whether the current user has any write permissions on a non-default "ProgramData" folder. This check is purely informative and the results require manual analysis."
"APP_STARTUP_INFO", "Invoke-ApplicationsOnStartupCheck -Info", "TA0004 - Privilege Escalation", "Startup applications (info)", "None", "List", "True", "True", "False", "Get information about system-wide applications that are run at startup for all users."
"APP_STARTUP", "Invoke-ApplicationsOnStartupCheck", "TA0004 - Privilege Escalation", "Startup application permissions", "Medium", "List", "True", "False", "False", "Check whether the current user has any write permissions on system-wide applications that are run at startup for all users."
"APP_PROCESSES", "Invoke-RunningProcessCheck", "TA0043 - Reconnaissance", "Running processes", "None", "Table", "True", "True", "False", "Get information about the currently running processes that are not owned by the current user. Processes such as 'svchost.exe' are filtered out."
"SCHTASKS_IMAGE_PERMISSIONS", "Invoke-ScheduledTasksImagePermissionsCheck", "TA0004 - Privilege Escalation", "Scheduled task binary permissions", "High", "List", "True", "False", "False", "Check whether the current user has any write permissions on a scheduled task's binary or its folder. Note that low-privileged users cannot list all the scheduled tasks."
"SCHTASKS_UNQUOTED_PATH", "Invoke-ScheduledTasksUnquotedPathCheck", "TA0004 - Privilege Escalation", "Scheduled task unquoted paths", "Medium", "List", "True", "False", "True", "Check whether there are scheduled tasks configured with an exploitable unquoted path. Note that low-privileged users cannot list all the scheduled tasks."
"CREDS_SENSITIVE_HIVE_FILES", "Invoke-SensitiveHiveFileAccessCheck", "TA0006 - Credential Access", "Hive file permissions", "Medium", "List", "False", "False", "False", "Check whether the current user has read permissions on the SAM/SYSTEM/SECURITY files in the system folder (CVE-2021-36934 - HiveNightmare)."
"CREDS_SENSITIVE_HIVE_FILES_VSS", "Invoke-SensitiveHiveShadowCopyCheck", "TA0006 - Credential Access", "Hive file shadow copy permissions", "High", "List", "False", "False", "False", "Check whether the current user has read permissions on the SAM/SYSTEM/SECURITY files stored in volume shadow copies (CVE-2021-36934 - HiveNightmare)."
"CREDS_UNATTEND", "Invoke-UnattendFilesCheck", "TA0006 - Credential Access", "Unattend file credentials", "Medium", "List", "False", "True", "False", "Check whether there are any 'unattend' files and whether they contain clear-text credentials."
"CREDS_WINLOGON", "Invoke-WinlogonCheck", "TA0006 - Credential Access", "WinLogon credentials", "Medium", "List", "False", "True", "False", "Check whether the 'WinLogon' registry key contains clear-text credentials. Note that entries with an empty password field are filtered out."
"CREDS_CRED_FILES", "Invoke-CredentialFilesCheck", "TA0006 - Credential Access", "Credential files", "None", "List", "True", "False", "False", "Get information about the current user's CREDENTIAL files."
"CREDS_VAULT_CRED", "Invoke-VaultCredCheck", "TA0006 - Credential Access", "Vault credentials (creds)", "None", "List", "True", "True", "False", "Check whether the current user's credential vault contains any clear-text Windows passwords."
"CREDS_VAULT_LIST", "Invoke-VaultListCheck", "TA0006 - Credential Access", "Vault credentials (list)", "None", "List", "True", "True", "False", "Check whether the current user's credential vault contains any clear-text web passwords."
"CREDS_GPP", "Invoke-GPPPasswordCheck", "TA0006 - Credential Access", "GPP passwords", "Medium", "List", "False", "True", "False", "Check whether there are cached Group Policy Preference (GPP) files that contain clear-text passwords."
"CREDS_PS_HIST", "Invoke-PowerShellHistoryCheck", "TA0006 - Credential Access", "PowerShell history", "None", "List", "True", "True", "False", "Check whether the current user's PowerShell history contains any clear-text credentials. Note that this check follows a keyword-based approach and thus might not be completely reliable."
"CREDS_SCCM_NAA", "Invoke-CcmNaaCredentialsCheck", "TA0006 - Credential Access", "SCCM Network Access Account (NAA)", "Medium", "List", "False", "True", "False", "Check whether SCCM NAA credentials are stored in the WMI repository. If so, the username and password DPAPI blobs are returned, but can only be decrypted using the SYSTEM's DPAPI user key."
"HARDEN_UAC", "Invoke-UacCheck", "TA0008 - Lateral Movement", "UAC settings", "Low", "List", "False", "True", "False", "Check whether User Access Control (UAC) is enabled and whether it filters the access token of local administrator accounts when they authenticate remotely."
"HARDEN_LSA_PROTECTION", "Invoke-LsaProtectionCheck", "TA0006 - Credential Access", "LSA Protection", "Low", "List", "False", "True", "False", "Check whether LSA protection is enabled. Note that when LSA protection is enabled, 'lsass.exe' runs as a Protected Process Light (PPL) and thus can only be accessed by other protected processes with an equivalent or higher protection level."
"HARDEN_CREDENTIAL_GUARD", "Invoke-CredentialGuardCheck", "TA0006 - Credential Access", "Credential Guard", "Low", "List", "False", "True", "False", "Check whether Credential Guard is supported and enabled. Note that when Credential Guard is enabled, credentials are stored in an isolated process ('LsaIso.exe') that cannot be accessed, even if the kernel is compromised."
"HARDEN_BIOS_MODE", "Invoke-BiosModeCheck", "TA0003 - Persistence", "UEFI & Secure Boot", "Low", "Table", "False", "True", "False", "Check whether UEFI and Secure Boot are supported and enabled. Note that Secure Boot requires UEFI."
"HARDEN_LAPS", "Invoke-LapsCheck", "TA0008 - Lateral Movement", "LAPS", "Medium", "List", "False", "True", "False", "Check whether LAPS is configured and enabled. Note that this applies to domain-joined machines only."
"HARDEN_PS_TRANSCRIPT", "Invoke-PowershellTranscriptionCheck", "TA0005 - Defense Evasion", "PowerShell transcription", "None", "List", "True", "True", "False", "Check whether PowerShell Transcription is configured and enabled."
"HARDEN_BITLOCKER", "Invoke-BitLockerCheck", "TA0001 - Initial Access", "BitLocker configuration", "Medium", "List", "False", "True", "False", "Check whether BitLocker is enabled on the system drive and requires a second factor of authentication (PIN or startup key). Note that this check might yield a false positive if a third-party drive encryption software is installed."
"HARDEN_APPLOCKER_POLICY", "Invoke-AppLockerPolicyCheck", "TA0005 - Defense Evasion", "AppLocker policy", "Low", "List", "True", "False", "False", "Check whether an AppLocker policy is defined and, if so, whether it contains rules that can be exploited, in the context of the curr
winlog.event_id
4,104
winlog.opcode
On create calls
winlog.process.pid
2,340
winlog.process.thread.id
2,996
winlog.provider_guid
{a0c1853b-5c40-4b15-8766-3cf1c58f985a}
winlog.provider_name
Microsoft-Windows-PowerShell
winlog.record_id
1,690
winlog.task
Execute a Remote Command
winlog.user.domain
FERRUMFOX
winlog.user.identifier
S-1-5-21-2213792943-3978625667-3641601853-1107
winlog.user.name
maslov-o
winlog.user.type
User
winlog.version
1