Um informático do lado do mal

A XI edição de RootedCON está aqui. Disse recentemente que é uma semana especial, cheia de muitas horas intensas entre formação e conversas, preparação, exposição, local de encontro com velhos e novos amigos. Este ano voltei para dar uma palestra, a que chamámos “Hacking the outside world through BLE BlueTooth Low-Energy”, desta vez em conjunto com o meu parceiro Alvaro Nuñez.
br>

/p>>>br>>p>p>Figure 1: Hacking Things with Bluetooth Low-Energy (BLE)br> O assunto da conversa foi BLE ou Bluetooth Low-Energy, no qual neste último ano trabalhámos e passámos horas. Uma das ferramentas onde o trabalho foi integrado foi a HomePWN. A conversa tinha uma estrutura e um objectivo claros. O objectivo era mostrar o que é o BLE, que o temos à nossa volta através de muitos dispositivos com os quais interagimos no nosso dia-a-dia, mostrar os precedentes na segurança BLE nos últimos anos, avaliar a segurança de tipos de dispositivos e mostrar ataques à tecnologia BLE e, finalmente, falar de fortificação pensando nas pessoas que concebem dispositivos e que necessitam de BLE nestes.

br>>>br>>>p>p>Figure 2: HomePWN on GitHub

br> Quisemos dar-lhe uma abordagem prática e também mostrar com que tipo de coisas temos estado a trabalhar, por isso fizemos uma demonstração prática e mostrámos o estranho, incluindo uma demonstração ao vivo.
Introdução ao BLE
Quisemos começar por dar os detalhes técnicos mais importantes do BLE para que todos pudessem compreender o seu funcionamento. Da forma mais simples e de modo a permitir-nos encaixar certas notícias ou certos ataques com os conceitos vistos na introdução. Conceitos como a explicação do porquê do BLE aparecer, o que contribui para a tecnologia sem fios, qual é o seu âmbito, ou seja, quais são os seus canais (37 dados e 3 anúncios), e assim por diante.

>br>>>br>>>p>p>p>Figure 3: 37 dados e 3 canais de publicidade em BLE>br>>>br>Além disso, a explicação de conceitos-chave como os seguintes:

  • Endereço de Acesso.
  • Como é realizado o salto de canal?
  • Mapa do Canal
  • Intervalo de Lúpulo
  • Incremento de Lúpulo
  • Tipos de Algoritmos de Lúpulo

Depois de explicar também os tipos de pacotes BLE ou tipos de cabeçalho, que indicam que tipo de pacote ‘publicitário’ temos em mãos, concentramo-nos no pacote do tipo CONNECT_REQ.

>br>>>br>>>p>p>p>Figure 4: Channel hopping in BLEbr>

>br>>>br> Na captura da figura abaixo pode ver-se como depois de capturar um destes pacotes, podemos ver os conceitos que tinham sido anteriormente apresentados, tanto graças à ferramenta Btlejack, como graças à Wireshark.

br>>>br>>p>p>p>Figure 5: Pacote BLE capturado com BTLEJack e visto com WireShark

