实验目的:
- 熟悉hostapd软件、dnsmasq软件、iptables软件以及wapache软件
- 掌握假冒AP的过程
实验原理:
- 在无线网卡上使用 hostapd 开启一个伪造的开放 ap,然后用 dnsmasq 为连接该 ap 的用户分配 ip 地址。为了使用户能正常上网,使用 iptables 将流量从无线网卡转到联网的有线网卡上。从而查看流量.
- 运行环境,一块无线网卡负责搭建ap,有线部分负责连接目标ap。
- hostpad:用于访问点和身份验证服务器的用户空间守护程序。创建无线热点。
- dnsmasq:用于配置DNS和DHCP的工具。
- Iptables:用于设置、维护和检查Linux内核的IP包过滤规则。
- 当用户在网上浏览网页的时候,都会向 DNS 服务器发送解析请求。我们修改 dnsmasq 的配置文件,当用户访问特定网站的时候,将其 DNS 解析 IP 指定为我们本机设定好的 IP 地址。同时开启 Apache 服务器,使得本机 IP 下的 html 代码显示在用户的浏览器中。
实验内容:
利用无线网卡假冒开放式 AP,吸引用户接入,进行地址分配。然后将流量转发到有线网卡,进一步修改 dnsmasq 配置,将 apache 默认的网页代码修改准备的恶意代码。开启 dnsmasq 和Apache 服务,开启假冒 ap,进行拦截。具体步骤如下:
- 有线网卡联网
- 开放假冒AP配置
- 开启假冒AP
- 配置Apache服务器
- 连接假冒AP
实验步骤:
步骤一:有线网卡联网
- 1)首先下载RP-PPPOE,输入命令:
解压:
进入文件夹内:
配置:
安装:
- 2)然后进行客服端配置,执行命令:
输入校园网账号
输入学校的DNS服务器和密码
选择防火墙的类型以及接受相关配置文件
- 3)修改配置文件,输入命令:
gedit /etc/sysctl.conf #去掉“#”就好。
- 4)启动拨号连接,输入命令
pppoe-start #如果出现 TIMED-OUT 提示,出现这种情况检查用户名、密码、dns 地址有没有错误
步骤二:开放式假冒AP配置
- 1)首先安装hostpad,输入命令:
创建hostpad配置文件,输入命令:
gedit /etc/hostapd/hostpad.conf #该文件负责配置开启ap所需要的内容,配置文件内容具体如下:
- 2)安装dnsmasq,输入命令
接着修改dnsmasq配置文件,它负责分配IP和DNS,输入命令:
gedit /etc/dnsmasq.conf
-
dnsmasq 的配置文件在最后一行添加:
address=/www.baidu.com/10.0.0.1 -
这样当用户请求百度的域名时,dnsmasq 会将 IP 解析到本机(10.0.0.1)的地址上。
-
3)修改NetworkManagement.conf,输入命令
gedit /etc/NetworkManager/NerworkManager.conf
将无线网络设置成未托管,这样才能正常启动hostapd
步骤三:开启假冒AP
首先配置无线接入点的IP和子网掩码输入命令
sudo ifconfig wlan0 up 10.0.0.1 netmask 255.255.255.0
然后开启路由转发,使得我们的网卡可以转发流量,输入命令:
sudo sysctl -w net.ipv4.ip_forward=1
接着将流量转发给联网的有线网卡,输入下面一组命令:
最后,开启 dnsmasq 分配 ip 服务,输入:
dnsmasq
由于 nl80211 驱动程序存在一些漏洞,所以需要在开启假冒 AP 前使用如下命
hostapd 开启假冒 AP,输入命令:假冒AP开启,可以看见用户连接的相关信息
步骤四:配置Apache服务器
经过前三个步骤,用户即可连接上假冒 AP 并正常上网
-
- 进入Apache默认的页面文件
-
- 把原来的代码将其覆盖为我们要伪装成的页面,为了实验的方便性,可替换为下面的代码
-
- 查看页面结果
-
- 接着开启 Apache 服务器,输入命令
步骤五:连接假冒 AP
- 1)连接假冒 AP 并在浏览器输入 www.baidu.com 即可看到我们设定好的页面。
- 2)总结:除了UC浏览器之外的浏览器,都可以通过Apache服务器,通过DNS将www.baidu.com 解析为10.0.0.1。而UC浏览器不可以,它在访问www.baidu.com 时候,会默认加上https:,从而导致网页访问的是百度的服务器,所有返回的是真正的页面。但是在访问http:10.0.0.1 的时候,会正常访问到此页面。进一步说明了网页访问的是百度的服务器。