# Bluetooth

### **📋 Índice**

1. O que é Bluetooth?
2. Como Funciona
3. Versões do Bluetooth
4. Perfis Bluetooth
5. Principais Ataques Bluetooth
6. Ferramentas de Ataque
7. Como se Proteger
8. Glossário Bluetooth

***

### 🔍 **O que é Bluetooth?**

#### **Definição Simples**

**Bluetooth** é uma tecnologia de comunicação sem fio de curto alcance que permite conectar dispositivos eletrônicos entre si sem cabos. Foi criada para substituir cabos e simplificar a comunicação entre dispositivos próximos.

#### **Analogia para Entender**

```yaml
Imagine uma conversa em uma festa:
  🗣️ VOCÊ: é seu celular
  🎧 AMIGO: é seu fone de ouvido
  🗣️ CONVERSA: é o Bluetooth
  📏 DISTÂNCIA: 10 metros (alcance)

Como é diferente do Wi-Fi:
  Wi-Fi: é como um professor falando com a sala toda
  Bluetooth: é como uma conversa particular entre duas pessoas
```

#### **Onde o Bluetooth está presente?**

```yaml
📱 NO SEU DIA A DIA:
  - Fones de ouvido sem fio
  - Caixas de som portáteis
  - Relógios inteligentes
  - Pulseiras de atividade
  - Controles de videogame
  - Teclados e mouses
  - Carros (mãos livres)
  - Impressoras

🏥 EM AMBIENTES ESPECÍFICOS:
  - Monitores de frequência cardíaca
  - Aparelhos auditivos
  - Bombas de insulina
  - Cadeiras de rodas motorizadas

🏢 CORPORATIVO:
  - Etiquetas de rastreamento
  - Sensores de temperatura
  - Fechaduras inteligentes
  - Beacons de proximidade
```

***

### ⚙️ **Como Funciona**

#### **Comunicação Bluetooth**

```mermaid
sequenceDiagram
    participant D1 as Dispositivo 1<br/>(Master)
    participant D2 as Dispositivo 2<br/>(Slave)

    Note over D1,D2: 1. DESCOBERTA
    D1->>D2: Inquiry (Quem está aí?)
    D2-->>D1: Inquiry Response (Estou aqui!)

    Note over D1,D2: 2. PAGING (CONEXÃO)
    D1->>D2: Page (Vamos conectar?)
    D2-->>D1: Page Response (Sim!)

    Note over D1,D2: 3. PAIRING (VINCULAÇÃO)
    D1->>D2: Troca de chaves
    D2-->>D1: Chave vinculada

    Note over D1,D2: 4. CONEXÃO ESTABELECIDA
    D1->>D2: Dados criptografados
    D2-->>D1: Dados criptografados
```

#### **Passo a Passo Simplificado**

```yaml
1️⃣ DESCOBERTA (DISCOVERY):
   - Dispositivo pergunta: "Alguém aí?"
   - Outros respondem: "Eu estou aqui!"
   - Isso é o que você vê quando procura dispositivos

2️⃣ VINCULAÇÃO (PAIRING):
   - Dispositivos trocam chaves secretas
   - Você confirma o código na tela
   - É o "casamento" entre os dispositivos

3️⃣ CONEXÃO (CONNECTION):
   - Dispositivo principal (Master) controla
   - Outros (Slaves) obedecem
   - Dados trafegam criptografados

4️⃣ COMUNICAÇÃO:
   - Dados são enviados em pacotes
   - Salta entre 79 canais (1600x por segundo)
   - Se um canal está ruim, troca de canal
```

#### **Alcance Bluetooth**

```mermaid
graph LR
    A[Classe 3<br/>1mW<br/>1 metro] --> B[Classe 2<br/>2.5mW<br/>10 metros]
    B --> C[Classe 1<br/>100mW<br/>100 metros]
```

| Classe       | Potência | Alcance    | Uso Típico              |
| ------------ | -------- | ---------- | ----------------------- |
| **Classe 3** | 1 mW     | 1 metro    | Fones pequenos          |
| **Classe 2** | 2.5 mW   | 10 metros  | Celulares, fones comuns |
| **Classe 1** | 100 mW   | 100 metros | Adaptadores industriais |

***

### 📊 **Versões do Bluetooth**

#### **Evolução das Versões**

```mermaid
timeline
    title Evolução do Bluetooth
    1999 : Bluetooth 1.0<br/>Velocidade: 1 Mbps
    2004 : Bluetooth 2.0 + EDR<br/>Velocidade: 3 Mbps
    2009 : Bluetooth 3.0 + HS<br/>Velocidade: 24 Mbps
    2010 : Bluetooth 4.0 (BLE)<br/>Baixa energia
    2016 : Bluetooth 5.0<br/>Alcance: 240m
    2021 : Bluetooth 5.3<br/>Eficiência
    2024 : Bluetooth 5.4<br/>Broadcast avançado
```

#### **Comparação entre Versões**

| Versão        | Velocidade | Alcance | BLE | Principal Melhoria  |
| ------------- | ---------- | ------- | --- | ------------------- |
| **1.0**       | 1 Mbps     | 10m     | ❌   | Primeira versão     |
| **2.0 + EDR** | 3 Mbps     | 10m     | ❌   | + velocidade        |
| **3.0 + HS**  | 24 Mbps    | 10m     | ❌   | Wi-Fi para dados    |
| **4.0 (BLE)** | 1 Mbps     | 50m     | ✅   | Baixa energia       |
| **4.2**       | 1 Mbps     | 50m     | ✅   | Privacidade         |
| **5.0**       | 2 Mbps     | 240m    | ✅   | Alcance, velocidade |
| **5.1**       | 2 Mbps     | 240m    | ✅   | Direção (AoA/AoD)   |
| **5.2**       | 2 Mbps     | 240m    | ✅   | LE Audio            |
| **5.3**       | 2 Mbps     | 240m    | ✅   | Eficiência          |

#### **Bluetooth Clássico vs BLE (Low Energy)**

```yaml
🔵 BLUETOOTH CLÁSSICO (BR/EDR):
  ✅ Prós:
    - Alta velocidade (até 3 Mbps)
    - Streaming de áudio
    - Baixa latência
    - Perfis ricos (A2DP, HSP, HFP)

  ❌ Contras:
    - Consome muita bateria
    - Alcance menor
    - Emparelhamento mais lento

🟢 BLUETOOTH LE (LOW ENERGY):
  ✅ Prós:
    - Consumo ultrabaixo (bateria dura anos)
    - Alcance maior
    - Conexão instantânea
    - Ideal para sensores

  ❌ Contras:
    - Velocidade mais baixa (1-2 Mbps)
    - Não serve para áudio (antes do 5.2)
    - Menos perfis disponíveis
```

***

### 📁 **Perfis Bluetooth**

#### **O que são Perfis?**

```yaml
Perfil Bluetooth é como um "idioma" que dispositivos falam:
  - Define o que podem fazer
  - Garante compatibilidade
  - Ex: Perfil de áudio, Perfil de teclado
```

#### **Perfis Comuns**

| Perfil   | Nome                        | O que faz             | Uso                  |
| -------- | --------------------------- | --------------------- | -------------------- |
| **A2DP** | Advanced Audio Distribution | Streaming de música   | Fones, caixas de som |
| **HFP**  | Hands-Free Profile          | Chamadas viva-voz     | Carros, headsets     |
| **HSP**  | Headset Profile             | Áudio básico          | Fones simples        |
| **HID**  | Human Interface Device      | Teclados, mouses      | Periféricos          |
| **GATT** | Generic Attribute           | Dados de sensores     | Wearables, IoT       |
| **PAN**  | Personal Area Network       | Compartilhar internet | Tethering            |
| **OBEX** | Object Exchange             | Transferir arquivos   | Contatos, fotos      |
| **SPP**  | Serial Port Profile         | Comunicação serial    | Arduino, robótica    |

