译者:WisFree
预估稿费:200RMB
投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿
RouterSploit跟著名的Metasploit差不多,RouterSploit同样是一款功能强大的漏洞利用框架。但RouterSploit主要针对的是路由器设备,它能够快速识别并利用路由器中存在的安全漏洞,本文将告诉大家如何一步一步地将RouterSploit安装到未root的Android设备上。
写在前面的话
在此之前,我曾写过一篇关于如何在Kali Linux和macOS(OS X)上安装RouterSploit的教程【传送门】,但在这篇文章中我将会一步一步地教会大家如何在一台未root的Android智能手机上安装RouterSploit。安装完成之后,也就意味着你可以对这台智能手机所连接到的路由器进行漏洞挖掘或安全测试了。接下来,就是Android设备展示其便携性和功能性的时候了。
RouterSploit与路由器的故事
路由器是我们进入互联网世界的网关,它们可以发送我们的网络流量、加密我们的流量并保护我们的隐私、或者允许我们通过本地网络来与其他设备进行互联互通。
很多普通用户在购买了一台路由器之后一般都是拿回来就插上网线接上电,然后就一直用到它坏掉为止。但也许你并不知道路由器其实也是一台运行了Linux系统的小型计算机,绝大多数用户不仅不会去修改路由器的管理员密码,而且可能永远都不会为路由器安装额外的安全保护插件或给路由器进行安全更新。如果你不幸躺枪的话,你应该在阅读本文之前赶紧更改你的路由器密码,并安装相应的更新补丁。
由于路由器往往是一种很容易被普通用户忽略的设备,所以我们只需要使用正确的工具,就能够扫描并利用路由器中存在的常见漏洞。RouterSploit利用的是最常见的路由器安全漏洞以及默认配置,在RouterSploit的帮助下,我们就可以通过任何支持Python脚本的设备来对路由器进行攻击。
Android和Debian Linux
如果你想在Android手机上运行黑客工具的话,绝大多数情况下你都需要先拿到手机的root权限,但某些手机的root过程很可能非常复杂,甚至用户根本拿不到root权限,而且root之后手机将会变得非常不安全。为了在未root的Android手机上安装并运行RouterSploit,我们需要使用到一款名叫GNURootDebian的App来在Android手机上搭建和配置Debian系统环境,也就是传说中的Kali Linux。
安装完成后的运行截图如下所示:
Kali可以帮助我们确定是否已经把绝大多数的依赖组件都安装好了,所以我们首先要为我们Android版本的Debian系统安装好所有的依赖组件,这样才能让系统正常运行。整个过程并不需要root权限或其他乱七八糟的权限,我们可以直接在Android手机上运行Linux Python工具来完成安装。需要注意的是,虽然不支持数据包注入,但RouterSploit这样的框架仍然是可以正常运行的。
在Android设备上使用攻击框架
Android环境的天然特性允许我们可以轻松地使用各种各样的无线攻击技术来检测、连接和入侵任何无线接入点。在入侵路由器时,我所使用的Android应用工具如下:
1. 为了探测和识别某个区域内的无线网络,我使用了Wigle Wifi Wardriving。它可以允许我们查看、记录并与区域内所有正在传输数据的无线网络进行交互。
2. 为了根据制造商、IP地址和可用服务来扫描和识别可攻击的目标网络,我使用了Fing Network Scanner,这款工具可以返回当前设备所连接的网络详细信息。
3. 一旦我们确定了需要测试/攻击的网络之后,RouterSploit的Autopwn扫描器便会向目标网络发送所有可用的Payload,我们所使用的测试设备是三星的最新款旗舰Galaxy S8,整个测试过程只需要一分钟不到的时间便可完成。
以未root的Android手机作为攻击平台
在Android手机上使用强大的Linux攻击框架可以给我们提供另外一种攻击视角,就算别人知道你在用你的手机做一些“不正常”的事情,他们也不会对你有所怀疑,这就是利用Android手机来进行黑客攻击的一个非常大的好处。
人们常说,最好的武器就是你手中握有的武器,黑客工具也不例外。在配置好了我们的攻击环境之后,我们就可以在不需要任何特殊工具的情况下使用GNURoot Debian来审计任何路由器的安全性的。
很快你就会发现,当你拿着手机在马路上到处攻击别人的路由器时,别人还以为你在玩Pokémon Go呢!
我们需要准备什么?
我们需要的硬件设备只有Android智能手机。我使用的是一台三星Galaxy S8,因为随身携带一台拥有巨大的全曲面玻璃屏的手机可以随时提醒我生命到底有多么的脆弱,不过你也可以使用其他型号的Android手机,只要它支持GNURoot Debian就行。
第一步:安装GNURoot Debian
首先我们要安装GNURoot Debian,它可以帮助我们在一台未root的Android设备商运行Debian Linux系统。在Google Play应用商店中,搜索GNURoot Debian或点击【这个链接】直接下载。
下载并安装这个App(60MB),首次运行时,工具会自动配置Debian环境:
整个配置过程大概需要一两分钟,配置完成后你就会看到如下图所示的界面了:
第二步:安装依赖组件
Android版的Debian Linux并不像Kali Linux,它没有预装任何特殊的依赖组件,所以我们还要自行安装很多东西。首先,我们要使用下列命令更新Debian系统:
apt-get update
然后安装一些RouterSploit需要的工具:
apt-get install sudo
sudo apt-get install git-core
git和sudo安装完成之后,我们就可以从GitHub库将RouterSploit克隆到本地,然后用sudo命令运行它了:
sudo apt-get install python-dev python-pip libncurses5-dev git
第三步:安装RouterSploit
依赖组件安装完成之后,我们可以使用下列命令下载RouterSploit:
git clone https://github.com/reverse-shell/routersploit
第四步:首次运行RouterSploit
RouterSploit安装完成之后,我们需要运行它并确定它能够正常工作。使用下列命令定位到RouterSploit的主目录:
cd routersploit
然后使用下列命令运行Python脚本:
sudo python ./rsf.py
等几秒钟大概就可以加载完成了,然后你就能看到RouterSploit的启动画面了。RouterSploit的操作接口与Metasploit的十分相似,几个比较主要的操作命令如下:
1. use(模块)
2. set(设置)
3. show options(显示模块选项)
4. check(确定目标是否可攻击)
5. run(运行漏洞利用模块)
我们所要运行的模块是Autopwn,命令如下:
use scanners/autopwn
该命令将会启动Autopwn扫描器,并开始对目标进行漏洞扫描。
第五步:设置攻击目标
安装了Wigle Wifi Wardriving之后,我们就可以使用自己的Android手机查看附近的无线网络了。当你获得了一个Wi-Fi网络的访问权或者Wi-Fi密码之后,我们就可以用Fing或其他网络扫描器扫描这个网络并搜索出所有与该路由器相连的设备。
当你定位了目标的IP地址之后,我们就可以在Autopwn中进行设置了。我们可以使用下列命令查看模块的可选操作项:
show options
进入了Autopwn模块之后,我们可以在终端里使用下列命令来设置需要攻击的路由器IP地址:
set target IP_address_here
将上述命令中的IP_address_here替换成需要攻击的路由器IP地址,然后按下回车。如果你不确定是否设置成功的话,可以再次输入命令“show options”来进行确认。接下来,输入命令 “run”并按下回车来执行扫描模块。等待片刻,工具便会在终端输出扫描结果以及发现的安全漏洞。
第六步:利用已发现的漏洞
扫描结束之后,输入“use”命令然后将Autopwn提供的漏洞利用模块复制进去。例如:
use exploits/cameras/dlink/dcs_9301_9321_auth_bypass
跟之前一样设置目标的IP地址:
set target IP_address_here
IP地址设置好之后,运行命令“check”来确定是否可以利用这个漏洞来攻击目标设备。如果可以利用的话,运行“run”命令来执行漏洞利用模块。
警告
请同学们不要将其用于恶意目的,就算目标路由器完全没有任何的防御机制,你也不要对它做太过分的事情。值得注意的是,由于Autopwn扫描器的“动作”会比较大,所以很可能会被安全产品检测到,请你小心使用。