使用kali里的dnschef进行DNS欺骗

article/2025/9/23 15:56:16

1. 前言

        DNSChef是针对渗透测试人员和恶意软件分析师的高度可配置的DNS代理。它能够精细配置哪些DNS回复以修改或简单地代理真实响应。为了利用该工具,您必须手动配置DNS服务器以指向DNSChef。

2. 执行参数

选项参数:

-h,--help显示帮助信息并退出--fakedomain thesprawl.org.google.com以逗号分隔的域名列表,将解析为上述参数中指定的FAKE值。 所有其他域名将解析为其真实值。--truedomains thesprawl.org.google.com以逗号分隔的域名列表,这些列表将解析为TRUE值。 所有其他域名将解析为上述参数中指定的伪造值。

假DNS记录:

--fakeip 192.0.2.1用于匹配DNS查询的IP地址。 如果您在不指定域名的情况下使用此参数,则所有“ A”查询都会被欺骗。 如果需要定义多个IP地址,请考虑使用–file参数。--fakeipv6 2001:db8::1用于匹配DNS查询的IPv6地址。 如果您在不指定域名的情况下使用此参数,则将欺骗所有“ AAAA”查询。 如果需要定义多个IPv6地址,请考虑使用--file参数。--fakemail mail.fake.com用于匹配DNS查询的MX名称。 如果您在不指定域名的情况下使用此参数,则会欺骗所有“ MX”查询。 如果需要定义多个MX记录,请考虑使用--file参数。--fakealias www.fake.com用于匹配DNS查询的CNAME名称。 如果您在不指定域名的情况下使用此参数,则会欺骗所有“ CNAME”查询。 如果需要定义多个CNAME记录,请考虑使用--file参数。--fakens ns.fake.com用于匹配DNS查询的NS名称。 如果您在不指定域名的情况下使用此参数,则会欺骗所有“ NS”查询。 如果需要定义多个NS记录,请考虑使用--file参数。--file FILE指定一个文件,该文件包含用于DNS响应的DOMAIN = IP对(每行一对)的列表。 例如:google.com = 1.1.1.1将强制所有对“ google.com”的查询都解析为“ 1.1.1.1”。 IPv6地址将被自动检测。 通过将--file与其他参数组合,您甚至可以更加具体。 但是,从文件获取的数据将优先于其他数据。

可选的运行时参数:

--logfile FILE指定一个日志文件以记录所有活动--nameservers 8.8.8.8#53 or 4.2.2.1#53#tcp or 2001:4860:4860::8888用逗号分隔的替代DNS服务器列表,用于处理代理请求。 名称服务器可以采用P或IP#PORT格式。 提供多个服务器时,将从列表中随机选择的服务器用于代理请求。 默认情况下,该工具在Pv4模式下运行时使用oogle的公共DNS服务器8.8.8.8,在Pv6模式下运行时使用2001:4860:4860 :: 8888。-i 27.0.0.1 or ::1,--interface 127.0.0.1 or ::1定义用于DNS侦听器的接口。 默认情况下,该工具将127.0.0.1用于IPv4模式和:: 1或IPv6模式。-t,--tcp使用TCP DNS代理而不是默认的UDP。-6,ipv6在IPv6模式下运行。-p 53,--port 53侦听DNS请求的端口号。-q,--quiet不显示标题。

3. 实际测试使用

3.1 网络连接

笔记本电脑无线连接某流量卡提供的wifi。

笔记本电脑的virtualbox里的kali启动,网络选择桥接模式。

笔记本电脑的热点打开。

手机安卓设备无线连接笔记本电脑的热点。

3.2 网络配置

3.2.1 检查笔记本电脑的网络信息

无线局域网适配器 WLAN:连接特定的 DNS 后缀 . . . . . . . :本地链接 IPv6 地址. . . . . . . . : fe80::8158:d09:dfd0:cbe5%10IPv4 地址 . . . . . . . . . . . . : 192.168.43.168子网掩码  . . . . . . . . . . . . : 255.255.255.0默认网关. . . . . . . . . . . . . : 192.168.43.1

        在kali启动后的网络配置中需要用到。kali的网络配置详见如下博客:

