CameraSwarm: как взломали более 14 500 камер Dahua
Камера видеонаблюдения обычно выглядит самым безобидным устройством в сети. Висит под потолком, смотрит на парковку, склад или подъезд, исправно отправляет картинку на регистратор и годами не требует к себе особого внимания. Есть только одна проблема: камера видит гораздо больше, чем хотелось бы показывать посторонним, а защищена порой заметно хуже обычного компьютера.
Летом 2026 года неизвестный оператор решил проверить это утверждение практически. За 35 дней ему удалось получить доступ более чем к 14 500 устройствам Dahua, а примерно на 1 900 камерах закрепиться так, чтобы смена обычного пароля уже не особенно мешала. Но знаменитой эта история стала не только из-за масштаба.
Человек, который научился массово находить и взламывать чужие камеры, в какой-то момент сам открыл в интернет собственную рабочую папку.
В результате исследователи получили почти готовое пособие: исходные программы, журналы работы, списки камер, инструменты, историю команд и результаты атак. Кибербезопасность иногда обладает очень своеобразным чувством юмора.
Три дороги к одной камере
По данным расследования Hunt.io, операция, получившая название CameraSwarm, началась 17 июня 2026 года. За время кампании было скомпрометировано не менее 14 530 устройств Dahua, главным образом в России и Украине. При этом злоумышленник не рассчитывал на одну чудо-уязвимость. Он построил целый конвейер из нескольких способов проникновения.
Первый способ был старым как интернет: найти камеры с доступным снаружи портом TCP/37777 и попробовать подобрать логин и пароль.
Только этот механизм обнаружил 12 324 уникальных IP-адреса.
Никакой магии. Иногда пароль admin123 всё ещё приносит больше пользы злоумышленнику, чем самый свежий набор дорогостоящих средств взлома.
Второй путь был серьёзнее. Использовались уязвимости CVE-2021-33044 и CVE-2021-33045, позволявшие на некоторых версиях прошивки обходить проверку подлинности. Через этот механизм удалось получить доступ примерно к 1 923 камерам.
Но третий способ оказался самым интересным.
Для него можно было вообще не знать IP-адрес камеры.
Достаточно было знать её серийный номер.
Камеру можно не искать. За вас это сделает облако
Современные камеры Dahua умеют подключаться через облачную систему P2P. Это удобно: камера может находиться за маршрутизатором, не иметь внешнего IP-адреса, а владелец всё равно подключается к ней через приложение.
Проблема начинается тогда, когда этой удобной дорогой решает воспользоваться не владелец.
Схема выглядела примерно так:
серийный номер → проверка устройства → поиск облачного сервера → соединение с камерой → попытка получить доступ.
Оператор собирал серийные номера из поисковых систем для сетевых устройств и публичных записей DDNS, после чего проверял их через инфраструктуру Dahua.
По журналам самого злоумышленника, 89,4% активных серийных номеров отвечали через канал, который не требовал предварительной аутентификации. Этим способом удалось добраться до 283 камер.
Получается любопытное изменение привычной логики.
Обычный сетевой сканер спрашивает:
«Где находится камера?»
CameraSwarm спрашивал:
«Какой у неё серийный номер?»
А дальше часть дороги прокладывала сама облачная инфраструктура.
Для владельцев устройств это важный момент. Раньше казалось, что достаточно не выставлять камеру непосредственно в интернет. Но если к ней можно добраться через облачный механизм, одной настройки сетевого экрана уже недостаточно.
А потом взломщик открыл папку
Самая забавная часть истории произошла 23 июля.
Исследователи Hunt.io обнаружили сервер злоумышленника, на котором был запущен самый обычный встроенный веб-сервер Python:
python3 -m http.server 80 --bind 0.0.0.0
Эта команда фактически сделала рабочую папку доступной всем желающим через интернет.
Исследователи скачали 2 616 файлов из 234 каталогов, всего около 407 МБ данных. Внутри находились программы для поиска камер, исходный код, результаты взломов, журналы, сценарии автоматизации и следы разработки на компьютере с Windows.
Представьте сейф, в котором лежат инструменты для вскрытия тысяч чужих сейфов. А ключ от него оставили в замке.
Благодаря этой ошибке исследователи смогли восстановить практически всю последовательность действий оператора.
Сервер существовал ещё как минимум с апреля 2025 года. В июне 2026-го его начали активно использовать для атак на камеры. Сначала оператор проверил скорость интернет-соединения, затем запустил массовое сканирование, а вскоре после этого открыл наружу собственные рабочие файлы.
Иногда самый опасный компонент системы всё-таки располагается между клавиатурой и креслом.
Десять миллионов пакетов в секунду
Для поиска устройств использовалась программа masscan.
Сначала сканировались российские адреса, затем поиск распространился практически на весь IPv4-интернет. Настройки позволяли отправлять до 10 миллионов пакетов в секунду.
Но куда интереснее было то, что происходило после обнаружения камеры.
Система учитывала местное время устройства и могла не проверять определённые сети в нерабочие часы. После получения изображения анализировалось его качество. Слишком тёмные или бесполезные кадры отбрасывались.
То есть оператору нужны были не просто уязвимые камеры.
Его интересовали камеры, с которых можно увидеть что-нибудь полезное.
Это уже больше напоминает автоматизированную систему сбора визуальной информации, чем обычное бесцельное сканирование интернета.
Пароли перебирались аккуратно
Перебор паролей тоже был организован заметно серьёзнее обычного сценария из нескольких строк.
Программа могла одновременно работать с тысячами камер, автоматически увеличивала системные ограничения Linux и поддерживала до 4 000 параллельных задач.
При этом оператор старался не вызвать блокировку учётных записей. После нескольких неудачных попыток работа с конкретным устройством прекращалась. Камеру словно откладывали на потом, чтобы не хлопать дверью слишком громко.
После успешного входа программа могла получить снимок с камеры и отправить его через Telegram вместе с найденными данными доступа.
А затем список устройств экспортировался в XML, совместимый с SMART PSS, программой Dahua для централизованного управления видеонаблюдением.
И это уже важная деталь.
Речь идёт не о принципе:
«Мне удалось открыть одну камеру».
А о принципе:
«У меня есть тысячи камер, список адресов и паролей, изображения и готовый файл для программы управления. Теперь это почти единая система видеонаблюдения. Только чужая».
Хороший пароль мог не помочь
У перебора паролей есть очевидный недостаток: хороший пароль перебрать трудно.
Поэтому в CameraSwarm использовалась отдельная программа p2pwn, способная обходить проверку подлинности на уязвимых прошивках.
Один метод заставлял камеру воспринимать запрос как пришедший от доверенного аппаратного контроллера NetKeyboard. Другой позволял выдавать внешний запрос за локальный, пришедший от 127.0.0.1.
В результате можно было получить административную сессию, вообще не зная пароль владельца.
После этого на камере создавалась новая учётная запись:
p2pwn / p2password
По данным Hunt.io, она была обнаружена на 1 923 устройствах.
И здесь начинается самое неприятное.
Эта учётная запись существовала отдельно от обычного администратора. Поэтому владелец мог заметить подозрительную активность, поменять пароль admin, поздравить себя с победой и... оставить злоумышленнику совершенно рабочий второй вход.
Исследователи также обнаружили возможность извлекать сохранённые ONVIF-данные, в том числе используемые камерой для взаимодействия с видеорегистратором.
То есть скомпрометированная камера могла стать только первым этажом здания.
Следующим был регистратор.
Серийный номер оказался почти ключом
В каталоге злоумышленника нашлась ещё одна любопытная программа. Она воспроизводила часть механизма восстановления доступа Dahua.
Программа сначала проверяла существование камеры по серийному номеру, а затем могла сформировать код восстановления.
Особенно интересно, что вычисление выполнялось без обращения к серверу, то есть локально.
Знать текущий пароль камеры для этого не требовалось.
Исследователи предполагают, что подобный механизм мог использоваться в том числе для передачи доступа другим людям. Но подчёркивают, что доказательств полноценной торговли доступом недостаточно.
И это важная оговорка.
Когда перед глазами лежит почти вся рабочая папка злоумышленника, соблазн дорисовать историю очень велик. Но хороший анализ отличается от детектива тем, что в конце не обязательно должен появиться злодей в чёрном плаще.
Автор оказался скорее сборщиком, чем гением
Изучение исходников показало ещё одну характерную черту CameraSwarm.
Вероятнее всего, оператор не создавал всю систему самостоятельно.
В папках обнаружились компоненты разных авторов: реализации протоколов, генераторы серийных номеров, сканеры и программы для использования уязвимостей. Некоторые части были переписаны или доработаны. В исходном коде встречались испанские комментарии, к которым позже добавлялись русские.
То есть перед нами не обязательно великий специалист, написавший тысячи строк уникального кода.
Скорее, хороший сборщик.
Он взял несколько существующих инструментов, доработал их, связал между собой, добавил автоматизацию и превратил всё это в систему массового поиска камер.
В современной компьютерной преступности это встречается всё чаще.
Чтобы организовать серьёзную атаку, необязательно изобретать новый лом.
Иногда достаточно знать, где лежат пять старых ломов и как прикрутить к ним двигатель.
На сервере нашлось не только видеонаблюдение
На той же машине исследователи обнаружили программу SalatStealer, предназначенную для кражи данных с компьютеров, а также сценарий PowerShell с несколькими способами отключения или ослабления Microsoft Defender.
Однако Hunt.io отдельно подчёркивает, что это не доказывает связь CameraSwarm с другими кампаниями распространения этой вредоносной программы.
Файлы просто находились на одном сервере.
И это хороший пример профессиональной осторожности: если в гараже лежат удочка и гаечный ключ, это ещё не значит, что владелец ремонтирует автомобили исключительно во время рыбалки.
Даже номера уязвимостей перепутали
В рабочей папке обнаружилась ещё одна забавная деталь.
Оператор связывал CVE-2024-39943 с установкой постоянного доступа на камеры Dahua.
Но этот номер вообще относится к другому продукту, Rejetto HTTP File Server.
С CVE-2025-31702 ситуация тоже оказалась неоднозначной: официальное описание Dahua говорит об аутентифицированном повышении привилегий, тогда как использовавшийся в CameraSwarm способ работал иначе.
Получается, оператор не только собирал чужой программный код, но местами копировал и описания исследований, не до конца разобравшись в обозначениях.
Что, впрочем, не помешало системе успешно работать.
И это, пожалуй, самая неприятная часть истории.
Для массового взлома далеко не всегда требуется идеальное понимание теории.
Иногда достаточно, чтобы кнопка работала.
Где находились камеры
Кампания началась со сканирования российского адресного пространства, но довольно быстро стала международной.
На некоторых этапах большие группы устройств находились в сетях Мексики и Вьетнама. Позже внимание сместилось к России и другим странам СНГ.
Среди камер, географическое положение которых удалось подтвердить, наибольшая доля пришлась на Украину, второе место заняла Россия.
Поэтому правильнее говорить не о строго направленной региональной атаке, а о широком поиске уязвимых устройств с последующей концентрацией на отдельных сетях.
Открытая папка оказалась подарком для исследователей
Обычно специалист по безопасности получает вредоносный файл и пытается по нему восстановить всю картину.
В CameraSwarm получилось наоборот.
Исследователям досталась практически вся мастерская.
История команд показала, когда запускались программы.
Журналы показали, какие результаты они получили.
Исходный код объяснил, как происходило проникновение.
Списки устройств показали масштаб.
Структура каталогов помогла восстановить последовательность работы.
Редкий случай, когда расследовать кибератаку оказалось немного похоже на чтение чужого рабочего дневника.
Только вместо записей «купить молоко» там было «просканировать несколько миллионов адресов».
Что делать владельцам камер Dahua
Главный практический вывод довольно простой.
Если камера была доступна извне и могла попасть под эту кампанию, одной смены пароля недостаточно.
Владельцам стоит проверить список пользователей и убедиться, что на устройстве нет неизвестной учётной записи p2pwn. Прошивку необходимо обновить до актуальной версии.
Порт 37777 не следует оставлять доступным непосредственно из интернета.
Облачный P2P-доступ лучше отключить, если он не используется.
Если камера могла быть взломана, следует считать потенциально раскрытыми и сохранённые на ней данные доступа к другим устройствам, включая ONVIF-учётные записи.
Dahua, по информации Hunt.io, сообщает, что проблема, связанная с механизмом кодов восстановления, исправлена в актуальных версиях программного обеспечения.
И всё-таки главный урок не про Dahua
CameraSwarm интересна не тем, что кто-то нашёл одну невероятно сложную уязвимость.
Наоборот.
Почти каждый отдельный элемент этой истории хорошо знаком специалистам по безопасности:
открытый сетевой порт;
слабый пароль;
устаревшая прошивка;
облачный доступ;
серийный номер, который можно найти в интернете;
ошибки механизма восстановления;
готовые программы из открытых источников.
Но когда всё это соединяется в один автоматизированный конвейер, результат меняется качественно.
Получается уже не взлом отдельной камеры.
Получается поисковая система по чужому видеонаблюдению.
Ирония CameraSwarm заключается в том, что оператор прекрасно понимал, насколько опасно оставлять камеры открытыми в интернет.
Он построил на этом целую систему.
А затем сам оставил открытым в интернет сервер, на котором эта система лежала.
23 июля исследователи Hunt.io нашли его рабочую папку и получили почти полный чертёж операции.
Тысячи камер подвели старые прошивки, слабые пароли и неудачная архитектура доступа.
А самого взломщика подвела одна команда Python.
Технологии меняются. Человеческий фактор держит марку.