前言 原创文章,转载引用务必注明链接。水平有限,欢迎指正。 本文使用markdown写成,为获得更好的阅读体验,推荐访问我的博客原文: http://www.omoikane.cn/2016/09/15/bbb-wIFi-security/ 系统环境:Windows 7 Home Pentium x64|Linux Mint 18.1 Mate x64;Debian On BBB Industrial <!-- more --> 关于BBB Industrial的结项,有好几个想法,包括 搭建贝奥武甫 (Beowulf) 计算集群 上手简单但强大的Node-Red工具进行开发,简化MQTT协议使用(SmartNode更好用,内置微信模块) 通过I2C协议与Intel Edison、Arduino通讯,并通过Blynk进行控制 通过板载Cloud9在线程序开发环境学习Python并完成自动查快递提醒的功能demo 搭建云免流服务器(内网穿透+OpenVPN服务器搭建+Fiddler抓取 手机通讯特征包)
上述各自写了一部分,然而近期无法完成(身体被工作掏空),后期会慢慢释出相关心得,与各位共同交流。 前段时间凭着兴趣学习了一些无线安全方面的东西,被无线网络的安全性之差感到震惊。对这方面感兴趣的可以多关注FreeBuf网站。本文以在BBBI上安装Kali来进行演示,主要介绍中间人攻击 (Man-in-the-MiddleAttack , MITM)。 中间人攻击什么是中间人攻击可以看看这篇文章《安全科普:什么是中间人攻击(MITM)》、《BT5 + wireshark玩wifi捕获和中间人攻击》 以及 中间人攻击(MITM)姿势总结 。 基本思路就是攻击者在局域网中截获被攻击设备和网关之间的信息,进行信息窃取和信息篡改,而被攻击者难以发现。由于公众WIFI的日益普及和相应工具的傻瓜化,这种攻击一直在我们身边。 中间人攻击的基本工具相关工具层出不穷,涵盖Android、Windows、Linux平台(MacOS我木有,暂时没关注),简单的操作只需要点点手指头就可以获得大量信息。 使用BeagleBone Black Industrial 作为攻击平台软件准备Kali系统+中间人攻击套件(FruityWifi|WiFi-Pumpkin) 为BBBI安装KaliKali是非常流行的计算机安全审计系统,过去叫做BackTrack;除此之外BalckArch (基于ArchLinux) 也支持TI Sitara AM3359 ARM平台。我们这里以最新的Kali 2.1.2为例。点此转到下载页面 ,实际上Kali支持诸多arm开发板,例如Raspberry Pi、ODROID、友善之臂、Banana Pi等。 下载速度视网络情况不同,如果遇到无法下载的情况请自备地图或者PM我。 下载完毕后解压缩kali-2.1.2-bbb.img.xz得到kali-2.1.2-bbb.img文件,直接使用Win32_Disk_Imager烧录到SD卡即可 (Linux用户可以使用dd工具)。插上U盘正上上电,不一会就能看到BBBI启动了。 Kali for BBB 基本情况用户名root,密码toor。 内核版本以及编译情况: Kali和ArchLinux一样都是滚动 (rolling)发行版,采用内核版本是4.1.18。 磁盘占用情况: 尚可以接受,解压出来的镜像文件有6个多G,实际烧录情况还好(我似乎没有扩充磁盘?)。 开放端口情况: 可以看到默认仅监听22端口。 Kali for BBBI 基本设置更改软件源 推荐 阿里 、 中科大 、 清华 。修改软件源可以使用nano工具:
nano /etc/apt/sources.list ,Ctrl+O保存更改,Ctrl+X退出。 配置网络 之前的Debian使用connman工具来配置网络,Kali还是修改/etc/network/inte RFaces文件,不再赘述。
Kali for BBBI ——其实我也有桌面环境除了方便的使用CLI界面控制访问BBBI上的kali系统外,其本身内置诸多桌面环境: Kali 2.0现在原生支持KDE、GNOME3、Xfce、MATE、e17、lxde、i3wm 等桌面
既往都是什么VNC、RDP (远程桌面)等,现在只需要使用MobaXterm,而kali上无需安装任何软件就可以来一睹真容,具体可以参考我之前写的文章: MobaXterm配置界面 虽然支持众多桌面环境,但这里我选择xfce4一次成功。 之前用过炫酷的BackTrack,新版的kali 2外观有点像苹果系统 中间人攻击框架大菠萝近期在研究无线安全和钓鱼已经相关方面的技术,便有了此系列文章。 WiFi Pineapple作为国外专业的无线钓鱼与安全审计设备,已经流传了很久,但国内还是很少有人关注使用这款无线 安全设备。在国内安全圈内,许多人喜欢称 WiFi Pineapple 为“大菠萝”,也许是因为 WiFi Pineapple 的设备logo是一个菠萝的缘故。 Via
大菠萝平台是硬件固件一体的,后来有了很多类似大菠萝功能的框架,例如下面要说的FruityWifi和WiFi-Pumpkin。 FruityWifi官网:http://www.fruitywifi.com/index_eng.html github主页:https://github.com/xtr4nge/FruityWifi YouTube主页:https://www.youtube.com/channel/UC50N1wwaxTiZizoFNgpv9sQ 【有很多演示视频】 FruityWifi是一款无线安全审计,灵感来自于wifi pineapple。这个程序可以安装在Debian系列的 操作系统上,在Debian, Kali Linux, Kali Linux ARM (Raspberry Pi), Raspbian (Raspberry Pi 树莓派), Pwnpi (Raspberry Pi) 测试通过。
已经加入kali软件仓库,可以直接使用安装,这里以FruityWifi为例进行演示。其特色包括: 网页控制前端,手机也可以方便的控制 支持模块管理,且模块丰富 支持多种网络
WiFi-Pumpkingithub主页:https://github.com/P0cL4bs/WiFi-Pumpkin 特色包括: 硬件准备支持的无线网卡 至少支持 STAtion模式和 Monitor模式的USB无线网卡,经典的就是使用RTL8187和RT3070的 芯片,如何选择无线网卡请 务必阅读我写的文章: 树莓派无线网卡选择
使用FruityWifi安装FruityWifiapt-get install fruitywifi /etc/init.d/fruitywifi start /etc/init.d/php5-fpm start
对于其他基于Debian的发行版,请参考官方README手动安装。另外需要安装额外的aircrack-ng软件包,官网竟然打不开,需要挂地图下载源码。安装脚本下载的软件版本不是最新的,需要手动修改一下。gcc版本使用的4.7而非4.9。 Caution:建议先更改软件软然后更新系统。fruitywifi-core软件包不带任何模块 FruityWifi初识打开任意网页浏览器,在地址栏输入: http://[BBBI的IP地址]:8000 (for http) https://[BBBI的IP地址]:8443 (for https) 例如:192.168.1.139:8000 ,默认账号密码都是admin 【状态界面】左侧显示服务和已安装模块状态,右侧显示本机设备和已连接设备信息。status-ws适合移动设备访问 【设置界面】对FruityWifi进行基本的设置,包括选择连接内网和连接外网的网卡、启用监听模式的网卡,开启的热点名称和密码等。 【模块管理界面】模块是FruityWifi套件的核心,作者提供了很多模块,有两种方式来安装,一是从github主页二是从软件仓库下载安装,一般推荐前者,因为更新会更及时。最近看到一个脑洞很大的geolocation模块,可以在移动设备使用网络而非GPS定位时伪造位置而无需root或者xposed框架(对于安卓设备而言,玩一些游戏时很有用)。基本原理阅读知乎的这篇问答就差不多了。大致就是平时移动设备会上传周围网络的MAC地址,通过对比来大致定位。 【可用模块列表】我们点击github模块列表,可以看到非常多的模块,既有经典的也有特色的,能满足一个钓鱼热点的基本功能。 FruityWifi 实战推荐大家先看一下官方的这个演示视频 ,会对这个工具集有大致的了解。 嗅探密码我们下面以嗅探网易邮箱(又是可怜的网易邮箱)的密码为例。使用ngrep即可。当然你也可以用WireShark练手。 脱掉https加密并不是所有的迷糊名密码都是明文传输的,使用sslSTRIP可以脱掉https头,如果被攻击者不注意则会访问的内容暴露在攻击者面前 伪造页面获取网站密码使用DNSSpoof等进行DNS投毒,被攻击者访问网站A时会被定位到我们的克隆网站B,并输入相应的用户名密码,记录密码后钓鱼热点连接网站A并返回正常的页面。 攻击路由获取无线路由器管理密码MDK3可以攻击路由强制其重启,然后被攻击者连接到我们伪造的同名称无线网络,打开一个页面诱使其输入路由器管理密码 查看被攻击者访问的网站内容并进行篡改我们可以查看局域网被攻击者访问的网站、视频、图像等,进行拷贝。此外还可以修改被攻击者访问的页面内容,如更改视频内容,颠倒图片等 向下载的文件中植入额外程序额外程序即可以是木马病毒也可以是恶作剧程序,从正常网站A下载文件fileA之后,经过钓鱼热点可以自动向fileA添加小程序,使被攻击者中招 其他功能可以查看每个模块的说明,另外大多数是开源的。 大杀器Karma|Mana那么很多人要说了,我在外面不连接可疑的公共WIFI不就行了?然而事实并非如此。 以下内容部分引用WiFi Pineapple的Karma攻击与原理探究的内容,作者讲得非常好,在此表示感谢。另外推荐看看sensepost 网站,非常牛。 过去搭建钓鱼站点一般使用hostapd,现在有了两个相应的补丁Karma和Mana。在提到Karma功能前,我们先列举两种以往我们熟知WiFi钓鱼的方式: 如建立一个名为“FreeWiFi”的恶意热点,等待用户主动点击连接该恶意WiFi。这种方式的攻击效率通常较低。 建立一个手机连接过的同名热点,让手机自动搜索到该WiFi并且进行连接。这种方式主要针对于OPEN方式的热点,对于如WPA/PSK这种加密的热点来说,除非你能事先掌握原热点的连接密码,否则STA与AP的握手过程将会失败,这源于WPA的双向验证特性。最易躺枪的可能就属“CMCC”了。 以上我们提到了两种常见的WiFi钓鱼形式。当然为了增强效果,往往会在鱼上撒一些“调味剂”,也就是配合一些欺骗或DDOS攻击,使其断开原来的热点或切换信道来逼迫其连接恶意热点。 Karma攻击 我们这里将讨论第三类不常见的WiFi钓鱼形式。Karma是一种通过伪造虚假响应包(Probe Response)来回应STA(Wireless station,手机、平板等客户端等)探测(Probe Request)的攻击方式,让客户端误认为范围内存在曾经连接过的WiFi热点,从而骗取客户端的连接。通过上面的解释我们可以得出第三类钓鱼方式与前两种相比有一个最大的突破点:可以得到STA曾经连接过的热点SSID名称,不再被动而为。 Karma攻击的原理: 按照IEEE802.1X标准规定,AP是不应当应答STA发来的探测请求包(Probe Request)的(只有SSID为:“tencent-tgrass WiFi”的AP才有权应答这个请求)。 但这里的AP是由 WiFi Pineapple 伪造而来,所以并未遵守IEEE802.1X的标准,WiFi Pineapple 对于空间中的 “Probe Request” 包可谓是来者不拒,照单全收,并且与STA的进一步握手和接入
有了Karma|Mana,不一小会就能看到很多设备连接上了我建立的钓鱼热点,效率非常高。 总结大致介绍了BeagleBone Black Industrial 作为便携设备高效搭建钓鱼热点以及进行中间人攻击的方法,由于篇幅和本人精力有限,具体细节无法一一陈述,欢迎有兴趣的和我一起交流。另外文中一些概念和软件使用方法可以多翻翻我的博客,懒得搬运啦。
|