网络攻击中常用的dns欺骗操作
前面介绍过arp欺骗,这里再来介绍一下dns欺骗。
什么是DNS
DNS是域名系统 (Domain Name System)的简称,也是IT人士常说的域名解析系统。
DNS的主要作用是让用户在互联网上通过域名找到域名对应的IP地址,因为IP地址都是一串数字(例如:180.101.49.193)不方便记忆,便诞生了域名,将域名和IP地址捆绑在一起,人们访问域名等于访问了该域名对应的IP地址。
大概原理:
什么是DNS欺骗
DNS欺骗就是攻击者冒充域名服务器的一种欺骗行为,让被攻击者访问的域名指向另一个攻击者指定的ip地址。
DNS欺骗的危害
DNS危害其实比较直接:
- 被钓鱼窃取个人信息,例如身份、账号等等。
- 被引流,现在毕竟是流量为王的时代,引流其实是可以带来利益的。
DNS欺骗的工具
能用来进行DNS欺骗的工具挺多的,例如:
- ettercap
- bettercap
- Cain.DOC
- DNShack
不管是哪种工具,最终实现的DNS欺骗效果其实是一样的,所以熟悉一两种就行,不用每一种工具都去学习。
演示准备
接下来准备一下演示环境。
准备一台靶机:192.168.218.131,网关IP为:192.168.218.2
准备一个广告或者钓鱼的web页面,这里就直接简单点,使用apache的默认页面吧,IP地址:192.168.218.128
使用ettercap进行DNS欺骗
先在攻击机中编辑域名和IP的映射关系:
开启ettercap:
扫描扫描同网段内活着的机器,然后查看扫描结果:
按照以前进行arp欺骗的操作设置target:
可以在这个时候直接启动arp欺骗。也可以在开启dns欺骗后,再开启arp欺骗,这个顺序不影响结果。
打开ettercap的插件管理界面:
插件管理菜单入口:
双击启动DNS欺骗插件,处于运行中的插件会有一个*号:
启动欺骗攻击:
到靶机确认效果:
可以看到靶机被引导去了事先准备的网页。
这里需要提醒一点就是,这里演示的dns欺骗只适用于http的请求,如果https的请求,就会报错,无法显示网页,除非你准备的网页也做了https请求的处理。
使用bettercap进行DNS欺骗
先启动bettercap,启动的时候指定网卡:
设置欺骗的域名:
最好不要设置所有的域名,不然就变成dhs绑架了,攻击最好有针对性,这样才能更好地达成目的。
设置arp欺骗期望靶机被引导向的地址:
开启arp欺骗和DNS欺骗:
单纯的DNS欺骗是没办法生效的,一定要将arp欺骗启动,让靶机的流量流向攻击机,才能让DNS欺骗生效。
单纯bettercap的DNS欺骗也一样无法对https请求生效,进行攻击前要确认目标的协议类型。
DNS欺骗的防御
盾和矛肯定不是孤立存在的,DNS欺骗的防御手段也非常多,就应用服务器的防御方式有这些:
- 服务证书
- 用户自主标识
总结
早期互联网时代,会DNS欺骗,其实已经能做一些黑产了。不过随着技术的进步,大家安全意识的提高,现在想通过DNS欺骗做黑产盈利,还是很困难的。想窃取用户信息,还是去暗网上买大公司泄露出来的用户信息更加方便快捷。想引流的话,还是找大公司打广告更现实。
最后还是要说一下,任何在公网环境下,未经授权的攻击行为,都是违法的,所以别进行DNS欺骗攻击,不是专业人士很难清理干净自己的痕迹,造成损失了,是真会有人顺着网线去请你吃饭的。