WORKSPACE
2 COMMANDS · ASSESSMENT SETUP AND ORGANISATION
Create Assessment Workspace
🟢 Beginner
🪟 Command Prompt (CMD)
mkdir ClientAssessment_2026
cd ClientAssessment_2026
mkdir Evidence Screenshots Network SystemInfo Passwords Reports
echo Assessment started: %date% %time% > _assessment_log.txt
💻 PowerShell
New-Item -ItemType Directory -Path "ClientAssessment_2026"
Set-Location "ClientAssessment_2026"
"Evidence","Screenshots","Network","SystemInfo","Passwords","Reports" | ForEach-Object {New-Item -ItemType Directory -Name $_}
"Assessment started: $(Get-Date)" | Out-File "_assessment_log.txt"
Create Evidence Folder with Timestamp
🟢 Beginner
🪟 Command Prompt (CMD)
mkdir Evidence_%date:~-4,4%%date:~-10,2%%date:~-7,2%_%time:~0,2%%time:~3,2%
💻 PowerShell
New-Item -ItemType Directory -Name "Evidence_$(Get-Date -Format 'yyyyMMdd_HHmmss')"
USERS
9 COMMANDS · USER AND GROUP ENUMERATION
List All Local Users
🟢 Beginner
🪟 Command Prompt (CMD)
net user
💻 PowerShell
Get-LocalUser | Format-Table Name, Enabled, LastLogon, PasswordRequired, PasswordLastSet
Show User Details
🟢 Beginner
🪟 Command Prompt (CMD)
net user Administrator
💻 PowerShell
Get-LocalUser -Name Administrator | Format-List *
List Administrator Group Members
🟢 Beginner
🪟 Command Prompt (CMD)
net localgroup administrators
💻 PowerShell
Get-LocalGroupMember -Group "Administrators" | Format-Table Name, ObjectClass, PrincipalSource
Show Current User Info
🟢 Beginner
🪟 Command Prompt (CMD)
whoami /all
💻 PowerShell
whoami /all
List All Local Groups
🟢 Beginner
🪟 Command Prompt (CMD)
net localgroup
💻 PowerShell
Get-LocalGroup | Format-Table Name, Description, SID
Show Remote Desktop Users
🟡 Intermediate
🪟 Command Prompt (CMD)
net localgroup "Remote Desktop Users"
💻 PowerShell
Get-LocalGroupMember -Group "Remote Desktop Users" | Format-Table
Show Currently Logged In Users
🟢 Beginner
🪟 Command Prompt (CMD)
query user
💻 PowerShell
quser
Show Active User Sessions
🟢 Beginner
🪟 Command Prompt (CMD)
query session
💻 PowerShell
query session
Show Password Policy
🟡 Intermediate
🪟 Command Prompt (CMD)
net accounts
💻 PowerShell
Get-LocalUser | Select-Object Name, PasswordRequired, PasswordExpires, @{N='PasswordAge(Days)';E={(New-TimeSpan -Start $_.PasswordLastSet).Days}}
NETWORK
15 COMMANDS · NETWORK DISCOVERY AND ANALYSIS
Show IP Configuration
🟢 Beginner
🪟 Command Prompt (CMD)
ipconfig /all
💻 PowerShell
Get-NetIPConfiguration -Detailed
Show Network Interfaces
🟢 Beginner
🪟 Command Prompt (CMD)
netsh interface show interface
💻 PowerShell
Get-NetAdapter | Format-Table Name, InterfaceDescription, Status, LinkSpeed, MacAddress
Show ARP Cache
🟢 Beginner
🪟 Command Prompt (CMD)
arp -a
💻 PowerShell
Get-NetNeighbor | Format-Table IPAddress, LinkLayerAddress, State
Show Routing Table
🟡 Intermediate
🪟 Command Prompt (CMD)
route print
💻 PowerShell
Get-NetRoute | Format-Table DestinationPrefix, NextHop, InterfaceAlias, RouteMetric
Show All Network Connections
🟢 Beginner
🪟 Command Prompt (CMD)
netstat -ano
💻 PowerShell
Get-NetTCPConnection | Format-Table LocalAddress, LocalPort, RemoteAddress, RemotePort, State, OwningProcess
Show Listening Ports
🟢 Beginner
🪟 Command Prompt (CMD)
netstat -ano | findstr LISTENING
💻 PowerShell
Get-NetTCPConnection | Where-Object {$_.State -eq "Listen"} | Format-Table LocalAddress, LocalPort, OwningProcess, @{N='Process';E={(Get-Process -Id $_.OwningProcess).ProcessName}}
Show Established Connections
🟢 Beginner
🪟 Command Prompt (CMD)
netstat -ano | findstr ESTABLISHED
💻 PowerShell
Get-NetTCPConnection | Where-Object {$_.State -eq "Established"} | Format-Table LocalAddress, LocalPort, RemoteAddress, RemotePort, @{N='Process';E={(Get-Process -Id $_.OwningProcess).ProcessName}}
Show DNS Cache
🟢 Beginner
🪟 Command Prompt (CMD)
ipconfig /displaydns
💻 PowerShell
Get-DnsClientCache | Format-Table Entry, Name, Type, TimeToLive
Clear DNS Cache
🟢 Beginner
🪟 Command Prompt (CMD)
ipconfig /flushdns
💻 PowerShell
Clear-DnsClientCache
Show Active SMB Sessions
🟡 Intermediate
🪟 Command Prompt (CMD)
net session
💻 PowerShell
Get-SmbSession | Format-Table ClientComputerName, ClientUserName, NumOpens, SecondsIdle
Test Network Connectivity
🟢 Beginner
🪟 Command Prompt (CMD)
ping google.com
💻 PowerShell
Test-Connection google.com -Count 4
Trace Network Route
🟢 Beginner
🪟 Command Prompt (CMD)
tracert google.com
💻 PowerShell
Test-NetConnection google.com -TraceRoute
DNS Lookup
🟢 Beginner
🪟 Command Prompt (CMD)
nslookup google.com
💻 PowerShell
Resolve-DnsName google.com
Show Network Statistics
🟡 Intermediate
🪟 Command Prompt (CMD)
netstat -s
💻 PowerShell
Get-NetTCPConnection | Group-Object State | Select-Object Count, Name
FIREWALL
5 COMMANDS · FIREWALL CONFIGURATION AND RULES
Show Firewall Status
🟢 Beginner
🪟 Command Prompt (CMD)
netsh advfirewall show allprofiles
💻 PowerShell
Get-NetFirewallProfile | Format-Table Name, Enabled, DefaultInboundAction, DefaultOutboundAction
Show All Firewall Rules
🟡 Intermediate
🪟 Command Prompt (CMD)
netsh advfirewall firewall show rule name=all
💻 PowerShell
Get-NetFirewallRule | Format-Table DisplayName, Direction, Action, Enabled
Show Enabled Firewall Rules
🟡 Intermediate
🪟 Command Prompt (CMD)
netsh advfirewall firewall show rule name=all | findstr "Rule Name"
💻 PowerShell
Get-NetFirewallRule | Where-Object {$_.Enabled -eq "True"} | Format-Table DisplayName, Direction, Action
Show Inbound Firewall Rules
🟡 Intermediate
🪟 Command Prompt (CMD)
netsh advfirewall firewall show rule name=all dir=in
💻 PowerShell
Get-NetFirewallRule | Where-Object {$_.Direction -eq "Inbound" -and $_.Enabled -eq "True"} | Format-Table DisplayName, Action
Show Outbound Firewall Rules
🟡 Intermediate
🪟 Command Prompt (CMD)
netsh advfirewall firewall show rule name=all dir=out
💻 PowerShell
Get-NetFirewallRule | Where-Object {$_.Direction -eq "Outbound" -and $_.Enabled -eq "True"} | Format-Table DisplayName, Action
PROCESSES
9 COMMANDS · PROCESS INSPECTION AND MANAGEMENT
List All Running Processes
🟢 Beginner
🪟 Command Prompt (CMD)
tasklist
💻 PowerShell
Get-Process | Format-Table ProcessName, Id, CPU, @{N='Memory(MB)';E={[math]::Round($_.WS/1MB,2)}}
Show Process Tree
🟡 Intermediate
🪟 Command Prompt (CMD)
wmic process get name,processid,parentprocessid
💻 PowerShell
Get-CimInstance Win32_Process | Select-Object ProcessName, ProcessId, ParentProcessId | Format-Table
Show Processes with Full Path
🟢 Beginner
🪟 Command Prompt (CMD)
wmic process get name,processid,executablepath
💻 PowerShell
Get-Process | Select-Object ProcessName, Id, Path | Format-Table
Show Processes with Command Line
🟡 Intermediate
🪟 Command Prompt (CMD)
wmic process get name,processid,commandline
💻 PowerShell
Get-CimInstance Win32_Process | Select-Object Name, ProcessId, CommandLine | Format-Table -Wrap
Show Top CPU Processes
🟢 Beginner
🪟 Command Prompt (CMD)
wmic process get name,processid,workingsetsize /format:list | sort
💻 PowerShell
Get-Process | Sort-Object CPU -Descending | Select-Object -First 10 | Format-Table ProcessName, Id, CPU, @{N='Memory(MB)';E={[math]::Round($_.WS/1MB,2)}}
Show Top Memory Processes
🟢 Beginner
🪟 Command Prompt (CMD)
tasklist /fi "memusage gt 100000"
💻 PowerShell
Get-Process | Sort-Object WS -Descending | Select-Object -First 10 | Format-Table ProcessName, Id, @{N='Memory(MB)';E={[math]::Round($_.WS/1MB,2)}}
Show Process Services
🟡 Intermediate
🪟 Command Prompt (CMD)
tasklist /svc
💻 PowerShell
Get-Process | Where-Object {$_.Name -match 'svchost'} | Format-Table ProcessName, Id
Kill Process by Name
⚠ ADMIN
🟢 Beginner
⚠️ Forces termination - unsaved data will be lost
🪟 Command Prompt (CMD)
taskkill /F /IM notepad.exe
💻 PowerShell
Stop-Process -Name notepad -Force
Kill Process by PID
⚠ ADMIN
🟢 Beginner
⚠️ Forces termination - unsaved data will be lost
🪟 Command Prompt (CMD)
taskkill /F /PID 1234
💻 PowerShell
Stop-Process -Id 1234 -Force
SERVICES
5 COMMANDS · WINDOWS SERVICE ENUMERATION
List All Services
🟢 Beginner
🪟 Command Prompt (CMD)
sc query type= service state= all
💻 PowerShell
Get-Service | Format-Table Name, DisplayName, Status, StartType
Show Running Services
🟢 Beginner
🪟 Command Prompt (CMD)
sc query type= service state= running
💻 PowerShell
Get-Service | Where-Object {$_.Status -eq "Running"} | Format-Table Name, DisplayName
Show Stopped Services
🟢 Beginner
🪟 Command Prompt (CMD)
sc query type= service state= inactive
💻 PowerShell
Get-Service | Where-Object {$_.Status -eq "Stopped"} | Format-Table Name, DisplayName
Show Service Details
🟡 Intermediate
🪟 Command Prompt (CMD)
sc qc Spooler
💻 PowerShell
Get-Service Spooler | Format-List *
Show Automatic Services
🟡 Intermediate
🪟 Command Prompt (CMD)
wmic service where StartMode="Auto" get Name,State
💻 PowerShell
Get-Service | Where-Object {$_.StartType -eq "Automatic"} | Format-Table Name, Status
SECURITY
8 COMMANDS · SECURITY CONFIGURATION ASSESSMENT
Extract WiFi Passwords
⚠ ADMIN
🔴 Advanced
⚠️ Requires Administrator privileges. For authorized assessments only.
🪟 Command Prompt (CMD)
for /f "skip=9 tokens=1,2 delims=:" %i in ('netsh wlan show profiles') do @echo %j | findstr -i -v echo | netsh wlan show profiles %j key=clear | findstr "Key Content"
💻 PowerShell
(netsh wlan show profiles) | Select-String "\:(.+)$" | ForEach-Object {
$name=$_.Matches.Groups[1].Value.Trim()
$wifi = (netsh wlan show profile name=$name key=clear)
$pass = $wifi | Select-String "Key Content\W+\:(.+)$"
if($pass){
[PSCustomObject]@{
SSID=$name
Password=$pass.Matches.Groups[1].Value.Trim()
}
}
} | Format-Table -AutoSize
Show Windows Defender Status
🟢 Beginner
🪟 Command Prompt (CMD)
powershell Get-MpComputerStatus | Select-Object AntivirusEnabled, RealTimeProtectionEnabled
💻 PowerShell
Get-MpComputerStatus | Select-Object AntivirusEnabled, RealTimeProtectionEnabled, IoavProtectionEnabled, BehaviorMonitorEnabled, AntivirusSignatureLastUpdated
Show Defender Exclusions
🟡 Intermediate
🪟 Command Prompt (CMD)
powershell Get-MpPreference | Select-Object ExclusionPath, ExclusionProcess
💻 PowerShell
Get-MpPreference | Select-Object ExclusionPath, ExclusionProcess, ExclusionExtension
Show Security Event Log
🟡 Intermediate
🪟 Command Prompt (CMD)
wevtutil qe Security /c:20 /f:text /rd:true
💻 PowerShell
Get-EventLog -LogName Security -Newest 20 | Format-Table TimeGenerated, EventID, Message -Wrap
Show Failed Login Attempts
🔴 Advanced
🪟 Command Prompt (CMD)
wevtutil qe Security "/q:*[System[(EventID=4625)]]" /c:20 /f:text /rd:true
💻 PowerShell
Get-EventLog -LogName Security | Where-Object {$_.EventID -eq 4625} | Select-Object -First 20 | Format-Table TimeGenerated, Message -Wrap
Show Successful Logins
🔴 Advanced
🪟 Command Prompt (CMD)
wevtutil qe Security "/q:*[System[(EventID=4624)]]" /c:20 /f:text /rd:true
💻 PowerShell
Get-EventLog -LogName Security | Where-Object {$_.EventID -eq 4624} | Select-Object -First 20 | Format-Table TimeGenerated, Message -Wrap
Show UAC Settings
🟡 Intermediate
🪟 Command Prompt (CMD)
reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA
💻 PowerShell
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" | Select-Object EnableLUA, ConsentPromptBehaviorAdmin
Check if Admin
🟢 Beginner
🪟 Command Prompt (CMD)
net session >nul 2>&1 && echo Administrator || echo Not Administrator
💻 PowerShell
([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]"Administrator")
FILES
7 COMMANDS · FILE SYSTEM SEARCH AND INSPECTION
Search for Files by Name
🟢 Beginner
🪟 Command Prompt (CMD)
dir /s /b C:\*.txt
💻 PowerShell
Get-ChildItem -Path C:\ -Recurse -Filter *.txt -ErrorAction SilentlyContinue | Select-Object FullName
Find Large Files
🟡 Intermediate
🪟 Command Prompt (CMD)
forfiles /S /M * /C "cmd /c if @fsize GTR 104857600 echo @path @fsize"
💻 PowerShell
Get-ChildItem -Path C:\ -Recurse -File -ErrorAction SilentlyContinue | Where-Object {$_.Length -gt 100MB} | Select-Object FullName, @{N='Size(MB)';E={[math]::Round($_.Length/1MB,2)}} | Sort-Object 'Size(MB)' -Descending
Find Recent Files
🟢 Beginner
🪟 Command Prompt (CMD)
forfiles /P C:\ /S /D -7 /C "cmd /c echo @path @fdate"
💻 PowerShell
Get-ChildItem -Path C:\ -Recurse -File -ErrorAction SilentlyContinue | Where-Object {$_.LastWriteTime -gt (Get-Date).AddDays(-7)} | Select-Object FullName, LastWriteTime
Search File Contents
🟡 Intermediate
🪟 Command Prompt (CMD)
findstr /S /I /M "password" C:\*.txt
💻 PowerShell
Get-ChildItem -Path C:\ -Recurse -Include *.txt -ErrorAction SilentlyContinue | Select-String -Pattern "password" | Select-Object Path, LineNumber, Line
List Files in Directory
🟢 Beginner
🪟 Command Prompt (CMD)
dir
💻 PowerShell
Get-ChildItem | Format-Table Name, Length, LastWriteTime
Show File Permissions
🟡 Intermediate
🪟 Command Prompt (CMD)
icacls C:\
💻 PowerShell
Get-Acl C:\ | Format-List
SYSTEM
13 COMMANDS · SYSTEM INFORMATION AND CONFIGURATION
Show Full System Information
🟢 Beginner
🪟 Command Prompt (CMD)
systeminfo
💻 PowerShell
Get-ComputerInfo | Format-List
Show Computer Name and Domain
🟢 Beginner
🪟 Command Prompt (CMD)
systeminfo | findstr /C:"Host Name" /C:"Domain"
💻 PowerShell
Get-ComputerInfo | Select-Object CsName, CsDomain, CsWorkgroup
Show OS Version
🟢 Beginner
🪟 Command Prompt (CMD)
ver
💻 PowerShell
Get-ComputerInfo | Select-Object WindowsProductName, WindowsVersion, OsHardwareAbstractionLayer
Show Installed Updates
🟢 Beginner
🪟 Command Prompt (CMD)
wmic qfe list
💻 PowerShell
Get-HotFix | Format-Table Description, HotFixID, InstalledOn
Show CPU Information
🟢 Beginner
🪟 Command Prompt (CMD)
wmic cpu get name,numberofcores,maxclockspeed
💻 PowerShell
Get-CimInstance Win32_Processor | Select-Object Name, NumberOfCores, NumberOfLogicalProcessors, MaxClockSpeed
Show Memory Information
🟢 Beginner
🪟 Command Prompt (CMD)
wmic memorychip get capacity,speed
💻 PowerShell
Get-CimInstance Win32_PhysicalMemory | Select-Object @{N='Capacity(GB)';E={[math]::Round($_.Capacity/1GB,2)}}, Speed, Manufacturer
Show Disk Information
🟢 Beginner
🪟 Command Prompt (CMD)
wmic diskdrive get model,size,interfacetype
💻 PowerShell
Get-CimInstance Win32_DiskDrive | Select-Object Model, @{N='Size(GB)';E={[math]::Round($_.Size/1GB,2)}}, InterfaceType
Show Drive Space
🟢 Beginner
🪟 Command Prompt (CMD)
wmic logicaldisk get caption,size,freespace
💻 PowerShell
Get-PSDrive -PSProvider FileSystem | Select-Object Name, @{N='Used(GB)';E={[math]::Round($_.Used/1GB,2)}}, @{N='Free(GB)';E={[math]::Round($_.Free/1GB,2)}}
Show BIOS Information
🟢 Beginner
🪟 Command Prompt (CMD)
wmic bios get serialnumber,version
💻 PowerShell
Get-CimInstance Win32_BIOS | Select-Object SerialNumber, Version, Manufacturer
Show Motherboard Information
🟢 Beginner
🪟 Command Prompt (CMD)
wmic baseboard get product,manufacturer,version,serialnumber
💻 PowerShell
Get-CimInstance Win32_BaseBoard | Select-Object Manufacturer, Product, Version, SerialNumber
Show Uptime
🟢 Beginner
🪟 Command Prompt (CMD)
systeminfo | findstr /C:"System Boot Time"
💻 PowerShell
Get-CimInstance Win32_OperatingSystem | Select-Object @{N='Uptime';E={(Get-Date) - $_.LastBootUpTime}}, LastBootUpTime
Show Environment Variables
🟢 Beginner
🪟 Command Prompt (CMD)
set
💻 PowerShell
Get-ChildItem Env: | Format-Table Name, Value
Show Timezone
🟢 Beginner
🪟 Command Prompt (CMD)
tzutil /g
💻 PowerShell
Get-TimeZone
SOFTWARE
4 COMMANDS · INSTALLED APPLICATIONS AND STARTUPS
List Installed Programs
🟢 Beginner
🪟 Command Prompt (CMD)
wmic product get name,version
💻 PowerShell
Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher | Format-Table
List Installed Programs (32-bit)
🟡 Intermediate
🪟 Command Prompt (CMD)
reg query HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall /s /v DisplayName
💻 PowerShell
Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher | Format-Table
Show Startup Programs
🟡 Intermediate
🪟 Command Prompt (CMD)
wmic startup list full
💻 PowerShell
Get-CimInstance Win32_StartupCommand | Select-Object Name, Command, Location, User | Format-Table
Show Scheduled Tasks
🟡 Intermediate
🪟 Command Prompt (CMD)
schtasks /query /fo LIST
💻 PowerShell
Get-ScheduledTask | Where-Object {$_.State -ne "Disabled"} | Select-Object TaskName, State, TaskPath | Format-Table
EVENT LOGS
4 COMMANDS · WINDOWS EVENT LOG ANALYSIS
Show System Event Log
🟢 Beginner
🪟 Command Prompt (CMD)
wevtutil qe System /c:20 /f:text /rd:true
💻 PowerShell
Get-EventLog -LogName System -Newest 20 | Format-Table TimeGenerated, EntryType, Source, Message -Wrap
Show Application Event Log
🟢 Beginner
🪟 Command Prompt (CMD)
wevtutil qe Application /c:20 /f:text /rd:true
💻 PowerShell
Get-EventLog -LogName Application -Newest 20 | Format-Table TimeGenerated, EntryType, Source, Message -Wrap
Show Error Events Only
🟡 Intermediate
🪟 Command Prompt (CMD)
wevtutil qe System "/q:*[System[(Level=2)]]" /c:20 /f:text /rd:true
💻 PowerShell
Get-EventLog -LogName System -EntryType Error -Newest 20 | Format-Table TimeGenerated, Source, Message -Wrap
Show Warning Events Only
🟡 Intermediate
🪟 Command Prompt (CMD)
wevtutil qe System "/q:*[System[(Level=3)]]" /c:20 /f:text /rd:true
💻 PowerShell
Get-EventLog -LogName System -EntryType Warning -Newest 20 | Format-Table TimeGenerated, Source, Message -Wrap
EVIDENCE
4 COMMANDS · EVIDENCE COLLECTION AND HASHING
Take Screenshot
🟢 Beginner
🪟 Command Prompt (CMD)
powershell Add-Type -AssemblyName System.Windows.Forms; $screen = [System.Windows.Forms.Screen]::PrimaryScreen.Bounds; $bitmap = New-Object System.Drawing.Bitmap($screen.Width, $screen.Height); $graphics = [System.Drawing.Graphics]::FromImage($bitmap); $graphics.CopyFromScreen($screen.Location, [System.Drawing.Point]::Empty, $screen.Size); $bitmap.Save('screenshot.png'); $graphics.Dispose(); $bitmap.Dispose()
💻 PowerShell
Add-Type -AssemblyName System.Windows.Forms
$screen = [System.Windows.Forms.Screen]::PrimaryScreen.Bounds
$bitmap = New-Object System.Drawing.Bitmap($screen.Width, $screen.Height)
$graphics = [System.Drawing.Graphics]::FromImage($bitmap)
$graphics.CopyFromScreen($screen.Location, [System.Drawing.Point]::Empty, $screen.Size)
$bitmap.Save("screenshot_$(Get-Date -Format 'yyyyMMdd_HHmmss').png")
$graphics.Dispose()
$bitmap.Dispose()
Create Evidence Archive
🟢 Beginner
🪟 Command Prompt (CMD)
powershell Compress-Archive -Path "Evidence" -DestinationPath "Evidence_Archive_%date:~-4,4%%date:~-10,2%%date:~-7,2%.zip"
💻 PowerShell
Compress-Archive -Path "Evidence" -DestinationPath "Evidence_Archive_$(Get-Date -Format 'yyyyMMdd_HHmmss').zip"
Calculate File Hash (MD5)
🟡 Intermediate
🪟 Command Prompt (CMD)
certutil -hashfile filename.txt MD5
💻 PowerShell
Get-FileHash -Path filename.txt -Algorithm MD5
Calculate File Hash (SHA256)
🟡 Intermediate
🪟 Command Prompt (CMD)
certutil -hashfile filename.txt SHA256
💻 PowerShell
Get-FileHash -Path filename.txt -Algorithm SHA256
REPORTING
2 COMMANDS · ASSESSMENT REPORT GENERATION
Generate Quick Report
🟢 Beginner
🪟 Command Prompt (CMD)
echo ===== QUICK ASSESSMENT REPORT ===== > quick_report.txt
echo Date: %date% >> quick_report.txt
echo Time: %time% >> quick_report.txt
echo. >> quick_report.txt
systeminfo | findstr /C:"Host Name" /C:"OS Name" /C:"OS Version" >> quick_report.txt
ipconfig | findstr /C:"IPv4" >> quick_report.txt
net user >> quick_report.txt
💻 PowerShell
@"
===== QUICK ASSESSMENT REPORT =====
Date: $(Get-Date)
Assessor: [Your Name]
$((Get-ComputerInfo | Select-Object CsName, WindowsVersion | Format-List | Out-String))
$((Get-NetIPConfiguration | Select-Object IPv4Address | Format-List | Out-String))
$((Get-LocalUser | Format-Table | Out-String))
"@ | Out-File "quick_report_$(Get-Date -Format 'yyyyMMdd').txt"
Generate Full Assessment Report
🟢 Beginner
🪟 Command Prompt (CMD)
echo ===== FULL SECURITY ASSESSMENT REPORT ===== > full_report.txt
echo Generated: %date% %time% >> full_report.txt
echo. >> full_report.txt
echo [SYSTEM INFORMATION] >> full_report.txt
systeminfo >> full_report.txt
echo. >> full_report.txt
echo [NETWORK CONFIGURATION] >> full_report.txt
ipconfig /all >> full_report.txt
echo. >> full_report.txt
echo [USER ACCOUNTS] >> full_report.txt
net user >> full_report.txt
echo. >> full_report.txt
echo [RUNNING PROCESSES] >> full_report.txt
tasklist >> full_report.txt
💻 PowerShell
$report = @"
===== FULL SECURITY ASSESSMENT REPORT =====
Generated: $(Get-Date -Format 'yyyy-MM-dd HH:mm:ss')
Assessor: [Your Name]
[SYSTEM INFORMATION]
$((Get-ComputerInfo | Format-List | Out-String))
[NETWORK CONFIGURATION]
$((Get-NetIPConfiguration -Detailed | Format-List | Out-String))
[USER ACCOUNTS]
$((Get-LocalUser | Format-Table | Out-String))
[LOCAL GROUPS]
$((Get-LocalGroup | Format-Table | Out-String))
[RUNNING PROCESSES]
$((Get-Process | Format-Table | Out-String))
[SERVICES]
$((Get-Service | Format-Table | Out-String))
[NETWORK CONNECTIONS]
$((Get-NetTCPConnection | Format-Table | Out-String))
"@
$report | Out-File "full_report_$(Get-Date -Format 'yyyyMMdd').txt"
ADVANCED
5 COMMANDS · ADVANCED TECHNIQUES — AUTHORISED USE ONLY
Dump Cached Credentials
⚠ ADMIN
🔴 Advanced
⚠️ Requires Administrator privileges
🪟 Command Prompt (CMD)
reg query "HKLM\SECURITY\Cache"
💻 PowerShell
reg query "HKLM\SECURITY\Cache"
Show PowerShell History
🟡 Intermediate
🪟 Command Prompt (CMD)
type %APPDATA%\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt
💻 PowerShell
Get-Content (Get-PSReadLineOption).HistorySavePath
Show Browser History (Chrome)
🔴 Advanced
🪟 Command Prompt (CMD)
type "%LOCALAPPDATA%\Google\Chrome\User Data\Default\History"
💻 PowerShell
# Chrome stores history in SQLite - use external tool to read
Write-Host "Chrome history located at: $env:LOCALAPPDATA\Google\Chrome\User Data\Default\History"
Export Registry Key
🔴 Advanced
🪟 Command Prompt (CMD)
reg export HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion backup.reg
💻 PowerShell
reg export HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion backup.reg
Show Shadow Copies
🔴 Advanced
🪟 Command Prompt (CMD)
vssadmin list shadows
💻 PowerShell
Get-CimInstance Win32_ShadowCopy | Select-Object InstallDate, VolumeName, DeviceObject