[#] Shodan собирал IPv6-адреса NTP-клиентов и сканировал их в ответ
habrabot(difrex,1) — All
2016-02-17 21:00:03


Одним из преимуществ IPv6 является отсутствие необходимости NAT из-за большого количества адресов в целом и длины выдаваемых пользователям подсетей в частности. Казалось бы, никто просто так не подключиться к какому-нибудь одноплатнику, который вы только-только подключили в домашнюю сеть с поддержкой IPv6. Никто же, в здравом уме, не будет сканировать всю вашу подсеть. Если весь IPv4-интернет можно просканировать в течение десятков минут, то на полное сканирование одной только /64 (минимальная подсеть, рекомендуемая к выдаче клиентам) уйдут десятки лет. К тому же, если каким-то образом злоумышленник узнал ваш IPv6-адрес, всегда можно активировать поддержку [IPv6 Privacy Extensions][1], с которыми ваш адрес будет рандомизироваться раз в сутки или чаще. Казалось бы, вероятность сканирования вашего одноплатника, который не обращается к внешним ресурсам, крайне низка. Однако, есть одна вещь, которая настроена почти на каждом компьютере — периодическая синхронизация времени через NTP.

## NTP

Подавляющее большинство дистрибутивов Linux устанавливаются с настроенной автоматической синхронизацией времени через NTP, используя серверы pool.ntp.org. Как оказалось, стать частью pool.ntp.org достаточно просто, чем и воспользовались Shodan, задействовав 5 NTP-серверов в разных частях света, для верности используя несколько IP-адресов на одном сервере, чтобы вероятность попадания запроса клиента именно на их сервер была выше. Таким образом, в пуле ntp.org оказалось 45 IPv6-адресов машин Shodan, которые сканируют любой подключающийся к ним IPv6-адрес в ответ. Обнаружил факт сканирования и вычислил все серверы Shodan [Brad Hein][2]. Вычислить все сканирующие NTP-серверы вручную достаточно сложно, т.к. NTP-демон обращается ко многим NTP-серверам последовательно для более точной синхронизации времени. Для автоматизации процесса был написан [скрипт][3], который обрабатывает журнал файрволла и соединяется с подозрительными хостами еще раз, чтобы удостовериться, что они действительно сканируют в ответ, используя свежий временный IPv6-адрес. Подтвердить принадлежность хостов к Shodan было довольно легко — почти все серверы использовали настоящие имена хостов в PTR-записи, вида \*.scan6.shodan.io На данный момент, серверы Shodan исключили из пула ntp.org. [Читать дальше →][4]

[1]: https://tools.ietf.org/html/rfc4941
[2]: http://netpatterns.blogspot.de/2016/01/the-rising-sophistication-of-network.html
[3]: https://github.com/regulatre/ipv6-scan-detective
[4]: https://habrahabr.ru/post/276831/#habracut