Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
NimPlant — Nim(およびRust)で書かれた軽量な初期段階C2インプラント。 | Kitploit
ツール/GitHubGitHub/chvancooten/nimplant
ペネトレーションテストフレームワークペイロード生成ポストエクスプロイトコマンド&コントロールレッドチーミング
GitHubchvancooten/nimplant

NimPlant

Nim(およびRust)で書かれた軽量な初期段階C2インプラント。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

NimPlant - Nim|Rust および Python で書かれた軽量な初段階 C2 インプラント

GitHub Workflow Status PRs Welcome

作者: Cas van Cooten (@chvancooten), 素晴らしい方々に特に感謝します:

Kadir Yamamoto (@yamakadi), Furkan Göksel (@frkngksl) , Fabian Mosch (@S3cur3Th1sSh1t), Rafael Félix (@b1scoito), Guillaume Caillé (@OffenseTeacher), およびその他多数!

もし NimPlant が役に立った場合、または私の仕事全般を気に入っていただけた場合、サポートは大歓迎です:

Sponsor on GitHub

機能概要

  • Nim および Rust プログラミング言語で書かれた軽量で設定可能なインプラント
  • すべての作戦でクールに見える美しい Web GUI
  • デフォルトですべてのトラフィックを暗号化および圧縮、インプラントアーティファクト内の静的ストリングを難読化
  • ネイティブバイナリ (exe/dll)、シェルコード、自己削除実行可能ファイルなど、複数のインプラントタイプをサポート
  • ローカル列挙、ファイルまたはレジストリ管理、Web インタラクションなど、初期段階の操作に焦点を当てた幅広いコマンド選択
  • `inline-execute`、`shinject` (動的呼び出しを使用)、カスタム Runspace 内の `powershell`、またはスレッド内 `execute-assembly` を介した、より高度な機能やペイロードの簡単な展開
  • 任意のプラットフォームでの操作をサポート、インプラントは現時点では x64 Windows のみをターゲット
  • すべてのインタラクションとファイル操作の包括的なログ記録
  • まだまだたくさんあります。以下をご覧ください :)

手順

インストール

Nimplant を実行するには、Python3 の最新バージョンが必要です。

サーバー

  • サーバーフォルダから `requirements.txt` をインストールします (`pip3 install -r server/requirements.txt`)。

インプラント (Nim)

  • お使いのプラットフォームに Nim ツールチェーンをインストールします (`choosenim` 経由のインストールをお勧めします。`apt` は最新バージョンとは限らないため)。
  • Nimble パッケージマネージャーを使用して必要なパッケージをインストールします (`cd client; nimble install -d`)。
  • Linux または MacOS の場合、お使いのプラットフォームに `mingw` ツールチェーンをインストールします (`brew install mingw-w64` または `apt install mingw-w64`)。
  • 特に ArchLinux を使用している場合は、この gist に従って Mingw 設定を変更してください (@tothi に感謝!)。

インプラント (Rust)

  • Rust ツールチェーンをインストールします (`rustup` 経由のインストールをお勧めします)。
  • MinGW Windows ターゲットをインストール: `rustup target add x86_64-pc-windows-gnu`。
  • オプセキュリティ向上のため推奨: `Cargo.toml` に従って `~/.cargo/config.toml` ファイルを変更し、ナイトリービルドチェーンを使用します (`rustup default nightly`)。

注: Windows でコンパイルする場合でも、`x86_64-pc-windows-gnu` ターゲットが推奨されます。バイナリはわずかに大きくなりますが、結果の DLL からシェルコードを生成する際に、より安定しているようです。`rust-toolchain.toml` を変更してターゲットを `x86_64-pc-windows-msvc` に変更することもできますが、生成されたシェルコードはすべての場合で正しく動作しない可能性があります。

はじめに

設定

NimPlant を使用する前に、設定ファイル `config.toml` を作成します。`config.toml.example` をコピーして作業を開始することをお勧めします。

設定の概要を以下に示します。