5分钟完成 Kali linux安装(基于VirtualBox)_virtualbox安装kali_晓翔仔的博客-CSDN博客

3.2.2 检查kali的网络信息,得知kali的ip是192.168.43.209

┌──(root㉿kali)-[/home/kali]
└─# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.43.209  netmask 255.255.255.0  broadcast 192.168.43.255inet6 fe80::a00:27ff:fe22:464f  prefixlen 64  scopeid 0x20<link>ether 08:00:27:22:46:4f  txqueuelen 1000  (Ethernet)RX packets 53891  bytes 67773851 (64.6 MiB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 19008  bytes 1363876 (1.3 MiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536inet 127.0.0.1  netmask 255.0.0.0inet6 ::1  prefixlen 128  scopeid 0x10<host>loop  txqueuelen 1000  (Local Loopback)RX packets 4  bytes 240 (240.0 B)RX errors 0  dropped 0  overruns 0  frame 0TX packets 4  bytes 240 (240.0 B)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

3.2.3 设置计算机的DNS地址为kali的地址

3.3 DNSChef启动、配置规则、测试

        检查下kali里DNSChef在不在

┌──(root㉿kali)-[/home/kali]
└─# dnschef                                                       _                _          __  | | version 0.4  | |        / _| __| |_ __  ___  ___| |__   ___| |_ / _` | '_ \/ __|/ __| '_ \ / _ \  _|| (_| | | | \__ \ (__| | | |  __/ |  \__,_|_| |_|___/\___|_| |_|\___|_|  iphelix@thesprawl.org  (21:09:00) [*] DNSChef started on interface: 127.0.0.1
(21:09:00) [*] Using the following nameservers: 8.8.8.8
(21:09:00) [*] No parameters were specified. Running in full proxy mode
^C(21:10:01) [*] DNSChef is shutting down.

        我们拿南京两所知名大学的url做测试。通过在浏览器登录学校网站时wireshak抓包(dns answer)获得两所学校的IP,分别如下

        南京大学: www.nju.edu.cn   202.119.32.7

        南京航空航天大学:www.nuaa.edu.cn  218.94.136.180

        我们将南京大学的url和南京航空航天大学的ip 进行匹配,并写入DNS服务器。

--interface后的ip填写kali的ip。 

dnschef --fakeip=218.94.136.180 --fakedomains=www.nju.edu.cn --interface 192.168.43.209 -q

        在手机安卓设备上使用浏览器尝试输入两所大学的网址做测试。

        观察到以下格式打印,说明DNS设置成功,DNSChef会将他处理过的域名打印出来,供分析。

 proxing the response of *** 表示走的是标准DNS代理,默认是8.8.8.8,当然这是可配的。

cooking the response of *****表示是我们配置的欺骗规则,可以看到我们的DNS将南京大学的url(www.nju.edu.cn)用南京航空航天大学的ip做了响应(218.94.136.180)

        而现象是: 南京航空航天大学的网站可以正常打开。而南京大学的网站无法打开。

        至于为什么我们输入南京大学的url,不会显示南京航空航天大学的网址,这个可能和浏览器使用的一些安全策略有关。尚不清楚。

        这里需要补充的是,如果你有好多条规则需要设置,怎么办?

        可以使用这一条命令:

dnschef --file dnsfile --interface 0.0.0.0 -q

        dnsfile是文件名,文件里面的结构如下:

[A]
name1 = ip1
name2 = ip2

如果你有疑问,为什么IP要设置0.0.0.0呢,这篇博客就是答案:

IP地址0.0.0.0是什么意思?_mtAsnow的博客-CSDN博客

4. DNSCrypt-proxy工具也可以使用

使用以下命令安装DNSCrypt软件包

sudo apt-get update
sudo apt-get install dnscrypt-proxy

设置配置文件

- 在`server_names`部分,选择您想要使用的DNSCrypt服务器的名称。您可以在https://dnscrypt.info/public-servers/上找到可用的服务器列表。
- 在`listen_addresses`部分,选择您希望DNSCrypt监听的IP地址和端口。
- cloaking_rules 部分,填写指定修改的DNS规则文件,我这里取名 cloaking-rules.txt

