GitHubじゃ!Pythonじゃ!

GitHubからPython関係の優良リポジトリを探したかったのじゃー、でも英語は出来ないから日本語で読むのじゃー、英語社会世知辛いのじゃー

mame82

P4wnP1 – P4wnP1は、低価格のRaspberry Pi ZeroまたはRaspberry Pi Zero Wをベースにした高度にカスタマイズ可能なU..

投稿日:

P4wnP1は、低価格のRaspberry Pi ZeroまたはRaspberry Pi Zero Wをベースにした高度にカスタマイズ可能なUSB攻撃プラットフォームです。

MaMe82によるP4wnP1

P4wnP1は、低価格のRaspberry Pi ZeroまたはRaspberry Pi Zero W(HIDバックドアに必要)をベースにした高度にカスタマイズ可能なUSB攻撃プラットフォームです。

TL; TR

公式WiKiは@jcstillと@ Swiftb0yから始まりました

このREADMEの短い要約はありません。 この素晴らしいツールを処理したい場合、私はあなたがこれを読まなければならないのではないかと心配しています。

最も重要なセクション:

  • Windows LockPicker
  • HID隠密チャネルフロントドア
  • HID隠密チャネルバックドア( これは新しい主な機能です
  • 開始セクション

前書き

2017年2月の最初のリリース以来、P4wnP1は長い道のりを歩んできました。 今日、高度な機能はマスターブランチに統合されています。

  • Windows LockPicker (弱いパスワードでWindowsボックスのロックを解除し、P4wnP1を添付して完全に自動化)
  • HID隠密チャネルバックドア (HIDデバイスを介してのみトンネリングされたエアギャップのWindowsターゲット上のリモートシェルアクセスを取得し、PiゼロWでSSHアクセスを持つWiFiホットスポットに中継します。ターゲットにネットワークアダプタ、シリアルその他の通信は表示されませんデバイス。)
  • HID隠密チャネルフロントドア (制限されたWindowsホストからのP4wnP1上のPythonシェルへのアクセスを取得し、フットプリントの少ない生のHIDデバイスをトンネリングします。ターゲットにネットワークアダプタ、シリアルその他の通信デバイスは表示されません)
  • 洗練されたUSB、 モジュラーUSBセットアップ

P4wnP1を使用した外部リソース

  • Dan IOT Man、はじめに+インストール手順 “P4wnP1 – PiゼロベースのUSB攻撃プラットフォーム”: Dan IOT Man
  • ブラックハットセッションXV、ワークショップ資料「ラズベリーパイゼロを武器にする」(ワークショップ資料+スライド): BHSXV
  • ihacklabs [dot] com、チュートリアル “Red Team Arsenal – Hardware :: P4wnp1 Walkthrough”(スペイン語): パート1パート2パート3

P4wnP1の機能(クイックサマリー)

  • SSHアクセス用のWiFiホットスポット (PiゼロWのみ)、隠されたESSIDのサポート
  • Wi-Fiを介したインターネットアクセス(MitM)によるUSBネットワーク攻撃を中継するために、クライアントモードでWiFiを動作させる (Pi Zero Wのみ)
  • USBデバイスの機能は、Windows プラグアンドプレイサポート(クラスドライバ) との あらゆる可能な組み合わせで機能します。
  • デバイスタイプのサポート
    • HID隠れチャネル通信装置 (セクション「HID隠密チャネルフロントドア」および「HID隠密チャネルバックドア」を参照)
    • HIDキーボード
    • USBマスストレージ (現在は128メガバイトのドライブを搭載したデモセットアップのみ)
    • RNDIS (Windowsネットワーク)
    • CDC ECM (MacOS / Linuxネットワーク)
  • 単純なbashコマンドによるラズベリーパイLED状態フィードバックled_blink
  • カスタマイズ可能なbashベースのペイロードスクリプト (例についてはpayloads/サブフォルダを参照)
  • ResponderとプリコンパイルされたJohn the Ripper Jumboバージョンが含まれています
  • 自動攻撃: P4wnP1がOTGアダプタが接続されている場合は標準シェルに自動的に起動し、現在のペイロードはP4wnP1がUSBデバイスとしてターゲットに接続されている場合のみ実行されます(USB OTGアダプタなし)

付属のペイロードのペイロード記述とビデオデモ

柔軟なフレームワークであるため、P4wnP1は、それを使用するペンタスタの想像力によってのみ限定されたカスタムペイロードを開発することができます。 基本的な考え方を得るために、いくつかのペイロードが既に含まれており、ここで説明しています。

ペイロード:Windows LockPicker

このペイロードは、Mubix(クレジット参照)が提示した「ロックされたマシンからの信用格付け」アプローチを、その明らかな後継者にまで拡張します。

P4wnP1 LockPickerは、キーボードの機能を利用して、掴んだハッシュをクラックし、成功するとターゲットをロック解除します。 これは完全に自動化され、ユーザーの操作は一切不要です。

ビデオデモ

私はまだビデオプロデューサーなので、誰かがデモをするよう求められているかもしれません。 ここに私の(sh ** ty)試みがある:

ここでこれをはるかによくしている人のバージョンです、ありがとう@Seytonic

攻撃チェーン(短い要約):

  1. P4wnP1のUSBネットワークインターフェイスは、ターゲットクライアントにその設定を提供するDHCPを起動するために使用されます。
  2. 他のオプションの中でも、WPADエントリが配置され、IPv4アドレス空間全体の静的ルートがターゲットに展開されます。
  3. P4wnP1は、さまざまな手法を使用して、リモートホスト専用のトラフィックを自身にリダイレクトします。
  4. ターゲットから発信されたさまざまなプロトコルの要求は、認証を強制し、認証に使用されるハッシュを盗もうとする “Responder.py”によってフェッチされます。
  5. ハッシュがグラブされている場合、P4wnP1 LEDが3回連続して点滅し、オフラインクラックのためにハッシュを外して取り外すことができることを知らせます。 または…
  6. …あなたはP4wnP1を差し込まれたままにして、ハッシュをキャプチャされたハッシュをブルートフォースしようとするJohn the Ripperに渡します。
  7. ボックスをロックしたユーザーのパスワードが弱く選択された場合、John the Ripperがそれを解読する可能性が高く、その結果、…
  8. P4wnP1は最終的にパスワードを入力してボックスのロックを解除し、ボックスにアクセスできます(クラックされたパスワードはハッシュと共にcollectedフォルダに保存されます)。

攻撃を実行するには、 setup.cfgペイロードWin10_LockPicker.txtを選択するsetup.cfgがあります。 ペイロードの “lang”パラメータをターゲットの言語に変更することが重要です HDMIモニタをP4wnP1に接続すると、攻撃のステータス出力(キャプチャされたハッシュと平文の信憑性を含む)を見ることができます。

ペイロード:ブラウザ資格情報を盗む(hakin9_tutorial)

このペイロードは、Microsoft EdgeまたはInternet Explorerの保存された資格情報をダンプするために、P4wnP1のビルトインキーボードを介して入力されたPowerShellスクリプトを実行します。 取得したクレデンシャルは、P4wnP1のフラッシュドライブ(USBマスストレージ)に保存されます。 名前が意味するように、このペイロードはP4wnP1のペイロード開発に関するhakin9の記事の結果ですが、未公開です。 このため、ペイロードにはRNDISが有効になっていますが、攻撃を実行する必要はありません。 その主な目的は、P4wnP1のフラッシュドライブにキーボードベースの攻撃の結果を格納する方法を示すことですが、ドライブ文字はペイロードの実行時にのみ認識されます。

ビデオデモ

バックドアWindowsロック画面

このペイロードは、Windowsのロック画面からSYSTEMレベルの権限を持つコマンドシェルにアクセスできるようにするバックドアを作ります。 いったん植えられると、シェルはスティッキーキーによってトリガーされます。

ペイロード自体は純粋にキーボードベースです。 ペイロードの目標を達成するための広く知られたアプローチは、 sethc.exeファイルを置き換えることです。 とにかく、このペイロードは、レジストリのハック(Image execution optionsのDebuggerプロパティ)に基づいて変更を行います。 これは、ファイルシステムが直接触れられないため、攻撃の騒音が少ないことを意味します。 さらにペイロードはP4wnP1のキーボードトリガーの使い方を示しています NUMLOCKを複数回押すとバック​​ドアが植えられ、SCROLLLOCKを複数回押すとバック​​ドアが再び削除されます。 最後に重要なのは、使用されたPowerShellセッションを昇格された権限で実行する必要があるためです。

この攻撃には、管理者アカウントによってロックされていないターゲットが実行されている必要があります。

ここでデモされたペイロードはまだ公開されていません。

ビデオデモ

ペイロード:HID隠密チャネルフロントドア

ビデオデモ

HIDフロントドア機能

  • Windows上のHIDデバイスのプラグアンドプレイインストール(Windows 7およびWindows 10でテスト済み)
  • 生のHIDデバイスに基づく隠れチャネル
  • 純粋なメモリPowerShellペイロード – 何もディスクに書き込まれません
  • 約32KBytes / sの同期データ転送(シェルとファイル転送が十分高速)
  • HID通信を処理し、HIDデータ断片化を処理するカスタムプロトコルスタック
  • P4wnP1からターゲットメモリへのHIDベースのファイル転送
  • ステージ0: P4wnP1が座って待機し、攻撃者がペイロードステージ1をトリガーする(NUMLOCKを頻繁に押す)
  • ステージ1: HID隠密チャネル通信プロトコルのための「ユーザスペースドライバ」を備えたペイロードは、 USBキーボードを介してターゲットに入力される
  • ステージ2:通信はHIDチャネルに切り替わり、P4wnP1のカスタムシェルにアクセスできます。 これは、P4wnP1でホストされているPowerShellスクリプトを、ターゲット上で実行されているPowerShellプロセスのメモリに直接アップロードして実行するために使用できます。 これは、いつでもディスクに触れたり、ネットワーク通信を使用することなく行われます。

ペイロードHID隠れチャネルバックドア(PiゼロWのみ)

ビデオデモ

ビデオは@Seytonicによって制作されていますので、このようなものにもっと興味があれば、関連するチュートリアルやさまざまなプロジェクトをハッキングしてyoutubeチャンネルをチェックしてください(クレジットリンク)。

偉大なチュートリアルの@Seytonicありがとう

HIDバックドア機能

  • Raw HID上でシェルを中継し、WiFi経由でP4wnP1から提供することで、Airgapターゲットをブリッジするためのペイロード
  • Windows上のHIDデバイスのプラグアンドプレイインストール(Windows 7およびWindows 10でテスト済み)
  • 生のHIDに基づく隠れチャネル
  • 純粋なメモリ、複数ステージのペイロード – 何もディスクに書き込まれず、小さなフットプリント(一般的なPowerShell IOCと比較して)
  • カスタムシェルを備えた制御サーバーのようなRAT:
    • コアコマンドの自動完了
    • オンデマンドでキーストロークを送信する
    • Excluute DuckyScripts(メニュー駆動型)
    • リモートバックドアをトリガしてHID隠密チャネルを起動する
    • 複数のリモートプロセスの作成(隠れチャネル接続のみ)
    • 管理されたリモートプロセスとのコンソール対話(隠れチャネル接続のみ)
    • 切断時のリモートペイロードの自動消去
    • shellコマンドを使用してリモートシェルを作成する(隠しチャネル接続のみ)
    • hid_backdoor.txtペイロードが実行されているときに、WiFiを介してSSHでサーバにアクセスできます

HIDバックドア攻撃チェーンと使用法

1.準備

  • hid_backdoor.txtペイロードを選択しsetup.cfg (インタラクティブUSB OTGモードまたはsetup.cfgようなSSHネットワークアクセスを持つペイロードの1つを使用)
  • P4wnp1をターゲットホストに接続する(Windows 7〜10)

2. P4wnP1バックドアシェルにアクセスする

  • 起動時に、P4wnP1はP4wnP1 (パスワード: MaMe82-P4wnP1 )と呼ばれるワイヤレスネットワークを開き、
  • pi@172.24.0.1でネットワークとSSHに接続する
  • すべてがうまくいけば、インタラクティブなP4wnP1バックドアシェルで挨拶されるべきです(そうでなければ、ターゲットがUSBキーボードドライバのロードを完了していない可能性があります)。 SSHパスワードは、ユーザーpiパスワードです。デフォルトの構成では、 raspberryです。

3. P4wnP1バックドアシェルからのAd-Hocキーボード攻撃(隠れチャネルを使用せずに)は、ここから行うことができます:

  • 使用可能なコマンドhelp表示するhelp入力
  • SetKeyboardLayoutを使用して、ターゲットの言語に応じてキーボードレイアウトを設定します。 この手順は重要であり、常に最初に実行する必要があります。それ以外の場合、ほとんどのキーボードベースの攻撃は失敗します。
  • 現在のキーボードレイアウトを印刷するには、 GetKeyboardLayout使用しGetKeyboardLayout P4wnP1バックドアシェルのデフォルトのキーボード言語は、 hidtools/backdoor/config.txt変更することができます
  • SendKeysコマンドのあとにASCIIキーシーケンスを使用して、キーストロークをターゲットに送信します
  • あなたが気づくように、 SendKeysコマンドは何らかの形で制限されています。コントロールキーは送信できません。RETURNにも問題があります。 したがって、より複雑なキーシーケンスの場合、 FireDuckyScriptコマンドが役立ちます。
  • FireDuckyScriptは、 DuckyScript/フォルダにあるスクリプトの名前を受け入れます。 フォルダにはいくつかのデモスクリプトがあらかじめ用意されています。 FireDuckyScriptコマンドの背後にあるスクリプト名を省略すると、スクリプトを選択するためのFireDuckyScriptが表示されます。 <ALT> + <F4>だけを送信するDuckyScriptを書く理由が不思議なら、あなたはRubberDuckyの古い世界を考えています。 P4wnP1とDuckyScriptを動的に実行できるため、このような短いスクリプトが便利です。 あなたがP4wnP1_youtube.duckスクリプトを実行し、 P4wnP1_youtube.duckようなスクリプトが必要な場所を知っているかどうかわからない場合は;-)

それだけです

…ただ冗談ではありません。 コミットされていない4ヶ月は、それ以上なければ合格しませんでした。 ここまで、秘密通信はなかったよね。

4.隠れチャネルペイロードのFire Stage 1( ‘FireStage1’コマンド)

  • 文字をターゲットに出力できるので、コードをリモートで実行することができます。 P4wnP1は、この機能を使用して、隠密チャネル通信スタックを構築して実行するPowerShellスクリプトを入力します。 この攻撃は複数のステップで機能します:
    1. キー入力は、PowerShellセッションを開始し、ペイロードのステージ1を入力するために注入されます。 FireStage1コマンドの使用方法によって、これはさまざまなFireStage1で起こります。 デフォルトではショート・スタブが実行され、ユーザからのコマンド・ウィンドウが隠され、その後にステージ1のメイン・スクリプトが続きます。
    2. ステージ1のメインスクリプトには2つのファッションがあります:
      • タイプ1:短くて高速ですが、悪名高いIEXコマンドを使用する純粋なPowerShellスクリプトです(このコマンドは、脅威ハンターと青いチームメンバーを幸せにする機能を持っています)。 これはデフォルトのステージ1のペイロードです。
      • タイプ2:ドットNETアセンブリ。これはPowerShellを介してロードされ、実行されます。 このステージ1のペイロードは、より多くの文字が必要となるため、実行に時間がかかります。 しかし、すでに知っているように、IEXコマンドは使用しません。
  • PowerShellセッションはコマンドライン引数なしで開始されるため、悪意のあるコマンドラインの検出メカニズムを起動するものは何もありません。 Theresは、 -exec bypass-enc-NoProfile-encようなパラメータはありません…何も疑いません! 欠点は、入力を続行する前にPowerShellウィンドウが開くまで待つ必要があることです。 対話型のPowerShellウィンドウを表示するには数年かかるボックスがあるので、PowerShell.exeの実行とpowershell.exeのタイプアウトの開始の間の遅延は、2番目のパラメータでFireStage1コマンドに変更することができます(デフォルト1000ミリ秒)。
  • 最後に、 FireStage1コマンドラインの最後にnohideを追加すると、ウィンドウ非表示スタブが実行されず、すべてのsh ** tyデバッグ出力を見ることができるはずです。

5.ローディングステージ2

  • ここにロケットの雰囲気はありません。 ステージ1のペイロードは、カスタムHIDデバイスへの基本インターフェースを初期化し、ステージ2を完全自動化します。 ステージ2には、すべてのプロトコル層と最終的なバックドアが含まれています。 ドットネットアセンブリとしてメモリに直接ロードされます。
  • だからなぜドットネット? 初期のバージョンのバックドアは、PowerShellで完全に開発されました。 これは、マルチスレッド、クラス継承なしのPS 2.0互換性、およびISEを使用したマルチスレッドデバッグに関しては大きな混乱を招いていました。 私は不可能であると言っておきたくありません(あなたがコミットの歴史を見ていれば、それが可能であるという証拠があります)が、利点はありません。 正確に言えば、欠点があります。これを達成するためにはるかに多くのコードが必要で、コードが遅くなり、 PowerShellモジュールのロギングがペイロードからすべてのスクリプトコマンドをキャッチできるようになります ログNETアセンブリを使用するのとは対照的に、ログに記録できる唯一のPowerShellコマンドは、アセンブリをロードしてステージ2トリガーを実行するものです。 ペイロードが終了するとすぐに他のすべてが消えてしまいます。 だから…小さなフットプリント、ええ。
  • しかし、 “PowerShellインラインアセンブリー”をディスク上の一時ファイルにコンパイルしないでください。 はい、彼らがやります! 少なくとも、CSharpのインラインコードで書かれていれば。 幸いにもP4wnP1はこれをしません。 アセンブリは、プリコンパイルされた状態で出荷されます。