***

### ⚔️ **Principais Ataques Bluetooth**

#### **Matriz de Ataques**

```mermaid
graph TD
    A[Ataques Bluetooth] --> B[Espionagem]
    A --> C[Interceptação]
    A --> D[Injeção]
    A --> E[Negociação]
    A --> F[Clonagem]
    
    B --> B1[Bluejacking]
    B --> B2[Bluesnarfing]
    B --> B3[Bluebugging]
    
    C --> C1[Man-in-the-Middle]
    C --> C2[KNOB Attack]
    
    D --> D1[Blueborne]
    D --> D2[BIAS Attack]
    
    E --> E1[BR/EDR Downgrade]
    E --> E2[Just Works Bypass]
    
    F --> F1[Clonagem de MAC]
    F --> F2[Impersonação]
```

#### **Ataque 1: Bluejacking**

```yaml
🎯 O QUE É:
  - Envio de mensagens não solicitadas via Bluetooth
  - Versão Bluetooth do "spam" por SMS

🔴 COMO FUNCIONA:
  1. Atacante envia cartão de contato (vCard)
  2. Mensagem aparece na tela da vítima
  3. Não há execução de código

💥 IMPACTO:
  - Spam
  - Phishing
  - Aborrecimento

🛡️ EXEMPLO REAL:
  - Shopping center
  - Atacante envia "Você ganhou um desconto!"
  - Link leva para site falso
  - Vítima insere dados do cartão

⚠️ GRAVIDADE: BAIXA (apenas incômodo)
```

#### **Ataque 2: Bluesnarfing**

```yaml
🎯 O QUE É:
  - Roubo de informações do dispositivo via Bluetooth
  - Acessa agenda, SMS, fotos sem autorização

🔴 COMO FUNCIONA:
  1. Atacante explora falha OBEX Push
  2. Conecta sem pareamento
  3. Baixa agenda, SMS, fotos

💥 IMPACTO:
  - Roubo de contatos
  - Vazamento de SMS
  - Exposição de fotos
  - Roubo de credenciais

🛡️ EXEMPLO REAL:
  - Celular Nokia antigo (2003-2004)
  - Atacante em ônibus
  - Baixa agenda completa
  - Vende contatos para spammers

⚠️ GRAVIDADE: ALTA (roubo de dados)
```

#### **Ataque 3: Bluebugging**

```yaml
🎯 O QUE É:
  - Controle remoto do dispositivo via Bluetooth
  - Mais perigoso que bluesnarfing

🔴 COMO FUNCIONA:
  1. Atacante explora falha de autenticação
  2. Conecta como dispositivo confiável
  3. Executa comandos AT
  4. Faz ligações, envia SMS, acessa internet

💥 IMPACTO:
  - Fazer ligações (conta da vítima)
  - Enviar SMS premium
  - Acessar internet
  - Ouvir conversas (microfone)

🛡️ EXEMPLO REAL:
  - Celular Sony Ericsson (2004)
  - Atacante liga para número 0900
  - Vítima paga ligação internacional
  - Atacante ouve ambiente pelo microfone

⚠️ GRAVIDADE: CRÍTICA (controle remoto)
```

#### **Ataque 4: Blueborne**

```yaml
🎯 O QUE É:
  - Ataque que não requer pareamento
  - Explora pilha Bluetooth do sistema

🔴 COMO FUNCIONA:
  1. Atacante envia pacote malicioso
  2. Causa buffer overflow no driver
  3. Executa código remotamente
  4. Toma controle do dispositivo

💥 IMPACTO:
  - Execução remota de código
  - Controle total do dispositivo
  - Espalha para dispositivos próximos

🛡️ EXEMPLO REAL:
  - Descoberto em 2017
  - Afetou Android, iOS, Windows, Linux
  - 5.3 bilhões de dispositivos vulneráveis
  - Corrigido em patches de segurança

⚠️ GRAVIDADE: CRÍTICA (worm-like)
```

