僵尸网络的流量突发不是随机抽风,而是带着明显的周期性节奏,像定时闹钟一样反复出现,抓准这个规律就能快速从正常业务流量里揪出受控主机。
很多运维第一次看到出口流量每隔几分钟跳一下,还以为是业务程序在自动同步,可一旦把时间轴拉长到24小时、48小时,就会发现这些流量突发像定了闹钟,误差不超过几秒,这就是僵尸网络最典型的通信特征之一。
僵尸网络流量突发周期特征怎么判断?三个实测角度
先看时间窗:周期像上下班打卡
僵尸网络里的受控主机,通常不会一直满速传输,它们按照控制端下发的指令,在固定间隔回连C2服务器,可能是每60秒、每5分钟,也可能是每30分钟或每2小时。
- 打开流量分析工具,把时间粒度压缩到分钟级,看是否出现等间隔波峰。
- 如果连续48小时出现多个整数分钟间隔的流量突起,基本可以判定为周期性受控通信。
- 误差范围通常很小,因为定时器由恶意程序内置,不受业务人工操作影响。
再看流量波形:突发不是持续洪峰
僵尸网络的流量突发更像脉冲方波,冲一下、回落,再冲一下,这和企业业务高峰或DDoS攻击有明显区别。
- DDoS攻击多数是短时间内大流量持续冲击,波形像一堵墙。
- 僵尸心跳流量往往是低流量脉冲,单个IP每秒可能只有几十个包,但重复出现。
- 用
iftop或tcpdump观察,会发现突发段占比很低,但目标IP和端口高度固定。
最后看通信端口和协议
多数僵尸样本会使用非常规高位端口,或者复用443、8080这类常见端口做掩护。
- 在Linux服务器上执行
netstat -anp | grep ESTABLISHED,重点看有没有固定间隔出现的同一目标IP。 - 记录外联时间,和端口号一起拉成表格,很容易发现“每5分钟访问同一个境外IP的34567端口”这种规律。
- 注意观察协议特征:部分僵尸网络使用TCP心跳,部分用UDP小包,也有用DNS隧道定时外发。
企业网络异常流量和僵尸网络攻击的区别在哪?这三点说清
业务高峰与僵尸流量的本质差异
正常业务高峰一定和业务事件强相关,比如促销活动、上下班打卡、系统备份,这些流量存在人为访问路径,有页面跳转、会话保持、不同URL切换。
- 僵尸网络流量突发则机械重复,目标URL、参数、包大小几乎不变。
- 业务突发间隔不固定,今天可能早高峰8点55,明天可能9点10分。
- 僵尸心跳的间隔极其稳定,误差通常不超过1秒,因为它由定时器触发。
攻击目的不同导致流量形态不同
僵尸网络流量突发很多时候不是为了打瘫目标,而是为了“活着”。
- 回连C2获取指令、回传窃取数据、扫描内网横向移动,这些动作产生的流量小但规律强。
- 企业异常流量如果是攻击导致,往往伴随大包、大连接数、异常协议栈,视觉上更猛烈。
- 把僵尸心跳误判为正常业务同步,后果比一次DDoS更严重,因为主机已经被控。
误判代价高:别把僵尸心跳当业务心跳
一条周期性外联可能看起来无害,但它意味着企业内部已经存在受控节点。
- 用
iftop -P查看连接目标地域,如果大量连接指向非业务相关国家或地区,需要警惕。 - 检查流量突发的时间是否出现在业务低峰,比如凌晨3点还在固定发包,基本可以排除正常业务。
- 周期性突发的低流量比一次性大流量更危险,它是持续失陷的信号。
中小企业排查僵尸网络要花多少钱?低成本方案盘点
零成本命令排查:先自己动手
中小企业预算有限的情况下,完全可以从系统自带命令开始。
- Linux执行
ss -tunp、netstat -anp、crontab -l,检查异常外联和可疑计划任务。 - Windows执行
netstat -ano,结合任务管理器按PID查找发起连接的进程。 - 这一步不花一分钱,主要耗时在人工逐条核对,适合初步定位。
开源工具替代商业盒子
如果命令排查不够直观,可以部署开源流量分析工具。
- Zeek、Suricata、Wireshark都能分析流量突发周期,免费安装在闲置服务器或旧PC上即可。
- 通过镜像端口把这些工具接入核心交换机,能自动记录连接时间戳,快速发现等间隔外联。
- 行业经验显示,多数中小企业初期排查成本可控制在几千元以内,主要是人力投入和设备调试。
何时需要付费服务
当流量已经被加密掩盖,或者内部主机数量多、人工排查不过来时,再考虑商业服务。
- 基础SaaS监测服务年费从几千元到几万元不等,可按资产数量选择。
- 如果已经出现数据外传、批量扫描内网行为,建议直接采购托管式检测响应服务。
- 商业产品的价值在于自动聚合时间序列,把周期性突发的识别交给规则引擎,减少漏报。
僵尸网络流量突发常见时段与国内地域特征
常见时段:凌晨与交接班窗口
受控主机白天还要兼顾正常业务,控制端通常选择管理员下班或刚上班的交接时段下发指令。
- 大量僵尸网络活动集中在凌晨2点到5点,这个时段安全运维响应最慢。
- 企业内部可以拉取近30天出口流量,按小时聚合,观察是否出现固定波峰。
- 如果波峰每天都出现在凌晨4点15分左右,且持续10秒到30秒,基本可以确定是定时任务触发。
国内受控主机分布的大致规律
据国家互联网应急中心公开信息,受控主机分布与互联网暴露面、老旧设备密度相关。
- 中东部省份因IDC集中、历史设备存量大,常出现更多僵尸节点。
- 但这不等于西部或北部没有风险,样本偏差取决于监测探针部署密度。
- 行业共识认为,单纯看地域排名容易误判,真正要关注的是本企业出口流量里的规律。
地域时差与流量突发的关系
跨地域僵尸网络会因为时区差异产生不同步的流量突发,这反而是判断依据。
- 同地域受控端往往表现出相近的活跃窗口,比如都在北京时间凌晨3点发包。
- 如果同一C2域名在多个时区的节点出现错峰心跳,说明控制端在统一调度。
- 国内主机若在白天工作时间突然出现与境外夜间活跃期一致的突发,要重点排查是否存在反向时差通信。
实操:三步定位周期性流量突发
第一步:抓出口流量并切片
在路由器或防火墙镜像端口执行循环抓包,按固定时长保存文件。
- Linux下命令:
tcpdump -i eth0 -w capture.pcap -G 300 -W 12,每5分钟一个文件,保留12个。 - 这样能覆盖1小时窗口,足够观察几轮短周期心跳。
- 如果怀疑周期较长,把
-G 300改成-G 1800,拉长到半小时切片。
第二步:按时间戳找重复目标
用Wireshark命令行工具导出关键字段,再按目标IP和端口分组。
- 执行
tshark -r capture.pcap -T fields -e frame.time -e ip.dst -e tcp.dstport。 - 把结果导入Excel或写个简单Python脚本,统计每对“目标IP+端口”的出现间隔。
- 如果发现某个目标每300秒出现一次连接,且持续超过5轮,就能定位到可疑外联。
第三步:关联进程和计划任务
找到异常外联后,最后一步是回到主机内部确认是哪个程序在发起定时通信。
- Linux执行
ls -la /etc/cron.、systemctl list-timers,查看是否存在可疑定时任务。 - 结合
ps -ef | grep <PID>找到实际运行的可执行文件路径。 - Windows检查任务计划程序库,或执行
schtasks /query /fo LIST /v导出全部计划任务慢慢核对。
僵尸网络流量突发周期常见问答
僵尸网络流量突发周期特征怎么看?
最直观的方式是把出口流量按分钟或小时聚合,找到固定间隔的波峰,如果连续48小时出现多个等间隔突发,且目标IP、端口高度固定,基本可以判定存在周期性受控通信。
企业网络异常流量和僵尸网络攻击的区别在哪?
企业网络异常流量和僵尸网络攻击的区别主要在规律性和目的性,业务高峰与业务事件强相关,间隔不固定且伴随真实浏览行为;僵尸网络流量突发则像机器生成的脉冲,间隔误差极小,目标是回连C2或回传数据,前者是人在用网络,后者是程序在呼吸。
中小企业排查僵尸网络流量周期必须买商业设备吗?
不一定,中小企业排查僵尸网络流量周期可以先从系统自带命令和开源工具入手,多数情况下能发现明显的定时外联行为,只有当流量经过强加密、或者需要保存长时间回溯证据时,再考虑采购商业全流量设备或托管式监测服务。
把周期性流量突发当成入侵者的“生物钟”,盯住时间窗、目标端口和关联进程,就能在僵尸网络造成数据泄露前掐断链路。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/636299.html