┌──(root㉿kali)-[/home/kali]
└─# cat /etc/dnscrypt-proxy/dnscrypt-proxy.toml 
# Empty listen_addresses to use systemd socket activation
listen_addresses = ['192.168.43.***:53','192.168.43.***:853']
#listen_addresses = []
server_names = ['cloudflare']
#server_names = ['2.dnscrypt-cert.ns2.jp']cloaking_rules = 'cloaking-rules.txt'[query_log]file = '/var/log/dnscrypt-proxy/query.log'[nx_log]file = '/var/log/dnscrypt-proxy/nx.log'[sources][sources.'public-resolvers']url = 'https://download.dnscrypt.info/resolvers-list/v2/public-resolvers.md'cache_file = '/var/cache/dnscrypt-proxy/public-resolvers.md'minisign_key = 'RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3'refresh_delay = 72prefix = ''

多个文件内容:

┌──(root㉿kali)-[/etc/dnscrypt-proxy]
└─# cat cloaking-rules.txt                     
****************.file.myqcloud.com                192.168.43.***

功能开启,关闭,状态检查命令

 systemctl start dnscrypt-proxysystemctl stop dnscrypt-proxysystemctl status dnscrypt-proxy

如果启动成功,查看状态会有如下显示:

┌──(root㉿kali)-[/etc/dnscrypt-proxy]
└─# systemctl status dnscrypt-proxy
● dnscrypt-proxy.service - DNSCrypt client proxyLoaded: loaded (/lib/systemd/system/dnscrypt-proxy.service; disabled; preset: disabled)Active: active (running) since Sun 2023-07-30 08:29:11 EDT; 5s ago
TriggeredBy: ● dnscrypt-proxy.socketDocs: https://github.com/DNSCrypt/dnscrypt-proxy/wikiMain PID: 7002 (dnscrypt-proxy)Tasks: 7 (limit: 2268)Memory: 14.5MCPU: 72msCGroup: /system.slice/dnscrypt-proxy.service└─7002 /usr/sbin/dnscrypt-proxy -config /etc/dnscrypt-proxy/dnscrypt-proxy.tomlJul 30 08:29:11 kali systemd[1]: Started dnscrypt-proxy.service - DNSCrypt client proxy.
Jul 30 08:29:11 kali dnscrypt-proxy[7002]: [2023-07-30 08:29:11] [NOTICE] dnscrypt-proxy 2.0.45
Jul 30 08:29:11 kali dnscrypt-proxy[7002]: [2023-07-30 08:29:11] [NOTICE] Network connectivity detected
Jul 30 08:29:11 kali dnscrypt-proxy[7002]: [2023-07-30 08:29:11] [NOTICE] Now listening to 192.168.43.***:53 [UDP]
Jul 30 08:29:11 kali dnscrypt-proxy[7002]: [2023-07-30 08:29:11] [NOTICE] Now listening to 192.168.43.***:53 [TCP]
Jul 30 08:29:11 kali dnscrypt-proxy[7002]: [2023-07-30 08:29:11] [NOTICE] Now listening to 192.168.43.***:853 [UDP]
Jul 30 08:29:11 kali dnscrypt-proxy[7002]: [2023-07-30 08:29:11] [NOTICE] Now listening to 192.168.43.***:853 [TCP]
Jul 30 08:29:11 kali dnscrypt-proxy[7002]: [2023-07-30 08:29:11] [WARNING] Systemd sockets are untested and unsupported - use at your own risk
Jul 30 08:29:11 kali dnscrypt-proxy[7002]: [2023-07-30 08:29:11] [NOTICE] Wiring systemd TCP socket #0, dnscrypt-proxy.socket, 127.0.2.1:53
Jul 30 08:29:11 kali dnscrypt-proxy[7002]: [2023-07-30 08:29:11] [NOTICE] Wiring systemd UDP socket #1, dnscrypt-proxy.socket, 127.0.2.1:53

5.最后

本文使用kali自带的DNSChef工具做DNS欺骗,工具成功生效了。

参考

最新kali之dnschef_dnschef工具运行不反应_Vanony的博客-CSDN博客


