标题 | 简介 | 类型 | 公开时间 | ||||||||||
|
|||||||||||||
|
|||||||||||||
详情 | |||||||||||||
[SAFE-ID: JIWO-2024-3304] 作者: 小螺号 发表于: [2023-07-08]
本文共 [145] 位读者顶过
一、Slammer蠕虫概述
SQL Slammer (2003年) Slammer 是一款DDOS恶意程序, 透过一种全新的传染途径, 采取分布式阻断服务攻击感染服务器, 它利用SQL Server 弱点采取阻断服务攻击1434端口并在内存中感染SQL Server, 通过被感染的SQL Server 再大量的散播阻断服务攻击与感染, 造成SQL Server 无法正常作业或宕机, 使内部网络拥塞。[出自:jiwo.org] 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数据包中; ② 查看十六进制数据,前14个字节是数据帧头,接着个字节是UDP报头,然后20个字节是IP头部,从04之后是Slammer蠕虫的数据; 若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 ———————————————— |