ESP32 기반 스마트홈 기기의 리버스 엔지니어링: 원격 제어 및 Home Assistant 통합
2025-04-15
저자는 모든 기기를 Home Assistant에 연결하는 데 매료되어 자체 전용 앱으로만 제어 가능한 세련된 공기 청정기에 도전했습니다. 원활한 자동화를 달성하기 위해 ESP32 기반 기기의 리버스 엔지니어링을 수행했습니다. 앱 분석을 통해 클라우드 서버에 대한 WebSocket 연결이 드러났습니다. 네트워크 트래픽을 가로채고 UDP 프록시를 사용하여 클라우드 서버로 전달함으로써 UDP 패킷을 캡처했습니다. 이러한 패킷은 암호화되었습니다. 기기를 분해하여 ESP32-WROOM-32D 마이크로컨트롤러를 확인하고 esptool을 사용하여 펌웨어를 추출했습니다. 분석 결과 암호화에 mbedtls 라이브러리가 사용되었으며, AES-128-CBC가 알고리즘으로 식별되었습니다. 마지막으로, MITM(Man-in-the-Middle) 공격을 수행하고 기기를 Home Assistant에 통합하기 위한 Node.js 스크립트를 작성했습니다.
개발