Секьюрити от узкоглазых
Feb. 22nd, 2026 03:25 pmНа этом месте мне первым делом вспомнилась отвязная тусовка пылесосов из "Очень страшного кино 5".
А вторым делом - подумалось "тоже мне, открыли Америку, блин, совместно с биномом Ньютона..."
Ибо с полгода назад я купил себе в домашнюю лабу вот такую пепяку:

Тоже, разумеется, творение сумрачного узкоплёночного гения. Купилось в подмогу имевшимся UPS-ам: не то чтобы у нас в деревне часто бывали перебои с липистричеством (тьфу-тьфу, за пять лет не более семи-восьми раз, самый длительный блэкаут на три часа) - но дополнительные пять часов гарантированного электропитания ещё никому нигде не жали. И тем более, что покупалось с ну ооочень приличным дискаунтом.
Сама батарейка вроде ничо, но вот еённая прикладуха для мониторинга и управления - как водится, глокая куздра, смастерённая кетайскими (если не вообще копчоными) ублюдками на коленке, за чашку риса. То работает через WiFi, то отваливается, тормозит при управлении выходами батареи, глючит - короче, все удовольствия. Ибо система явно рассчитана на работу через блутус, а WiFi потом походу сбоку прицепили, чисто шоб было.
А мне блутус не годидзе. Ибо батарея подразумевалась к автоматизированному управлению по схеме "ехал гитлер через гитлер" с участием гаражной серверной инфры плюс smart home хаба с самопальными алгоритмами. Там нужон именно WiFi. Это уже потом я надыбал (точнее, подсказали) куда более изячное и правильное решение для такой схемы - а поначалу я, иссесьна, взял в ручки tcpdump и принялся смотреть, что же там творится в VLAN-е, который я этой батарейке спицыательно выделил (и правильно сделал, как выяснилось).
Там, понятное дело, исключительно коннекты к одному-единственному айпишнику в Узкоглазии и ответы оттуда. Но смотрю - порт какой-то подозрительно знакомый, стопицот раз попадался, TCP/1883...
Ага, вы правильно догадались. Сумрачные узкоглазые гении гоняют через половину мира голые MQTT-пакеты без какой-либо криптографии вааще. Гуляй не хочу.
Но и это ещё нихера не конец обеда. MQTT, ваще-та, имеет механизмы аутентификации. Так вот, держитесь на чём сидите: и логином, и паролем MQTT-сессии выступает серийный номер батарейки. Ну, точнее, узкоглазые таки попытались сделать вид, что они охерительно хитрожопые и секьюрные - поэтому в содержимом пакетов видно, как к серийнику девайса в пароле добавляется некий случайный набор символов, при каждом коннекте разный. Но сам серийник остаётся неизменной частью пароля и собссно логином. Первая же попытка сэмулировать коннект к узкоглазому управлятору, передав в качестве пароля сам голый серийник, без приписок - тут же привела к триумфальному триумфу. Заходи, мол, ты тебя знаем, будь как дома.
Ничо так безопасность, а?
Вдрочем, дальше этого мои экскременты по сниффингу трафика и написанию собственного управлятора не зашли. Я планировал миррорить весь трафик от батарейки на собственный MQTT-инстанс, где будет работать нечто, эмулирующее сервер-управлятор - но требовалось для начала раскопать формат управляющих команд и пакетов статистики батарейки, а там неочевидно, в отличие от аутентификации. И пока я ковырялся - приятель подкинул ссылку на уже готовое ESP32-решение.
Но солидные знания по поводу узкоглазых понятий о секьюрити я таки успел получить, да. Я и так был по жизни параноиком в плане "какие домашние девайсы выпускать в большой инет, а каким запрещать ваще всё, кроме localhost" - а после этого стал параноиком в квадрате. И упомянутая в начале поста статейка меня не то чтобы очень сильно удивила...





