2021-03-17 分类: 网站建设
arp欺骗也是很古老的渗透手段了,主要起着信息收集的作用,比如你可以利用欺骗获取对方的流量,从流量分析你认为重要的信息,例如某某账号密码。或是利用Arp攻击,切断局域网内某一用户的网络访问(单向欺骗)。下面着重讲一下中间人攻击的原理,配和实战演练分析,不对的地方,还请大家多多反馈和包涵!
借用Wiki百科的一个比喻来理解MITM(中间人攻击):
假设爱丽丝(Alice)希望与鲍伯(Bob)通信。同时,马洛里(Mallory)希望拦截窃会话以进行窃听并可能在某些时候传送给鲍伯一个虚假的消息。
我们的身份就是Mallory,我们希望欺骗Alice和Bob,让其认为我们是交互的正确目标,从而来获取他们之间交流的信息。
想要进行中间人攻击,先理解最基础的arp攻击
ARP(Address Resolution Protocol,地址解析协议)是一个位于TCP/IP协议栈中的网络层,负责将某个IP地址解析成对应的MAC地址。
以太网(局域网)进行信息传输时,不是根据IP地址进行通信,因为IP地址是可变的,用于通信是不安全的。然而MAC地址是网卡的硬件地址,一般出厂后就具有唯一性。ARP协议就是将目标IP地址解析成MAC地址进行验证通信。
ARP协议信任以太网所有的节点,效率高但是不安全。这份协议没有其它字协议来保证以太网内部信息传输的安全,它不会检查自己是否接受或发送过请求包,只要它就收到的arp广播包,他就会把对应的ip-mac更新到自己的缓存表
在wiki中这样定义网关:
在计算机网络中,网关(英语:Gateway)是转发其他服务器通信数据的服务器,接收从客户端发送来的请求时,它就像自己拥有资源的源服务器一样对请求进行处理。有时客户端可能都不会察觉,自己的通信目标是一个网关
区别于路由器(由于历史的原因,许多有关TCP/IP的文献曾经把网络层使用的路由器(英语:Router)称为网关,在今天很多局域网采用都是路由来接入网络,因此现在通常指的网关就是路由器的IP),经常在家庭中或者小型企业网络中使用,用于连接局域网和Internet。
网关也经常指把一种协议转成另一种协议的设备,比如语音网关。
网关可以把内网ip转化为外网ip,从而向服务器发出请求。也可以把外网Ip获得的数据包转换成内网ip发给内网主机。
根据以上说的arp协议缺陷,如果我们冒充网关主机C,不停的向以太网发送自己的ARP广播包,告知自己的ip-mac,此时其它主机就会被欺骗,更新我们C的ip-mac为网关主机的ip-mac,那么其它主机的数据包就会发送到C主机上,因为没有发给真正的网关,就会造成其它主机的网络中断。
攻击主机A:Kali—>ip: 192.168.11.106
被攻击主机B: windows 7—>ip: 192.168.11.105
网关主机C: 192.168.11.1
我的Kali是在虚拟机下,需要Bridge连接保证机器在同一网段,很多人用Nat连接来转发,在实战的轻快下,需要更改虚拟机的网络配置。
这里模拟真实环境,攻击主机A和被攻击主机B在同一局域网下。
1. 先用命令查看一下ip是否正确:
Kali:
可以看到ip是192.168.11.106
Windows7:
ip是192.168.11.105,网关地址是192.108.11.1
2. 用nmap查看当前网端的活跃主机
nmap -sF 192.168.11.0/24
扫描得到如图活跃主机,可以看到我们的主机B。当然获取Ip的途径不可能这么简单,你也可以用fping的方法来分析,之前我用fping探测局域网windows10的主机,发现Ping不通,win10防火墙还是有点东西。不过你可以根据fping的发送包来推断主机是否真正存活,具体可以google一下fping的用法,这里给推荐一个链接
4. 利用Arpspoof进行欺骗攻击
Kali自带的Arpspoof可以很好的进行欺骗,man arpspoof查看官网手册(网上翻译):
名字
arpspoof # 截获交换局域网中的数据包
用法
arpspoof [-i interface] [-c own|host|both] [-t target] [-r] host
描述
# arpspoof通过伪造的ARP响应包改变局域网中从目标主机(或所有主机)到另一个主机(host)的数据包转发路径。这是交换局域网中嗅探网络流量的一种极为有效的方法。内核IP转发(或如fragrouter这样的、用户层面的、能完成同样功能的软件)必须提前开启。
参数
-i interface
# 指定要使用的接口(即指定一块网卡)
-c own|host|both
# 指定在恢复ARP配置时使用的硬件地址;当在清理(cleaning up)时,数据包的源地址可以用自己的也可以用主机(host)的硬件地址。使用伪造的硬件地址可能导致某些配置下的交换网络、AP网络或桥接网络通信中断,然而它比起默认值————使用自己的硬件地址要工作地更为可靠。
-t target
# 指定一个特殊的、将被ARP毒化的主机(如果没有指定,则认为是局域网中所有主机)。重复可以指定多个主机。
-r
# 毒化两个主机(目标和主机(host))以捕获两个方向的网络流量。(仅仅在和-t参数一起使用时有效)
host #你想要截获数据包的主机 (通常是网关)。
5. 主机A作为网关主机欺骗
命令语句
arpspoof -i eth0 -t 192.168.11.105 192.168.1.1
执行命令,Kali会向主机B发送ARP响应包,响应包的内容是Kali的ip-mac地址,而响应包里的ip则是网关主机ip地址。每一行代表一个响应包。从左到右:自己Kali的mac、主机B的mac、帧类型码(0806,代表ARP包)、包大小、包内容。
6. 被攻击主机B网络中断
我们在B主机用arp -a
查看一下是否欺骗成功
可以看到,网关主机C和攻击者主机A的mac地址相同,欺骗成功
在kali终端输入control + c 可以停止,清空并恢复原来正确的arp相应包,主机重新恢复联网状态
在前面Arp成功进行攻击后,我们开始作为中间人进行欺骗,需要设置ip转发,获取目标主机B的流量,其后配合其它工具(drifnet)等进行进一步嗅探。
值得一提的是,我们的Arp攻击也是欺骗,但它是单向欺骗,冒充网关主机来欺骗目标主机。实际中,中间人攻击一般是双向欺骗。即作为中间人,主机A双向欺骗主机B与C获得通信内容,但是不破坏通信数据的传输。为了不影响B与C传输的数据丢失,主机A开启ip转发,开启后来自B主机的数据包经过A主机的Kali后转发给主机C。欺骗两个主机B和C后,我们就能嗅探到双向数据包。
如果你的kali在虚拟机,那么以下步骤均需要一个外置的usb无线网卡。在虚拟机中,网络的连接比较复杂,而Ip转发很大程度上取决于网卡性能。如果你是在虚拟机中Kali进行转发,基本都会失败,因为笔记本的内置无限网卡满足不了需求。由于放假在家我的usb无线网卡落在了寝室..下面仅以文字给大家介绍攻击的思路和流程,还请见谅…….
linux因为系统安全,是不支持IP转发的,其配置文件写在/proc/sys/net/ipv4的ip_forward中。默认为0,需要修改为1。
开启方法大致有两种:
cd /proc/sys/net/ipv4
ls
cat ip_forward
#显示结果为0
echo 1 > ip_forward
cat ip_forward
#显示结果为1,修改成功
# echo "1"> /proc/sys/net/ipv4/ip_forward
这里进行一步执行,选用第二种Ip转发手段
命令如下:
root@kali:~# echo 1 > /proc/sys/net/ipv4/ip_forward && arpspoof -i eth0 -t 192.168.11.105 -r 192.168.11.1
持续保持欺骗,再重新打开一个命令终端。
输入命令:
root@kali:~# driftnet -i eth0
跳出来的drift窗口即会显示本机正在浏览的图片
工具就会抓取主机B的数据包和主机C返回的数据包,分析http post请求可以判断账号密码信息。
输入命令:
root@kali:~# urlsnarf -i eth0
使用Wireshark抓取所有的数据包,过滤分析不同请求,类似于ettercap。
例如,要找HTTP POST请求,过滤,查看明文密码,一般是以POST形式上传的账号密码。
防御原理很简单,就是不让攻击者肆意表明自己就是网关主机。我们进入网关主机(路由器后台地址),网络参数一栏一般有ip与mac绑定一栏,把网关的mac地址与网关地址绑定就好了。只要确定了对应关系,当攻击者发布arp相应包时,就不会更新相应的ip-mac缓存表。
我们重新进行欺骗后,再查询B主机的arp缓存表,如图
网关主机的mac并没有被欺骗成功,我们的防御达到目的
如果想知道对方主机的ip地址其实也容易。我们在Cmd下键入命令arp -a
看一下相同mac,就找到了攻击者。
新闻名称:如何利用Arp欺骗进行MITM?
网页路径:/news26/105326.html
成都网站建设公司_创新互联,为您提供软件开发、做网站、网站策划、网站维护、网站收录、手机网站建设
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联
猜你还喜欢下面的内容