http://chatgpt.dhexx.cn/article/pmAWGPqZ.shtml

相关文章

DNS欺骗实战

DNS工作过程特点 • DNS 查询请求是层层传递&#xff0c;查询和应答无严格身份验证、会话无加密 • 收到应答后 DNS 服务器会缓存结果 DNS是什么 • DNS(Domain Name System&#xff0c;域名系统)&#xff0c;因特网上作为域名和IP地址相互映射的一个分布式数据库&#xff0c;能…

2.9 ARP和DNS欺骗

1、预备知识&#xff1a;ARP和DNS欺骗原理 1.1ARP欺骗 ARP&#xff08;Address Resolution Protocol&#xff0c;地址解析协议&#xff09;涉及TCP\IP体系结构中网络层的IP地址和数据链路层的MAC地址&#xff0c;即根据IP地址来查询对应的MAC地址。ARP欺骗的实质是破坏IP地址与…

网站被反诈中心DNS劫持解决教程

如果你的网站部分地区用户访问反馈访问不了&#xff0c;测试域名DNS被劫持到了127.0.0.1 或 0.0.0.0 可能是域名被墙了&#xff0c;或则被反诈中心拦截了&#xff0c;如果遇到该问题&#xff0c;需要检测单单被运营商拦截还是也有被反诈中心拦截。 排查过程: 可以把问题域名通过…

投毒、伪装、攻击,DNS 欺骗和钓鱼网站如何一步步诱人掉入陷阱?

【编者按】这篇文章将详细讲解DNS欺骗&#xff08;DNS投毒&#xff09;及钓鱼网站原理知识&#xff0c;并通过Ettercap工具复现某购物网站的钓鱼漏洞&#xff0c;本文的重点是让您对ARP欺骗、DNS欺骗和钓鱼攻击有一定认识。真心希望这篇基础文章对您有所帮助&#xff0c;也欢迎…

DNS 系列(三):如何免受 DNS 欺骗的侵害

互联网上每一台设备都会有一个 IP 地址&#xff0c;我们在访问网站或发送信息时&#xff0c;其实都是通过 IP 地址达成准确请求的。但是这个 IP 地址由很长一串数字组成&#xff0c;记忆起来相当困难&#xff0c;所以我们创造了更实用的域名来代替 IP 地址。而如何将域名和 IP …

内网DNS欺骗与防护

一.实验目的 DNS欺骗即域名信息欺骗是最常见的DNS安全问题。域名系统(Domain Name System,DNS)是一个将Domain Name和IP Address进行互相映射的Distributed Database。DNS是网络应用的基础设施&#xff0c;它的安全性对于互联网的安全有着举足轻重的影响。但是由于DNS Protocol…

DNS欺骗与钓鱼网站

实验背景 钓鱼者运用社会工程学只是诱骗受害者&#xff0c;以未授权情况下获取对方的姓名、年龄、邮箱账号、甚至是银行卡密码等私人信息。 钓鱼往往呵社会工程学结合进行诱导&#xff0c;而社会工程学时黑客的内功&#xff0c;能否灵活运用可以体现一个黑客的个人修为&#…

DNS欺骗的艺术 | 域名劫持和网页挂马

0x00 免责声明 本文仅限于学习讨论与技术知识的分享&#xff0c;不得违反当地国家的法律法规。对于传播、利用文章中提供的信息而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;本文作者不为此承担任何责任&#xff0c;一旦造成后果请自行承担…

DNS欺骗原理及工作工程分析

DNS欺骗 DNS欺骗是这样一种中间人攻击形式&#xff0c;它是攻击者冒充域名服务器的一种欺骗行为&#xff0c;它主要用于向主机提供错误DNS信息&#xff0c;当用户尝试浏览网页&#xff0c;例如IP地址为XXX.XX.XX.XX &#xff0c;网址为www.bankofamerica.com&#xff0c;而实际…

DNS内网欺骗(仅供参考)

