星期五, 十一月 23, 2007

tcpdump -X

前两天公司浏览网页的时候发现总是被插入了东西,IE 的弹出框提示下载什么 ActiveX 控件。从浏览器的"产看源代码"可以看到插入了如下框体
"<"iframe src='http://5.xqhgm.com/2.htm' width=20 height=1">""<"/iframe">"
因为这种问题以前也出现过两次,是由于园区的路由器被攻击,从而相应的 TCP/IP 报文被修改所导致的。这可能导致浏览器去下载病毒,从而危害 Windows 系统;而且有些页面也无法正常访问了,比如 Windows update 页面。

打电话到园区机房去问。推三阻四的,说什么“其他 Windows 路由器的用户都没有报这个问题”云云,实在没有精力去和他们周旋了,而且对于 IDS 或 Linux 网关防毒软件也没什么深入研究,毕竟我也不是安全专家。

我想还是首先证明不是我们自己路由器的问题。当然最彻底的办法是换一块系统硬盘试试看,不过那要中断网络。所以应该用抓包来看看。抓包我用过 snort, ethereal 和 tcpdump,都不是特别熟悉。如果用 tcpdump 简单命令,只能抓取到 TCP/IP 包,对于应用层数据就没有办法了。但是我记得应该是可以用 tcpdump 抓取应用层的数据的,所以 google 了一下,发现可疑用 -x 参数,但得到的都是 hex 十六进制的数据,再 man 一下,查 -x 参数,发现可以用 -X 参数来同时获得 ASCII 数据,于是:
sh# tcpdump -i eth1 -Xls 0 "port 80"
sh# tcpdump -i eth1 -Xls 0 "port 80" | grep xqhgm
然后查一下内网,因为这台机器上自己也有 web apache,所以如果是这个路由器本身有问题,那么我访问它上面的站点的时候,应该也会有问题,并且抓包应该会有结果
sh# tcpdump -i eth0 -Xls 0 "src port 80 and src host 192.168.0.1" | grep xqhgm
但没有抓到东西,而且从其他检查如 ps aux/last 也没有看出异常。

今天再浏览网页,已经没有病毒提示了。

这样看来,tcpdump 是不是也应该可以完成我以前认为只有 snort 才能完成的事情?

没有评论: