Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
BlockchainC2 — イーサリアムブロックチェーンがC2に使用できるかどうか、またどのように使用できるかを探るためのPOC C2サーバーとエージェント | Kitploit
ツール/GitHubGitHub/xpn/blockchainc2
エクスプロイトペネトレーションテストコマンド&コントロールレッドチーミングペイロード開発
GitHubxpn/blockchainc2

BlockchainC2

イーサリアムブロックチェーンがC2に使用できるかどうか、またどのように使用できるかを探るためのPOC C2サーバーとエージェント

リポジトリを見る
79227年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

BlockchainC2

BlockchainC2は、攻撃者がC2にブロックチェーン(特にEthereumのスマートコントラクト機能)をどのように利用できるかを評価するための小さなPOCサーバー/エージェントです。

このアプリケーションの詳細はこちらで確認できます。

スマートコントラクト

このPOC内で使用されるスマートコントラクトは非常にシンプルです:

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

このSolidityコードの焦点は、サーバーと複数のクライアントの間でイベントをイベント形式で受け渡すことです。

ビルド

BlockchainC2はMacOS/Linux上での実行を想定して設計されていますが、エージェントはMacOS、Windows、Linuxのいずれでも実行できるようにコンパイルできます。

brewを使用してMacOSでビルドする場合:

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

# Build
make all

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

Windows用にエージェントをクロスコンパイルする場合:

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

実行

サーバーコンポーネントが使用できるアカウントを設定する必要があります。これを行う最も簡単な方法は、gethを使用することです:

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

https://faucet.ropsten.be/ を使用して、Ropstenテストネット上のウォレットにEtherを追加できます。

たとえば、キーチェーンをconfig.jsonに追加します:

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
}

bc2serverを使用してコントラクトをデプロイする場合:

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

コントラクトがデプロイされたら、アドレスをconfig.jsonに追加し、次のコマンドでサーバーを起動します:

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

サーバーが起動している状態で、エージェントは次のコマンドで接続できます:

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

保留中のトランザクションによるエラーを回避するには、エージェントに新しいアカウントを使用することをお勧めします。

ツールをダウンロード