实现大规模中间人攻击的核武器:DNS劫持

简介: 本文讲的是实现大规模中间人攻击的核武器:DNS劫持,现代社会,攻击者通过受害者访问网页的行为反复劫持银行账户是可行的。用不着浏览器漏洞利用,也看不到任何警告。对网络罪犯而言,这些攻击又廉价,成功率又高。

本文讲的是实现大规模中间人攻击的核武器:DNS劫持,现代社会,攻击者通过受害者访问网页的行为反复劫持银行账户是可行的。用不着浏览器漏洞利用,也看不到任何警告。对网络罪犯而言,这些攻击又廉价,成功率又高。

image

对头,这里所说的攻击就是DNS劫持。DNS劫持是受害者DNS请求被拦截并返回虚假响应的一种攻击类型。这种攻击能在保持URL栏不变的情况下,重定向用户到另一个网站。

举个例子,如果受害者访问 wf.com (美国富国银行集团),DNS请求可能会被发送到攻击者的DNS服务器,然后返回攻击者用以记录登录数据的Web服务器地址。

2010年以来,通过DNS劫持进行的中间人攻击(MITM)数量有所上升。这改变了MITM攻击的威胁模型。因为在这之前,大规模MITM攻击基本上是闻所未闻的。

究其原因,一般,攻击者想MITM某人流量时,他们需要处理全部的流量,比如说,通过一个代理。这样一来,每个受害者都会耗用可观的带宽,意味着攻击者需要构建相当的基础设施。这种事,很可能造成成本比利润还高,太不划算了。

不过,对攻击者而言幸运的是,客户端用作DNS解析的服务器,基本上属于不用修改其他网络设置就能改变的东西。因此,DNS成为了小巧简单的拦截对象,造成了DNS劫持恶意软件的上升。

2010年,我们见识到了DNSCHANGER——一款运行于受害者主机上,并通过 Windows API 修改DNS服务器的恶意软件。2014年,我们通过SOHO恶意软件见证了该攻击原理的进化升级。SOHO程序通过CSRF(跨站请求伪)传播,基本上,它发送很多请求,在192.168.0.0、192.168.1.1、10.0.0.1等界面尝试大量品牌路由器的默认口令,试图找出并修改受害者路由器的DNS服务器。

由于路由器通过DHCP设置绝大多数其客户端的DNS服务器,该DNS服务器便会被网络中的成员主机使用。(基本上,大多数客户端从DHCP服务器接收DNS服务器设置,该DHCP服务器很多时候就是其路由器充任。)然后,攻击者可以拦截包含有到TLS站点(https)的重定向或超链接的HTTP请求,将这些请求修改成普通的HTTP。该操作与TLSSTRIP类似。

BSidesSF上放出一款此类工具,名为“DNTLSSTRIP”。它能帮助渗透测试员执行DNS劫持,动态拦截并修改HTTP数据。这款工具是模块化的,用户想动态拦截任何协议都可以,只需添加相应模块即可。

随该工具发布的,还有关于DNS劫持正反两面用法的演讲,比如渗透测试员可怎样在公司网络中使用DNS劫持,网络罪犯会怎么使用,你又该怎么防范等等。这会让我们延伸想到:一旦进入某网络,能不能利用专用DNS独霸整个网络呢?对此,BSidesSF上做出了模拟演示。

公司环境比普通个人或家庭环境的风险高很多,正因如此,攻击者特别中意渗透给定网络。(假设攻击者已经通过网络钓鱼之类的常见手段,在网络中建立了小小的桥头堡。)

进入这种网络,攻击者最爱用的方法一般是针对性攻击,比如路由器漏洞利用(RCE)或者默认口令攻击。所以,最好从攻击者对给定网络的路由器使用RCE的角度考量这种攻击。并且以此为基础,攻击者或者渗透测试员可以在网络中铺开,DNS劫持的利用机会也是大把的。

鉴于大量服务通过非加密信道更新,而且不检查下载的安装包是否真实,攻击者利用MITM获得多台计算机控制权的途径也是很多的。

比如CVE-2016-1252,一个APT(高级软件包工具)签名绕过漏洞利用。黑客组织手握大量类似漏洞和匹配的零日漏洞利用丝毫不令人意外。攻击者或许也用不着绕过TLS,因为大部分Linux发行版的默认APT源都不使用TLS。

