后渗透框架 PowerSploit
PowerSploit 是基于 PowerShell 的后渗透框架. 在功能上分为杀软绕过, 命令执行, 特权提升, 权限维持, 信息收集等模块及一些辅助性脚本.
限于篇幅, 仅针对常用脚本进行说明.
PowerShell
PowerShell 是微软旨在替代 vbs 而开发的基于 .Net Framework 的命令行程序和脚本环境, 其强大的特性而被经常用于后渗透信息收集, 横向移动, 权限维持等.
Powershell 目前有 6 个版本, 其中 Windows 7/2008 R2 内置 Powershell 2.0, Windows 8/8.1/2012 R2 内置 PowerShell 3.0, Windows 10 1903 内置 PowerShell 5.0.
在 PowerShell 中, 一切皆为对象, 且命令一致采用 “动词-名词” 的格式, 如 Set-Content
, Get-Item
. PowerShell 的另一大好处为它拥有丰富的文档信息, 包括第三方脚本, 都可以采用 Get-Help Command
的方式查询帮助, 或加上 -examples
参数查看示例.
PowerShell 默认采用 Restricted 的执行策略, 即不允许所有脚本执行, 另有 AllSigned, RemoteSigned, Bypass, Unrestricted 策略, 使用 Set-ExecutionPolicy
更改策略, 其它绕过执行策略的方式在此不再赘述.
Powershell 因为其强大的特性, 如对 WinAPI 的支持, 大部分操作完全可以利用 PowerShell 来完成, 且为脚本语言, 无需编译, 达到了真正的无文件落地, 内存执行, 从而绕过了杀软的静态检测.
PowerSploit
PowerSploit 是基于 PowerShell 的后渗透框架. 在功能上分为杀软绕过, 命令执行, 特权提升, 权限维持, 信息收集等模块及一些辅助性脚本.
限于篇幅, 仅针对常用脚本进行说明.
CodeExecution
命令执行.
Invoke-DllInjection
向指定进程注入 DLL.
|
|
Invoke-Shellcode
向指定进程注入 Shellcode.
|
|
Invoke-ReflectivePEInjection
反射型 DLL/PE 注入. 可从网络加载 DLL/PE 文件.
|
|
Privesc
特权提升.
PowerUp
检查可用的提权方法.
|
|
Exfiltration
针对本机的信息收集.
Get-GPPPassword
导出组策略中配置的用户名和密码 (GPP 漏洞).
|
|
Get-Keystrokes
键盘记录.
|
|
Get-TimedScreenshot
定时截图.
|
|
Get-VaultCredential
导出 Windows 凭据.
|
|
Invoke-Mimikatz
Mimikatz 的 PowerShell 版本.
|
|
Invoke-NinjaCopy
强行复制被进程占用的文件.
|
|
Invoke-TokenManipulation
窃取凭据. 实际测试只能通过 CreateProcess 的方式以 SYSTEM 权限执行命令.
|
|
Out-Minidump
procdump 的 PowerShell 版本.
|
|
VolumeShadowCopyTools
ShadowCopy 的 PowerShell 版本.
|
|
Recon
针对内网的信息收集.
Get-ComputerDetail
获取日志信息, 如 RDP 日志, 事件日志.
|
|
Get-HttpStatus
目录扫描.
|
|
Invoke-Portscan
端口扫描.
|
|
Invoke-ReverseDnsLookup
内网 IP 反查主机名.
|
|
PowerView
域渗透信息收集框架 PowerView.
ScriptModification
脚本更改.
Out-CompressdDLL
将 DLL 编码为可在 PowerShell 中调用的格式.
|
|
Out-EncodedCommand
将 PowerShell 命令或文件编码为 base64 格式.
|
|
Remove-Comment
去除脚本中的空格和注释.
|
|