Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
BlockchainC2 — Um servidor C2 e agente POC para explorar exatamente se/como a blockchain Ethereum pode ser utilizada para C2 | Kitploit
Ferramentas/GitHubGitHub/xpn/blockchainc2
ExploraçãoTestes de PenetraçãoComando e ControleRed TeamingDesenvolvimento de Payloads
GitHubxpn/blockchainc2

BlockchainC2

Um servidor C2 e agente POC para explorar exatamente se/como a blockchain Ethereum pode ser utilizada para C2

Ver Repositório
7922há 7 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

BlockchainC2

BlockchainC2 é um pequeno servidor/agente de prova de conceito (POC) para avaliar como a Blockchain (especificamente a funcionalidade de contratos inteligentes da Ethereum) pode ser usada por um atacante para C2.

Detalhes sobre esta aplicação podem ser encontrados aqui.

Contrato Inteligente

O Contrato Inteligente usado nesta prova de conceito (POC) é bastante simples:

root@kitploit:~
pragma solidity ^0.5.0;

contract EventC2 {

    address owner;

    event _ServerData(bool f, bool enc, int seq, string agentID, string data);
    event _ClientData(bool f, bool enc, int seq, string agentID, string data);

    constructor() public {
        owner = msg.sender;
    }
    
    function AddClientData(string memory agentID, string memory d, int id, bool f, bool enc) public {
        emit _ClientData(f, enc, id, agentID, d);
    }

    function AddServerData(string memory agentID, string memory d, int id, bool f, bool enc) public {
        emit _ServerData(f, enc, id, agentID, d);
    }
}

O foco deste código Solidity é transmitir eventos entre um servidor e vários clientes na forma de eventos.

Compilação

BlockchainC2 foi projetado para ser executado em MacOS/Linux, mas o agente pode ser compilado para execução em MacOS, Windows ou Linux.

Para compilar no MacOS usando brew:

root@kitploit:~
# Install solidity and ethereum
brew tap ethereum/ethereum
brew install ethereum
brew install solidity

# Build
make all

Para compilar no Ubuntu:

root@kitploit:~
# Install solidity and ethereum
sudo add-apt-repository ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install solc ethereum

# Build  
make all

Para fazer cross-compile de um agente para Windows:

root@kitploit:~
CGO_ENABLED=1 CC="x86_64-w64-mingw32-gcc" GOOS=windows go build blockchainc2/cmd/bc2agent

Execução

Você precisará configurar uma conta que possa ser usada pelo componente servidor. A maneira mais fácil de fazer isso é com geth:

root@kitploit:~
geth account new --keystore /tmp/mykeystore/
cat /tmp/mykeystore/*

Ether pode ser adicionado à sua carteira na testnet Ropsten usando https://faucet.ropsten.be/.

Adicione o keychain ao seu config.json, por exemplo:

root@kitploit:~
{
	"Key": "{\"address\":\"ADDRESS\",\"crypto\":{\"cipher\":\"aes-128-ctr\",\"ciphertext\":\"CT\",\"cipherparams\":{\"iv\":\"IV\"},\"kdf\":\"scrypt\",\"kdfparams\":{\"dklen\":32,\"n\":262144,\"p\":1,\"r\":8,\"salt\":\"06470fcc2121994e014f85e5ab9cdb3714c76b873a1f1186c3e623e87abc4a7a\"},\"mac\":\"SALT\"},\"id\":\"ID\",\"version\":3}",
	"Endpoint": "wss://ropsten.infura.io/_ws",
	"ContractAddress": "TODO_VIA_SETUP",
	"GasPrice": 0
}

Para implantar um contrato usando bc2server:

root@kitploit:~
./bin/bc2server -config ./config.json -pass Passw0rd -setup

Depois que o contrato for implantado, adicione o endereço ao seu config.json e inicie o servidor com:

root@kitploit:~
./bin/bc2server -config ./config.json -pass Passw0rd

Com o servidor em execução, os agentes podem ser conectados usando:

root@kitploit:~
./bin/bc2agent -config ./agent_config.json -pass Passw0rd

Recomenda-se usar uma conta nova para um agente, a fim de evitar erros com transações pendentes.

Baixar ferramenta