Viper
Remote control software using gRPC and Go.
Components
-
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.
Features
-
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.
Build
- Update the
config.json
according to your needs.
- Run
make
to build the executables in bin
.
Usage
- 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'