因此,攻击者只需为关键服务或者自动更新的服务(比如用crontab设置定时进行apt-get升级),推送虚假关键更新就行了。不难想象,这种攻击执行几天之后,攻击者将获得网络中大量主机的访问权。利用DNS,攻击者可以仅用TXT记录就创建隐蔽C&C信道,就跟DNSCAT(一款利用DNS隧道绕过防火墙的工具,堪称隧道通信的瑞士军刀)似的。

那么,防御者该怎样阻止此类攻击呢?

上述所有攻击方法都依赖于让出站DNS请求发送到任意服务器。所以,将出站DNS请求引至防火墙层级未知服务器,或“离线”公司资源的终端/AV客户端,即可解决问题。

这将完全清除上述场景中使用的主要攻击方法,让我们得以封锁流向外部DNS服务器的所有请求,也就挡住了攻击者利用DNS作为C&C信道的通路。不过,利用自动更新软件的攻击方法还是挡不住。所以,在可能的情况下尝试使用端到端加密还是很重要的。

最后,说个实用性问题:在IDS/IPS层解决通往未知DNS服务器的黑洞请求是最有效的,就像tripwire所做的那样。

原文发布时间为:二月 5, 2017
本文作者:nana
本文来自云栖社区合作伙伴安全牛,了解相关信息可以关注安全牛
原文链接:http://www.aqniu.com/learn/22689.html

相关文章
|
网络协议 安全 区块链
《DNS攻击防范科普系列5》--聊一聊DNS劫持那些事
作为《DNS攻击防范科普系列》的最后一篇,今天我们来好好聊聊DNS劫持。先回顾一下DNS劫持的概念?DNS劫持即通过某种技术手段,篡改正确域名和IP地址的映射关系,使得域名映射到了错误的IP地址,因此可以认为DNS劫持是一种DNS重定向攻击。
|
缓存 网络协议 安全
Linux:设置/修改linux主机名+hosts映射+主机名解析机制分析+DNS域名劫持
Linux:设置/修改linux主机名+hosts映射+主机名解析机制分析+DNS域名劫持
486 0
Linux:设置/修改linux主机名+hosts映射+主机名解析机制分析+DNS域名劫持
|
前端开发
前端学习案例-vue2源码解析1-数据劫持
前端学习案例-vue2源码解析1-数据劫持
49 0
前端学习案例-vue2源码解析1-数据劫持
|
前端开发
前端学习案例-vue2源码解析2-数据劫持
前端学习案例-vue2源码解析2-数据劫持
39 0
|
SQL 域名解析 网络协议
|
缓存 运维 监控
面对DNS劫持,只能坐以待毙吗?
借助 ARMS-云拨测,我们可实时对网站进行监控,实现分钟级别的监控,及时发现 DNS 劫持以及页面篡改。
面对DNS劫持,只能坐以待毙吗?
|
Web App开发 缓存 网络协议
ICANN敦促业界使用DNSSEC,应对DNS劫持攻击
HTTPS加密可以有效帮助服务器应对DNS欺骗、DNS劫持、ARP攻击等安全威胁。DNS是什么?DNS如何被利用?HTTPS如何防止DNS欺骗?
1632 0
|
缓存 安全 网络协议
DNS是如何被劫持的?DNS劫持会造成什么样的后果?
DNS劫持是很多站长或企业网站运维人员常遇到的网络攻击事件,网站遭到‍DNS劫持轻则影响网速,重则不能上网,而且很有可能被可能会被恶意指向各种钓鱼网站,严重影响客户个人信息账户泄密的风险。今天墨者安全就来给大家说说DNS是如何被劫持的?会造成什么样的后果?
4378 1
|
Web App开发 网络协议 测试技术
解决电信DNS劫持
把网络连接属性(TCP/IP协议属性页)中的主要DNS和次要DNS分别改成:208.67.222.222208.67.220.220 改完DNS服务器还不行,还要清除本机上的DNS缓存,可以用命令来ipconfig /flushdns、ipconfig /displaydns来实现,或者清除浏览器的历史记录、重启电脑。
1011 0

相关产品

  • 云解析DNS
  • 推荐镜像

    更多