当前位置:首页 > 学习笔记 > 正文内容

Kali Linux渗透-DNS域名劫持与钓鱼

廖万里2年前 (2022-09-12)学习笔记102884

前言

严正声明:本文仅限于技术讨论与分享,严禁用于非法途径。

本文目的

演示如何借助 Kali Linux 系统内置的一款基于ARP地址欺骗的网络嗅探工具Ettercap,对局域网内的 Win7 主机进行 DNS 域名劫持,从而使得受害主机访问新浪官网(或其他任意网站)的域名时跳转到 Kali 攻击机指定的恶意网页,实现网络钓鱼攻击。

环境说明

主机IP地址
Kali Linux192.168.195.131
Windows 7192.168.195.132
局域网网关192.168.195.2

两台虚拟机主机均安装在 VMware 中,使用 Nat 模式形成一个可互相连通的小局域网。

攻击原理

DNS服务

DNS是域名解析系统,其作用是使域名(www.baidu.com)映射到计算机能够识别的IP地址(202.108.22.5),以便进行进一步通信和传递内容。它能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。

Kali Linux渗透-DNS域名劫持与钓鱼

DNS劫持

1、什么是域名劫持

DNS劫持又称域名劫持,是指在劫持的网络范围内拦截域名解析的请求,分析请求的域名,把审查范围以外的请求放行,否则返回假的IP地址或者什么都不做使请求失去响应,其效果就是对特定的网络不能访问或访问的是假网址。

2、DNS劫持的后果

大规模的DNS劫持,其结果往往是断网,因为大网站的访问量实在太大了,钓鱼网站的服务器可能会扛不住大流量的访问,瞬间就会瘫痪掉,网民看到的结果就是网页打不开。网上购物、网上支付等敏感站点有可能会被恶意指向钓鱼网站,使得个人账户密码存在泄露的风险。

3、本文域名劫持原理

此次攻击的原理基于局域网内的ARP欺骗,ARP攻击就是通过伪造 IP 地址和 Mac 地址实现 ARP 欺骗,能够在网络中产生大量的 ARP 通信量使网络阻塞,攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机 ARP 缓存中的IP-MAC 条目,造成网络中断或中间人攻击。


本文的攻击本质就是使用Ettercap借助 ARP 欺骗攻击使得 Win 7 受害者主机误将攻击者主机 Kali 的 IP 当作网关 IP,然后 Kali 攻击机又将受害者访问的域名进一步指向了自己指定的 IP 地址,实现网络钓鱼攻击。


此处简单总结下 ARP 缓存表 和 Mac 表的区别:

比较项ARP 表Mac 表
存储设备三层设备,如路由器、PC主机二层设备,如交换机
记录内容IP 地址与 Mac 地址的对应关系Mac 地址与交换机接口的对应关系
主要作用路由器、主机确定目标主机的 Mac 地址交换机确定 IP 地址对应的物理主机的接口

攻击演示

钓鱼网页

1、此次我们要劫持的网站域名是新浪www.sina.com.cn,正常页面显示如下:

Kali Linux渗透-DNS域名劫持与钓鱼

2、打开 Kali 攻击机终端窗口,输入命令vim /etc/ettercap/etter.dns来编辑 ettercap 工具的 DNS 配置文件,增加一条新的A纪录,将 www.sina.com.cn 解析指向攻击者主机 IP 地址:

Kali Linux渗透-DNS域名劫持与钓鱼

3、执行命令service apache2 start 启动 Kali 虚拟机内置的 Apache 服务, 让靶机能够访问到被攻击机DNS劫持后的页面(此处不做修改,默认为 Apache 的默认主页/var/www/html/index.html),在 Kali 中访问后页面如下:

Kali Linux渗透-DNS域名劫持与钓鱼

域名劫持

1、在 Kali 终端输入命令ettercap -v查看 ettercap 的版本信息,然后执行命令ettercap -G打开 ettercap 的可视化界面:

Kali Linux渗透-DNS域名劫持与钓鱼

2、在 Sniff 菜单栏选择嗅探所有 unified sniffing,然后选择 eth0 网卡接口:

Kali Linux渗透-DNS域名劫持与钓鱼

3、接着先扫描内网存活的主机IP:

Kali Linux渗透-DNS域名劫持与钓鱼

4、扫描结果如下:

