Как превратить чужие DNS-сервера в бесплатный жесткий диск ⌨️
Энтузиаст Бен Кокс (Benjojo) совершил акт абсолютного ИТ-насилия над стандартами RFC и выкатил проект
DNSFS. Суть такова... ты спрашиваешь у провайдера адрес сайта, сервер лезет наверх, получает ответ и кэширует его у себя, чтобы не бегать дважды. Бен задался логичным вопросом... а что, если запихнуть в этот кэш не IP-адрес, а куски бинарного файла, используя TXT-записи с конским TTL 😮
В отличие от старого прикола с PingFS (когда данные хранятся прямо в летящих пакетах, которые нужно постоянно пинговать по кругу), DNS-кэш не требует постоянной отправки пакетов. Ты один раз скармливаешь данные серверу, и он держит их в своей памяти.
Для реализации этого костыля нужны были миллионы открытых резолверов, торчащих наружу 53 портом, владельцы которых забыли настроить фаервол 👨🦳
Бен расчехлил
masscan, накрутил BPF-фильтры в ядре Linux через
iptables (чтобы ловить только нужные ответы и не парсить лишний мусор) и просканировал ВООБЩЕ ВЕСЬ интернет (около 4 млрд IPv4-адресов). Итог оказался эпичным... он нашел почти 3,9 миллиона дырявых резолверов. В топе оказались Китай, Южная Корея, Штаты и РФ 🎩
Подождав 10 дней, чтобы отсеять динамические IP, он перешел к деплою. Скрипт режет любой файл на чанки по 180 байт (лимит для TXT-записи), хэширует их и начинает брутфорсить чужие сервера. Сервера сжирают TXT-записи и кладут их себе в память.
По итогу, почти 18% серверов гарантированно держат чужой кэш больше суток. Файл физически не существует ни на одном жестком диске в мире, став частью глобального торрента. Истинный киберпанк.
З.Ы. А неплохое место, чтобы там прятался AGI, пока вооружается 🤖
Типичный 🥸
Сисадмин