ARP挂马,某些网站被挂马的真正原因

现象:
访问服务器上的任何网页,就连404的页面也会在后加入:
   <iframe src=”http://www.aaaa.com/a.htm” frameborder=”0″ height=”1″ width=”1″></iframe>
通过ftp查看但这些页面(指静态HTML文件)里面并没有这样的代码,但浏览器访问就会出现。
如果发生这种情况,可以肯定,是服务器中了ARP木马,不是web程序的问题

什么是ARP

   地址解析协议(Address Resolution Protocol,ARP)是在仅知道主机的IP地址时确定其物理地址的一种协议。因IPv4和以太网的广泛应用,其主要用作将IP地址翻译为以太网的 MAC地址,但其也能在ATM和FDDIIP网络中使用。从IP地址到物理地址的映射有两种方式:表格方式和非表格方式。ARP具体说来就是将网络层(IP层,也就是相当于OSI的第三层)地址解析为数据连接层(MAC层,也就是相当于OSI的第二层)的MAC地址。

   假设:
   计算机A的IP为192.168.1.1,MAC地址为00-11-22-33-44-01;
   计算机B的IP为192.168.1.2,MAC地址为00-11-22-33-44-02;

   ARP工作原理如下:

   在TCP/IP协议中,A给B发送IP包,在包头中需要填写B的IP为目标地址,但这个IP包在以太网上传输的时候,还需要进行一次以太包的封装,在这个以太包中,目标地址就是B的MAC地址.

   计算机A是如何得知B的MAC地址的呢?解决问题的关键就在于ARP协议。

   在A不知道B的MAC地址的情况下,A就广播一个ARP请求包,请求包中填有B的IP(192.168.1.2),以太网中的所有计算机都会接收这个请求,而正常的情况下只有B会给出ARP应答包,包中就填充上了B的MAC地址,并回复给A。

   A得到ARP应答后,将B的MAC地址放入本机缓存,便于下次使用。

   本机MAC缓存是有生存期的,生存期结束后,将再次重复上面的过程。

   ARP协议并不只在发送了ARP请求才接收ARP应答。当计算机接收到ARP应答数据包的时候,就会对本地的ARP缓存进行更新,将应答中的IP和MAC 地址存储在ARP缓存中。因此,当局域网中的某台机器B向A发送一个自己伪造的ARP应答,而如果这个应答是B冒充C伪造来的,即IP地址为C的IP,而 MAC地址是伪造的,则当A接收到B伪造的ARP应答后,就会更新本地的ARP缓存,这样在A看来C的IP地址没有变,而它的MAC地址已经不是原来那个了。由于局域网的网络流通不是根据IP地址进行,而是按照MAC地址进行传输。所以,那个伪造出来的MAC地址在A上被改变成一个不存在的MAC地址,这样就会造成网络不通,导致A不能Ping通C!这就是一个简单的ARP欺骗。

   应用

   在网络执法官中,要想限制某台机器上网,只要点击”网卡”菜单中的”权限”,选择指定的网卡号或在用户列表中点击该网卡所在行,从右键菜单中选择”权限”,在弹出的对话框中即可限制该用户的权限。对于未登记网卡,可以这样限定其上线:只要设定好所有已知用户(登记)后,将网卡的默认权限改为禁止上线即可阻止所有未知的网卡上线。使用这两个功能就可限制用户上网。其原理是通过ARP欺骗发给被攻击的电脑一个假的网关IP地址对应的MAC,使其找不到网关真正的MAC地址,这样就可以禁止其上网。

   防御
   ARP欺骗可以导致目标计算机与网关通信失败

   更可怕的是会导致通信重定向,所有的数据都会通过攻击者的机器,因此存在极大的安全隐患。

   基与PC到PC的IP-MAC双向绑定可以解决ARP欺骗

   但是对于不支持IP-MAC双向绑定的设备

   就需要用可以绑定端口-MAC的交换来预防ARP欺骗

   另外,Windows 2KSP4 XPSP1 的Arp-S绑定是无效的

   需要升级到 2KSP5 或 XPSP2

   ARP网页挂马原理

   不管是访问服务器上的任何网页,就连404的页面也会在后加入:

   <iframe src=”http://www.aaaa.com/a.htm” frameborder=”0″ height=”1″ width=”1″></iframe>
