我们之前曾发过关于数据包注入攻击的博客,例如:“ Chinese DDoS of GitHub ” 和 “ Covert Man-on-the-Side Attacks ”。今天我们还想跟大家分享一些来自真实世界的包注入攻击情报,这些攻击已经持续了好几个月了,而且现在依旧非常活跃。
Gabi Nakibly,Jaime Schcolnik 和 Yossi Rubin 最近发表了一篇非常有趣的论文名为“ Website-Targeted False Content Injection by Network Operators (来自网络运营商注入的虚假内容)”,论文中他们分析了全球各地存在的包注入攻击,下面是论文的部分摘要内容:
(译者注:论文下载链接: http://pan.baidu.com/s/1skrlbop 密码:s5id)
我们知道一些网络运营商会向用户的网络流量中注入虚假的内容。然而,几乎以前所有的工作都只在关注边缘 ISP ,即那些直接提供互联网接入给用户的。来自边缘 ISP 的包注入只会影响到他们的用户。然而,在我们的工作中我们发现不仅仅边缘的网络运营商会进行包注入,核心网络运营商也会这么做。这些运营商可能会改变访问预定网站所有用户的流量。
研究人员分析了 1.4PB 的 HTTP 流量,这些流量抓取自四个地方,三所大学和一家公司。他们提供了部分匿名的 PCAP 文件给予下载: http://www.cs.technion.ac.il/~gnakibly/TCPInjections/samples.zip 。
我们试图通过访问同样的 URL 来重建这些数据包,但很不幸是,我们大部分的努力都没有收到任何注入的响应。不过,我们还是触发了两组论文中发生的注入(“hao” and “GPWA”)。
在访问网站 www.02995.com 时我们获取到了非常可靠的注入包。我们决定分享这些包含注入的 PCAP 文件: https://www.netresec.com/files/hao123-com_packet-injection.pcap 。
将 PCAP 文件加载到 CapLoader 里,对第一个 TCP 会话点击 “Flow Transcript” 即可看到如下:
从上面的截图中我们可以看到,客户端请求访问 http://www.02995.com/ 但收到了两个具有相同序列号(3820080905)的不同相应包。
第一个响应是 “302 Found”,跳转客户端到: http://www.hao123.com/?tn=93803173_s_hao_pg
第二个响应是 “302 Moved Temporarily”,试图重定向到: http://hao.360.cn/?src=lm&ls=n4a2f6f3a91
从 IP 的存活时间(TTL) 上来判断我们认为第一个响应 (hao123.com) 是注入包,而第二个包 (hao.360.cn) 是从 www.02995.com 服务器返回的真实响应。
如果你观察细心的话,你会发现注入的数据包没有使用标准的 CR-LF (0x0d 0x0a) 分割 HTTP 响应,注入包中只使用了 LF (0x0a) 作为 HTTP 头部的换行。
由于注入包先于真正的相应数据包,所以客户端被注入重定向到 www.hao123.com 。下面是浏览器试图加载 www.02995.com 的截图:
SSL 加密是对数据包注入攻击的一种有效防护方式。所以当用户输入 https :// www.02995.com 时浏览器会遵循 真实 的重定向到 hao.360.cn。
在 Gabi 等人论文公开的 PCAP 文件中展示一个真实世界的包注入攻击,PCAP 文件下载链接: https://github.com/fox-it/quantuminsert/blob/master/presentations/brocon2015/pcaps/id1.cn-inject.pcap
这个 PCAP 文件由 Yun Zheng Hu (Fox-IT) 在 BroCon 2015的报告 “Detecting Quantum Insert” 中公开出来的。下面一个视频录像记录了 Yun Zheng 当时的演讲,包括一个 demo 演示包注入攻击(译者注:演示开始于视频33分56秒):视频地址: http://v.qq.com/page/g/i/6/g01879102i6.html
我们通过访问 http://id1.cn 试图重新触发这个包注入攻击,随后我收到两个 注入的 HTTP 响应试图重定向到 http://batit.aliyun.com/alww.html 。被注入后跳转到的页面上有一段来自阿里巴巴集团 (aliyun.com) 的消息说目标网站已被屏蔽。
我们同样准备分享这个针对 id1.cn 包注入攻击的 PCAP 文件: https://www.netresec.com/files/id1-cn_packet-injection.pcap 。
使用 NetworkMiner Professional 打开这个 PCAP 文件后,打开 Browsers选项卡 来分析多个 HTTP 重定向:
下面是我们分享对 id1.cn 攻击 PCAP 包中的一些要点:
1. Frame 13 :打开 http://id1.cn
2. Frame 18 :真实服务器返回响应,刷新 HTML 到 http://id1.cn/rd.s/Btc5n4unOP4UrIfE?url=http://id1.cn/
3. Frame 20 :客户端收到两个注入包试图显示 “403 Forbidden” 并将页面重定向到 http://batit.aliyun.com/alww.html 。然而注入包抵达时间比真实数据包晚了。
4. Frame 24 :客户端进程加载 http://id1.cn/rd.s/Btc5n4unOP4UrIfE?url=http://id1.cn/
5. Frame 25 :出现两个新的注入响应,这次成功将客户端重定位到阿里巴巴的页面。
6. Frame 28 :真实响应包抵达晚了。
7. Frame 43 :用户打开阿里巴巴的页面收到提示信息网站被屏蔽了。
最好防止 TCP 包注入攻击的方法就是使用 SSL 加密。依靠网站 HTTP 进行重定向到 HTTPS url 是远远不够的,因为这个重定向同样可能遭受包注入攻击,所以确保使用 “https://”(或者使用一个浏览器插件),从而避免遭受 TCP 包注入的影响。
下面是本文包含 PCAP 文件的汇总:
http://www.cs.technion.ac.il/~gnakibly/TCPInjections/samples.zip
https://www.netresec.com/files/hao123-com_packet-injection.pcap
https://github.com/fox-it/quantuminsert/blob/master/presentations/brocon2015/pcaps/id1.cn-inject.pcap
https://www.netresec.com/files/id1-cn_packet-injection.pcap
更多的 PCAP 文件,可以访问 Netresec 公共 PCAP 文件列表下载: https://www.netresec.com/?page=PcapFiles
*原文: netresec ,FB小编xiaix编译,转自须注明来自FreeBuf黑客与极客(FreeBuf.COM)