什么是PSattack?
PSattack是一个开源的,将渗透测试实践过程中所有的脚本结合起来形成的框架。更有趣的是使用攻击类型的PowerShell脚本并不会调用powershell.exe,而是通过.NET框架直接调用的PowerShell。另外,所有的模块都是加密处理的,并且不会写入到硬盘当中,所以在一定程度上可以做到免杀。
PSattack中包括超过100个命令,通过以下工具中的模块进行提权,扫描,以及数据过滤:
PowerSploit
Nishang
Powercat
Inveigh
Invoke-TheHash
PowershellMafia
psattack提供的功能
以下是psattack中包含的模块
代码执行
- Invoke-Shellcode.ps1:将shellcode注入到对应你选的pid进程当中,或者在正在运行的powershell进程中。
- Invoke-WMICommand.ps1:在目标计算机上使用WMI作为C2通道执行powershell脚本
- Invoke-WMIExec.ps1:使用NTLMv2绕过hash认证并且在目标机器上执行WMI命令。
Invoke-SMBExec.ps1:使用NTLMv2绕过hash认证并且使用SMBExec方式执行命令。其中Invoke-SMBExec支持SMB1,SMB2,以及未签名的SMB。
数据方面
- Invoke-NinjaCopy.ps1:此脚本可以通过打开一个读方法,然后进入磁盘比如C盘,然后将文件从NTFS中拷贝出来。不过这一脚本需要用户具有管理员权限。
- PowerView.ps1:这一脚本可以数据导出为.csv格式
- Do-Exfiltration.ps1:使用此脚本从目标站点获取数据
- Powercat.ps1:netcat的powershell版本
- KeePassConfig.ps1:将KeePass触发器在KeePass.config.xml或者Find-KeepPassConifg中添加或删除。
Invoke-SMBClient.ps1:此脚本通过绕过hash值验证执行基本的文件共享任务。这一模块只支持未进行签名的SMB2.1版本。注意,这一脚本与windows客户端中执行,相对较慢。
文件方面
- VolumeShadowCopyTools.ps1:列出本地所有的盘符,以及其路径。还可以创建,挂载一个新卷,或者将将其删除。
PowerView.ps1:除了上述的这一脚本的描述,还包含s Set-MacAttribute, Copy-ClonedFile, Get-PathAcl, Find-InterestingFile, Get-NetFileServer, Get-DFSshare, Invoke-FileFinder这些命
提权,留后门方面
- powerview.ps1:枚举当前用户所使用的代理服务器,以及WPAD中的内容。以便获取代理服务器。
- Gupt-Backdoor.ps1:Gupt是nishang中的后门,可以通过特定的网卡名称执行命令以及脚本程序。
PowerUp.ps1:支持Get-ServiceFilePermission, Write-HijackDll, Get-RegAlwaysInstallElevated, Get-UnattendedInstallFile, Get-Webconfig 以上命令。
获取密码方面:
- Invoke-Mimikatz.ps1:这一脚本利用MImikatz2.0以及Invoke-ReflectivePEInjection脚本将mimikatz注入内存当中。这就可以让你直接从内存中获取数据,不需要在磁盘中写入任何文件。这一脚本有一个ComputerName参数,可以同时对多个计算机执行命令。
- Get-GPPPassword.ps1:可以检测到通过组策略首选项推送的明文密码或者其他信息。
- PowerUp.ps1:这一脚本可以从系统上的applicationHost.config对加密应用进行解密以及找到虚拟目录的密码。
- Get-WLAN-Keys.ps1:nishang中用于将本地wifi密码导出的脚本
- Inveigh.ps1:此脚本可以通过欺骗LLMNR/NBNS对发送到SMB的HTTP(s)或者SMB数据包进行捕获。包括的命令为:Invoke-Inveigh, Get-Inveigh, Get-InveghLog, Get-InveighNTLM, Get-InveighNTLMv1, Get-InveighNTLMv2, Get-InveighStats, Stop-Inveigh, Watch-Inveigh.
- Invoke-mimikittenz.ps1:使用windows函数ReadProcessMemory()从内存中挖掘更多信息。
- KeePassConfig.ps1:支持Find-KeePassConfig, Get-KeePassConfigTrigger, Add-KeePassConfigTrigger, Remove-KeePassConfigTrigger这些命令。
- Invoke-Kerberoast.ps1:此脚本将对本机请求可管理的服务票据,并且返回它提取的hash值。
所以你以后在渗透测试过程中只需要这一个工具就可以了。不过惟一的一个问题是如果在我的电脑下载PSattack,杀毒软件就会对它进行查杀。但是如果把PSattack框架单独放到白名单中,他所携带的恶意脚本就不会被查杀。这一框架还包括一个PSattack build tool,这一工具负责实时更新模块,下载文件、加密文件等操作。