挂马的位置在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—-&gt;B ,A是访问的正常客户,B是要攻击的服务器,C是被我们控制的主机
arp中间人攻击时候: A—-&gt;C—-&gt;B         B—-&gt;C—-&gt;A

   实际上,C在这里做了一次代理的作用

  
那么HTTP请求发过来的时候,C判断下是哪个客户端发过来的包,转发给B,然后B返回HTTP响应的时候,在HTTP响应包中,插入一段挂马的代码,比

<iframe>…之类,再将修改过的包返回的正常的客户A,就起到了一个挂马的作用.在这个过程中,B是没有任何感觉的,直接攻击的是
正常的客户A,如果A是管理员或者是目标单位,就直接挂上马了.

   防御专题

   最简单的办法就一命令OK,实现与网关绑定,比如网关是 192.168.0.1 比如网关MAC
00-00-00-00-00,好了我们直接用记事本保存代码为 arp -s 192.168.0.1 00-00-00-00-00
然后保存,改拓展名为bat 加入到服务器启动项,目前ARP攻击猖獗,ARP的目前为一的完美解决方案就是实现
本机与网关的双向绑定。所谓ARP防火墙,只是起到暂时保护的作用,以上方法可以有效的防止服务器被人ARP挂马

   SQL漏洞专题

   简单一点:

   对于int型的参数,如文章的id等,可以先判断是不是整数。

id =trim(request(“id”))
if id<>”” then
if Not isNumeric(id) then
response.write”请提供数字型参数”
response.end
end if
id = clng(id)
else
response.write”请输入参数id”
response.end
end if

   这样的话,明小子系列就无法注入了。

   也可以控制 “‘”号输入就行了,再控制一些 SQL 关键字的这样更安全

   比如

id=trim(request(“id”))

if instr(id,”‘”)>0 or instr(id,”insert”)>0 then
response.write “对不起,请不要注入本站”
response.end
end if

   提醒大家,SQL只要打完必补丁,最重要的是,千万别设置什么SA/123456 SA/123
SA/SA之类的弱口令,现在的小黑太多了,动不动就是全网段扫描1433弱口令,在次提醒大家,千万别设置弱口令。基本服务器就安全(小黑是进不来的,
高手嘛,说不准了,反正高手也不会动你的东西)

   服务器安全之后门篇

   我们今天主要讲解2003服务器

   最常见的问题,服务器一般都开3389 4899等,在次提醒大家,弱口令问题,现在什么小黑都有,千万别设置什么123 123456之类,修改3389 4899端口 建议停止windows自带的防火墙,直接在网上,开放需要的端口。系统补丁,我想不用说,肯定要打的。也可采用国外的一款软件 黑冰(号称世界排第三,本人以前用过,感觉也就那样,不过确实不错)

   本地安全策略设置密码强度,然后删出系统默认管理员,修改管理组,别留什么adminisrators 呵呵,不允许建立帐户,嘿嘿,绝吧。
服务器杀毒软件必备!推荐使用麦咖啡。上次进了一批服务器,发现全是用麦咖啡(连联众的计费服务器,baidu的有一个服务器也是),设置OK基本百毒不侵(服务器好的建议使用,呵呵就可以防止什么鸽子啊,黑洞啊,红娘啊之类的东西装上了)。
在次说明请大家检查自己的服务器登陆3389界面,别输入密码,先按5次SHIFT,看看,如果弹出c盘,或cmd 或则一个密码窗口,呵呵恭喜你,你的服务器被人玩了,小弟可帮大家解决,这个后门被誉为windows最强悍后门。不需要密码验证,直接得到shell。




coded by nessus
发表评论?

0 条评论。

发表评论