Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
BlockchainC2 — Ein POC-C2-Server und Agent, um zu erkunden, ob und wie die Ethereum-Blockchain für C2 genutzt werden kann | Kitploit
Tools/GitHubGitHub/xpn/blockchainc2
ExploitationPenetrationstestsCommand and ControlRed TeamingPayload-Entwicklung
GitHubxpn/blockchainc2

BlockchainC2

Ein POC-C2-Server und Agent, um zu erkunden, ob und wie die Ethereum-Blockchain für C2 genutzt werden kann

Repository anzeigen
79225vor 7 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

BlockchainC2

BlockchainC2 ist ein kleiner POC-Server/Agent, um zu bewerten, wie die Blockchain (insbesondere die Smart-Contract-Funktionalität von Ethereum) von einem Angreifer für C2 genutzt werden kann.

Details zu dieser Anwendung finden Sie hier.

Smart Contract

Der in diesem POC verwendete Smart Contract ist recht einfach:

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);
    }
}

Der Fokus dieses Solidity-Codes liegt darauf, Ereignisse zwischen einem Server und mehreren Clients in Form von Events zu übermitteln.

Erstellen

BlockchainC2 wurde für die Ausführung auf MacOS/Linux entwickelt, aber der Agent kann für MacOS, Windows oder Linux kompiliert werden.

Zum Erstellen auf MacOS mit brew:

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

# Build
make all

Zum Erstellen auf 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

Zum Cross-Kompilieren eines Agents für Windows:

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

Ausführen

Sie müssen ein Konto einrichten, das von der Serverkomponente verwendet werden kann. Der einfachste Weg dies zu tun ist mit geth:

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

Ether kann Ihrem Wallet im Ropsten-Testnetz unter https://faucet.ropsten.be/ hinzugefügt werden.

Fügen Sie den Keychain zu Ihrer config.json hinzu, zum Beispiel:

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
}

Um einen Vertrag mit bc2server bereitzustellen:

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

Sobald der Vertrag bereitgestellt wurde, fügen Sie die Adresse zu Ihrer config.json hinzu und starten Sie den Server mit:

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

Bei laufendem Server können Agents mit folgendem Befehl angehängt werden:

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

Es wird empfohlen, für einen Agent ein neues Konto zu verwenden, um Fehler mit ausstehenden Transaktionen zu vermeiden.

Tool herunterladen