MCPcopy
hub / github.com/threat9/routersploit

github.com/threat9/routersploit @v3.4.7 sqlite

repository ↗ · DeepWiki ↗ · release v3.4.7 ↗
1,692 symbols 9,244 edges 971 files 476 documented · 28%
README

RouterSploit - Exploitation Framework for Embedded Devices

Python 3.6 Build Status

Community

Join community on Embedded Exploitation Discord.

Description

The RouterSploit Framework is an open-source exploitation framework dedicated to embedded devices.

asciicast

It consists of various modules that aid penetration testing operations:

  • exploits - modules that take advantage of identified vulnerabilities
  • creds - modules designed to test credentials against network services
  • scanners - modules that check if a target is vulnerable to any exploit
  • payloads - modules that are responsible for generating payloads for various architectures and injection points
  • generic - modules that perform generic attacks

Installation

Requirements

Required: * requests * paramiko * pysnmp * pycrypto

Optional: * bluepy - Bluetooth low energy

Installation on Kali Linux

apt-get install python3-pip
git clone https://www.github.com/threat9/routersploit
cd routersploit
python3 -m pip install -r requirements.txt
python3 rsf.py

Bluetooth Low Energy support:

apt-get install libglib2.0-dev
python3 -m pip install bluepy
python3 rsf.py

Installation on Ubuntu 20.04

sudo apt-get install git python3-pip
git clone https://github.com/threat9/routersploit
cd routersploit
python3 -m pip install -r requirements.txt
python3 rsf.py

Bluetooth Low Energy support:

sudo apt-get install libglib2.0-dev
python3 -m pip install bluepy
python3 rsf.py

Installation on Ubuntu 18.04 & 17.10

sudo add-apt-repository universe
sudo apt-get install git python3-pip
git clone https://www.github.com/threat9/routersploit
cd routersploit
python3 -m pip install setuptools
python3 -m pip install -r requirements.txt
python3 rsf.py

Bluetooth Low Energy support:

apt-get install libglib2.0-dev
python3 -m pip install bluepy
python3 rsf.py

Installation on OSX

git clone https://www.github.com/threat9/routersploit
cd routersploit
sudo python3 -m pip install -r requirements.txt
python3 rsf.py

Running on Docker

git clone https://www.github.com/threat9/routersploit
cd routersploit
docker compose up --build -d
docker attach routersploit

To run again without rebuild

docker start routersploit
docker attach routersploit

Update

Update RouterSploit Framework often. The project is under heavy development and new modules are shipped almost every day.

cd routersploit
git pull

Build your own

To our surprise, people started to fork routersploit not because they were interested in the security of embedded devices but simply because they want to leverage our interactive shell logic and build their tools using similar concept. All these years they must have said: "There must be a better way!" and they were completely right, the better way is called Riposte.

Riposte allows you to easily wrap your application inside a tailored interactive shell. Common chores regarding building REPLs was factored out and being taken care of so you can focus on specific domain logic of your application.

License

The RouterSploit Framework is under a BSD license. Please see LICENSE for more details.

Acknowledgments

Core symbols most depended-on inside this repo

print_error
called by 334
routersploit/core/exploit/printer.py
run
called by 319
routersploit/core/exploit/exploit.py
check
called by 304
routersploit/core/exploit/exploit.py
print_status
called by 277
routersploit/core/exploit/printer.py
http_request
called by 267
routersploit/core/http/http_client.py
print_success
called by 212
routersploit/core/exploit/printer.py
check_default
called by 167
routersploit/modules/creds/generic/ssh_default.py
print_info
called by 111
routersploit/core/exploit/printer.py

Shape

Method 768
Function 445
Class 418
Route 61

Languages

Python100%

Modules by API surface

routersploit/interpreter.py55 symbols
routersploit/core/exploit/utils.py27 symbols
routersploit/core/exploit/option.py24 symbols
routersploit/libs/apiros/apiros_client.py20 symbols
routersploit/core/exploit/exploit.py19 symbols
routersploit/core/ssh/ssh_client.py17 symbols
routersploit/core/exploit/payloads.py16 symbols
tests/exploits/routers/netgear/test_netgear_multi_rce.py15 symbols
routersploit/core/exploit/shell.py15 symbols
routersploit/core/exploit/printer.py15 symbols
routersploit/modules/exploits/routers/tplink/archer_c9_admin_password_reset.py14 symbols
routersploit/modules/exploits/generic/heartbleed.py14 symbols

Dependencies from manifests, versioned

pysnmp4.4.6 · 1×
pytest4.4.0 · 1×
requests2.32.2 · 1×

For agents

$ claude mcp add routersploit \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact