Remote control software using gRPC and Go.
- Agent: Runs on the endpoint.
- Controller: The server that the agents connect to.
- Agent Manager: The server that runs alongside the controller to manage the agents.
- Controller Client: Talks to the agent manager.
- Cross-platform Support: Runs on all modern operating systems (Windows, Linux, macOS, etc).
- Authentication & Encryption: Connections are encrypted and verified using client certificates.
- Persistence: Keeps connection to the controller even if rebooted or disconnected momentarily.
- Shell: Execute shell commands.
- File I/O: Download and upload files.
- Screenshots: Capture screenshots.
- Network Proxy: Connect into the agent's network using SOCKS.
- Update the
config.json
according to your needs. - Run
make
to build the executables inbin
.
- Run
controller
to accept agent connections. - Run the controller client to manage the agents:
ipython -i controller-client/main.py
.
cnc.get_agents()
> [
id: 0
alive: true
connect_time: "2022-06-19 15:22:13.17828 +0300 IDT m=+61.594837928"
]
agent = cnc.get_agent(agent_id=0)
agent.shell('whoami')
> 'root'