一、实验原理
hostapd是用于访问点和身份验证服务器的用户空间守护程序,它可以创建无线热点。
Dnsmasq是一个小巧且方便地用于配置DNS和DHCP的工具,适用于小型网络,它提供了DNS功能和可选择的DHCP功能。
Iptables相当于Linux的一个包过滤防火墙,可以从内核数据传输链上制定数据流的转发规则。
二、实验目的
在无线网卡上使用hostapd开启一个伪造的开放ap,然后用dnsmasq为连接该ap的用户分配ip地址。为了使用户能正常上网,使用iptables将流量从无线网卡转到联网的有线网卡上。
从用户角度来看,连接的无线没有本质区别,而实际上用户连接的是攻击者创建的假冒WiFi,进而实现窃听流量的目的。
三、实验内容
3.1 实验步骤
3.1.1 配置有线网卡联网
- pppoe联网
- dhcp获取地址
- 静态ip
以上三种方式都可以获取到IP,我们利用无线网卡假冒开放式AP,吸引用户接入,进行地址分配。然后将流量从无线网卡转发出去,查看用户上网流量
3.1.2 开启流量转发
修改配置文件,输入命令:
1 | gedit /etc/sysctl.conf |
3.1.3 开放式假冒AP配置
- 配置hostpad
1 | sudo apt-get install hostapd |
创建hostapd配置文件,输入命令:
1 | gedit /etc/hostapd/hostapd.conf |
该文件负责配置开启ap所需要的内容,将下面内容输入配置文件:
1 | interface=wlan0 |
配置的意思是创建一个“TP-LINK_EE85”的ap,工作在信道3。
- 配置dnsmasq
1 | sudo apt-get install dnsmasq |
接着修改dnsmasq配置文件,主要功能是负责分配ip和dns,输入命令
1 | gedit /etc/dnsmasq.conf |
- 配置NetworkManager.conf
1
2
3
4
5
6
7gedit /etc/NetworkManager/NetworkManager.conf
[main]
plugins=keyfile
[keyfile]
unmanaged-devices=interface-name:wlan0
将无线网卡设置成未托管,这样才能正常启动hostapd
3.1.4 开启假冒AP
配置无线接入点的ip和子网掩码输入命令:
1 | sudo ifconfig wlan0 up 10.0.0.1 netmask 255.255.255.0 |
以及iptables规则,启动dnsmasq,启动hostapd等,总结成一个bash文件
1 | sudo ifconfig wlan0 up 10.0.0.1 netmask 255.255.255.0 |
假冒AP开启,可以看见用户连接的信息。
使用手机连接相应的WIFI,可以在终端看到连接信息,进而在wireshark里面抓包可以看到上钩的用户的流量通信状态。
3.1.4 流量劫持
dnsmasq是一个小巧且方便的工具,提供DNS缓存和DHCP服务、TFTP服务功能,轻量且易配置,适用于个人用户或少于50台主机的小型网络。
当接受到一个DNS请求时,dnsmasq首先会查找 /etc/hosts 这个文件,然后查找 /etc/resolv.conf 中定义的外部DNS。所以说Dnsmasq是一个很不错的外部DNS中继。
配置dnsmasq为DNS缓存服务器,同时在/etc/hosts文件中加入本地内网解析,这样一来每当内网机器查询时就会优先查询hosts文件,这就等于将/etc/hosts共享给全内网机器使用,从而解决内网机器互相识别的问题。
dnsmasq的默认配置文件为 /etc/dnsmasq.conf 文件。
举一个简单的栗子:
当我们再dnsmasq的配置文件最后一行添加:
1 | address=/www.baidu.com/10.0.0.1 |
这样连接钓鱼wifi的用户访问百度。就会被dnsmasq定向到自己服务器上去,相当于流量劫持,实验也非常简单。