Alla ricerca di Flipper (zero)

Feb 07 2023
Ciao collega Blue Teamer. Hai sentito parlare di questi nuovi fantasiosi scarabocchi "Flipper" e ti sei chiesto di cosa si tratta? Il tuo CISO è venuto da te in preda al panico chiedendoti di capire se gli utenti li stanno collegando alle loro postazioni di lavoro? Bene, sei nel posto giusto.

Ciao collega Blue Teamer. Hai sentito parlare di questi nuovi fantasiosi scarabocchi "Flipper" e ti sei chiesto di cosa si tratta? Il tuo CISO è venuto da te in preda al panico chiedendoti di capire se gli utenti li stanno collegando alle loro postazioni di lavoro? Bene, sei nel posto giusto.

Incontra... il Flipper Zero.

Se sei interessato a conoscere le loro capacità in modo più dettagliato, ti suggerisco di controllare il loro sito web . Ne ho uno e lo adoro; tuttavia, sono sicuro che come difensore informatico, ti starai chiedendo "Come posso rilevare se un utente sulla nostra rete sta cercando di usarne uno per hackerare il pianeta?" A questo dico: non hai cose migliori da fare? NO? Bene, ecco un paio di modi in cui puoi rilevare che questi sono collegati a un dispositivo Windows.

Il Flipper Zero ha molte modalità e moduli diversi che possono farlo apparire a Windows come una varietà di dispositivi diversi. Le due che tratteremo sono la modalità "predefinita", in cui un flipper è collegato senza eseguire un modulo, e la seconda è USB Remote AKA mouse jiggle.

Quando un Flipper Zero viene collegato tramite USB senza che venga eseguito un modulo specifico, lascia una firma davvero unica che può essere cercata nei tuoi registri. Dai nostri test, Flippers in questa modalità (al momento della stesura di questo documento) emulerà un VID STMicroelectronics di 0483 con un PID di 5740. Includerà anche il seriale del dispositivo univoco a livello globale come parte del DeviceID (ho offuscato il nostro nell'esempio sotto).

Ecco un esempio di comando PowerShell per visualizzare queste informazioni:

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

      
                

Queste informazioni vengono scritte anche nel registro di 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

Quando un Flipper Zero è connesso a Windows emulando un mouse (come il modulo jiggle del mouse), le cose diventano un po'... meno ovvie.

Opzioni di menu per collegare un Flipper Zero come mouse USB:

Quando è collegato a Windows utilizzando questo modulo, il Flipper emulerà il VID e il PID di un ricevitore USB Logitech Unifying, ovvero uno di questi ragazzacci.

Solo un problema: non visualizza un produttore come i normali ricevitori Logitech ! Inoltre fornisce solo una descrizione generica/predefinita. Nell'esempio seguente, ho sia un Flipper Zero in esecuzione come dispositivo di input USB, sia un ricevitore USB Logitech collegato a una macchina Windows.

((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.

Ancora una volta, se stai acquisendo questi dati in SIEM o EDR, ecco una query di esempio che abbiamo trovato che funziona in 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

La tua mossa, sfacciato delfino...