#### **Ataque 5: KNOB Attack (Key Negotiation of Bluetooth)**

```yaml
🎯 O QUE É:
  - Força chave de criptografia fraca
  - CVE-2019-9506

🔴 COMO FUNCIONA:
  1. Atacante intercepta negociação
  2. Força uso de chave de 1 byte
  3. Quebra chave por força bruta
  4. Decifra toda comunicação

💥 IMPACTO:
  - Decifragem de tráfego
  - Injeção de pacotes
  - Man-in-the-Middle

🛡️ EXEMPLO REAL:
  - Atacante em sala de reunião
  - Escuta conversa de executivos
  - Rouba segredos comerciais

⚠️ GRAVIDADE: ALTA (quebra criptografia)
```

#### **Ataque 6: BIAS Attack (Bluetooth Impersonation AttackS)**

```yaml
🎯 O QUE É:
  - Impersonação durante pareamento
  - CVE-2020-10135

🔴 COMO FUNCIONA:
  1. Atacante se passa por dispositivo já pareado
  2. Explora falha no protocolo de pareamento
  3. Bypass autenticação
  4. Conecta sem saber a chave

💥 IMPACTO:
  - Conexão não autorizada
  - Acesso a dados
  - Man-in-the-Middle

🛡️ EXEMPLO REAL:
  - Fone Bluetooth em academia
  - Atacante se conecta
  - Escuta música da vítima
  - Injeta áudio malicioso

⚠️ GRAVIDADE: ALTA (impersonação)
```

#### **Resumo dos Ataques**

| Ataque           | Ano  | Requer Pareamento | Alcance | Risco      |
| ---------------- | ---- | ----------------- | ------- | ---------- |
| **Bluejacking**  | 2003 | Não               | 10m     | 🟡 Baixo   |
| **Bluesnarfing** | 2003 | Não               | 10m     | 🟠 Alto    |
| **Bluebugging**  | 2004 | Não               | 10m     | 🔴 Crítico |
| **Blueborne**    | 2017 | Não               | 100m    | 🔴 Crítico |
| **KNOB**         | 2019 | Sim               | 10m     | 🟠 Alto    |
| **BIAS**         | 2020 | Sim               | 10m     | 🟠 Alto    |

***

### 🛠️ **Ferramentas de Ataque**

#### **Hardware Necessário**

```yaml
📡 DONGLE BLUETOOTH:
  - CSR 4.0 (R$ 50): Básico, monitoramento
  - Cambridge Silicon Radio (R$ 100): Injeção de pacotes
  - Ubertooth One (R$ 500): Análise avançada
  - nRF52840 Dongle (R$ 300): BLE específico

🖥️ COMPUTADOR:
  - Raspberry Pi (R$ 300): Portátil, remoto
  - Laptop com Linux: Drivers nativos
  - VM com USB passthrough

📱 CELULAR:
  - Android com Bluetooth debug
  - Apps de análise RF
```

#### **Software Comum**

```bash
#!/bin/bash
# Ferramentas Bluetooth para Linux

echo "=== FERRAMENTAS BLUETOOTH ==="

# 1. Suite BlueZ (nativa do Linux)
echo -e "\n[1] BlueZ - Ferramentas básicas:"
echo "  hcitool scan      # Escaneia dispositivos"
echo "  hcitool name <MAC> # Obtém nome"
echo "  hcitool info <MAC> # Informações do dispositivo"
echo "  l2ping <MAC>       # Ping Bluetooth"

# 2. Bettercap
echo -e "\n[2] Bettercap - Suite de ataque:"
echo "  bettercap -eval 'set bluetooth.device hci0; bluetooth.recon on'"

# 3. Spooftooph
echo -e "\n[3] Spooftooph - Clonagem:"
echo "  spooftooph -i hci0 -s  # Escaneia"
echo "  spooftooph -i hci0 -c  # Clona dispositivo"

# 4. GATT Tool (BLE)
echo -e "\n[4] GATT Tool - BLE:"
echo "  gatttool -b <MAC> -I   # Interface interativa"
echo "  gatttool -b <MAC> --characteristics"

# 5. Wireshark + plugin Bluetooth
echo -e "\n[5] Wireshark:"
echo "  wireshark -k -i btmon"
```

#### **Ferramentas Específicas**

```yaml
🔍 DESCOBERTA:
  - hcitool: Escaneamento básico
  - l2ping: Verifica se dispositivo está ativo
  - btmon: Monitora tráfego
  - hcidump: Captura pacotes (legado)

💣 ATAQUE:
  - L2CAP DoS: Derruba conexão
  - bluez-tools: Suite completa
  - BtleJack: Injeção em BLE
  - Crackle: Quebra criptografia BLE

🔐 TESTE:
  - InternalBlue: Framework pesquisa
  - Bluetooth Vulnerability Scanner
  - BtleJuice: Proxy BLE
```

#### **Script de Escaneamento Rápido**

```bash
#!/bin/bash
# scan_bluetooth.sh - Scanner Bluetooth simples

echo "=== SCANNER BLUETOOTH ==="
echo "Iniciando escaneamento por 30 segundos..."

# 1. Ativar interface
sudo hciconfig hci0 up
sudo hciconfig hci0 piscan

# 2. Escaneamento
echo -e "\n[1] Dispositivos visíveis:"
sudo hcitool scan | tail -n +2

# 3. Escaneamento completo (inclui não-visíveis)
echo -e "\n[2] Escaneamento completo (30s):"
sudo timeout 30 hcitool inq

# 4. Dispositivos pareados
echo -e "\n[3] Dispositivos pareados:"
bt-device -l

# 5. Serviços disponíveis
echo -e "\n[4] Serviços disponíveis:"
sdptool browse local
```

***

### 🛡️ **Como se Proteger**

#### **Configurações Recomendadas**

```yaml
📱 CELULAR (Android/iOS):
  ✅ Desative Bluetooth quando não usar
  ✅ Deixe dispositivo "não visível"
  ✅ Não aceite arquivos de desconhecidos
  ✅ Atualize sistema regularmente
  ✅ Revise dispositivos pareados
  ✅ Desative Bluetooth em locais públicos

💻 COMPUTADOR (Windows/Linux/macOS):
  ✅ Desative descoberta
  ✅ Remova dispositivos não usados
  ✅ Use teclados/mouses com criptografia
  ✅ Desative Bluetooth no BIOS se não usa

🔌 DISPOSITIVOS IoT:
  ✅ Mude senhas padrão
  ✅ Atualize firmware
  ✅ Desative quando não usar
  ✅ Use pareamento com código

🚗 CARRO:
  ✅ Remova celulares antigos do sistema
  ✅ Não deixe Bluetooth ligado com carro estacionado
  ✅ Verifique quem está pareado
```

#### **Proteções por Versão**

| Versão      | Proteções     | Vulnerabilidades Remanescentes |
| ----------- | ------------- | ------------------------------ |
| **1.x**     | ❌ Nenhuma     | Todas as vulnerabilidades      |
| **2.x**     | ⚠️ Básica     | Bluesnarfing, Bluebugging      |
| **3.x**     | ⚠️ Moderada   | KNOB, BIAS                     |
| **4.0-4.1** | ✅ BLE Secure  | Blueborne (corrigido)          |
| **4.2**     | ✅ Privacidade | KNOB (corrigido em patch)      |
| **5.x**     | ✅ Avançada    | BIAS (corrigido em patch)      |

#### **Verificação de Segurança**

