Студент из Колорадского технологического университета выяснил, что локальные DNS-сервера колледжа автоматически добавляют поддомен к каждому подключившемуся устройству, формируя адреса вроде meow.mines.edu. Изначально целью было отследить эти устройства, но путь оказался сложнее. Простой зонный перевод не сработал, а проверка TLS-сертификатов была лишней. Исследователь выбрал метод перебора, начав с скрипта на Python, который быстро стал тормозить. Переход на Rust стал необходимостью для увеличения скорости обработки перестановок. Автор использовал многопоточность через tokio, но столкнулся с утечкой памяти, которую решил, ограничив число одновременных запросов. После оптимизации скорость обработки выросла до 404 Мбит/с. В ходе экспериментов студент сломал работу DNS всего кампуса, заставив компьютеры 15 минут не видеть сеть, пока IT не попросили его прекратить атаку. Вместо перебора IP адресов, он перешел к проверке PTR-записей, чтобы связать IP обратно с именами устройств. Узнав, что сеть иногда позволяет подключения к не-серверным адресам, парень написал сканер портов, используя новый драйвер сети AF_XDP для обхода стандартной стека ядра. С его помощью он отсканировал тысячи портов в секунду. Самое смешное — он нашел доступ к управлению 36 камер наблюдения, синхронизировав их движение, и даже переключал проекторы в аудиториях, хотя IT обещали «исправить» это летом. Студент также заметил блокировку потоков через RTSP и RTMP файерволом Palo Alto, но нашел обходной путь для API камер. Перед тем как сообщить IT о дыре безопасности в управлении камерами, он написал баг-репорт, надеясь, что уязвимость закроют. Для написания кода он использовал искусственный интеллект только для решения одной сложной проблемы с областью видимости в Rust.
Ржавый код студента разбил сети кампуса и захватил камеры
14.05.2026 02:37 · hackernews