CategorySettingDescription
serveripC2 Webサーバー(APIを含む)がリッスンするIP。127.0.0.1の使用を推奨。C2を保護するための適切なファイアウォールまたはルーティングルールを設定している場合にのみ0.0.0.0を使用してください。
serverportC2 Webサーバー(APIを含む)がリッスンするポート。
listenertypeリスナーのタイプ。HTTP または HTTPS。HTTPS オプションは以下で設定。
listenersslCertPathHTTPS証明書ファイルへのローカルパス(例: LetsEncrypt CertBot または自己署名)。リスナータイプが 'HTTP' の場合は無視されます。
listenersslKeyPath対応するHTTPS証明書の秘密鍵ファイルへのローカルパス。設定されている場合、NimPlantサーバー実行時にパスワードが要求されます。リスナータイプが 'HTTP' の場合は無視されます。
listenerhostnameリスナーホスト名。空でない場合("")、NimPlantはこのホスト名を使用して接続します。このホストからNimPlantリスナーポートへのトラフィックが適切にルーティングされていることを確認してください。
listeneripリスナーIP。'hostname' が設定されている場合でも必須。サーバーがこのIPに登録するために使用されます。
listenerportリスナーポート。'hostname' が設定されている場合でも必須。サーバーがこのポートに登録するために使用されます。
listenerregisterPath新しいNimPlantが登録するURIパス。
listenertaskPathNimPlantがタスクを取得するURIパス。
listenerresultPathNimPlantが結果を送信するURIパス。
nimplantriskyModeリスクのあるコマンドをサポートしてNimPlantをコンパイルします。オペレーターの判断が必要です。無効にすると、`execute-assembly`、`powershell`、`shell`、`shinject` のサポートが削除されます。
nimplantsleepMaskNimplantに通常のスリープ呼び出しの代わりにEkkoスリープマスクを使用するかどうか。現時点では通常の実行可能ファイルでのみ機能します。
nimplantsleepTime新しいNimPlantのデフォルトのスリープ時間(秒)。
nimplantsleepJitter新しいNimPlantのデフォルトのジッター(パーセント)。
nimplantkillDateNimplantのキル日付(形式: yyyy-MM-dd)。この日付を過ぎるとNimplantは終了します。
nimplantuserAgentNimPlantが使用するユーザーエージェント。サーバーもこれを使用してNimPlantトラフィックを検証するため、目立たず、かつあまり一般的ではないUAを選択することをお勧めします。

コンパイル

設定が完了したら、ターゲットに展開するNimPlantバイナリを生成できます。現在、NimPlantは(自己削除)実行可能ファイル、ライブラリ、および位置独立シェルコード(sRDI経由)用に、それぞれ `.exe`、`.dll`、`.bin` バイナリをサポートしています。生成するには、`python nimplant.py compile` の後に希望のバイナリ(`exe`、`exe-selfdelete`、`dll`、`raw`、または `all`)を指定し、オプションでインプラントタイプ(`nim`、`rust`、`nim-debug`、または `rust-debug` - デフォルトではNimがコンパイルされます)を指定します。ファイルはそれぞれ `client/bin/` または `client-rs/bin/` に書き込まれます。

コンパイル時に新しいXORキーを生成して使用するには、`rotatekey` 引数を渡します。

注意:

  • 現在NimPlantはx64のみをサポートしています!

  • DLLファイルのエントリポイントは `Update` で、すべてのエントリポイントに対してDllMainによってトリガーされます。つまり、例えば `rundll32 .\NimPlant.dll,Update` を使用してトリガーしたり、お好みのLOLBINを使用してサイドロードしたりできます(`client/NimPlant.nim` または `client-rs/src/lib.rs` の変更が必要な場合があります)。``` PS C:\NimPlant> python .\nimplant.py compile all

                *    *(#    #
                **  **(##  ##
       ########       (       ********
      ####(###########************,****
         # ########       ******** *
         .###                   ***
         .########         ********
         ####    ###     ***    ****
       ######### ###     *** *********
     #######  ####  ## **  ****  *******
     #####    ##      *      **    *****
     ######  ####   ##***   **** .******
     ###############     ***************
          ##########     **********
             #########**********
               #######********
    

    | \ | () __ ___ | _ | | __ _ _ __ | |_ | | | | '_ _ \| |_) | |/ _ | '_ | __| | |\ | | | | | | | __/| | (| | | | | | || _||| || ||| ||_,|| ||_|

      A light-weight stage 1 implant and C2 based on Nim|Rust and Python
      By Cas van Cooten (@chvancooten)
    

Compiling .exe for NimPlant Compiling self-deleting .exe for NimPlant Compiling .dll for NimPlant Compiling .bin for NimPlant

Done compiling! You can find compiled binaries in 'client/bin/'.

### Dockerによるコンパイル

Dockerを使用すると簡単で、依存関係の問題を回避できます。必要なビルド時および実行時の依存関係はすべてコンテナに事前インストールされているためです。

Dockerを使用するには、[Docker Hub](https://hub.docker.com/r/chvancooten/nimplant) から公開されている `chvancooten/nimplant` コンテナ(CI/CD経由でビルド)を使用するか、ソースから `Dockerfile` をビルドします。

> ソースからビルドするには、メインディレクトリから以下を実行します:
> 
> ```bash
> docker build . -t nimplant
> ```

これにより、`nimplant:latest` というタグが付いたコンテナがビルドされます。注意:開発依存関係のため、時間がかかり、コンテナサイズが大きくなる可能性があります!

完了したら、コマンドラインからコンテナを実行してアーティファクトをコンパイルできます。```bash
docker run --rm -it -v ${PWD}:/nimplant chvancooten/nimplant:latest compile exe rust

注: これはコマンドの例です。マウントされたボリュームなどの引数は状況に合わせて調整してください。

サーバーの起動

バイナリの準備ができたら、NimPlantサーバーを起動できます!ローカルでコンパイルした場合、同じ config.toml ファイルから読み込むため、追加の設定は不要です。サーバーを起動するには、python nimplant.py server を実行するだけです(Linuxで実行する場合はsudo権限が必要です)。Nimplantがチェックインすると、コンソールを使用するか、Webインターフェース(デフォルトでは http://localhost:31337)にアクセスできます。

注記:

ツールをダウンロード