版权说明
本文首发于个人博客-指尖魔法屋(www.thinkmoon.cn)。原文地址:局域网DNS欺骗的艺术
百度定义
DNS欺骗就是攻击者冒充域名服务器的一种欺骗行为。
百度原理
如果可以冒充域名服务器,然后把查询的IP地址设为攻击者的IP地址,这样的话,用户上网就只能看到攻击者的主页,而不是用户想要取得的网站的主页了,这就是DNS欺骗的基本原理。DNS欺骗其实并不是真的“黑掉”了对方的网站,而是冒名顶替、招摇撞骗罢了。
为什么会有DNS欺骗?
其实DNS欺骗不能叫欺骗,为什么这么说,因为dns解析采取就近原则,意思是说谁能先帮我解析我就听谁的。给你解析一个假的ip就是欺骗。例如本来www.baidu.com 对应ip是202.16.25.78 ,你在本地架设一个dns服务器将www.baidu.com 解析为192.168.100.2 , 这不就等于骗了别人吗。【1】
如何防护DNS欺骗?
360安全卫士号称可以,防护DNS欺骗
经实测:DNS防护并未防护成功,而局域网防护却可以找出攻击者IP,和伪装后的DNS服务器IP。但是却无法实际性的抵御DNS攻击。
被攻击后如何恢复?
- 改host文件。
- 指定DNS服务器。
- 开代理
如何发起攻击?
申明:以下目的只有一个就是学习技术,如果有人利用本文技术进行非法操作带来的后果都是操作者自己承担,和本文以及本文作者没有任何关系。
本文环境
win10 + vmware + kali-linux-2019-02
其实新一代的win10预览版升级的WSL2已经兼容了很多linux网络设备相关操作了,比如Nmap
之类的。但是因为WSL的网络连接方式只有NAT
模式,这样就不利于我测试了,所以我使用的是vmware虚拟机运行KALI,网络模式如下
1. 查看网络
ifconfig
由上图可以看到,有两个网络连接,一个eth0
有线连接,一个lo
无线设备。因为我装了外置网卡,所以虚拟机下有无线连接。
确保你已经连上你想要攻击的目标网络。
因为我使用的是有线连接,所以我接下来的操作都是在eth0上操作。
2. 修改DNS文件
vim /etc/ettercap/etter.dns
熟悉host文件的小伙伴一看就明白,这一条条都是DNS解析记录嘛。
我们在文件最后追加
* A 192.168.0.131
这句话的意思就是,将所有的域名都解析到IP地址为192.168.0.131
的主机上。而这个是我的kali的本机ip。
3. 发起DNS欺骗
ettercap -Tq -i eth0 -M arp:remote -P dns_spoof /// ///
参数就不解释啦--help
就都知道啦,我只讲思路。
如上图DNS欺骗就已经开始了。
4. 局域网断网攻击
因为上面我将所有的域名地址都解析到了,我的本机IP。而我本地却没有搭建任何web服务,这个时候如果用户访问网站都会出现如下图效果。
由于浏览器DNS缓存的问题,此方式可能短期内对近期访问过的网站不起作用。
4. 针对特定网站攻击
假如我对百度很有意见,我见不惯别人使用百度。
vim /etc/ettercap/etter.dns
那么我可以将dns文件修改为
*.baidu.com A 192.168.0.131
这样只要别人访问百度就会出现
但是这样有个问题,这样攻击久了,是个人都会觉得奇怪。百度这么大的公司怎么会长时间访问不了呢?
5. 针对特定网站搭建空壳网站
为了避免被别人怀疑,我需要搭建一个空壳百度。
- 首先浏览器下载百度首页。
- 搭建一个静态网站,展示百度首页。
- 执行DNS欺骗
然后就会出现以下效果
为了区别是我搭建的,我把百度一下改成了小度一下。
但是细心的小伙伴会发现,左上的https
变成了红色不安全字样,这是因为我搭建的web服务签不了www.baidu.com
证书的原因。我只是随便签了一个HTTPS证书。
6. 针对某些局域网认证上网的账号密码钓鱼
截止目前,我们已经做到了断掉了局域网的网络,并将所有网站跳转至搭建网站的效果。看到这里,有没有觉得很熟悉?对了,妥妥的需认证网络的操作。
接下来我们以家里蹲大学
的校园网认证系统为例,模拟一个搭建钓鱼校园网认证系统并盗取密码
的过程。
- 第一步:扒下家里蹲大学认证首页的网页文件
- 第二步:搭建钓鱼网站
- 第三步:拦截局域网所有DNS解析请求,将所有网站解析到搭建的钓鱼网站。
- 第四步:修改表单信息的提交地址
- 第五步:写一个接收表单数据的接口
7. 模拟中招过程
陈小美吃完饭,到图书馆坐下,想刷会微博。突然发现,微博上不去了。显示的是
对于这个界面,小美一点都不陌生。因为这是即将学校的校园网的认证系统的前兆。小美熟练的输入账号密码。一点也不知道接下来即将发生什么。
然而,在小美提交账号密码的那一刻,我收到了一个好东西。
接下来就是开始表演的时候,我用她的账号登录了以下网站。
- 学籍信息,看到了她的照片,知道了她的手机号,QQ号,名字,家住何处,家里多少成员,家庭年收入多少,哪个高中毕业。以此来筛选是否符合择偶要求。
- 教务处,知道了她大几,什么专业,学分绩点多少,选修了什么课程。以此来判断是否有共同的兴趣爱好。
- 图书馆,了解他是否热爱阅读,喜欢什么类型的书籍。来判断是否处得来。
- 饭卡消费记录,以此来判断她的消费水平,以及她喜欢在哪里吃饭。来判断是否养得起。
- 校园论坛,了解她的世界观与价值观,以及是否是个谈吐优雅的女子。判断能否一起面对生活。
然后:我加了她的QQ,以小师弟寻求帮助的名义加了她,先混个脸熟。接着,我开始在QQ空间发一些符合她世界观和价值观的说说,以此来获取她的共鸣。我知道她可能不看QQ空间,但是我保持着几乎每周一次的个性签名更新。并且在个性签名更新后的1-12个小时内随机(使用C++生成随机数)找她聊关于她在图书馆所看书籍的一些想法(我猜她会感兴趣)。这样我可以保证无论她使用哪个平台哪个版本的QQ都可以看到,在她心中种下一颗我是一个与她灵魂相似的人的种子。学期末,我知道她选了什么课程,这门课程什么时候考试。这是一门大学恶梦课程,我知道她肯定要去图书馆复习,所以我借共同复习借口约了她去图书馆。之后的时间,我间歇性的约她去图书馆,因为我深知要想被女生喜欢,千万不可表现过度。一定要保持一个较为舒适的距离,为这颗种子慢慢浇水。但在不约她的时间里,我也会在食堂“偶遇”她,之所以说是“偶遇”,因为我已经对她的饮食习惯分析得一清二楚。几次过后,她会觉得和我好有缘。而其实。。。偶然之中必有必然。我甚至比她还要了解她的习惯,喜好。她觉得我很贴心^-^,但是我到现在还没有告诉她,为什么我们会遇见。看似上天的安排,实则是我的安排。我不去想是否会赢得爱情,既然钟情于玫瑰,就要勇敢的吐露真诚。或许,这便是一种成熟吧!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。