ハードウェアキーロギングの概念に精通していますか?ハードウェアキーロガーは、ユーザーの活動を監視するための完璧なソリューションであり、情報漏洩のリスクが非常に低いです。ハードウェアキーロガーは純粋に電子デバイスであり、オペレーティングシステムへのアクセスは不要であり、トレースも残らず、ソフトウェアはそのようなデバイスを検出する可能性がありません。ただし、ハードウェアキーロガーの概念には1つの弱点があります:キーロガーへの物理的アクセスが必要です。この問題はついに解決策が見つかりました: ワイヤレスキーロガー。
Keelog はすでに一つのオープンソース PS/2 ハードウェアキーロガー デザインを一般に公開しています。今度はDIY ワイヤレスキーロガーで再度提供します。このデザインは、以下の制限付きで個人および商用で完全に無料です。
無断で所有権を持たないデータ、特にパスワード、銀行データ、機密文書などを傍受するためにワイヤレスキーロガーを使用すべきではありません。 ほとんどの国がこれを犯罪と認識しています。
ワイヤレスキーロガーは、送信機と受信機の2つの主要な構成要素で構成されています。実際のキーロギングは送信機で行われ、これは実際にはPS/2ハードウェアキーロガーであり、内蔵の2.4 GHzワイヤレスモジュールを備えています。キーストロークデータは、記憶されるのではなく、ラジオリンクを介してリアルタイムで送信されます。一方、受信機はUSBインターフェースを備えたワイヤレス取得ユニットです。送信機から受信したすべてのキーストロークデータは、USBを介してホストコンピュータに送信されます。ソフトウェア側では、このデータは仮想COMポートを介して利用可能であり、キーストロークデータの視覚化には任意の端末クライアントを使用できます。
ワイヤレスキーロガーブロック図
システム全体はリアルタイムで動作するため、リモートコンピュータで入力されたテキストは受信側で即座に表示されます。 システムの最大範囲は約50ヤード(メートル)です。 これは、その厚さに応じて2〜4枚の壁を通して約20ヤード(メートル)の効果的な範囲に相当します。
ワイヤレスキーロガー送信機
ワイヤレスキーロガー受信機
送信機と受信機は、同じ回路図と基板をベースにしています。どちらも同じフォームファクタを持ち、PS/2およびUSB延長ケーブルに取り付けることを意図しています。推奨される筐体はEMCバランエンクロージャで、デバイスを標準の延長ケーブルに似せます。
この記事ではDIYワイヤレスキーロガーの組み立てプロセス全体について説明しています。あなたのスキルに応じて、ゼロから独自のワイヤレスキーロガーを作成するか、当社から完成品を注文することができます。当社では、予めプログラムされたマイクロコントローラーと標準ケーシング(写真で見られるもの)を備えたコンポーネントセット、または完全に組み立てられてテストされたデバイスセットを提供できます。詳細についてはキットセクションまでスクロールしてください。
独自のワイヤレスキーロガーを作成することを決定した場合、電子工学とはんだ付けについて基本的な経験があることが望ましいです。特にSMT(表面実装技術)についての経験があると良いでしょう。最も簡単なオプションは、当社から部品が入ったキットを注文し、はんだ付け、配線、最終組み立てを自分で行うことです。これには温度制御はんだごてとかなり優れたはんだ付けスキルが必要です。PCBを自分で設計・製造することを決定した場合、この分野でかなりの経験と適切な機器が必要です。
以下の表は、単一の送信機または受信機ユニットに含まれるBOM(部品表)を要約しています。送信機には追加のPS/2延長ケーブルが必要であり、受信機にはUSBタイプAコネクタまたはケーブルが必要です。
電子部品セット
ケーブル、ケース、および基板
| デザイン指定子 | 説明 | 足跡 | 数量 |
| U1 | マイクロコントローラ AT91SAM7S64 | TQFP64 | 1 |
| U2 | トランシーバー nRF2401 | QFN24 | 1 |
| U3 | 電圧レギュレータ MCP1700T-330 | SOT-23 | 1 |
| Q1 | クリスタル 18.432 MHz | HC-49 SMD | 1 |
| Q2 | クリスタル 16 MHz | HC-49 SMD | 1 |
| R1, R2 | 抵抗器 1.5 kΩ | 0805 | 2 |
| R3, R4 | 抵抗器 27 Ω | 0805 | 2 |
| R5 | 抵抗器 1 MΩ | 0805 | 1 |
| R6 | 抵抗器 22 kΩ | 0805 | 1 |
| C1, C27 | キャパシタ 10 nF | 0805 | 2 |
| C2, C28 | キャパシタ 1 nF | 0805 | 2 |
| C3, C4, C6, C7, C8 | キャパシタ 22 pF | 0805 | 5 |
| C5 | キャパシタ 33 nF | 0805 | 1 |
| C9 | キャパシタ 2.2 pF | 0805 | 1 |
| C10, C11 | キャパシタ 1 pF | 0805 | 2 |
| C12, C22, C23, C24, C25, C26, C32, C33, C34, C42, C43 | キャパシタ 100 nF | 0805 | 11 |
| C21, C31, C41 | キャパシタ 1 µF | 0805 | 3 |
| L1 | フェライトビーズ | 0805 | 1 |
| L2 | インダクタ 3.6 nH | 0805 | 1 |
| L3 | インダクタ 18 nH | 0805 | 1 |
ワイヤレスキーロガーBOM (PDFバージョン)
送信機と受信機は、配線とファームウェアが異なるものの、同じPCBと同じコンポーネントを使用しています。Atmel AT91SAM7S64 マイクロコントローラーと nRF2401 ワイヤレストランシーバーがコアコンポーネントとなります。両方とも正常に動作するためには結晶が必要です。 MCP1700 電圧レギュレーター以外のすべてのコンポーネントは受動部品(抵抗器、コンデンサー、および数個のインダクター)です。ダイポールアンテナにはシンプルなワイヤーが推奨されています。両面の2層PCBは以下の写真で示されています。
自分でPCBを製造するのに十分なスキルがある場合は、以下で利用可能な1:1マスクセットを使用できます。 参照設計では、1.0mmの厚さのFR4を使用しています。
上記のキットのいずれかを購入したい場合、追加のリクエストがある場合、または詳細情報をご希望の場合は、当社の営業部門までお問い合わせください。
ワイヤレスキーロガーの電気回路は、2つの主要な構成要素で構成されています: AT91SAM7S64 マイクロコントローラーと nRF2401 トランシーバーです。付属の受動部品は主に発振器とRF回路です。回路全体は、MCP1700 レギュレーターによって生成された3.3Vで駆動され、一連のコンデンサによってフィルタリングされます。電力は直接 PS/2 バス(送信機)または USB(受信機)を介して供給されます。すでに組み立てられたミニボードがある場合は、配線セクションにスキップしてください。回路基板を自分で組み立てることに決めた場合は、以下の回路図とガイドラインに従う必要があります。
ワイヤレスキーロガーの電気スキマティクス (PDFバージョン)
はんだ付けには、0.5mm未満の細い先端を使用し、はんだフラックス(たとえばRMA7)を使用します。コンポーネントを過熱しないように注意してください。最初に、最も難しいフットプリントを持つnRF2401トランシーバーから組み立てを開始し、AT91SAM7S64マイクロコントローラーとMCP1700電圧レギュレーターに進みます。常に、ピン1がPCB上の最初のパッドに一致することを確認してください。最後に、すべての補助回路をはんだ付けします:結晶、抵抗器、コンデンサ、およびインダクタ。アンテナは最後に残します。専用のISM 2.4 GHzアンテナを使用するか、単にワイヤーの一部から四分の一波長のダイポールアンテナを作成できます。最適な長さは1.23インチ(3.125 cm)です。組み立てられたミニボードは、以下の写真のものに似ているはずです。
マイクロコントローラーを搭載した組み立てられたPCBの表面
トランシーバー付きの組み立て済みPCBボトム面
PS/2 と USB エクステンションケーブルを使用して、それらを切り開いて信号線を絶縁します。難しいのは、内部のワイヤーがどのように信号線に対応しているかを特定することです。一部の PS/2 と USB ケーブルには標準化された色がありますが、これに依存することは非常に危険です。推奨される解決策は、どのワイヤーがどの信号に対応しているかを見つけるために短絡テスターまたはオームメーターを使用することです。以下の図は役立ちます。
| シグナル | 説明 | PS/2 ピン | コメント | |
| VCC | +5V 電源 | 4 | モジュールに接続する必要があります | |
| GND | 電源グラウンド | 3 | ||
| CLK | 時計 | 5 | ||
| DATA | データ | 1 | ||
| NC | 未使用の行 | 2, 6 | モジュールが存在する場合は使用されません、元の状態のままにしてください | |
| SHLD | 盾 | - | ||
| シグナル | 説明 | USB ピン | コメント |
| VCC | +5V 電源 | 1 | モジュールに接続する必要があります |
| D- | データ | 2 | |
| D+ | データ | 3 | |
| GND | 電源グラウンド | 4 | |
| SHLD | 盾 | - | モジュールが存在する場合は使用されません、元の状態のままにしてください |
使用しているマイクロコントローラーがまだプログラムされていない場合、ISP(In-System Programming)技術を使用してファームウェアをアップロードするのに適したタイミングです。 詳細については、ファームウェアセクションをお読みください。 これが完了すると、ミニボードは以下の写真のように見えるはずです。
PS/2 バスに有線接続された送信機回路基板
USB に配線された受信回路基板
USB と PS/2 コネクターの電源供給(VCC)とグラウンド(GND)間の抵抗をチェックするために、エンクロージャを取り付ける前に最後のチェックを行うことをお勧めします。ここで短絡がある場合、回路全体を見直す必要があります。それ以外の場合、コンピューターが損傷を受ける可能性があります。すべてが問題なければ、グルーや樹脂を使用してエンクロージャを取り付け、準備完了です。
送信機と受信機のペアが組み立てられたら、最初のテストの時間です。両方のデバイスをテストするために1台のコンピュータを使用することをお勧めします。まず、コンピュータを電源オフにし、送信機ユニットをPS/2キーボードとPS/2ポートの間に接続してください。
PS/2ポートに送信機ユニットを接続します
PS/2キーボードを送信機ユニットに接続します
作業が完了したら、コンピューターを起動し、PS/2キーボードが正常に動作していることを確認してください(キーロガーの影響がわかるほどでないように)。次に、受信ユニットをテストする時間です。続行する前に、まずKeelogドライバーファイルをダウンロードしてください。ファイルを解凍し、コンピューターのローカルハードディスクに保存してください。次に、受信ユニットを空いているUSBポートに差し込んでください(コンピューターをシャットダウンする必要はありません)。送信機からの無線信号を受信できる位置にあることを確認してください。
USBポートに受信機ユニットを接続します
受信ユニットを初めて接続すると、ドライバーインストールダイアログが表示されます。厳密に言えば、Windowsなどのほとんどのオペレーティングシステムに付属しているバンドルされた仮想COMポートドライバーが使用されます。ただし、対応するINF記述ファイルを手動で選択する必要があります。システムがドライバーを要求するときは、ドライバーファイルが保存されている場所に移動してください。以下の画像はこのプロセスを説明しています。
ドライバーソフトウェアを検出してインストールすることを選択します
ドライバーを検索することを選択
ブラウズオプションを表示するように選択してください
ドライバーの場所に移動
ドライバーのインストールプロセスが成功した場合、受信ユニットはUSBとしてシリアルコンバーターとして表示されるはずです。これを確認するには、Windowsのデバイスマネージャーを開き、デバイスに割り当てられた仮想ポートを確認してください。
受信ユニットがデバイスマネージャーで表示されます
送信ユニットからのキーストロークデータの受信を開始するには、Hyperterminalなどの任意の端末クライアントを使用できます。柔軟性と使いやすさのために、無料のSimple Serial Monitorアプリケーションをご利用いただくことをお勧めします。
シンプルシリアルモニター (Keelogからの無料ターミナルクライアント)
Simple Serial Monitor(またはその他の代替アプリケーション)を起動した後は、正しいCOMポートを設定することを忘れないでください。すべてが正しく進行した場合、受信ユニットはPS/2キーボードで入力されたすべてのキーストロークをすぐに表示します。
PS/2 送信ユニット付きリモートコンピュータ / USB 受信ユニットを備えたローカルコンピュータ
次のステップは、異なる2台のコンピュータを使用して同じものをテストすることです。 送信範囲内にあることを確認してください。 ターミナルウィンドウにテキストがポップアップする場合、Wireless Keyloggerセットは最初の実際のミッションの準備ができています。 このデバイスは合法的な目的にのみ使用することを覚えておいてください!
| この文書のPDFバージョン | |
| 使用および再現の条件は文書に含まれています | |
| ファームウェア(送信機と受信機) | |
| 送信機と受信機のプログラムを書き込むためのマイクロコントローラファームウェア | |
| 仮想COMドライバー(Win 2K/XP/Vista) | |
| 受信者を仮想COMポートとして認識させるドライバ | |
| シンプルなシリアルモニターインストーラ | |
| 仮想COMポート(Hyperterminalに相当)を介して傍受されたキーストロークデータを表示するための無料ソフトウェア。 Microsoft .NET Frameworkが必要です。 | |
| AT91 In-System プログラマー(ISP)インストーラー | |
| SAM-BAブートローダーを使用してファームウェアをフラッシュするためのソフトウェア | |
| SAM Boot Assistant (SAM-BA) ユーザーガイド | |
| 追加のプログラマーを使用せずに、組み込みブートローダーを介してファームウェアをマイクロコントローラーにフラッシュするチュートリアル | |
| 材料明細書(BOM) | |
| ワイヤレスキーロガー(送信機および受信機)の組み立て用部品リスト | |
| 配線図 | |
| ワイヤレスキーロガー(送信機および受信機)の配線図 | |
| 電気配線図 | |
| ワイヤレスキーロガー(送信機および受信機)の電気図 | |
| PCB レイアウト トップ | |
| PCBレイアウトの上部(送信機および受信機) | |
| PCB レイアウトのボトム | |
| PCBレイアウトの裏側(送信機および受信機) | |
| PCB マスク トップ | |
| PCBの表面用マスク(送信機および受信機)、1:1スケール | |
| PCB マスクの底 | |
| PCBボトムサイド用のマスク(送信機および受信機)、1:1スケール |
AT91SAM7S64 マイクロコントローラーを自分でフラッシュする必要がある場合にのみ、このセクションをお読みください。当社からキットを購入された場合は、すでに行っています。
現代のマイクロコントローラー、例えばAtmelのAT91SAM7S64は非常にコンパクトなフットプリントを持っており、それに対応する従来のプログラマーを見つけるのが難しいことがあります。そのため、最近ではISP(インシステムプログラミング)が非常に急速に発展しています。ISPを使用すると、回路基板全体をまず組み立て、その後ファームウェアをフラッシュすることができます。通常、非常にシンプルなツールを使用します。AT91SAM7S64は、組み込みのUSBモジュールに基づいた非常に便利なISPソリューションを実装しています。それがSAM-BA(SAMブートアシスタント)と呼ばれ、USBケーブルと数本のシンプルなジャンパーだけが必要です。Wireless KeyloggerミニボードでSAM-BAを実行するには、まずAT91 ISPツールをダウンロードしてください。次に、送信ユニットと受信ユニットのファームウェアフラッシュを完了するために以下の手順に従ってください。
ステップ1: 送信ユニットにのみ適用されます。片側にAタイプのメスプラグ、もう片側に絶縁されたワイヤーが付いたUSBケーブルを準備します。VCC、GND、D+、D-のUSBラインを基板上の適切なパッドにはんだ付けします。このステップは、すでにUSB接続がある受信機には必要ありません。
ステップ2: SAM-BAピンをショートさせるための短いワイヤーをいくつか準備してください:TST、ERASE、PA2、PA1、PA0、3.3V。 それぞれのワイヤーの一方の端を両方の基板のSAM-BAパッドにはんだ付けします。 代替として、写真に示されているような特別なジャンパーを準備することもできます。
SAM-BAの配線図 (PDFバージョン)
ステップ3: AT91 ISP ソフトウェアパッケージをインストールします。
ステップ4: デバイスを空いているUSBポートに接続します。この段階でデバイスが認識されません メッセージは正常です。
ステップ5: ERASE と3.3V シグナルワイヤーを短絡させます。これによりマイクロコントローラのフラッシュメモリが消去されます。
SAM-BAブートローディング用のケーブルとジャンパー
メモリ消去(ERASEピンを3.3Vにショート)
ブートローダーのアクティベーション(PA0、PA1、PA2およびTSTを3.3Vにショート)
ステップ6: デバイスをUSBポートから切断します。ERASEピンがもはや3.3Vに接続されていないことを確認してください。PA0、PA1、PA2、TSTのピンセットを3.3Vにショートしてください。デバイスを再度USBポートに接続します(デバイスが認識されませんが再度表示される場合があります)。デバイスを約10秒間接続した後、デバイスをUSBポートから切断してください。この操作によりSAM-BAブートローダーがアクティブ化されるはずです。
ステップ7: すべてのショートやジャンパーを取り除き、デバイスをUSBポートに接続します。 新しいハードウェアが見つかりました ダイアログが表示されるはずです。 デフォルトの手順に従い、ウィザードにドライバーを自動検出させてください。
新しいハードウェアが見つかりました ウィザード
ステップ8: デバイスマネージャーを開いて、SAM-BAブートローダーがアクティブ化されていることを確認します。
Atmel AT91デバイスを使用したデバイスマネージャー
ステップ9: AT91 ISP ソフトウェアスイートから SAM-BA アプリケーションを実行し、AT91SAM7S64-EK ターゲットマイクロコントローラーボードを選択します。
マイクロコントローラーボードの選択
ステップ10: ボードとの接続を確立した後、Flashタブに切り替え、送信機/受信機用の適切なファームウェアを選択し、ファイルを送信をクリックします。アプリケーションが関連するフラッシュ領域をロックおよびアンロックするかどうか尋ねた場合は、はいを選択します。このステップを正常に完了した場合、ファームウェアはマイクロコントローラにダウンロードされたことを意味します。
SAM-BA メインウィンドウ
送信機と受信機の両方にSAM-BA手順を実行することを忘れないでください。完了すると、両方のデバイスが使用可能になります。