• This repository has been archived on 13/Aug/2024
  • Stars
    star
    190
  • Rank 203,739 (Top 5 %)
  • Language
    Shell
  • Created over 5 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

BadUSB in Routers

BadUSB in Routers

Material found in this repository was originally presented at BSides Dublin on March 23, 2019. The slides are included here in pdf format.

This repository contains configuration files for P4wnP1, a BadUSB framework for the Raspberry Pi. The configuration files allow an attacker to execute BadUSB style attacks on certain routers.

The following hardware and software were used for the BadUSB attacks:


mikrotik_mitm

The mikrotik_mitm directory contains configuration files to man-in-the-middle outbound traffic from RouterOS LAN hosts. The configuration files were tested using RouterOS on an hAP using default configurations on 6.44.1 Stable. Presumably, it works on any RouterOS based router that supports 4g USB functionality. The attack will cause all internet bound traffic to be routed to the Raspberry Pi plugged into the USB port. The Pi will forward all of the internet traffic to a remote VPN server.

PoC Video:

PoC Video

As written the "remote" VPN server is at 192.168.1.64. If you are going to try this out for yourself, you'll need to adjust the openvpn connection and possibly the iptables / dhcp options depending on where your VPN server is. The VPN server configuration is fairly simple:

sudo sysctl -w net.ipv4.ip_forward=1
sudo openvpn --ifconfig 10.200.0.1 10.200.0.2 --dev tun --auth none
sudo iptables -I FORWARD -i tun0 -j ACCEPT
sudo iptables -I FORWARD -i tun0 -o ACCEPT
sudo iptables -t nat -A POSTROUTING -j MASQUERADE

As mentioned, RouterOS will recognize the USB device using the default configuration. However! For some reason, the router won't recognize the Pi until you first plug in something else. You only have to do it once and then you are good until the router reboots. I'm not sure of the root cause of this. I've been using this ethernet adapter (you can find it on Amazon):


mikrotik_wan_lan_access

This is a non-mitm version of the MikroTik attack. The Pi will be assigned 192.168.4.1 and it should have access to both the WAN and LAN. LAN devices should also be able to reach the Pi. This is kind of useful if you just want to plug in your Pi as some type of local server... or if you want a reverse shell out to the internet.


asus_bsides_routing_table

The asus_bsides_routing_table directory contains configuration files to hijack traffic bound for http://securitybsides.com. The attack relies on the ability of the USB WAN to insert arbitrary entries into the router's routing table via DHCP options.

This attack was tested against an Asus RT-AC51U with load balancing dual WAN configured.

PoC Video:

PoC Video


Traditional Attacks over IP

A variety of routers support printer sharing (Netgear, Linksys, and TP-Link). The way this works is that you plug your USB printer into the router and then you install client software on your LAN host which gives it the ability to talk to the printer via the router.

I've found that the router/client software will actually communicate with pretty much any USB device. For whatever reason, the device makers didn't limit the functionality to printers only.

As such, an attacker can execute any of the normal payloads that come with P4wnP1. In my PoC video, I'm using hid_keyboard2.txt. The downside to this attack is that it requires special software be installed and that the user actually click "connect".

PoC Video:

PoC Video

More Repositories

1

terrascan

Detect compliance and security violations across Infrastructure as Code to mitigate risk before provisioning cloud native infrastructure.
Go
4,701
star
2

poc

Proof of Concepts
Python
1,210
star
3

routeros

RouterOS Security Research Tooling and Proof of Concepts
C++
866
star
4

nessrest

A python library for using the new Nessus REST API.
Python
386
star
5

awesome-llm-cybersecurity-tools

A curated list of large language model tools for cybersecurity research.
379
star
6

pyTenable

Python Library for interfacing into Tenable's platform APIs
Python
350
star
7

ghidra_tools

A collection of Ghidra scripts, including the GPT-3 powered code analyser and annotator, G-3PO.
Python
293
star
8

cnappgoat

CNAPPgoat is an open source project designed to modularly provision vulnerable-by-design components in cloud environments.
Go
265
star
9

access-undenied-aws

Access Undenied parses AWS AccessDenied CloudTrail events, explains the reasons for them, and offers actionable remediation steps. Open-sourced by Ermetic.
Python
255
star
10

pi_sniffer

The pocket-sized wireless sniffer
C++
204
star
11

upnp_info

A simple script for discovery and analysis of UPnP servers
Python
165
star
12

esp32_image_parser

A toolkit for helping you reverse engineer ESP32 firmware.
Python
159
star
13

DiscordClient

Python
98
star
14

