freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

无线安全之MiTM攻击(一)
2021-07-05 01:55:04

一、MiTM攻击简介

MiTM (Main-in-the-middle attack)中间人攻击,指攻击者与通讯的双方分别建立独立连接,并交换其所收到的数据,使通讯的双方认为他们正在通过一个私密的连接与对方直接交互数据,但事实上整个会话都被攻击者完全控制。在中间人攻击中,攻击者可以拦截通讯双方的通话并插入新的内容。

中间人攻击具有一定的局限性,中间人攻击用于局域网内。MiTM攻击能成功的前提条件是攻击者能将自己伪装成每一个参与会话的终端,并且不被其他终端识破。中间人攻击是一个(缺乏)相互认证的攻击。大多数的加密协议都专门加入了一些特殊的认证方法以阻止中间人攻击。例如,SSL协议可以验证参与通讯的一方或双方使用的证书是否是由权威的受信任的数字证书认证机构颁发,并且能执行双向身份认证。

二、arpspoof+driftnet截获图片数据流量

1、简介

MiTM攻击是通过劫持通讯双方的流量实现的,进行MiTM攻击时将攻击机置于受害机和路由器之间,攻击机可以通过一些数据包嗅探工具(Wireshark等)监测到受害机上的流量,实现中间人攻击后,再通过driftnet工具抓取指定接口的数据流,将获取到的图片信息保存至本地。

2、工具介绍

0x01 arpspoof

arpspoof是一款用于arp欺骗的工具,通过发送伪造包修改受害机的arp缓存,进而实现arp欺骗

使用方法:

Usage: arpspoof [-i interface] [-c own|host|both] [-t target] [-r] host

RhFcKx.png

参数
-i interface 指定要使用的接口。
-c own|host|both 指定范围own|host|both(自己|主机|两者)
-t target 指定一台特定主机进行ARP中毒(如果未指定,则为LAN上的所有主机)
-r 两个主机(主机和目标)以捕获两个方向的流量。(仅对-t有效)
host 指定您希望抓取数据包的host(通常是本地网关)

示例
arpspoof -i eth0 -t 192.168.112.141 192.168.112.1
# eth0为攻击者使用的网卡
# 192.168.112.14是受害机的IP
# 192.168.112.1是攻击目标的网关(截获到的数据转发到这)

0x02 driftnet

driftnet是一款简易的图片捕获工具,用于抓取指定接口数据流上的图片,同时也支持抓取音频文件。

工具安装:

apt-get install driftnet

RhFgr6.png

使用方法:

driftnet -h

RhF2qK.png

最常见的使用命令就是

driftnet -i eth0

3、arpspoof工具进行MiTM攻击(ARP欺骗)

实验环境信息

靶机: 192.168.112.136
Kali Linux: 192.168.112.147

1)开启IP地址路由转发功能

路由转发指根据网卡接收到的数据包发送至另一网卡上,再根据路由表的信息进行发送数据包

echo 1 >/proc/sys/net/ipv4/ip_forward

RhFyx1.png

2)使用arpspoof对靶机进行单向arp欺骗

arpspoof -i eth0 -t 192.168.112.136 192.168.112.1

RhFTxI.png

在靶机上可以看到所在局域网的网关的Mac地址已经被欺骗修改为Kali Linux的Mac地址

RhF5PH.png

3)使用arpspoof对靶机进行双向arp欺骗

上面进行的是单向欺骗,我们只能截取到靶机发送给网关的数据,无法获取到网关返回的响应数据,显然达不到我们的截取监听目的,所以需要使用双向arp欺骗,这就可以截取到网关返回给靶机的响应数据包信息,从而达到监听的目的。

使用参数-r代表进行双向arp欺骗

arpspoof -i eth0 -r 192.168.112.1 -t 192.168.112.136

RhFfaD.png

4、driftnet工具捕获图片信息

使用driftnet工具监听指定接口,获取数据包的图片信息并保存下来

1)启动driftnet工具

driftnet -i eth0 

RhFhIe.png

注:先开启arpspoof双向arp欺骗攻击再启动driftnet工具截取图片

2)靶机访问http协议的网站

如果是https协议的网站,数据的传输会经过加密处理,截取不到图片信息

这里演示访问www.4399.com网址

RhFHMt.png

3)将图片保存至本地

driftnet -i eth0 -b -a -d /tmp/pic

RhFIGd.png

5、Wireshark数据包分析

开启arp欺骗后,通过eth0接口可以截取到来自靶机192.168.112.136发送的数据包

ip.src==192.168.112.136

RhFoRA.png


三、Ettercap实现MiTM攻击(DNS/ARP欺骗)

1、简介

上文简单介绍通过ARP欺骗并截获到图片信息,攻击者通过工具作为中间人截取靶机和网关之间的数据信息,本节将介绍使用Ettercap工具实现DNS欺骗

DNS欺骗是指攻击者冒充域名服务器的一种欺骗行为,将特殊处理后的域名信息数据写入DNS解析器的缓存中,导致名称服务器返回不正确的结果记录。例如 IP地址。这会导致流量被转移到攻击者的计算机(或任何其他计算机),此时在攻击者的计算机上搭建一个web服务,那么受害机请求访问的页面会重定向到我们搭建的web页面上,造成DNS欺骗的效果。

2、Ettercap工具介绍

Ettercap是一款局域网内的MiTM攻击工具,用于分析网络协议和安全审计,能够截获一个网段上的流量,捕获密码,并对许多常见协议进行主动窃听。

Ettercap的工作原理是将网络接口置于混杂模式,并通过ARP欺骗目标机器 因此,它可以充当一个“中间人”,对受害者发动各种攻击。Ettercap支持插件,因此可以通过添加新插件来扩展特性。

Ettercap工具提供了图形化界面和命令行界面,命令ettercap -G开启GUI图形化界面模式

参考:Ettercap (software) - Wikipedia

3、DNS欺骗过程及效果

0x01开启IP转发

sysctl -w net.ipv4.ip_forward=1

sysctl net.ipv4.ip_forward # 查看参数

RhFqqf.png

0x02 攻击机.上启动web服务

1)开启apache

/etc/init.d/apache2 start   # 启动服务

/etc/init.d/apache2 status # 查看状态
/etc/init.d/apache2 stop # 停止服务

2)搭建index.html页面

前往/var/www/html目录下修改index.html文件

<HTML>
<head>
<title>DNS SPOOF</title>
<h1>hello, User.....!!</h1>
<body>
Ettercap is a free and open source network security tool for man-in-the-middle attacks on LAN. It can be used for computer network protocol analysis and security auditing. It runs on various Unix-like operating systems including Linux, Mac OS X, BSD and Solaris, and on Microsoft Windows. It is capable of intercepting traffic on a network segment, capturing passwords, and conducting active eavesdropping against a number of common protocols. Its original developers later founded Hacking Team.
</body>
</head>
</HTML>

RhFOZ8.png

0x03 设置Ettercap配置文件etter.dns

/etc/ettercap目录下修改etter.dns文件

RhFbsP.png

在最后添加重定向的规则

* A 192.168.112.147

* 代表靶机访问任何网页
A记录: 将域名指向一个IPv4地址
192.168.112.147 表示访问的任何网页都会重定向到这个IP上

RhFjIg.png

0x04 使用Ettercap进行DNS欺骗

1)启动页面

配置好后点击勾即可

RhFXdS.png

2)进行局域网Host扫描

选”Hosts“ - ”Scan for hosts“

RhkSRs.png

3)查看扫描的Hosts列表

网关IP 192.168.112.2
靶机IP 192.168.112.136

RhFxiQ.png

4)分别添加攻击目标

选中靶机IP,点击Add to Target1,同样选中网关IP,添加至目标二

RhFzGj.png

5)进行arp欺骗

RhkCMq.png

6)进行DNS欺骗攻击

RhkPs0.png

7)靶机访问网页

可以发现大部分网页已被DNS欺骗并劫持重定向至攻击机的web服务页面

Rhkpzn.png

此外也可以针对特定网站进行DNS欺骗并重定向,etter.dns的配置如下

www.qq.com A 192.168.112.147

那么靶机只有在访问www.qq.com的情况下会重定向至攻击机上,在访问其他任何网页时保持正常访问

命令行模式

ettercap -Tq -M ARP:remote -i eth0 -P dns_spoof /192.168.112.136// /192.168.112.2//

-T: 使用文本GUI,即命令行模式
-q: 不显示数据内容
-M: 执行一个MiTM攻击,后面跟攻击参数
-i: 指定接口
-P: 指定插件

RhkEoF.png

4、检查是否被DNS欺骗

0x01 查看arp表

如果arp表中的任何一条记录的Mac地址都不一致则代表没有被DNS欺骗,若出现有两条Mac地址一致的情况下,则有可能被DNS欺骗(ARP欺骗)

RhkiLV.png

0x02 通过ping命令

直接ping指定网站,如果请求的IP地址为局域网内的地址,说明被DNS欺骗

RhkkZT.png


四、arpspoof+Ettercap密码嗅探

1、开启路由转发

echo 1 >/proc/sys/net/ipv4/ip_forward

2、arpspoof工具进行arp欺骗

使用arpspoof工具进行arp单向欺骗

arpspoof -i eth0 -t 192.168.112.136 192.168.112.2

RhkAdU.png

3、ettercap监听靶机的密码数据流量

ettercap -Tq -i eth0

RhkZi4.png

4、访问登录页面

这里只能截获http协议的密码数据流量,以4399和7k7k网站测试

RhkeJJ.png

RhkmW9.png


五、总结

MiTM攻击(中间人攻击)主要就是在局域网内对靶机进行arp欺骗,从而截获到靶机发送的流量数据,一般用于小型的网络中,本文中介绍了目前几个较为常用的攻击方法,还有部分MiTM攻击未复现,留在之后更新补充

# 无线安全 # 中间人攻击(MITM) # dns劫持 # ARP欺骗
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录