Wireshark数据包分析——Slammer蠕虫攻击

本文仅做数据包学习使用!

一、Slammer蠕虫概述

SQL Slammer (2003年) Slammer 是一款DDOS恶意程序, 透过一种全新的传染途径, 采取分布式阻断服务攻击感染服务器, 它利用SQL Server 弱点采取阻断服务攻击1434端口并在内存中感染SQL Server, 通过被感染的SQL Server 再大量的散播阻断服务攻击与感染, 造成SQL Server 无法正常作业或宕机, 使内部网络拥塞。

SQL Slammer 也被称为“蓝宝石(Sapphire)蠕虫”或Helkern,大小为376字节,刚好可以装入1个网络包中,让它可以在发动时达到快速传播的效果。该蠕虫向 UDP 1434 端口发送格式化的请求,造成受感染路由器开始向随机IP地址发送该恶意代码,令目标陷入拒绝服务状态。曾通过用大量网络包使服务器和路由器之类网络设备过载,造成全球上万台服务器发生拒绝服务现象。

蠕虫具有以下特征:

  • 使用udp协议传播,传播速度快,传播面积广
  • 蠕虫感染系统后,只驻留内存不在硬盘上写任何文件
  • 由于发送大量的udp包会产生巨大的网络流量,造成Dos攻击

影响版本:

  • SQL Server 2000 RTM
  • SQL Server 2000 SP1
  • SQL Server 2000 SP2
  • Microsoft SQL Desktop Engine Version (MSDE) 2000

symantec提供了如下的网络检测规则:

alert udp $EXTERNAL_NET any -> $HOME_NET 1434 (msg:"W32.SQLEXP.Worm propagation";
content:"|68 2E 64 6C 6C 68 65 6C 33 32 68 6B 65 72 6E|"; content:"|04|"; offset:0;
depth:1;)

二、数据包分析

数据包来源于:https://wiki.wireshark.org/SampleCaptures,名称为tslammer.pcap

① 查看数据包,看到明显的2个特征:发送到网络主机UDP的目标1434端口,且将自身封装在一个376字节大小的UDP数据包中;
Wireshark数据包分析——Slammer蠕虫攻击_第1张图片

② 查看十六进制数据,前14个字节是数据帧头,接着个字节是UDP报头,然后20个字节是IP头部,从04之后是Slammer蠕虫的数据;
Wireshark数据包分析——Slammer蠕虫攻击_第2张图片

若SQL服务器SQL Server Resolution Service解析服务开放且未安装补丁,SQL Server Resolution Service在UDP1434端口接收到第一个字节为0x04的UDP包时,SQL监视线程会获取数据并使用信息来尝试打开注册表中的键值。所以攻击者可以在这个UDP包后追加大量的字符数据,当SQL监视线程尝试打开注册表键值时,会发生基于栈的缓冲区溢出,覆盖一部分系统内容,可导致SQL Server进程的权限在系统中执行任意指令。
后续便可调用Windows的API功能GetTickCount随机生成IP地址,在受害主机上建立socket,将装有蠕虫的UDP包发送到生成的IP地址中,使其均被感染。

③ 在数据包负载中,可见一些字符串特征:

  • h.dllhel32hkernQhounthickChGetTf
  • hws2
  • Qhsockf
  • toQhsend
    Wireshark数据包分析——Slammer蠕虫攻击_第3张图片

你可能感兴趣的:(网络数据与协议分析,安全,wireshark,网络,udp)