什么是PSattack?

PSattack是一个开源的,将渗透测试实践过程中所有的脚本结合起来形成的框架。更有趣的是使用攻击类型的PowerShell脚本并不会调用powershell.exe,而是通过.NET框架直接调用的PowerShell。另外,所有的模块都是加密处理的,并且不会写入到硬盘当中,所以在一定程度上可以做到免杀。

PSattack中包括超过100个命令,通过以下工具中的模块进行提权,扫描,以及数据过滤:

PowerSploit
Nishang
Powercat
Inveigh
Invoke-TheHash
PowershellMafia

psattack提供的功能

以下是psattack中包含的模块

代码执行

  1. Invoke-Shellcode.ps1:将shellcode注入到对应你选的pid进程当中,或者在正在运行的powershell进程中。
  2. Invoke-WMICommand.ps1:在目标计算机上使用WMI作为C2通道执行powershell脚本
  3. Invoke-WMIExec.ps1:使用NTLMv2绕过hash认证并且在目标机器上执行WMI命令。
  4. Invoke-SMBExec.ps1:使用NTLMv2绕过hash认证并且使用SMBExec方式执行命令。其中Invoke-SMBExec支持SMB1,SMB2,以及未签名的SMB。

    数据方面

  5. Invoke-NinjaCopy.ps1:此脚本可以通过打开一个读方法,然后进入磁盘比如C盘,然后将文件从NTFS中拷贝出来。不过这一脚本需要用户具有管理员权限。
  6. PowerView.ps1:这一脚本可以数据导出为.csv格式
  7. Do-Exfiltration.ps1:使用此脚本从目标站点获取数据
  8. Powercat.ps1:netcat的powershell版本
  9. KeePassConfig.ps1:将KeePass触发器在KeePass.config.xml或者Find-KeepPassConifg中添加或删除。
  10. Invoke-SMBClient.ps1:此脚本通过绕过hash值验证执行基本的文件共享任务。这一模块只支持未进行签名的SMB2.1版本。注意,这一脚本与windows客户端中执行,相对较慢。

    文件方面

  11. VolumeShadowCopyTools.ps1:列出本地所有的盘符,以及其路径。还可以创建,挂载一个新卷,或者将将其删除。
  12. PowerView.ps1:除了上述的这一脚本的描述,还包含s Set-MacAttribute, Copy-ClonedFile, Get-PathAcl, Find-InterestingFile, Get-NetFileServer, Get-DFSshare, Invoke-FileFinder这些命

    提权,留后门方面

  13. powerview.ps1:枚举当前用户所使用的代理服务器,以及WPAD中的内容。以便获取代理服务器。
  14. Gupt-Backdoor.ps1:Gupt是nishang中的后门,可以通过特定的网卡名称执行命令以及脚本程序。
  15. PowerUp.ps1:支持Get-ServiceFilePermission, Write-HijackDll, Get-RegAlwaysInstallElevated, Get-UnattendedInstallFile, Get-Webconfig 以上命令。

    获取密码方面:

  16. Invoke-Mimikatz.ps1:这一脚本利用MImikatz2.0以及Invoke-ReflectivePEInjection脚本将mimikatz注入内存当中。这就可以让你直接从内存中获取数据,不需要在磁盘中写入任何文件。这一脚本有一个ComputerName参数,可以同时对多个计算机执行命令。
  17. Get-GPPPassword.ps1:可以检测到通过组策略首选项推送的明文密码或者其他信息。
  18. PowerUp.ps1:这一脚本可以从系统上的applicationHost.config对加密应用进行解密以及找到虚拟目录的密码。
  19. Get-WLAN-Keys.ps1:nishang中用于将本地wifi密码导出的脚本
  20. 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.
  21. Invoke-mimikittenz.ps1:使用windows函数ReadProcessMemory()从内存中挖掘更多信息。
  22. KeePassConfig.ps1:支持Find-KeePassConfig, Get-KeePassConfigTrigger, Add-KeePassConfigTrigger, Remove-KeePassConfigTrigger这些命令。
  23. Invoke-Kerberoast.ps1:此脚本将对本机请求可管理的服务票据,并且返回它提取的hash值。
    所以你以后在渗透测试过程中只需要这一个工具就可以了。不过惟一的一个问题是如果在我的电脑下载PSattack,杀毒软件就会对它进行查杀。但是如果把PSattack框架单独放到白名单中,他所携带的恶意脚本就不会被查杀。这一框架还包括一个PSattack build tool,这一工具负责实时更新模块,下载文件、加密文件等操作。

工具地址:

https://github.com/jaredhaight/PSAttack/releases

最后修改:2021 年 03 月 09 日
如果觉得我的文章对你有用,请随意赞赏