6.バックドア接続を使用する

  • ステージ2が正常に実行された後、P4wnP1バックドアシェルのプロンプトにクライアント接続が表示されます。
  • ここからは、新しいコマンドを使用することができます。
    • CreateProcess
    • interact
    • KillProcess
    • KillClient
    • そして… 🙂 … shell
  • 私はあまりにもここにこれらを説明するために疲れているが、私はあなたがそれを見つけるだろうと思う。

HIDバックドア攻撃 – 要約

  1. hid_backdoor.txtペイロードを選択
  2. P4wnP1デバイスをWindowsターゲットに接続する
  3. 新たに生成されたP4wnP1 WiFiに別のデバイスで接続します(SSHクライアントがインストールされている限りスマートフォンとなります)
  4. SetKeyboardLayout正しいターゲットキーボードレイアウトをSetKeyboardLayout (または、 hidtools/backdoor/config.txt変更する)
  5. P4wnP1シェルでキーストロークを挿入するSendKeysまたはFireDuckyScriptを実行する
  6. 隠れチャネルHIDバックドアを起動するには、 FireStage1コマンドをFireStage1
  7. ターゲットが接続された後、 shellを入力して隠れチャネル経由でリモートシェルを作成します

HIDバックドア – 現在欠けている機能

  • ファイル転送の実装(アップロード/ダウンロード)…しかしねえ…あなたたちはredteamersとpentestersです! 非対話型のリモートシェルに対処する方法を知っていますか? 行っていない場合は、OSCPなどを取るが、これのための機能要求で私を気にしないでください。 アップデート: HIDバックドア用のファイル転送は、コマンドのuploaddownload念頭に置いているので、ファイルは現在 P4wnP1とターゲットの間の生のHIDデバイスを介して前後に移動します
  • HIDチャネルを介してTCPソケットを実行します。 はい.P4wnP1でSOCKS4aまたはSOCKS5をリッスンして、ターゲットクライアント経由で通信をトンネリングするのは本当にうれしいでしょう。 このPoCプロジェクトは時間がかかり過ぎたので、これがいつ完了するのか分かりません。 しかし、ねえ、基本的な通信レイヤーは複数のチャンネルを処理する準備ができています。私が知る限り、あなたはソースコードを見ています。

P4wnP1より高度な機能(抜粋)

高度なHIDキーボード機能

  • キーボードのペイロードは、ターゲットキーボードLED (NUMLOCK、CAPSLOCK、SCROLLLOCK) によってトリガーされます。
  • LEDトリガに基づく動的ペイロードの分岐
  • DuckyScriptをサポートしています (詳細な例については、hid_keyboard2.txtペイロードを参照してください)
  • HIDキーボードによるraw ASCII出力をサポートしています( cat /var/log syslog | outhidような、キーボードによる文字ベースのファイルの出力に使用できます)
  • マルチキーボードの言語レイアウトのサポート (HIDコマンドを使用する場合、ターゲット言語を心配する必要はありません)
  • ターゲットキーボードドライバがロードされると出力が開始されます(手動遅延はonKeyboardUp 、ペイロードでonKeyboardUpコールバックを使用できます)

高度なネットワーク機能

  • 最小のメトリックを取得し、ネットワーク攻撃を実行しながらルーティングテーブルの支配的な ‘デフォルトゲートウェイ’エントリのためのすべての戦いを勝ち取るために、 RNDISネットワークインターフェイスを最大20GB /秒のスピードで偽装しました(パッチはこことREADMEにあります
  • ペイロードがRNDISとECMの両方のネットワークを有効にする場合、 自動リンク検出とインターフェイスの切り替え
  • SSHサーバーはデフォルトで実行されているので、P4wnP1は172.16.0.1(ペイロードがRNDIS、CDC ECM、またはその両方を有効にしている限り)またはWiFi経由で172.24.0.1に接続できます
  • WiFiクライアントモードとWiFiアクセスポイントモードの両方が有効な場合P4wnP1は、ターゲットWiFiに到達できない場合にアクセスポイントを開くためにフェールオーバーします (PiゼロWのみ)

高度なペイロード機能

  • コールバックに基づく bash ペイロード (詳細はtemplate.txtペイロードを参照)
    • onNetworkUp (ターゲットホストがネットワークリンクをアクティブにするとき)
    • onTargetGotIP (ターゲットがIPを受信した場合、ペイロードスクリプトからIPにアクセスできます)
    • onKeyboardUp (キーボードドライバのインストールが完了し、キーボードが使用可能な場合)
    • onLogin (ユーザーがSSH経由でP4wnP1にログインしたとき)
  • 設定はグローバルに( setup.cfg )実行することも、ペイロードごとに上書きすることもできます(同じパラメータがペイロードスクリプトで定義されている場合)
  • 設定は次のとおりです。
    • USB設定(ベンダーID、プロダクトID、 有効にするデバイスタイプ …)
    • WiFi設定(SSID、パスワード…)
    • HIDキーボード設定( ターゲットキーボード言語など)
    • ネットワークとDHCPの設定
    • ペイロードの選択

BashBunnyとの機能比較

最初のP4wnP1のコミット後数日、Hak5のBashBunnyが発表された(自分で注文した)。 ちょっとした機能の比較は次のとおりです。

特徴 バッシュバニー P4wnP1
RNDIS、CDC ECM、HID、シリアルおよび大容量ストレージのサポート サポートされ、いくつかの組み合わせで使用可能、ほとんどのモードでWindowsクラスドライバのサポート(プラグアンドプレイ) サポートされている、ほとんどの組み合わせで使用可能、複合デバイスとしてのすべてのモードでのWindowsクラスドライバサポート(プラグアンドプレイ)
秘密のHIDチャネル上のターゲットからデバイスへの通信 いいえ Raw HIDデバイスは、Windowsターゲット(PowerShell 2.0以降)とHIDを介して通信できます
完全な自動ペイロードがあり、ターゲットデバイスからカスタムPowerShellコンソールを介してP4wnP1 bashにアクセスできます(「hid_frontdoor.txt」ペイロードを参照)。
この手法に基づいた追加のペイロードは、HID秘密チャネル経由でP4wnP1にバックドアセッションを公開し、WiFi / Bluetooth経由でSSH対応デバイス(ブリッジングエアギャップ、ペイロード ‘hid_backdoor.txt’)に中継することができます
マウスエミュレーション いいえ サポートされている:相対的なマウスの位置付け(ほとんどのOS、Androidを含む)+ ABSOLUTEマウスの位置付け(Windows); 専用スクリプト言語 “MouseScript”はマウスを、MouseScriptはHIDバックドアシェルからオンデマンドで
ターゲットキーボードによるペイロードのトリガー いいえ ハードウェアベース:CAPSLOCK / SCROLLLOCKおよびNUMLOCKのLEDが読み戻され、ペイロードの分岐またはトリガーに使用されます( hid_keyboard2.txtペイロードを参照)
インタラクティブなDuckyScriptの実行 サポートされていません HIDバックドアは、オンデマンドでスクリプトを実行するために使用できます(HIDリモートバックドアを使用して、WiFi、Bluetooth、インターネット経由で)
実行時に変更可能なUSB構成 サポートされる おそらく実装されるでしょう
RubberDuckyペイロードのサポート サポートされる サポートされる
HIDキーボード出力への配管コマンド出力のサポート いいえ サポートされる
切り替え可能なペイロード ハードウェアスイッチ 手動でインタラクティブモードで(ハードウェアスイッチをはんだ付けすることができます、スクリプトのサポートは最優先のToDoです。少なくとも、誰かがこのようなスイッチとPINコネクタを備えたPiのハウジングを印刷するまで)
インタラクティブなログインとディスプレイアウト SSH /シリアル SSH /シリアル/スタンドアロン(USB OTG + HDMI)
パフォーマンス 高性能ARMクアッドコアCPU、SSDフラッシュ 低性能シングルコアARM CPU、SDCARD
ネットワークインターフェイスのビットレート Windows RNDIS: 2 GBit / s
Linux / MacOS ECM: 100 MBit / s
リアルビットレート450 MBit max(USB 2.0)
Windows RNDIS: 20 GBit / s
Linux / MacOS ECM: 4 GBit / s (MacOSでは1 GBit / sインターフェースとして検出されます)
リアルビットレート450 MBit max(USB 2.0)
ここに必要なP4wnP1パッチ
LEDインジケータ RGB Led、シングルペイロードコマンドで駆動 シングルカラーLED、単一のペイロードコマンドで駆動
カスタマイズ DebianベースのOSとパッケージマネージャー DebianベースのOSとパッケージマネージャー
WLAN経由の外部ネットワークアクセス(リレー攻撃、MitM攻撃、エアギャップブリッジ) 不可能、外部インタフェースなし Pi Zero Wでサポート
Bluetooth経由のSSHアクセス ありえない サポート(Pi Zero W)
既存のWiFiネットワークに接続する(ヘッドレス) ありえない サポート(Pi Zero W)
インターネット経由のシェルアクセス ありえない サポート(WiFiクライアント接続+ AutoSSH経由でPentesterが所有するSSHサーバーへのSSHリモートポート転送)
使いやすさ 簡単に、USBドライブ、簡単なbashベースのスクリプト言語に基づいてペイロードを変更 中型、bashベースのイベント駆動型ペイロード、HID用インラインコマンド(DuckyScriptおよびASCIIキーボード印刷、LED制御)
利用可能なペイロード 急成長しているgithub repo(大きなコミュニティ) ゆっくりと成長するgithub repo(余分な時間は1人の男のショー;-))編集:コミュニティは成長していますが、これまでのペイロードの貢献はありません
ある文章で… 「世界で最も先進的なUSB攻撃プラットフォーム」 ペンテストと赤チームのコミュニティのためのオープンソースプロジェクト。
総所有コスト 約99 USD 約5USドル(Piゼロワットの11ドルフォーWLAN機能)

