今天要体验的工具位於Kali的09-Sniffing & Spoofing
分类,这类的工具主要用於拦截资讯,然後窜改後欺骗目标使其误认沟通对象或是混淆来源。
dnschef
是用於DNS代理,可以伪造域名进行拦截,比如说把往google.com
的流量都拦截下来,不转发到真实的主机,而是转发到攻击者自己架设的主机。在介绍工具之前,先介绍一下测试环境
主机 | 角色 | IP位址 |
---|---|---|
Windows PC | 使用者端 | 192.168.1.70 |
Kali Linux | dnschef代理DNS | 192.168.1.76 |
靶机 | 自架假网站 | 192.168.1.86 |
接下来目标是让使用者端用浏览器前往google
时,会去到我们自行架设的假网站
首先要在Kali设定dnschef
,用法如下
dnschef --fakeip 192.168.1.86 --fakedomains google.com --interface=192.168.1.76
fakedomains
可以用逗号隔开,表示这些域名都会被fakeip
192.168.1.86所取代,而interface
是指定DNS listener,这里指的就是Kali这台的介面
执行结果如下,可以看到几个重点
DNSChef
在192.168.1.76
上运行google.com
的流量将会被导向192.168.1.86
指定的假主机IP位址 _ _ __
| | version 0.4 | | / _|
__| |_ __ ___ ___| |__ ___| |_
/ _` | '_ \/ __|/ __| '_ \ / _ \ _|
| (_| | | | \__ \ (__| | | | __/ |
\__,_|_| |_|___/\___|_| |_|\___|_|
[email protected]
(10:30:23) [*] DNSChef started on interface: 192.168.1.76
(10:30:23) [*] Using the following nameservers: 8.8.8.8
(10:30:23) [*] Cooking A replies to point to 192.168.1.86 matching: google.com
运行後也要记得修改/etc/resolv.conf
,在最上方加入一笔
nameservers 192.168.1.76
然後用ping google.com
测试一下,可以确定目前google.com认到的IP已经变成了我们指定的假IP了
PING google.com (192.168.1.86) 56(84) bytes of data.
64 bytes from 192.168.1.86 (192.168.1.86): icmp_seq=1 ttl=64 time=0.762 ms
64 bytes from 192.168.1.86 (192.168.1.86): icmp_seq=2 ttl=64 time=0.644 ms
靶机的建立可以参考Day2靶机建立这篇流程,如果建立过,那直接开启VM就可以了,主要是提供HTTP网站,在这个测试情境里扮演攻击者的假网站。
Windows只要设定好DNS服务器,指定为dnschef
正在运行的DNS代理
设定完成後,可以用命令提示字元ping google.com
确认
Ping google.com [192.168.1.76] (使用 32 位元组的资料):
回覆自 192.168.1.76: 位元组=32 时间<1ms TTL=64
回覆自 192.168.1.76: 位元组=32 时间<1ms TTL=64
回覆自 192.168.1.76: 位元组=32 时间<1ms TTL=64
回覆自 192.168.1.76: 位元组=32 时间<1ms TTL=64
用浏览器前往google.com
可以发现不是平常熟悉的搜寻页面,而是靶机上所架设的网站
dnschef
除了可以模拟DNS欺骗之外,在某些测试情境下也特别好用,例如在手机网路环境测试时,如果想要暂时修改hosts去连测试站台时,可能需要经过root才有办法,在某些模拟器环境也是,即使能够模拟root,但也因为唯读而无法去修改hosts文件,这些状况就可以利用DNS代理的方式来进行测试。
>>: [第三十天]从0开始的UnityAR手机游戏开发-另一个物体碰到小龙时会扣血的脚本和後记
前言 今天东西不多,算是给前面做一个补充资讯,明天开始会讲Flow了,又是会是超长的文章 正文 想不...
本篇同步发布於个人Blog: [PoEAA] Data Source Architectural P...
接下来设定一些基本的设定需求 分别拆成 bullet 跟 ball(细胞)两个class的写法 cl...
事前准备 安装好 VS Code。 拥有 GitHub帐号,并开好一个练习用的 repository...
React Native 官网 现在有许多可以建立双平台的工具,像是 Golang 的 Flutte...