br> O objectivo era dar uma breve introdução de dez minutos aos aspectos relevantes de um protocolo que está entre nós e que estamos a utilizar diariamente. Como comentei na sala, todos os que ali estão sentados, de uma forma ou de outra, estão a utilizar esta tecnologia diariamente.
Precedentes
Na parte dos precedentes em incidentes de segurança e vulnerabilidades foram discutidos diferentes casos:
ul>

  • Exemplos em gadgetbridge.
  • A pirataria de MiBand3 e MiBand4.
  • Caixas reais com rastreadores.

  • Figure 6: Hacking the pagers with BLE

    • BluedIoT, que já foi discutido no blog por Gerard Fuguet.
    • O caso da vulnerabilidade CVE-2019-12500 e a fechadura do motor de uma scooter.

    br>>p>p>Figure 7: O caso Xiaomi lockout deu a volta ao mundobr>

    No repositório CamiAlfa pode encontrar engenharia inversa sobre a scooter Xiaomi. Encontrámos algumas coisas curiosas, pois podemos ver um “não sei” sobre algumas acções que foram engendradas ao contrário.

    >br>>>p>br>>>br>>>p>p>Figure 8: Um “não sei” sobre a inversão da scooter Xiaomi>br>>>br>>>ul>>>li>Finalmente, Sweyntooth foi discutido. É uma família de 12 vulnerabilidades, que se encontra na implementação da BLE no SDK. Há uma série de vendedores afectados, como por exemplo: Texas Instruments, NXP, Cypress, Dialog Semiconductors, Microchip, STMicroelectronics e Telink Semiconductor./ul> Ataques ao BLE
    Na secção de avaliação da segurança, foi mostrada uma série de ataques, que foram discutidos e explicados:
    ul>ul>>li>Sniffing: Como técnica para capturar o que circula através do meio de partilha, neste caso, o ar.>ul>>li>Repetição: A técnica de repetição foi explicada com uma imagem do gattack.io, que mostra claramente o que é uma repetição. Foi enfatizado que o carro não é o melhor exemplo para o BLE, mas um bom exemplo da acção de replay.>br>

    br>>>p>p>Figure 9: BLE Replay Attacks to open carsbr>>>br>>ul>>ul>>>ul>

  • Hijacking: É o sequestro de uma ligação existente. Faz uso do endereço de acesso e do tempo limite para conseguir o sequestro da ligação. Na imagem seguinte pode ver o esquema do ataque:
  • br>>p>>p>p>p>p>Figure 10: Esquema de um ataque de Hijacking BLEbr> No vídeo seguinte pode ver um hijacking com Btlejack. O ataque responde ao esquema acima referido e pode desviar a ligação graças ao conhecimento do endereço de acesso.

    Figure 11: PoC of Hijacking BLE Sessions
    • Jamming: O conceito de Jamming abrange a interferência de sinal ou a geração de ruído com o objectivo de que o sinal original não chegue ao receptor. Isto não acontece com a aplicação btlejack, que utiliza mais um esquema de sequestro, sem sequestrar a ligação, mas faz com que a comunicação se perca.
      li>MITM: Na imagem de gattack.io podemos ver um exemplo claro e simples de um MITM. Não é necessária muita descrição sobre um MITM hoje em dia. O esquema é simples: descoberta do dispositivo da vítima. Ligação ao dispositivo da vítima para que não seja mais anunciado. Anuncie o mesmo dispositivo e redireccione os dados quando tiver uma nova ligação.

    >br>

    br>>>br>>>p>p>p>Figure 12: Exemplo de ataque MITM BLE a partir de gattack.io>br>>>br>>>ul>>>li>Attacks sobre encriptação: Por vezes as comunicações são encriptadas. Mostramos como realizar um ataque a uma captura encriptada quando são dadas certas condições. A ferramenta utilizada foi CrackLE.

    Figure 13 Crackle Demo para decifrar tráfego BLE encriptado

    Queremos agradecer a todas as pessoas que vieram ver a palestra no sábado às 10.00 da manhã e encheram a sala. Só podemos dizer:
    Obrigado.
    Autor: Pablo González Pérez (@pablogonzalezpe), autor dos livros “Metasploit for Pentesters”, “Hacking with Metasploit: Advanced Pentesting” “Hacking Windows”, “Ethical Hacking”, “Got Root”, “Pentesting with Powershell” e “Empire: Advanced Hacking in the Red Team”, Microsoft MVP in Security and Security Researcher in the “Crazy Ideas” team of Telefonica CDCO unit.Para questões pode utilizar a Caixa de Correio Pública para contactar Pablo González
    p>br>>>br>>>p>p>Figure 14: Contactar Pablo Gonzálezbr>>br>

    Deixe uma resposta

    O seu endereço de email não será publicado. Campos obrigatórios marcados com *