WiFi-Pumpkin是一款专用于无线环境渗透测试的完整框架,利用该工具可以伪造接入点完成中间人攻击,同时也支持一些其他的无线渗透测试功能。旨在提供更安全的无线网络服务,该工具可以用来监听目标的流量数据,通过无线钓鱼的方式来捕获不知情的用户,以此来达到监控目标用户数据流量的目的,WiFi-Pumpkin的安装过程将会在漏洞利用中详细讲解。
BEEF (The Browser Exploitation Framework):一款浏览器攻击框架,用Ruby语言开发的,Kali中默认安装的一个模块,用于实现对XSS漏洞的攻击和利用。
BeEF主要是往网页中插入一段名为hook.js的JS脚本代码,如果浏览器访问了有hook.js(钩子)的页面,就会被hook(勾住),勾连的浏览器会执行初始代码返回一些信息,接着目标主机会每隔一段时间(默认为1秒)就会向BeEF服务器发送一个请求,询问是否有新的代码需要执行。BeEF服务器本质上就像一个Web应用,被分为前端, 和后端。前端会轮询后端是否有新的数据需要更新,同时前端也可以向后端发送指示, BeEF持有者可以通过浏览器来登录BeEF 的后端,来控制前端(用户的浏览器)。BeEF一般和XSS漏洞结合使用。
MSF(Metasploit Framework)是一款非常强大的开源的漏洞检测工具,该工具还附带了数百个已知软件的漏洞,并保持持续更新,被安全社区冠以“可以黑掉整个宇宙”的渗透测框架。其中有一些专业术语如下:
渗透攻击(Exploit),指由攻击者或渗透测试者利用一个系统、应用或服务中的安全漏洞,所进行的攻击行为。
攻击载荷(Payload),是我们期望目标系统在被渗透攻击之后去执行的代码。
模块(Module),指Metasploit框架中所使用的一段软件代码组件,可用于发起渗透攻击或执行某些辅助攻击动作。
监听器(Listener),是Metasploit中用来等待网络连接的组件。
终端(Msfconsole),是Metasploit框架最受欢迎的用户接口,提供与用户交互式的输入,可以用它来做很多事情。
(1)通过命令git clone https://github.com/P0cL4bs/WiFi-Pumpkin.git 克隆安装包,如图1.1
图1.1 克隆Wifi-Pumpkin安装包
(2)WiFi-Pumpkin路径下,相关配置
命令如下cd WiFi-Pumpkin
chmod +x installer.sh(chmod+x 是给文件执行权限)
./installer.sh –-install (安装WiFi-Pumpkin
,注意在完整单词前面要用“--”),如图1.2所示
图1.2 查看wifi-pumpkin 版本
这里询问是否安装WIFI模块 选 y 并回车。
(3)安装期间会弹出一个窗口询问我们是否允许自动重启,选择 yes ,安装成功截图如图1.3所示
图1.3 安装成功
(4)启动WiFi-Pumpkin,如图1.4所示
图1.4 WiFi-Pumpkin启动界面
(1)启动mysql,输入如图1.5,并执行mysql –u root进入数据库 ,密码为root
图1.5 启动mysql
(2)配置mysql,创建名为fishing的数据库,,并添加数据表如图1.6
图1.6 创建新数据库,添加表
Fake Page是一个已经写好的网页,用于验证数据库。
(1)使用以下命令:
git clone https://github.com/XeusHack/Fake-Login-Page.git
下载Fake Page,如图1.7
图1.7 克隆Fake-Page文件
(2)将Fake-Login-Page文件放到/var/www目录下。如图1.8
图1.8 验证存放目录
(3)编辑database.php文件,“vim database.php”如图1.9
图1.9 编辑 database.php文件
:wq保存退出
(4)重启mysql:/etc/init.d/mysql restart,这里敲不进去这条命令,换为“service mysql restart” 如图1.10
图1.10 重启数据库
(1)插入无线网卡,在vmware的虚拟机选项卡作以下操作,如图1.11
图1.11 将无线网卡连接到Kali
(2)用ifconfig –a或 iwconfig命令查看是否成功连接。连接成功如图1.12所示.
图1.12 验证方法一
(3)iwconfig 如图1.13
图1.13 验证方法二
(1)cd WiFi-Pumpkin,进入此目录,python WiFi-Pumpkin.py,运行WiFi-Pumpkin,切换到Settings命令,设置SSID号,WIFI名称为Fishing,信道号为11,
配置如图1.14所示。
图1.14 配置Fishing
注意:NetworkAdapter是无线网卡的名称,在第4无线网卡截图中可以看见。
(2)选择Enable Wireless Security,密码为16wlgfgroup2 如图1.15
图1.15 设置钓鱼WiFi密码
(3)取消代理,注意,只有取消代理才能使用DNS Spoofing模块 如图1.16
图1.16 取消代理服务器
(4)修改dhcp配置,设置为10.0.0.0/24网段,范围为20到50,如图1.17
1.17 配置DHCPserver
(5)点击start开始,如图1.18
图1.18 启动钓鱼热点
(1)手机连接测试,如图1.19所示
图1.19 验证DHCP分配ip情况
用钓鱼WiFi测试上网,成功,但是网速很慢,要加载半天。如图1.20
图1.20 验证是否能正常上网
(1)点击Modules下拉选项DNS Spoofer,进入DNS Spoof页面,如图1.21
图1.21 使用DNS Spoofer模块
(2)在DNS Spoof页面中,将IP Scan Range修改为0-255,然后点击 start Scan开始扫描,这里也可以指定要欺骗的单个地址,如图1.22
图1.22 修改扫描范围
(3)扫描到的host如图所示1.23
图1.23 扫描到的主机
(4)选中10.0.0.20 以DNS Spoof默认域名example.com为例,点击Start Attack,可以看到,DNS SpoofRunning…,如图1.24
图1.24 启动DNS Spoof
(5)用手机(10.0.0.20)尝试访问 example.com,显示的是已经设置好的信息,如图1.25所示
图1.25 劫持成功
(6)选择SetDirectory,如图所示,将前面设置的Fake-Login-Page路径设置到SetEnv PATH里面,如图1.26所示
图1.26 修改页面路径
注意:在前面的 /var/www不能删除,因为它是Fake-Login-Page的上级目录。
(7)然后点击StartServer,可以看到以下信息,如图1.27
图1.27 劫持成功
(8)用手机(10.0.0.20)再次访问example.com可以看到网页里面出现了之前下载的页面,如图1.28,在这里输入email和用户密码将添加到之前创建的数据库中。
图1.28 手机返回劫持页面
(1)使用apt-get install beff-xss安装beef-xss,安装完成后,用 cd /usr/share/beef-xss 切换目录,输入 ./beef 运行,如图1.29所示
图1.29 运行beef
在这里注意,通过apt-get install beff-xss安装完beff-xss后通过以上截图中的命令发现无法启动,并报错,如图1.30,
图1.30 beef报错情况
此时需要卸载掉beff-xss,并重新安装,命令如下:
#apt remove ruby
#apt remove beef-xss
#apt-get install ruby
#apt-get install ruby-dev libpcap-dev
#gem install eventmachine
#apt-get install beef-xss
做完这些通过图1.30的方式再次尝试,成功启动beff-xss,如图1.31
图1.31 启动Beef
(2)查看并记住 Hook URL,如图1.32
图1.32 查看Hook Url
(3)在浏览器中输入http://127.0.0.1:3000/ui/authentication登陆beef,默认账号和密码都是beef,如图1.33
图1.33 登录Beef
(4)beef登录成功界面如图1.34
图1.34 登录成功界面
(5)启动 WiFi-Pumpkin,进入到Phishing Manager模块,配置如图1.35所示
图1.35 编辑WiFi-Pumpkin的index
注意:这里的Beef Hook Url指的是beef 里面的 hook url,ip地址为10.0.0.1 而不是192.168.64.132。
(6)用手机(10.0.0.20)访问example.com页面,beef页面如图1.36所示
图1.36 使用Beef捕获到的手机信息
在使用Kali +Wifi-Pumpking 搭建钓鱼WiFi成功之前,我曾使用Kali下Aircrack-ng套件+isc-dhcp-server+iptables的方法搭建钓鱼WiFi,但是在配置好isc-dhcp-server后使用“service isc-dhcp-server restart ”无法启动,报错情况如图1.37所示。
图1.37
反复检查配置文件无误,钓鱼热点能被手机搜索到,但是不能分配ip地址,在网上搜索各种教程均不能解决这个问题,于是这种方法被搁置。直到第四周我重新尝试解决这个问题的时候才发现isc-dhcp-server启动存在bug,无法使用上面的service命令启动,其实只需要在打开ip转发后使用touch命令创建一个dhcpd.leases 文件 然后使用dhcpd –cf /etc/dhcp/dhcpd.conf –pf /var/run/dhcpd.pid at0 命令就可以正常启动isc-dhcp-server了,如图1.38所示。
图1.38
此时用手机测试,能正常连接了,如图1.39所示
图1.39