PsMapExec是一款针对活动目录AD的安全检测工具,广大研究人员可以利用该工具针对活动目录AD环境执行安全审计与安全测试任务。
PsMapExec工具深受流行工具 CrackMapExec / NetExec 的启发,旨在通过其自身的改进库将这些工具的功能和感觉带入 PowerShell。
自 0.6.0 版以来,PsMapExec 不再具有任何外部脚本依赖性,除了 Amnesiac 模块之外,该模块将在未来的更新中得到解决。
广大研究人员可以直接使用下列命令将该项目源码克隆至本地:
git clone https://github.com/The-Viper-One/PsMapExec.git
将脚本直接加载到内存中
IEX(New-Object System.Net.WebClient).DownloadString("https://raw.githubusercontent.com/The-Viper-One/PsMapExec/main/PsMapExec.ps1")
快速示例
PsMapExec -Targets all -Method WMI -Username Admin -Password Pass -Command whoami
PsMapExec -Targets all -Method WinRM -Username Admin -Hash [Hash] -Command whoami
PsMapExec -Targets Workstations -Method RDP -Username LocalAdmin -Password Pass -LocalAuth
PsMapExec -Targets DC01.Security.local -Method SMB -Ticket [Base64-Ticket] -Module SAM
PsMapExec -Targets All -Method GenRelayList
PsMapExec -Targets DCs -Method WinRM -Username Admin -Password Pass -Module LogonPasswords
PsMapExec -Targets C:\temp\Systems.txt -Method WMI
PsMapExec -Method Spray -SprayPassword [Password]
PsMapExec -Targets "AdminCount=1" -Method Spray -SprayHash [Hash]
PsMapExec -Targets "Domain Admins" -Method Spray -SprayHash [Hash]
PsMapExec -Method Kerberoast -ShowOutput
PsMapExec -Targets 192.168.1.0/24 -Method IPMI
目标获取
通过 PsMapExec 获取目标是通过 ADSI Searcher 实现的。只要您以域用户帐户的身份从加入域的系统进行操作,获取目标时就不会遇到任何问题。默认情况下,只有启用的 Active Directory 计算机帐户才会填充到目标列表中。除非指定了 -Domain,否则 PsMapExec 会将域设置为当前用户域。与使用内置 ldap 查询相比,IP 地址定位的受欢迎程度较低。
PsMapExec -Targets All
PsMapExec -Targets All -Domain [Domain]
PsMapExec -Targets Servers
PsMapExec -Targets DCs
PsMapExec -Targets Workstations
PsMapExec -Targets DC01.Security.local
PsMapExec -Targets "C:\Targets.txt"
PsMapExec -Targets SRV*
PsMapExec -Targets 192.168.56.11
PsMapExec -Targets 192.168.56.0/24
身份验证类型
当省略 -Command 和 -Module 时,PsMapExec 将简单地根据指定的目标系统检查提供的或当前的用户凭据,以便通过指定的方法进行管理访问。
PsMapExec -Targets All -Method [Method]
PsMapExec -Targets All -Method [Method] -Username [Username] -Password [Password]
PsMapExec -Targets All -Method [Method] -Username [Username] -Hash [RC4/AES256/NTLM]
PsMapExec -Targets All -Method [Method] -Ticket [doI.. OR Path to ticket file]
PsMapExec -Targets All -Method WMI -LocalAuth
命令执行
所有当前支持的命令执行方法都支持 -Command 参数。命令参数可以附加到上述身份验证类型,以指定或当前用户身份执行给定的命令。
PsMapExec -Targets All -Method [Method] -Command [Command]
模块执行
所有当前支持的命令执行方法都支持 -Module 参数。模块参数可以附加到身份验证类型,以作为指定用户或当前用户执行给定模块。
PsMapExec -Targets All -Method [Method] -Module [Module]
本项目的开发与发布遵循BSD-2-Claim开源许可协议。
PsMapExec:
https://github.com/daniel2005d/mapXplore
https://viperone.gitbook.io/pentest-everything/psmapexec