SumUp:BashBunnyは簡単な使い方を指向していますが、基本的なP4wnP1ハードウェアの20倍のコストがかかります。 P4wnP1はより高度なユーザーに向けられていますが、別のネットワークインターフェイス(アップストリームインターネット、ハードウェアバックドアなどへのルーティングとMitMトラフィック)でアウトバウンド通信が可能です。

インストール手順

INSTALL.mdを参照してください(旧式、いつか書き直されます

入門

デフォルトのペイロード(payloads / network_only.txt)は、USBとWiFiを介してイーサネット経由でアクセスできるようにします。 あなたはP4wnP1にSSHできる

USB経由

pi@172.16.0.1

またはWiFi経由

pi@172.24.0.1
Network name: P4wnP1
Key: MaMe82-P4wnP1

そこから、現在のペイロード( PAYLOADパラメータ)とキーボード言語( LANGパラメータ)を変更するためにsetup.cfgを変更することができます。

注意:選択したペイロードが(hid_keyboardデモペイロードのような)グローバルLANGパラメータをオーバーライドする場合、ペイロードのLANGパラメータも変更する必要があります。 ペイロードからLANGパラメータを削除すると、 setup.cfgの設定がsetup.cfgされます。 つまり、ペイロードの設定はsetup.cfg設定よりも優先されsetup.cfg

要件

  • Raspberry Pi Zero / Pi Zero W(他のPisはハブを装備しているため、USBガジェットをサポートしていないので、尋ねないでください)
  • Raspbian Jessie / Stretch Liteがプリインストールされています(カーネルはP4wnP1インストーラによって更新されます。現在のカーネルはUSBガジェットモジュールにエラーがあり、クラッシュします)
  • install.shスクリプトを実行するためのインターネット接続
  • プロジェクトはまだ進行中ですので、機能や新しいペイロードが頻繁に追加されます(更新されたP4wnP1リポジトリがあることを確認してください)

ロックされたマシンからの信憑性の低下、脆弱なアプリケーション(Oracle JAVA JRE / JDK vuln)

P4wnP1のテスト中に、ロックされた完全にパッチされたWindows 10マシン上のwpad.datに対するNTLM認証要求に製品が応答することが確認されています。 ログインしたユーザーのNTLMハッシュは、マシンがドメインに参加していなくても、サードパーティのソフトウェアによって送信されます。 欠陥はそれぞれのベンダーに報告されている。 パッチが入手可能になるとすぐに詳細情報がreadmeに追加されます。 今のところ私は最近ここで開示のタイムラインを更新します。

DisclosureタイムラインがNTLMのハッシュリークを発見:

日付 アクション
2月23-2017 Oracle(Email)に提出された初期レポート
2月23-2017 Oracleは問題を調査して戻ってきました
Mar-01-2017 Oracleは問題を確認し、修正に取り組んでいます
Mar-23-2017 Oracle:毎月のステータス更新 “メインコードラインに固定されています”
4月23-2017 Oracle:毎月のステータス更新 “メインコードラインで修正中”(はい、Oracleのステートメントは変更されません)
5月23-2017 Oracle:毎月のステータス更新 “メインコードラインに固定されています”
Jun-23-2017 Oracle:毎月のステータス更新 “メインコードラインに固定されています”
Jul-14-2017 Oracle:アップデートをリリースし、 CVE-2017-10125を登録しました リンクを見る

だから今ここにいる。 この脆弱性のある製品は、Oracle Java JREおよびJDK (1.7 Update 141および1.8 Update 131)です。 この問題は、 ここで見つけることができる「Oracle Critical Patch Update Advisory – July July」で修正されています Java JRE / JDKを更新してください。

〜に対するクレジット







-mame82

執筆者: