В феврале австриец Christian Haschek в своем блоге опубликовал интересную статью под названием «Я просканировал всю Австрию». Конечно, мне стало интересно, что будет, если повторить это исследование, но уже с Украиной. Несколько недель круглосуточного сбора информации, еще пару дней на то, чтобы оформить статью, а в течение этого исследования беседы с различными представителями нашего общества, то уточнить, то узнать больше. Прошу под кат…
TL;DR
Для сбора информации не использовалось никаких специальных средств (хотя несколько человек советовали использовать тот же OpenVAS, чтобы сделать исследование основательнее и информативнее). С безопасностью IP, которые относятся к Украине (ниже о том, как определяли), ситуация, на мой взгляд, довольно плохая (и точно хуже того, что происходит в Австрии). Никаких попыток использовать обнаруженные уязвимые серверы не сделано и не запланировано.
Прежде всего: как можно получить все IP адреса, которые принадлежат к определенной стране?
Это на самом деле очень просто. IP адреса не генерируются самой страной, а выделяются ей. Поэтому есть список (и он публичный) всех стран и всех IP, которые им принадлежат.
Каждый может скачать его, а затем отфильтровать его grep Ukraine IP2LOCATION-LITE-DB1.CSV> ukraine.csv
Простой скрипт, который создал Кристиан, позволяет привести список в более пригодный к использованию вид.
Украине принадлежит почти столько же IPv4 адресов, как и Австрии, более 11 млн. 11 640 409, если быть точным (для сравнения в Австрии — 11 170 487).
Если вы не хотите играть с IP адресами самостоятельно (и это не стоит делать!), То можно использовать сервис Shodan.io.
Есть ли в Украине непропатченые Windows машины, имеющие прямой доступ к интернет?
Конечно, ни один сознательный украинец не будет открывать такой доступ для своих компьютеров. Или будет?
masscan -p445 --rate 300 -iL ukraine.ips -oG ukraine.445.scan && cat ukraine.445.scan | wc -l
5669 машин под Windows с прямым доступом к сети найдено (в Австрии таких только 1273, но и это много).
Упс. Есть ли среди них такие, что можно было бы атаковать с помощью эксплойтов ETHERNALBLUE, который известен еще с 2017 года? В Австрии не было ни одной такой машины, и я надеялся, что в Украине тоже не будет найдено. К сожалению, бесполезно. Найдено 198 IP адресов, которые не закрыли эту «дыру» у себя.
DNS, DDoS и глубина кроличьей норы
Достаточно о Windows. Давайте посмотрим, что у нас с DNS серверами, которые являются open-resolvers и могут быть использованы для DDoS атаки.
Это работает примерно так. Атакующий направляет маленький DNS запрос, а уязвимый сервер отвечает жертве пакетом, который больше в 100 раз. Бум! Корпоративные сети могут довольно быстро упасть от такого объема данных, а для атаки нужна пропускная способность, которую может обеспечить современный смартфон. И такие атаки были не редкость даже на GitHub.
Посмотрим, есть ли такие серверы в Украине.
masscan -pU 53 -iL ukraine.ips -oG ukraine.53.scan && cat ukraine.53.scan | wc -l
Первым шагом найдем те, которые имеют открытый 53 порт. В результате имеем список из 58 730 IP адресов, но это еще не значит, что они все могут быть использованы для DDoS атаки. Нужно, чтобы выполнялось второе требование, а именно они должны быть open-resolver.
Для этого можно использовать простую команду dig и увидеть, что мы сможем «накопать» dig + short test.openresolver.com TXT @ip.of.dns.server. Если сервер отвечал open-resolver-detected, то его можно считать потенциальным объектом атаки. Open resolver'ы составляют примерно 25%, что сравниваемо с Австрией. С точки зрения общего количества, то это около 0,02% всех украинских IP.
Что еще можно найти в Украине?
Рад, что вы спросили. Проще (и самое интересное для меня лично) посмотреть, IP с открытым 80 портом и что на нем «крутится».
вебсервера
260 849 украинских IP отвечают на 80 порт (http). 125 444 адреса ответили положительно (200 статус) на простенький GET запрос, который может направить ваш браузер. Остальные выдали те или иные ошибки. Интересно, что 853 серверы выдали 500 статус, а редчайшими статусами стали 407 (запрос на прокси авторизацию) и абсолютно нестандартный 602 (IP не в «белом списке») по одному ответу.
Apache доминирует абсолютно — 114 544 серверы используют именно его. Самая старая из найденных мной версий в Украине — 1.3.29, вышедшей 29 октября 2003 (!!!). nginx на втором месте 61 659 серверов.
11 серверов используют WinCE, которая вышла в 1996 году, а закончили патчить ее в 2013 году (в Австрии таких только 4).
Протокол HTTP/2 использует 5 144 серверов, HTTP / 1.1 — 256 836, HTTP / 1 — 13 491.
Принтеры… потому что… почему бы нет?
2 HP, 5 Epson и 4 Canon, которые доступны из сети, некоторые из них без всякой авторизации.
вебкамеры
Это не новость, что в Украине есть ОЧЕНЬ много вебкамер, транслирующих себя в интернет, собранных на разных ресурсах. По крайней мере 75 камер транслируют себя в интернет без всякой защиты. Посмотреть на них можно здесь.
Что дальше?
Украина — небольшая страна, как и Австрия, но имеет те же проблемы, что и большие страны в сфере ИТ. Нам необходимо выработать лучшее понимание того, что является безопасным, а что опасным, а также производители оборудования должны предоставлять безопасную начальную конфигурацию своего оборудования.
Кроме того, я собираю компании партнеры (стать партнером), которые могут помочь вам обеспечить неприкосновенность собственной ИТ инфраструктуры. Следующим шагом планирую сделать обзор безопасности украинских сайтов. Не переключайтесь!
Автор: Александр Рябцев