3 releases (breaking)
0.3.0 | Dec 8, 2020 |
---|---|
0.2.0 | Dec 3, 2020 |
0.1.0 | Dec 2, 2020 |
#36 in #tcp-server
13KB
289 lines
comandare
TCP Command Execution
Problem Statement
Network ports enable computers to interact around the world but unintentional open ports wreak havoc on system security.
Intent
Demonstrate how a program can open a port enabling remote access; otherwise, known as a backdoor.
Goal
Reinforce security intuition with network port management.
Installation
- Install Rust and Cargo
- Git clone this repository
- From cloned repository, run:
cargo install --path=.
- That's it!
comandare
should now be installed on your system
Usage
Run comandare
to see command execution format.
Supported modes:
- Client (uses command argument)
- Server (doesn't use command argument)
Improvements
- Auth connections
- Documentation (code and usage)
- Tests
- Error handling
- Refactoring modules
- Command parsing module (handling pipe, etc)
much more...
Model
Comandare uses a server target model which is largely mitigated by any standard firewall. Incoming traffic in most configurations is rightfully blocked. Thus, binding a TCP Server to a specific port might work in a local network but be blocked from remote access over the internet or more networks backed by one or more firewalls. A more effective approach, since TCP is a two-way communication protocol, is to initiate a client target model with event-driven connection attempts.
Caution
This package is not intended on being deployed or used in an environment other than for educational testing; thus, sacrifices have been made to simply assemble a proof of concept. NOT to be used maliciously.
The TCP Server does not implement any form of Auth leaving your network security as the sole guardian of your data.
Opening TCP Ports on a system can be bad, use at your own risk!
Final Words
Hopefully this package can increase intuition on backdoor implementations indirectly helping secure systems.