Back to Work
IoT SecurityIoT & Mobile SecurityMarch 2025

IoT Penetration Test - Amazon Echo Dot (2nd Gen)

Full IoT pentest covering network, mobile app, hardware and firmware analysis

FridaBurp SuiteARP SpoofingWiresharkParabenNmapEttercap

Overview

This penetration test was conducted on the Amazon Echo Dot (2nd Generation) as part of an academic engagement at the University of Birmingham. The assessment covered network security, mobile application security, device storage, and hardware tamper resistance which is based on NIST SP 800-115, OWASP Testing Guide v4, and customised testing frameworks. The engagement timeline ran from 27th February 2025 to 13th March 2025, conducted by a five-person team. The scope included communication channels, the Amazon Alexa Android application, and hardware and firmware analysis. Overall, the device demonstrated strong security practices in encrypted communications, session management, and hardware protection. However, several areas were identified for improvement.

Methodology

01

Planning

Gathered objectives and defined scope. Established rules of engagement including authorised testing parameters and communication protocols.

02

Discovery

Performed reconnaissance, Nmap TCP and UDP scanning, and enumeration. Identified open ports: TCP 1080 (socks), 8888 (sun-answerbook), UDP 1080 (socks), 5353 (zeroconf/mDNS). Collected information on services, software versions, and network behaviour.

03

Attack

Validated vulnerabilities through exploitation. Conducted UDP flood on port 5353 (successful DoS), ARP spoofing MITM via Ettercap, SSL pinning bypass on the Alexa Android app using Frida, APK decompilation with APKTool to discover hardcoded API keys, and device storage forensics using Paraben.

04

Reporting

Documented all findings including confirmed vulnerabilities, exploitation results, failed attempts, and company strengths. Provided actionable recommendations mapped to CVSS v3 scores.

Findings

Medium

DoS via UDP Flood on Port 5353

Port 5353 (UDP/mDNS) was vulnerable to flooding. Using hping3 (hping3 -2 --flood -p 5353 192.168.0.30), the device became unresponsive under high-volume UDP traffic. TCP SYN flood on ports 1080 and 8888 was unsuccessful, indicating effective TCP DoS mitigation. CVSS: 6.2.

Medium

Hardcoded API Keys in Android Manifest

APK decompilation with APKTool revealed an API key hardcoded in the AndroidManifest.xml file. Forensic analysis using Paraben also identified encryption keys for local SQLite database and delegate token storage in local storage. CVSS: 4.3.

Low

Vulnerable JavaScript Dependency

The Alexa app used jQuery 3.4.1, which has known CVEs including Prototype Pollution (CVE-2020-11022, CVE-2020-11023). Could allow XSS or unintended code execution if user-controlled input is processed insecurely. Remediation: update to jQuery 3.7.1.

Low

Clickjacking Vulnerability

The Amazon Alexa web interface lacked X-Frame-Options and CSP frame-ancestors headers, allowing the page to be embedded in a malicious iframe. Demonstrated via a proof-of-concept HTML page embedding the Amazon sign-in endpoint. CVSS: 3.1.

Info

ARP Spoofing / MITM via Ettercap

Successfully performed ARP spoofing between the Echo Dot and the router using Ettercap. Traffic was intercepted and analysed in Wireshark. However, all communications were encrypted with TLS 1.2, preventing extraction of meaningful data.

Info

SSL Pinning Bypass via Frida

SSL pinning on the Alexa Android app (com.amazon.dee.app) was bypassed using Frida with the universal SSL pinning bypass script from CodeShare. Traffic was subsequently intercepted via Burp Suite. API endpoints were found to be well-secured with proper token handling.

Info

Device Teardown and SoC Tamper Resistance

Physical disassembly of the Echo Dot was performed. Most components were accessible, but the System on Chip (SoC) was securely glued to the board, preventing hardware-level attacks without specialised tools. Specs observed: 64-bit Quad-Core MediaTek, 512MB LPDDR3 RAM, 4GB NAND Flash, WiFi 802.11a/b/g/n, Bluetooth 4.0.

Info

Alexa Voice Processing and Data Flow Analysis

Mapped the full data flow: voice input captured by the 7-microphone array, sent to AWS for NLP processing, routed to local device, third-party services (Spotify, Google, weather APIs), or AWS Cloud depending on command type. Response delivered via AWS TTS.

Tools Used

Nmaphping3EttercapWiresharkFridaBurp SuiteAPKToolParabenScapy

Remediation

  • Implement rate limiting on UDP port 5353 to prevent flood attacks; configure iptables to drop excessive UDP requests
  • Remove hardcoded API keys from the Manifest file; use secure backend key management or Android Keystore
  • Store encryption keys using Android Keystore, Secure Enclave, or AWS Secrets Manager rather than local storage
  • Update jQuery to 3.7.1 or the latest stable version
  • Set X-Frame-Options: DENY and Content-Security-Policy: frame-ancestors 'none' headers to prevent clickjacking
  • Strengthen certificate pinning with backup pins and anti-tampering controls

References

  • [1]NIST SP 800-115 - Technical Guide to Information Security Testing and Assessment
  • [2]OWASP Testing Guide v4
  • [3]CVE-2020-11022, CVE-2020-11023 - jQuery Prototype Pollution
  • [4]CVE-1999-0103 - UDP Flooding
  • [5]CVE-1999-0667 - ARP Spoofing