DNS内网欺骗(仅供参考) 下面展示一些 内联代码片。 //启动apche2 systemctl start apache2 在/var/www/html/目录下添加index.html访问页面//修改文件 leafpad /etc/ettercap/etter.dns//添加一下内容 * A 192.168.1.34 * PTR 192.168.1.34 *.*.com A 192.168.1.34 //* 表…

DNS 欺骗原理

DNS欺骗 DNS欺骗是这样一种中间人攻击形式&#xff0c;它是攻击者冒充域名服务器的一种欺骗行为&#xff0c;它主要用于向主机提供错误DNS信息&#xff0c;当用户尝试浏览网页&#xff0c;例如IP地址为XXX.XX.XX.XX &#xff0c;网址为www.bankofamerica.com&#xff0c;而实际…

DNS欺骗实验过程和分析

目录 1、实验准备 2、实验图 3、配置DNS转发器 4、DNS欺骗环境 1、实验准备 win10和server均设置为桥接模式&#xff0c;将win10的DNS指向server win10:192.168.223.165 server&#xff1a;192.168.223.245 2、实验图 3、配置DNS转发器 此时win可以nslookup 4、DNS欺骗…

DNS欺骗原理

简而言之就是&#xff1a;用伪装的DNS服务器截获请求域名的IP&#xff0c;再发送给伪装的web服务器。查询特定域名的IP时&#xff0c;将得到伪造的IP&#xff0c;打开事先准备好的虚假页面

如何防护DNS欺骗攻击

除了CC攻击、DDoS攻击&#xff0c;还有一种DNS欺骗攻击也是经常常见的&#xff0c;那什么是DNS欺骗攻击呢&#xff1f;它的原理是什么&#xff1f;该如何防御&#xff1f; DNS欺骗攻击&#xff0c;属于DNS攻击中的一种&#xff0c;DNS欺骗就是攻击者在域名解析请求的过程中冒充…

DNS欺骗攻击及如何防护

域名系统(Domain Name System,DNS)是一个将Domain Name和IP Address进行互相映射的Distributed Database。DNS是网络应用的基础设施&#xff0c;它的安全性对于互联网的安全有着举足轻重的影响。但是由于DNS Protocol在自身设计方面存在缺陷&#xff0c;安全保护和认证机制不健…

DNS欺骗

DNS欺骗 本文仅供学习参考&#xff0c;切勿在真实环境下操作&#xff01;不听话的出现后果和我没关系&#xff01;&#xff01;! 文章目录 DNS欺骗实验目的实验原理环境准备操作步骤最后的最后 实验目的 kali Linux下用Ettercap在局域网中使用DNS欺骗 实验原理 有一个欺骗者…

DNS欺骗实验

实验准备&#xff1a; 三台虚拟机&#xff0c;Kali&#xff0c;win10&#xff0c;win2016 servers。 一、实验环境搭建 设置Kali Linux主机、Windows Server 2016服务器与Windows 10在同一可以上网的网段。我们就整个简单的&#xff0c;把三个虚拟机都桥接。接下来我教大家…

网络安全基础——DNS欺骗

本人声明整个过程完全是为了进行实验学习&#xff0c;并没有侵犯任何人的权益 DNS原理 实质是域名解析协议&#xff0c;&#xff0c;假设一企业员工上班浏览网页&#xff0c;他会在浏览器里输入http://www.xxxxxx.com这个网站域名&#xff0c;输入之后他的电脑并不知道这是个…

DNS解析过程及欺骗原理

什么是DNS DNS即地址解析协议&#xff0c;域名系统以分布式数据库的形式将域名和IP地址相互映射。 解析过程&#xff1a; 假如我们要访问 www.baidu.com &#xff0c;首先要向本地DNS服务器发出DNS请求&#xff0c;查询 www.baidu.com 的IP地址&#xff1b; 如果本地DNS服务器…

网络安全入门学习第十课——DNS欺骗

文章目录 一、DNS概念1、DNS是什么&#xff1f;2、DNS欺骗是什么&#xff1f; 二、DNS欺骗复现1、环境&#xff1a;2、使用工具&#xff1a;3、开始复现3.1、开启攻击者的web服务3.2、修改/etc/ettercap/etter.dns3.3、启动ettercap&#xff0c;配置目标3.4、开始攻击3.5、检查…