Kali Linux渗透-DNS域名劫持与钓鱼

5、将要攻击的 Win 7 主机设置为 target 1,网关设置为 target 2,如下图所示:

Kali Linux渗透-DNS域名劫持与钓鱼

6、最后选择插件,双击选择 dns_spoof,如下图所示:

Kali Linux渗透-DNS域名劫持与钓鱼

7、这个时候攻击机已经开始 DNS 劫持了,来看一下靶机的 DNS 解析状态:

Kali Linux渗透-DNS域名劫持与钓鱼

攻击机成功将靶机的域名访问请求重定向到自己指定的网页,攻击演示至此结束。

【备注】以上 ettercap 工具的配置过程,也可以直接在 Kali 终端使用以下一行命令来代替:ettercap -i eth0 -Tp -M arp:remote -P dns_spoof /192.168.195.132// /192.168.195.2//,具体的参数含义可以执行命令 ettercap -h 查看。

总结

此次演示仅仅使用 Apache 默认网页,现实中的攻击者可不仅如此。DNS攻击的可怕之处在于,被攻击的你访问的已经不是真正你要访问的网站了,而是攻击者精心设计的一个网页,让你无法察觉这是一个恶意网页。如果是钓鱼网站,在你毫不知情的情况下就把你的账号密码获取了。

DNS劫持的防范措施:

互联网公司准备两个以上的域名,一旦黑客进行DNS攻击,用户还可以访问另一个域名;

使用安全稳定可靠的DNS服务器,并且及时升级,更新补丁,加固服务器,使用杀毒软件安全防范;

在浏览器访问网关地址,在配置页面“网络参数-DHCP服务器“处绑定 DNS 服务器静态地址,这样攻击者便无法顺利劫持 DNS 服务。

DNS 服务器地址的绑定如下图所示:

Kali Linux渗透-DNS域名劫持与钓鱼

最后还是强调一下,本文演示的方法具有攻击性,请读者务必 不可以 以身试法……

本文链接:https://www.kkkliao.cn/?id=39 转载需授权!

分享到:

添加博主微信共同交流探讨信息差网赚项目: 19528888767 , 请猛戳这里→点我添加

版权声明:本文由廖万里的博客发布,如需转载请注明出处。

“Kali Linux渗透-DNS域名劫持与钓鱼” 的相关文章

制作简易留言板html5,使用jquery实现留言以及删除功能

制作简易留言板html5,使用jquery实现留言以及删除功能

效果如图: 代码(需要自己引入jquery):<!DOCTYPE html> <html>   <head>     <meta charset="utf-8&...

Spring框架提供的多种属性注入方式

Spring框架提供的多种属性注入方式

1 set注入注入的成员变量必须要封装  set方法注入bean<!--成员变量对象--><!--<bean id="u" class="com.bdqn.User"></bean&g...

如何在程序中实现多进程,多进程概述

如何在程序中实现多进程,多进程概述

 多进程:在一个程序中实现多任务处理,可以使用多线程和多进程两种方式。多进程创建:使用Process、类,每次实例化这个类的时候,就创建一个进程对象。编辑 多进程:一个程序运行中,产生了多个进程。N个正在运行的程序----至少N个程序1个程序------可能只有一个进程/也可能有...

Python如何实现多线程,多线程概述

Python如何实现多线程,多线程概述

 线程:线程是CPU调度的基本单位,是进程中具体的执行单元。进程包含线程,一个进程中至少包含一个线程;如果一个进程中包含了多个线程,称为多线程。多线程的实现:编辑 1,引入threading模块。import threading import time2,编...

socket概述 python中如何使用TCP/UDP协议实现通信-教程

socket概述 python中如何使用TCP/UDP协议实现通信-教程

 很多编程语言中,都使用scoket套接字实现网络通信。Socket是对TCP/IP协议的封装,Socket本身就是一个调用接口(API),方便程序员用Socket使用TCP/IP协议簇,实现网络通信。不同编程语言,shiyongSocket通信的语法有所区别,但基本原理类型相似。它的两种...

冷门信息差|今日头条项目首发日入过百

冷门信息差|今日头条项目首发日入过百

今日头条📖项目微头条首发车费🚗:99💰 转账抢位置!无脑简单玩法,跟发朋友圈一样。每天按照流程发作品,日入过百💰 不赚包退微信:19528888767 备注来意...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。