一直以来,我以为 ARP 欺骗仅仅只会发生在公司单位、网吧等局域网环境比较复杂的地方。也曾耳闻到某些 IDC 机房也出过这样的事情,但总觉得这事情应该离我很遥远。没想到昨天晚上,一个地级市的电信机房也发生了这样的事情。我有幸亲临了整个事件的始终,中途除了机房的技术人员,还有二位仁兄被迫中止睡眠,起身与我一共奋战。一位是 feelinglucky 同学,另一位是我公司的小刘同学,在此向你们二位表示深切的慰问与诚挚的感谢。

昨天晚上 12 点 30 分(也就是今天零点三十分)左右,我打算进入博客后台取点资料,在登录页面上发现了惊奇的一幕:

刷新了一次之后还是这样,突然有一种不详的预感。然后,事实证明这种预感是准确的。我查看页面源代码,发现了更惊奇的一幕:

很明显,页面被挂马了。但又觉得这代码有点不对劲,于是冒着风险用 IE 访问了一下:

现在,发生了什么事情已经非常确定了。从最后一张图上看,应该是 ARP 欺骗挂马的结果;但也有可能是我的博客程序或者是服务器被挂马了。我一边打机房电话,告诉值班人员发生的事情;一边用 FTP 把博客所在目录的文件拖了下来。经过对博客程序的模板、程序代码的检查,发现并没有隐藏框架的代码存在。

下一步,检查服务器日志。把服务器上的 Apache 日志看了又看,没发现异常。根据 lucky 的建议,kill 掉了一些进程,问题依旧。lucky 又建议我测试一下本机访问本机会怎么样,于是:

#vi /etc/apache/httpd.conf 增加:

Listen 127.0.0.1:80 然后:

#/etc/rc.httpd restart
#vi /etc/hosts
增加:

127.0.0.1    www.xuchao.org 然后:

#cd /root
#wget https://www.xuchao.org/xxx/
#cat index.htm
在这里,我并没有发现有隐藏框架的代码存在。于是我更加坚定了刚才的判断,马上再次致电机房,告诉对方我刚才的测试过程,并指出问题极有可能出在机房里。值班的技术人员迷迷糊糊的从美梦中醒来,然后答应帮我检查。由于已经是后半夜了,他说最迟到上午 8 点就可以搞定。

等待、等待……在漫长的等待过程中,我重新查阅了一些几年没看的有关 ARP 欺骗的资料。唉,早知道就做双向绑定了。失误啊、失误。又看了一下 dmesg 日志:

#cat /var/log/dmesg.today 呵呵,全都是这样的内容:

arp: 122.225.96.1 moved from 00:19:b9:f1:14:1c to 00:11:bb:3e:62:3f on em0
arp: 122.225.96.1 moved from 00:11:bb:3e:62:3f to 00:19:b9:f1:14:1c on em0
arp: 122.225.96.1 moved from 00:19:b9:f1:14:1c to 00:11:bb:3e:62:3f on em0
arp: 122.225.96.1 moved from 00:11:bb:3e:62:3f to 00:19:b9:f1:14:1c on em0
从我一直 ping 服务器的情况看,机房的人重启了 3 次交换机,然后那段该死的隐藏框架代码已经不存在了。几分钟后机房给我打来电话,说问题已经解决。我问他原因,他说我的服务器所在机柜有一台服务器中毒,广播 ARP 欺骗包数据,没有防御能力的机器都倒下了。

由于连续 3 次断网,我们的服务器上服务端已经与数据库失去连接了(又是没有走内网通讯的恶果)。重启服务器,开启游戏服务端。早上 6 点,一切恢复正常。

明天整理一下思路,给出一份防御 ARP 欺骗的方案(针对 FreeBSD 服务器与 Windows 服务器)。

标签: freebsd, web, arp, spoofing, virus, trojan

已有 10 条评论

  1. wiLdGoose wiLdGoose

    下午评论出了点问题,现在恢复了.感谢70提醒.但是导致问题的原因,我们都没想通:(

  2. IPFox IPFox

    怪不得呢。。

  3. 昨天我的服务器也被ARP欺骗,所有网站都被挂马。分析得出是IDC机房的网关被ARP欺骗,后来IDC说关掉了中毒的机器,问题解决了。

  4. wiLdGoose wiLdGoose

    一般来说,如果我们的服务器做好ARP攻击防御的话,机房环境再怎么样都无所谓.我个人的思路是做一个crontab,然后间隔一定的时间向局域网宣布自己的身份.忙完这几天写个像样的文章来.

  5. IDC也不可靠了

  6. [...]Web 服务器遭受 ARP 欺骗攻击[...]

  7. 踏歌行いTT 踏歌行いTT

    明天整理一下思路,给出一份防御 ARP 欺骗的方案(针对 FreeBSD 服务器与 Windows 服务器)。
    额 这篇文章呢。。。找了半天 没找到。。。
    还有。。。你叫许超?
    神啊。。。我居然在这么大的网络世界里碰到了同名同性的事。。。
    我4岁以前叫徐超。。。4岁以后叫许超。。。

  8. wiLdGoose wiLdGoose

    你说指的方案在这里:
    https://www.xuchao.org/technology/prevent_arp_spoofing_via_bothway_binding.html
    我的姓名你搞错了,与你4岁以前一样.

  9. DreaMLike Envoy DreaMLike Envoy

    机柜里的那台服务器,自己故意挂马也有可能,来导致别人服务器都被ARP干扰,我感觉有这个可能,好多人没事闲的。

  10. 踏歌 踏歌

    To DreaMLike Envoy 汗 无聊人是越来越多了 正所谓林子大了。。什么鸟都有。。。

添加新评论