汇聚点滴,成就美好  
汇聚点滴,成就美好
星期六日是黑暗的两天,网站被加载木马.所有用户访问都被加了一段JS代码.
    工作组不断查找和分析,捉包完全没有发现任何欺骗信息. 另外,主机发出的包已经加载了这段代码,所以怀疑服务器被入侵.无奈技术有限并且信息不足,至终找不到入侵源头(也许是程序漏洞)
    在重装系统,更换主机后,网站恢复了. 上网找了相关资料,认定这次是IIS中毒影响.转一篇来自84ren.com高人zcm123 的见解,受益良多~ 呵呵
 
 
    一台服务器 几乎所有网站打开网页 甚至HTML网页 都出现了


这种样式的代码 有的在头部 有的在尾部 部分杀毒软件打开会报毒

打开HTML或ASP PHP页面 在源码中怎么也找不到这段代码

分析原因

首先怀疑ARP挂马,用防ARP的工具又没有发现有arp欺骗

而且arp欺骗一般不会每次都被插入代码,而是时有时无

而且使用http://127.0.0.1 或者http://localhost 访问的时候也可以找到这段代码

arp欺骗的可能排除。

然后就想到可能是JS被篡改,或者是其它的包含文件,查找后没有发现被改的页面 连新建的HTML页面浏览的时候也会被插入这段代码,那就只能是通过IIS挂上去的了。

备份iis数据然后重装iis,代码消失,将备份的iis恢复,问题又来了。


仔细寻找,问题应该出在IIS的配置文件上,打开配置文件,没有发现那段代码。

那很有可能是调用了某个文件,这个怎么查啊,忽然想起了大名鼎鼎的Filemon

本地载了一个上传到服务器上,打开Filemon,数据太多了,过滤掉一些没有用的

只留下iis的进程,数据还是很多,看来服务器上的站点还是挺多人在访问的。

关掉所有站点,建了一个测试站点anky 目录为D:\www\ 在下面建了一个空白页面test.htm

访问一下这个页面代码被插进来了,再看一下Filemon 奇怪怎么读取C:\Inetpub\wwwroot\iisstart.htm

打开C:\Inetpub\wwwroot\iisstart.htm一看,里面就躺着

<

把代码删除了留空,访问test.htm 正常了,把C:\Inetpub\wwwroot\iisstart.htm删除了再访问

test.htm 出现 “读取数据页脚文件出错”问题就出这里了,看来是调用了

这个文件。


把C:\Inetpub\wwwroot\iisstart.htm清空就正常了,这样怎么行,解决问题当然要连根拔掉。

continue

有没有可能是扩展造成的,到扩展中检查了一遍全部都是正常的

当然 通过ISAPI 挂马的也是存在的

左想右想最后还是觉得配置文件有问题

打开配置文件,配置文件在%windir%\system32\inetsrv\Metabase.xml

用记事本打开,查找iisstart.htm 找到一行,开始以为是默认站点,后来一想不对啊

默认站点都删除了,再仔细一看这句代码为

DefaultDocFooter="FILE:C:\Inetpub\wwwroot\iisstart.htm"

删除掉这一行,问题彻底解决了。

==========================================================================
现象:不管是访问服务器上的任何网页,就连404的页面也会在后加入
<,挂马的位置在html标记左右,上面这段恶意代码,它会每隔几秒加入代码,也就是说在输出具体的东西之前就被挂了,有时有有时又没有,不是网页源代码问题,也没有在网页源代码中加入恶意代码,即使重装服务器,格式化重分区过第一个硬盘,放上去网站没多久一样再会出现这种情况。


首先就排除了网站被入侵的可能,因为首页能加在那个位置只能是title的地方,用js控制也不大可能.然后去看了php.ini的设置也没有任何的异常,而且这个插入的代码有的时候出现有的时候不出现,说明不是网站的问题了.打开同服务器的其他网站也有这个情况发生,而且状况一一样.检查并且搜索挂马的关键字之后确定不是网站程序的问题.

那么剩下的要么是IIS自己出了问题,要么是网络的问题,因为数据是处理没有问题(这个由程序输出,而且即使是html都会出问题),经过一个一个排查,最后基本可以确定就是arp欺骗欺骗数据报走向,然后中间人修改一些定义的关键字.因为是网络层次有问题(所以重做系统是没有用的).


目的:通过arp欺骗来直接挂马
优点:可以直接通过arp欺骗来挂马.

通常的arp欺骗的攻击方式是在同一vlan下,控制一台主机来监听密码,或者结合ssh中间人攻击来监听ssh1的密码.
但这样存在局限性:
1.管理员经常不登陆,那么要很久才能监听到密码
2.目标主机只开放了80端口,和一个管理端口,且80上只有静态页面,那么很难利用.而管理端口,如果是3389终端,或者是ssh2,那么非常难监听到密码.

优点:
1.可以不用获得目标主机的权限就可以直接在上面挂马
2.非常隐蔽,不改动任何目标主机的页面或者是配置,在网络传输的过程中间直接插入挂马的语句.
3.可以最大化的利用arp欺骗,从而只要获取一台同一vlan下主机的控制权,就可以最大化战果.


原理:arp中间人攻击,实际上相当于做了一次代理。

正常时候: A---->B ,A是访问的正常客户,B是要攻击的服务器,C是被我们控制的主机
arp中间人攻击时候: A---->C---->B
B---->C---->A
实际上,C在这里做了一次代理的作用

那么HTTP请求发过来的时候,C判断下是哪个客户端发过来的包,转发给B,然后B返回HTTP响应的时候,在HTTP响应包中,插入一段挂马的代码,比如<爱生活,爱猫扑>...之类,再将修改过的包返回的正常的客户A,就起到了一个挂马的作用.在这个过程中,B是没有任何感觉的,直接攻击的是正常的客户A,如果A是管理员或者是目标单位,就直接挂上马了.

什么是ARP?

英文原义:Address Resolution Protocol 
中文释义:(RFC-826)地址解析协议 局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。所谓“地址解析”就是主机在
发送帧前将目标IP地址转换成目标MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址以保证通信的顺利进行。 

注解:简单地说,ARP协议主要负责将局域网中的32为IP地址转换为对应的48位物理地址,即网卡的MAC地址,比如IP地址为192.168.0.1网卡MAC地址为00-03-0F-FD-1D-2B。整个转换过程是一台主机先向目标主机发送包含IP地址信息的广播数据包,即ARP请求,然后目标主机向该主机发送一个含有IP地址和MAC地址数据包,通过MAC地址两个主机就可以实现数据传输了。 

应用:在安装了以太网网络适配器的计算机中都有专门的ARP缓存,包含一个或多个表,用于保存IP地址以及经过解析的MAC地址。在Windows中要查看或者修改ARP缓存中的信息,可以使用arp命令来完成,比如在Windows XP的命令提示符窗口中键入“arp -a”或“arp -g”可以查看ARP缓存中的内容;键入“arp -d IPaddress”表示删除指定的IP地址项(IPaddress表示IP地址)。arp命令的其他用法可以键入“arp /?”查看到。
============================================================================
解决方案如下:

联系机房,用拨网线的排除法,找出同路由内中了类似47555病毒的机器,隔离。杀毒。

其他机器,遇到这种情况,重装系统是没用的。

Asion注:  ARP和挂马 有很深的学问

来源:http://i.mop.com/Noisa/blog/2008/03/13/6264338.html


posted on 2009-03-02 16:57  极地雪狼  阅读(3288)  评论(2编辑  收藏  举报