QQ蠕虫的行为检测方法

作者 Nandisec

选题背景QQ蠕虫是一种利用QQ等腾讯公司相关产品进行传播的一种特殊蠕虫,该蠕虫的基本原理是利用了QQ帐户的快速登录机制,只要当前系统中有一个QQ帐户成功登录,就可以通过后台接口实现该帐户相关应用的快速登录而不需要再次输入帐户密码。登录后蠕虫可以访问QQ应用的各种网络接口,例如:通过接口实现加QQ好友、加入QQ群、发消息、发日志、发微博、上传群共享文件等操作,且完全不需要用户同意。借用这种技术,QQ蠕虫可以实现非常快速的传播。这种蠕虫诞生于QQ体系之上,其影响和传播主要集中在国内地区,因此国外品牌的杀软对这类蠕虫识别和支持非常有限,国内的杀软品牌对该蠕虫检测也不是特别理想,从而导致了该QQ蠕虫的传播更加快速,影响范围更广。基于以上信息,利用WinPcap技术抓取网络数据包,对HTTP POST包进行分析,过滤出对域名qq.com访问的数据包,但是由于WinPcap考虑到很多数据结构需要自己封装且时间很少,所以决定使用sharpPcap+C# 代替常用的 WinPcap+VC来捕获数据包实现基本思路(1)经典的HTTP请求方式:GET /somedir/page.html HTTP/1.1Host: www.someschool.eduConnection: closeUser-agent: Mozilla/4.0Accept-language: fr

(2)我们注意到HTTP请求报文中的第一行是以GET打头的,它实际上是HTTP请求的一种方法,类似的还有POST、HEAD等等。一般熟知的大概就是GET和POST。

(3)利用这个我们就可以用 sharpPcap 技术抓取网络数据包,在数据包中判断TCP数据报文里是否保存了HTTP数据。如果有HTTP数据且是请求报文,就获得了HTTP的 GET、POST 请求数据后进行解析,数据的解析可以通过Content-Type分析数据格式,并按照相应的解析方式进行解码,解码过程中还有对于中文字符的处理等等。

部分功能实现

基于sharpPcap,C#写的抓包程序源代码

设备信息截图:

获取数据包数据截图:

完整源码就不附上了,附上exe下载地址:http://pan.baidu.com/s/1mgp3kWo

原文发布于微信公众号 - FreeBuf(freebuf)

原文发表时间:2014-08-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据之美

网站数据统计分析之二:前端日志采集是与非

在上一篇《网站数据统计分析之一:日志收集原理及其实现》中,咱们详细的介绍了整个日志采集的原理与流程。但是不是这样在真实的业务环境中就万事大吉了呢?事实往往并非如...

57970
来自专栏菜鸟致敬

免主机搭建动态博客WordPress

之前有说到了如何利用GitHub Pages来搭建自己的静态博客hexo,今天我来说一下如何免主机搭建自己的动态博客WordPress。

21850
来自专栏Java架构

干货 | 京东购物车的Java架构实现及原理!

4)用户登陆了用户名密码,添加商品, 关闭浏览器 外地老家打开浏览器  登陆用户名和密码

37410
来自专栏SDNLAB

漫谈虚拟路由方案

前言——关于虚拟路由 SDN,抑或是OpenFlow,能否为路由市场开辟一个新的时代?以OpenvSwitch为代表的开源软件交换机,已经推动SDN界发展了一段...

51250
来自专栏知晓程序

好消息!小程序可关联 50 个公众号了!

下面,知晓程序(微信号 zxcx0101)带大家看看,微信官方给大家带来了什么「夜间好消息」。?

10420
来自专栏IT笔记

微服务化的基石——持续集成

在很多微服务化的文章中,很少会把持续集成放在第一篇,因为大多数的文章都会将如何拆的问题,例如拆的粒度,拆的时机,拆的方式。

60490
来自专栏smartguys

(五):C++分布式实时应用框架——微服务架构的演进

版权声明:本文版权及所用技术归属smartguys团队所有,对于抄袭,非经同意转载等行为保留法律追究的权利!

72840
来自专栏Bug生活2048

Python实战-解决工作中的重复工作(一)

目前公司的项目管理采用开源项目redmine,对于redmine本文不多做介绍,有兴趣的可以自行百度了解下。

46330
来自专栏技术小黑屋

Google Play Services 7.5新增API及多项特性

本文为 InfoQ 中文站特供稿件,首发地址为:文章链接。如需转载,请与 InfoQ 中文站联系。

14020
来自专栏UDNZ

软件系统的黑匣子:我们要怎样写日志

作为一个软件系统,需要写日志,这是不言而喻的,这是大家都会不假思索地说“那当然”的事。不论是什么语言,写日志的专用框架也不一而足,写到文本的,写到数据库的,写到...

63890

扫码关注云+社区

领取腾讯云代金券