フリッパーを探す (ゼロ)

Feb 07 2023
こんにちは、ブルーチーマー仲間です。これらの新しい派手な「フリッパー」のいたずらについて聞いたことがありますか? CISO がパニックになってあなたのところに来て、ユーザーがこれらをワークステーションに接続しているかどうかを確認するように求めてきましたか? さて、あなたは正しい場所に来ました。

こんにちは、ブルーチーマー仲間です。これらの新しい派手な「フリッパー」のいたずらについて聞いたことがありますか? CISO がパニックになってあなたのところに来て、ユーザーがこれらをワークステーションに接続しているかどうかを確認するように求めてきましたか? さて、あなたは正しい場所に来ました。

フリッパー ゼロをご紹介します。

それらの機能についてさらに詳しく知りたい場合は、Web サイトをチェックすることをお勧めします。私はそれを持っていて、とても気に入っています。しかし、サイバー防御者として、「ネットワーク上のユーザーが地球をハッキングするためにネットワークを使用しようとしているかどうかをどうやって検出できるだろうか?」と疑問に思ったことがあると思います。それに対して私はこう言います――もっとやるべきことがあるんじゃないですか?いいえ?それでは、これらが Windows デバイスに接続されていることを検出する方法をいくつか紹介します。

Flipper Zero には、Windows にさまざまなデバイスとして表示できるさまざまなモードとモジュールがあります。ここで説明する 2 つは「デフォルト」モードで、モジュールを実行せずにフリッパーが接続されます。もう 1 つは USB リモート、別名マウスの揺れです。

特定のモジュールを実行せずに Flipper Zero を USB 経由で接続すると、ログ内で検索できる非常にユニークな署名が残ります。私たちのテストによると、このモードのフリッパー (この記事の執筆時点) は、PID 5740 を持つ STMicroelectronics VID 0483 をエミュレートします。また、DeviceID の一部として世界的に一意のデバイス シリアルも含まれます (私たちのものはぼかしています) 。以下の例では)。

この情報を表示する PowerShell コマンドの例を次に示します。

Get-CimInstance -Class win32_PnpSignedDriver `
| Select-Object Description, DeviceClass, DeviceID, DeviceName, Manufacturer `
| Select-String Flip

      
                

この情報は Windows レジストリにも書き込まれます。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\VID_0483&PID_5740\

      
                

index=main event_platform=Win event_simpleName=DcUsbDevice* 
    DeviceInstanceId="USB\\VID_0483&PID_5740\\flip*"
| table _time
    , event_simpleName
    , ComputerName 
    , DeviceInstanceId 
    , DeviceManufacturer
    , DevicePropertyClassName
    , DevicePropertyDeviceDescription
    , DeviceSerialNumber
| sort 0 -_time

Flipper Zero がマウス (マウス ジグル モジュールなど) をエミュレートする Windows に接続されている場合、状況は少し…わかりにくくなります。

Flipper Zero を USB マウスとして接続するためのメニュー オプション:

このモジュールを使用して Windows に接続すると、フリッパーは Logitech Unifying USB レシーバー (別名これらの悪者の 1 つ) の VID と PID をエミュレートします。

唯一の問題は、通常の Logitech レシーバーのようにメーカーが表示されないことです。また、一般的な/デフォルトの説明のみを提供します。以下の例では、USB 入力デバイスとして実行されている Flipper Zero と、Windows マシンに接続されている Logitech USB レシーバーの両方を使用しています。

((Get-CimInstance -Class win32_PnPSignedDriver) `
| Where-Object {($_.Description -like '*USB*' -and $_.DeviceClass -match 'HIDClass')}) `
| Select-Object Description, DeviceClass, DeviceID, Manufacturer `
| Sort-Object DeviceID

      
                
Pay special attention to the Description and Manufacturer values.

繰り返しになりますが、このデータを SIEM または EDR にキャプチャする場合、CrowdStrike で機能するクエリの例を次に示します。

index=main event_platform=Win event_simpleName=DcUsbDevice*
    DeviceInstanceId="USB\\VID_046D&PID_C529\\*"
| where isnull(DeviceManufacturer)
| table _time
    , event_simpleName
    , ComputerName
    , DeviceInstanceId
    , DeviceManufacturer
    , DevicePropertyClassName
    , DevicePropertyDeviceDescription
    , DeviceSerialNumber
| sort 0 -_time

あなたの動き、生意気なイルカよ…