📯

僵尸网络

一. 僵尸网络基础

1. 什么是僵尸网络?

僵尸网络(botnet)一词,是robot network的缩写,是在传统蠕虫、木马、后门工具的基础上融合形成的网络攻击形式,攻击者可以命令其僵尸主机(bot)执行协同性的非法活动。
病毒:自身是一段代码而非程序,具有感染文件的能力
蠕虫:可自我复制,且具备自我传播能力
木马:木马不强调协同性工作,具备屏幕监测、文件管理等功能
僵尸网络:功能多样可选、强调协同性

2. 组建僵尸网络为了什么?

BaaS(botnet as a service)运营模式
由botmaster组建和运营僵尸网络,然后根据市场的需求,将僵尸网络的功能(DDoS)按不同程度租赁出去,以此获得利益。随着这种服务越来越普遍化,普通的用户通过支付一定的租金就能DDoS攻击任意目标。
僵尸网络的客户:
  • 直接利益获得者
  • (现实/网络立场) 攻击诉求者
  • 钓鱼、广告等其他内容运营者
  • 其他团伙:木马团伙、勒索团伙
僵尸网络的服务:
  • 挖矿
  • 分布式拒绝服务攻击
  • 垃圾邮件
  • 出售bot

3. 僵尸网络相关概念

僵尸网络家族:
代码同源性较高、编码风格相近、特征相同或相近的样本会被认为是一个家族。
变体/变种家族 是指由于多种原因被赋予一级/二级名称的家族
僵尸网络分类:
按照活动类型分类:DDoS、挖矿、窃密、垃圾邮件、舆论操控等
按照平台/架构分类:PC端、IOT端;x86、arm、mips等
按照拓扑架构分类:中心结构(C/S),P2P结构、混合结构
僵尸网络攻击过程中的角色
攻击者本人/团伙:botmaster、bot-herder、黑客、团伙
攻击者的控制服务器:C&C(command and control,C2)、主控
感染节点:bot、被控、肉鸡、下载端
使用漏洞/口令攻击的服务器:攻击源、扫描源
提供恶意文件下载的服务器:传播源、放马站、下载站

二. 僵尸网络检测

如何在网络中进行检测,从而看见僵尸网络在对我干什么。被动检测阶段。

1. 僵尸网络常见的攻击模型

  • 初始入侵
  • 载荷投递
  • 主控通信
  • 蠕虫传播
  • 恶意活动

2. 初始入侵阶段

通过端口扫描、弱口令爆破尝试、漏洞等打入内网服务器

3. 载荷(Payload)投递阶段

通过端口扫描、弱口令爆破尝试、漏洞等打入内网服务器成功之后做的一些操作。
  • 植入样本做持久化控制、复杂功能实现。一般会通过下载(脚本、可执行程序)、发送后拼接的方式进行植入。
  • (弱口令爆破)上报被爆破的设备信息,由Loader服务器负责感染目标机器,同时可以记录这些IP、口令。
端口扫描
如何检测:根据扫描器特征进行检测。收集各种僵尸网络家族的扫描特征
弱口令爆破尝试
如何检测:可以根据弱口令特征进行检测
todo: 思路:提取常见网络设备的弱口令
漏洞利用
如何检测:根据漏洞的协议特征、内容特征等进行检测
todo: 思路:提取漏洞规则,根据漏洞规则进行判别

4. 主控通信阶段

一般肉鸡会给主控端发送上线包、以及心跳包。
上线包一般发送bot的相关信息给主控端。
心跳机制是为了保持存活、获取实时信息。
上线包
如何检测:根据上线包内容进行特征检测。需要提取不同僵尸网络家族的上线包信息。
心跳包
如何检测:根据心跳包的内容、大小等进行特征检测。需要提取不同僵尸网络家族的心跳包信息。

5. 蠕虫传播阶段

bot被感染后植入的botnet样本一般会自带一些攻击模块,并自动开始对内网/公网机器发起蠕虫攻击,感染更多的服务器成为botnet的一部分。

6. 恶意活动阶段

通过主控批量对botnet的节点下发指令,对某一目标发起攻击。
如何检测:
分析不同僵尸网络家族的通信协议,编写不同家族的僵尸网络指令解析脚本

三. 僵尸网络监测

不仅要看见对“我”在干什么,还要看见它对其他人做了什么。主动监测阶段。

1. 如何追踪僵尸网络—中心结构

建立僵尸网络监测系统(BMS):通过模拟中心结构僵尸网络被控端的通信协议,以无害化养殖的方式,接收、解析主控端发送的控制命令
控制命令包括DDoS攻击命令、样本更新命令、Shell执行命令等,解析后可获得详细信息,如:DDoS攻击的目标、攻击方式、攻击时长、攻击端口。
通过模拟客户端的方式监控僵尸网络活动信息,可以解决哪些问题
  • 流量设备误报,该方法不存在误报。
  • 对于流量被加密没有特征、存在协商加密的流量,也可以被解密。
  • 数据可被用于溯源、取证、对抗等场景。
通过模拟客户端的方式监控僵尸网络活动信息,存在哪些问题?
  • 如何实现精准化的伪装?
  • 如何获取稳定的、活跃的C2 IP/DOMAIN?

2. 如何实现精准化的伪装?—中心结构

3. 如何获取稳定的、活跃的C2 ?—中心结构

基于流量设备的C2获取
基于大网的主动探测C2获取
通过发送特送包到某C2,判断回包特征是否属于僵尸网络家族。

三. 僵尸网络对抗

看的见,也要管的着。反制阶段。