|
|
| 首页 | 技术文章 | 软件下载 | 博客 | 论坛 | 精品教程 | 黑客动画 | 视频资源 | 在线服务 | 黑客游戏 | | ||||
|
|
||||||||
|
||||||||
|
|||||
| 用Snort从原理上检测MS05-051攻击[转] | |||||
作者:stardust 文章来源:安全焦点 点击数: 更新时间:2006-1-11 ![]() |
|||||
|
MS05-051漏洞及相关的攻击代码和蠕虫已经出现一些日子了,从IDS的角度来看,如何检测利用MS05-051漏洞的攻击呢? Snort虽然提供了一些规则来检测攻击相关的请求,但并远不是攻击本身: alert udp $EXTERNAL_NET any -> $HOME_NET 1024: (msg:"NETBIOS DCERPC DIRECT-UDP IXnRemote BuildContextW little endian attempt"; flowbits:isset,dce.bind.IXnRemote; content:"|05|"; byte_test:1,&,16,3,relative; content:"|00|"; within:1; distance:1; content:"|07 00|"; within:2; distance:19;) alert tcp $EXTERNAL_NET any -> $HOME_NET 1024: (msg:"NETBIOS DCERPC DIRECT v4 IXnRemote BuildContextW attempt"; flow:established,to_server; content:"|04 00|"; byte_test:1,!&,16,2,relative; content:"|E0 0C|k|90 0B C7|g|10 B3 17 00 DD 01 06|b|DA|"; within:16; distance:22; content:"|00 07|"; within:2; distance:28; pcre:"/^.{10}/sR";) alert udp $EXTERNAL_NET any -> $HOME_NET 1024: (msg:"NETBIOS DCERPC DIRECT-UDP v4 IXnRemote BuildContextW attempt"; content:"|04 00|"; byte_test:1,!&,16,2,relative; content:"|E0 0C|k|90 0B C7|g|10 B3 17 00 DD 01 06|b|DA|"; within:16; distance:22; content:"|00 07|"; within:2; distance:28; pcre:"/^.{10}/sR";) alert tcp $EXTERNAL_NET any -> $HOME_NET 1024: (msg:"NETBIOS DCERPC DIRECT IXnRemote BuildContextW attempt"; flow:established,to_server; flowbits:isset,dce.bind.IXnRemote; content:"|05|"; byte_test:1,!&,16,3,relative; content:"|00|"; within:1; distance:1; content:"|00 07|"; within:2; distance:19;) alert tcp $EXTERNAL_NET any -> $HOME_NET 1024: (msg:"NETBIOS DCERPC DIRECT IXnRemote BuildContextW little endian attempt"; flow:established,to_server; flowbits:isset,dce.bind.IXnRemote; content:"|05|"; byte_test:1,&,16,3,relative; content:"|00|"; within:1; distance:1; content:"|07 00|"; within:2; distance:19;) alert udp $EXTERNAL_NET any -> $HOME_NET 1024: (msg:"NETBIOS DCERPC DIRECT-UDP IXnRemote BuildContextW attempt"; flowbits:isset,dce.bind.IXnRemote; content:"|05|"; byte_test:1,!&,16,3,relative; content:"|00|"; within:1; distance:1; content:"|00 07|"; within:2; distance:19;) alert tcp $EXTERNAL_NET any -> $HOME_NET 1024: (msg:"NETBIOS DCERPC DIRECT v4 IXnRemote BuildContextW little endian attempt"; flow:established,to_server; content:"|04 00|"; byte_test:1,&,16,2,relative; content:"|E0 0C|k|90 0B C7|g|10 B3 17 00 DD 01 06|b|DA|"; within:16; distance:22; content:"|07 00|"; within:2; distance:28; pcre:"/^.{10}/sR";) alert udp $EXTERNAL_NET any -> $HOME_NET 1024: (msg:"NETBIOS DCERPC DIRECT-UDP v4 IXnRemote BuildContextW little endian attempt"; content:"|04 00|"; byte_test:1,&,16,2,relative; content:"|E0 0C|k|90 0B C7|g|10 B3 17 00 DD 01 06|b|DA|"; within:16; distance:22; content:"|07 00|"; within:2; distance:28; pcre:"/^.{10}/sR";) 对于正常的请求,这些规则也可能触发告警,显然这是不另人满意的。 漏洞分析 -------- 要检测攻击当然需要先对MS05-051漏洞作一下比较深入的成因分析,以下的分析完全整理自小四(scz at nsfocus dot com)的工作。 漏洞的成因在于远程调用msdtcprx!BuildContextW()时存在内存破坏问题,msdtcprx.dll!BuildContextW()对应DCE-RPC 7号调用,相应的最简请求报文参数手工解码如下: -------------------------------------------------------------------------- 0x00, 0x00, // +0x000 param0开始,2字节长 0x00, 0x00, // 填充字节,4字节对齐 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // +0x004 param1开始,24字节长 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // +0x018 param2开始,参数最大可能长度,4字节长 0x00, 0x00, 0x00, 0x00, // 参数最小可能长度,4字节长 0x01, 0x00, 0x00, 0x00, // 参数实际长度,4字节长 0x00, 0x00, // 参数串,Unicode格式 0x00, 0x00, // 填充字节,4字节对齐 0x01, 0x00, 0x00, 0x00, // +0x028 pwszHostName,param3开始,参数最大可能长度,4字节长 0x00, 0x00, 0x00, 0x00, // 参数最小可能长度,4字节长 0x01, 0x00, 0x00, 0x00, // 参数实际长度,4字节长 0x00, 0x00, // 参数串,Unicode格式 0x00, 0x00, // 填充字节,4字节对齐 0x01, 0x00, 0x00, 0x00, // +0x038 pwszUuidString param4开始,参数最大可能长度,4字节长,正常情况下应该是0x00000025,如果大于此值则是畸形的 0x00, 0x00, 0x00, 0x00, // 参数最小可能长度,4字节长 0x01, 0x00, 0x00, 0x00, // 参数实际长度,4字节长 0x00, 0x00, // 参数串,Unicode格式 0x00, 0x00, // 填充字节,4字节对齐 0x01, 0x00, 0x00, 0x00, // +0x048 param5开始,参数最大可能长度,4字节长,正常情况下应该是0x00000025,如果大于此值则是畸形的 0x00, 0x00, 0x00, 0x00, // 参数最小可能长度,4字节长 0x01, 0x00, 0x00, 0x00, // 参数实际长度,4字节长 0x00, 0x00, // 参数串,Unicode格式 0x00, 0x00, // 填充字节,4字节对齐 0x01, 0x00, 0x00, 0x00, // +0x058 pwszGuidOut param6开始,参数最大可能长度,4字节长 0x00, 0x00, 0x00, 0x00, // 参数最小可能长度,4字节长 0x01, 0x00, 0x00, 0x00, // 参数实际长度,4字节长 0x00, 0x00, // 参数串,Unicode格式 0x00, 0x00, // 填充字节,4字节对齐 0x00, 0x00, 0x00, 0x00, // +0x068 param7 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // +0x074 Count 0x00, 0x00, 0x00, 0x00 // +0x078 Array[*] & |
|||||
| 文章录入:IceRiver 责任编辑:IceRiver | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| Sniffit常见问题及防范策略分 活地运用SQL Injection做数据 MSN视频暗藏杀机 微软补丁忙 MSN Space大赛官方网站入侵经 “MSN性感相册”病毒变种多达 机构数据: QQ市场占有率为M 微软携安全厂商建统一战线 M 用Syskey命令加强Windows200 CISCO IOS NHRP 功能中存在缓 Sniffit常见问题及防范策略深 |
网友评论:(只显示最新5条。评论内容只代表网友观点,与本站立场无关!) |
| 关于我们 - 版权声明 - 帮助(?) - 广告服务 - 联系我们 - 友情链接 - 用户注册 - | Powered by ICE RIVER - STUDIO |
| » CnXHacker.CoM | © CopyRight 2002-2006, CnXHacker.CoM™, Inc. All Rights Reserved. |