EscalateGPT

An AI-powered tool for discovering privilege escalation opportunities in AWS IAM configurations.
Python
93
star
15

KaiMonkey

KaiMonkey provides vulnerable infrastructure as code (IaC) to help explore and understand common cloud security threats exposed via IaC.
HCL
93
star
16

Burp-extension-for-GPT

an extension for Burp Suite to allow researchers to utilize GPT for analys is of HTTP requests and responses
Python
90
star
17

Posh-Nessus

PowerShell Module for automating Tenable Nessus Vulnerability Scanner.
PowerShell
88
star
18

Tenable.io-SDK-for-Python

Tenable.io SDK offers a scalable and safe way to integrate with the Tenable.io platform.
Python
83
star
19

audit_scripts

Scripts to help work with configuration audit files
Python
79
star
20

integration-jira-cloud

Python
68
star
21

yara-rules

Repository of yara rules
YARA
60
star
22

terrascan-action

Terrascan GitHub action. Scan infrastructure as code including Terraform, Kubernetes, Helm, and Kustomize file for security best practices.
Shell
49
star
23

nasl

A parser for NASL.
Ruby
44
star
24

flask-logging-demo

Demo files for 'The Boring Stuff - Flask Logging' blog post
Python
34
star
25

mIDA

C++
33
star
26

audit_files

Nessus Audit files
30
star
27

Security-Hub

For use in our Tenable.IO to AWS Security Hub integration
Python
27
star
28

terrascan-rego-editor

Visual Studio Code extension for writing Terrascan Rego policies
TypeScript
20
star
29

hidden-services-revealer

Python
20
star
30

nasldoc

A documentation generator for NASL.
Ruby
17
star
31

cnappgoat-scenarios

This repository provides a comprehensive collection of Pulumi scenarios utilized by cnappgoat
Go
17
star
32

accurics-action

The Accurics GitHub Action scans Infrastructure as Code files checked into the respository to help ensure that cloud resources are secure and compliant from creation.
Shell
14
star
33

pedant

A static analysis framework for NASL.
Ruby
14
star
34

sublimetext-nasl

13
star
35

Kastle

A purely functional, effectful, resource-safe, kafka library for Scala
Scala
12
star
36

csup

Tenable.io Container Security Uploading and Reporting Commandline Tool
Python
11
star
37

microfrontend-demo-app

JavaScript
11
star
38

SinCity

Python
11
star
39

integration-asc

Python
10
star
40

vim-nasl

Vim extensions for programming in NASL
Vim Script
9
star
41

runterrascan.io

CSS
8
star
42

cloud-security-training

HCL
7
star
43

golden-ami-pipeline-with-tenable-sample

The golden AMI pipeline enables creation, distribution, verification, launch-compliance, and decommissioning of the golden AMI out of the box. This version of the pipeline integrates with Tenable.io for vulnerability assessments.
6
star
44

container-security-action

Tenable's Container security action which helps scan docker images.
Python
6
star
45

cloud-security-actions

Shell
6
star
46

notepadpp-nasl

5
star
47

integration-cef

Python
5
star
48

was-action

Github action to trigger WAS
Python
5
star
49

entra-id-federation-abuse-research-required-roles

PowerShell
5
star
50

cloud-snapshot-automation

Templates for creating Cloud Snapshots
HCL
4
star
51

splunk-app-pvs

This app provides Splunk dashboards and reporting for Tenable PVS
HTML
4
star
52

integrations-ibm-cloudpak-for-security

Python
4
star
53

Tenable.ad-EventsLogs-Subscriber

Tenable.ad IOA module event logs listener
Rust
4
star
54

emacs-nasl

Emacs Lisp
4
star
55

UncoverDCShadow

PowerShell
3
star
56

integration-cscc

Tenable.io to Google Cloud Security Command Center Bridge
Python
3
star
57

tenablecs_demo

HCL
2
star
58

WSUSpendu

PowerShell
2
star
59

asm-python-examples

Bit Discovery REST API scripts
Python
2
star
60

labs

1
star
61

asm-asset-importer

Scripts to integrate BitDiscovery data with Tenable
Python
1
star
62

accurics-vscode

TypeScript
1
star
63

nasl-layer

Spacemacs layer for NASL
1
star
64

atom-grammar-nessuskb

Grammar file for Nessus KB files.
CoffeeScript
1
star
65

accurics-orb

The Accurics CircleCI Orb scans IaC (Infrastructure as Code) to help identify vulnerabilities prior to cloud deployment.
Shell
1
star
66

helm-charts

Smarty
1
star