• 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;)
    
    • 1
    • 2
    • 3

    二、数据包分析

    数据包来源于: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
      在这里插入图片描述
  • 相关阅读:
    JMeter基础脚本编写介绍及案例演示
    Promethus(一)概览
    xilinx axi_iic IP使用分享
    App Deploy as Code! SAE & Terraform 实现 IaC 式部署应用
    (176)Verilog HDL:设计一个计数器之Count1to10
    Jetson-XAVIAR NX 上编译tensorflow-lite
    Spring概述
    使用webpack基础配置并打包typescript
    uniapp拦截请求
    基于python+PHP+MySQL的大学生二手闲置商品交易系统
  • 原文地址:https://blog.csdn.net/Zhou_ZiZi/article/details/126502005