Encontrando Flipper (Zero)
Olá colega Blue Teamer. Você já ouviu falar desses novos enfeites sofisticados de 'Flipper' e se perguntou sobre o que é todo esse hype? Seu CISO entrou em pânico e pediu para descobrir se os usuários estão conectando-os em suas estações de trabalho? Bem, você veio ao lugar certo.
Conheça… o Flipper Zero.
Se você estiver interessado em aprender sobre seus recursos com mais detalhes, sugiro verificar o site deles . Eu tenho uma e a amo; no entanto, como defensor cibernético, tenho certeza de que você deve estar se perguntando “Como posso detectar se um usuário em nossa rede está tentando usar uma para hackear o planeta?” A isso eu digo - você não tem coisas melhores para fazer? Não? Bem, aqui estão algumas maneiras de detectar que eles estão conectados a um dispositivo Windows.
O Flipper Zero tem muitos modos e módulos diferentes que podem fazê-lo aparecer no Windows como uma variedade de dispositivos diferentes. Os dois que vamos abordar são o modo “padrão”, onde um flipper é conectado sem executar um módulo, e o segundo é o jiggle do mouse USB Remote AKA.
Quando um Flipper Zero é conectado via USB sem um módulo específico sendo executado, ele deixa para trás uma assinatura única que pode ser procurada em seus logs. De nossos testes, Flippers neste modo (no momento em que este livro foi escrito) emulará um STMicroelectronics VID de 0483 com um PID de 5740. Ele também incluirá o serial do dispositivo globalmente exclusivo como parte do DeviceID (desfoquei o nosso no exemplo abaixo).
Aqui está um exemplo de comando do PowerShell para exibir essas informações:
Get-CimInstance -Class win32_PnpSignedDriver `
| Select-Object Description, DeviceClass, DeviceID, DeviceName, Manufacturer `
| Select-String Flip
Essas informações também são gravadas no registro do 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 um Flipper Zero é conectado ao Windows emulando um mouse (como o módulo mouse jiggle), as coisas ficam um pouco... menos óbvias.
Opções de menu para conectar um Flipper Zero como um mouse USB:
Quando conectado ao Windows usando este módulo, o Flipper irá emular o VID e PID de um Logitech Unifying USB Receiver - também conhecido como um desses bad boys.
Apenas um problema: ele não exibe um fabricante como os receptores Logitech normais ! Ele também fornece apenas uma descrição genérica/padrão. No exemplo abaixo, tenho um Flipper Zero funcionando como um dispositivo de entrada USB e um receptor Logitech USB conectado a uma máquina 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.
Novamente, se você estiver capturando esses dados em SIEM ou EDR, aqui está um exemplo de consulta que encontramos que funciona no 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





































![O que é uma lista vinculada, afinal? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)