一个包含所有的渗透测试用例的攻击型Powershell脚本框架

发表于:2017-7-14 16:51

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Alpha_h4ck    来源:FreeBuf

  目前网上有很多PowerShell攻击工具,比如说著名的Windows日志杀手Invoke-Phant0m。而本文所要介绍的是一款名叫PSAttack的框架,该框架中包含有几乎所有的PowerShell攻击脚本,各位同学在进行渗透测试的过程中肯定会用到它们。
  【PSAttackv1.9】
  PSAttack介绍
  PSAttack是一款开源的PowerShell脚本框架,其中包含有目前安全社区中多款最优秀的项目。最有趣的地方就在于,这个攻击性PowerShell框架并不依赖于powershell.exe,用户可以直接通过.NET框架来调用PowerShell,这就使得企业环境更加难以阻止这个脚本框架的运行了。其次,该框架中包含的模块都经过了加密处理,而且不会在磁盘上存储,当我们在使用PSAttack时,工具会在系统内存中动态解密这些模块,因此它还可以绕过反病毒产品的检测。
  PSAttack中包含有超过一百多种用于提权、侦察和数据提取的命令,而且我们还可以从以下著名的工具中导入其他模块和命令:
  PowerSploit
  Nishang
  Powercat
  Inveigh
  Invoke-TheHash
  PowershellMafia
  PSAttack的功能
  代码执行

  Invoke-Shellcode.ps1: 向制定进程ID或正在运行的PowerShell进程中注入shellcode;
  Invoke-WMICommand.ps1: 利用WMI(作为纯C2信道)在目标计算机中执行PowerShell脚本块;
  Invoke-WMIExec.ps1: 使用NTLMv2绕过哈希认证并在目标主机中执行WMI命令;
  Invoke-SMBExec.ps1: 支持SMB1和SMB2(无论有无SMB签名),可利用NTLMv2绕过哈希认证并执行SMBExec风格的命令;
  数据提取
  Invoke-NinjaCopy.ps1: 获取到服务器管理员权限之后,可读取和拷贝NTFS格式磁盘中的文件;
  PowerView.ps1: 以线程安全的方式导出一个.csv文件;
  Do-Exfiltration.ps1: 这个脚本可以从目标主机中提取数据;
  Powercat.ps1: Powershell版本的Netcat;
  KeePassConfig.ps1: KeePass密码提取工具;
  Invoke-SMBClient.ps1: 执行基本文件共享任务,该模块仅支持SMB2(2.1);
  文件工具
  VolumeShadowCopyTools.ps1: 列出所有本地磁盘快照的设备路径,还可创建/删除/挂载新的磁盘快照;
  PowerView.ps1: 提供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: 该脚本利用Mimikatz.0和Invoke-ReflectivePEInjection在内存中加载Mimikatz,并允许攻击者在不需要向磁盘写入mimikatz代码的情况下导出用户凭证。该脚本还提供了一个ComputerName参数,我们可指定多台目标计算机;
  Get-GPPPassword.ps1: 获取目标账号的明文密码和其他信息;
  PowerUp.ps1: 该脚本可通过目标系统中的applicationHost.config文件恢复加密的应用程序池和虚拟目录密码;
  Get-WLAN-Keys.ps1: 可导出WLAN配置密钥的Nishang Payload;
  Inveigh.ps1: 可进行PowerShell LLMNR/NBNS欺骗,支持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命令;
  总结
  这是一款多合一的攻击框架,不过在将它下载到我们的系统之前,请先关闭反病毒产品,不过当我将它添加到白名单之后,所有的运行都不会再出问题了。该框架还提供了一个PS > Attack build Tool,我们可以用它来下载和更新不同的模块,并使用单独的密钥来对这些模块进行加密,然后把它们重新编译成一套完整工具集。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号