Забытый IoT как способ попасть в сеть.

IoT штука удобная. Включать свет, двигать шторы, перекрывать воду и многое другое можно делать с телефона. Красота.
Разумеется, заботливые производители привязывают свои железки к своим облачным сервисам, а неблагодарные пользователи не хотят и прошивают купленные на свои кровные устройства кастомными прошивками.
Но, разумеется, и это перекрывает не все проблемы.

При наличии физического доступа к устройству можно извлечь имя точки доступа и пароль.
Рассмотрим на примере проекта WLED на ESP8266.
Нам потребуются:

  1. Сам ESP8266
  2. Программатор USB-UART (в моём случае будет Flipper Zero)
  3. 4 соединительных провода
  4. макетная плата (опционально)
  5. esptool https://github.com/espressif/esptool и pyserial https://github.com/pyserial/pyserial (не обязательно он, мне так удобней смотреть порт USB-UART)

Подключаемся:

  1. Подпаиваемся или ставим на макетку наш ESP8266.
  2. Подключаем USB-UART
  3. Проверяем, что порт на месте
1
2
3
4
5
pyserial-ports -v
/dev/ttyACM0        
    desc: Flippername
    hwid: USB VID:PID=0333:4542 SER=flip_flippername LOCATION=1-1:1.0
1 ports found
  1. Переводим плату в режим прошивки. Для этого нажимаем и удерживаем кнопку FLASH, нажимаем кнопку RST и отпускаем. После перезагрузки диод гореть не должен.
  2. Опрашиваем ESP для проверки корректности работы:
1
esptool --baud 115200 --chip esp8266 --port /dev/ttyACM0 chip_id 

Если всё сделано верно, мы получим информацию о плате.

  1. Дампим прошивку:
1
esptool --baud 115200 --port /dev/ttyACM0 read_flash 0x00000 0x400000 flash2_4M.bin 
  1. По окончанию загрузки нам потребуется простой советский просто посмотреть строки в файле:
1
2
strings flash2_4M.bin | grep "psk"
strings flash2_4M.bin | grep "ssid"

И мы получаем имя точки доступа и пароль.

Да, я не могу назвать это каким-то сложным и полезным ресёрчем, но это показывает, что умные реле, лампочки и прочий IoT хранит пароли в открытом виде.
Для полноты картины надо будет проверить на других устройствах с родными прошивками, но тут уж как получится.

И не забывайте, s in IoT stands for security.

0%