```bash
#!/bin/bash
# check_bluetooth_security.sh - Verifica segurança Bluetooth

echo "=== VERIFICADOR DE SEGURANÇA BLUETOOTH ==="

# 1. Versão do Bluetooth
echo -e "\n[1] Versão do adaptador:"
hciconfig hci0 version

# 2. Modo de segurança
echo -e "\n[2] Modo de segurança:"
hciconfig hci0 | grep -i "security"

# 3. Dispositivos pareados
echo -e "\n[3] Dispositivos pareados:"
bluetoothctl devices

# 4. Serviços expostos
echo -e "\n[4] Serviços expostos:"
sdptool browse local | grep "Service Name"

# 5. Visibilidade
echo -e "\n[5] Status de visibilidade:"
hciconfig hci0 | grep -i "scan"
```

#### **Dicas de Segurança Avançada**

```yaml
🔐 PARA USUÁRIOS COMUNS:
  ✅ Mantenha Bluetooth DESLIGADO quando não usar
  ✅ Aceite pareamento APENAS de dispositivos conhecidos
  ✅ Nunca aceite arquivos de estranhos
  ✅ Atualize celular/computador regularmente

🛡️ PARA USUÁRIOS AVANÇADOS:
  ✅ Use dispositivos com Bluetooth 4.2+
  ✅ Verifique se patches de segurança estão aplicados
  ✅ Monitore tentativas de conexão
  ✅ Use VPN mesmo em Bluetooth (dados sensíveis)

🏢 PARA EMPRESAS:
  ✅ Política de desligamento de Bluetooth
  ✅ Detectores de dispositivo Bluetooth
  ✅ Treinamento de segurança
  ✅ Auditoria regular de dispositivos pareados
```

***

### 📚 **Glossário Bluetooth**

| Termo                  | Significado                                        |
| ---------------------- | -------------------------------------------------- |
| **BR/EDR**             | Basic Rate/Enhanced Data Rate - Bluetooth clássico |
| **BLE**                | Bluetooth Low Energy - Baixa energia               |
| **Pairing**            | Vinculação entre dispositivos                      |
| **Bonding**            | Armazenamento da chave para conexões futuras       |
| **Inquiry**            | Processo de descoberta de dispositivos             |
| **Paging**             | Processo de estabelecimento de conexão             |
| **Piconet**            | Rede de até 8 dispositivos Bluetooth               |
| **Scatternet**         | Múltiplas piconets interconectadas                 |
| **L2CAP**              | Logical Link Control and Adaptation Protocol       |
| **GATT**               | Generic Attribute Profile (para BLE)               |
| **ATT**                | Attribute Protocol                                 |
| **SMP**                | Security Manager Protocol                          |
| **OOB**                | Out of Band (pareamento via NFC, QR Code)          |
| **Just Works**         | Pareamento sem confirmação                         |
| **Passkey Entry**      | Pareamento com código numérico                     |
| **Numeric Comparison** | Pareamento com comparação de números               |

***

### 📖 **Quer aprender mais?**

#### **Recursos Recomendados**

```yaml
📚 LIVROS:
  - "Bluetooth Security" - Christian Gehrmann
  - "Guide to Bluetooth Security" - NIST
  - "Bluetooth Low Energy" - Robin Heydon

🎓 CURSOS ONLINE:
  - Bluetooth Low Energy (BLE) 101 (YouTube)
  - Bluetooth Security Workshop (YouTube)
  - Hackaday: Bluetooth Hacking

🔧 PROJETOS PRÁTICOS:
  - Construa um scanner Bluetooth com Raspberry Pi
  - Detecte dispositivos Bluetooth no seu bairro
  - Analise tráfego do seu fone Bluetooth

🌐 COMUNIDADES:
  - r/Bluetooth (Reddit)
  - r/hacking (Reddit)
  - Bluetooth SIG (bluetooth.com)
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://0xmorte.gitbook.io/bibliadopentestbr/tecnicas/hardware/radio-frequencia/bluetooth.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
