Открытый рекурсивный DNS-сервер. Часть 2



    Практически 4 месяца назад я открыл свой рекурсивный DNS-сервер для всех пользователей интернет (см. предыдущую статью). Накопленный объем данных на первом этапе теста был достаточно большим, для его визуализации я загнал данные в БД и построил динамические изменяющиеся графики и карту. Записанное видео можно посмотреть под катом. Результат получился достаточно интересным, поэтому полностью закрывать DNS-сервер я не стал, а ограничился включением зон (используемых для атак) в списки RPZ (что такое RPZ можно прочитать в этой статье). «Расслабившись» на «небольших» атаках (не более 100 запросов в секунду), я не заблокировал ответы по двум DNS-зонам и получил первый abuse-репорт. Abuse-репорт был отправлен в дата-центр моего провайдера от «робота». Нагрузка на его сеть с моего сервера была небольшой и периодически доходила до 100 запросов в секунду. С учетом того, что могли использоваться миллионы открытых ресолверов, то максимальная нагрузка на его сеть могла быть значительной. Abuse-репорт и замотивировал меня перейти к второй части теста. Отключив открытый рекурсивный DNS и продолжил наблюдать за поведением атакующих.

    Визуализация атаки описанной в первой статье:



    Описание тестовой среды

    При написании прошлой статьи все данные собирались и обрабатывались практически в ручном режиме. Это было долго, нудно и результаты иногда приходилось перепроверять. Так как я достаточно ленив, мне нравится автоматизировать процессы и анализировать данные, то самим собой напросился вывод создать небольшую систему отчетности и анализа поступающих логов с DNS-сервера в режиме близкому к real time (если это интересно, то могу описать в отдельной статье). Все графики и таблицы, использованные в данной статье, были сгенерированы с использованием jqPlot, jqGrid и сервиса Google Maps. В качестве DNS-сервера я использую виртуальное устройство Infoblox, но формат syslog-сообщений у него аналогичен bind.

    Атаки

    За время проведения тестирования мой сервер использовался для проведения DrDoS атак (Amplification + Reflection), а так же были произведены попытки осуществить отравление кэша. По некоторым запросам было видно, что используется механизм DGA (Domain Generation Algorithm) возможно для отравления кэша, возможно для связи с управляющими центрами (так как эти домены использовались только для атак) или при атаке с фантомными доменами.

    После отключения рекурсивного сервера паразитная нагрузка снизилась, но не исчезла совсем.

    Пиковая нагрузка на «открытом» сервере доходила до 3 тысяч запросов в секунду и в среднем держалась около 100 запросов в секунду, на закрытом сервере максимальная нагрузка снизилась до 20 запросов в секунду с редкими пиками до 100 запросов (rate limit настроен до 300 запросов в минуту с возможностью роста до 1000).



    Как видно на графике ниже, от действий злоумышленников больше всего пострадали компании в США.



    Анализ количества отправленных запросов в сеть каждой компании может косвенно помочь определить жертвы и возможные зараженные сети. Например, сеть China Telecom скорее всего заражена, а клиент Ростелекома был атакован. В таблице ниже приведена информация организациям, количеству IP-адресов и количеству обработанных запросов. Данные о компаниях были получены с помощью сервиса whois.

    Страна Компания Кол-во запросов Кол-во IP
    United States SoftLayer Technologies Inc. 3965202 36
    United States SingleHop, Inc. 2617987 27
    United States PSINet, Inc. 1994461 22
    France OVH SAS 1051080 304
    United Kingdom Hosting Services Inc 938367 4
    Germany 1&1 Internet AG 761020 12
    United States PrivateSystems Networks 748641 4
    Russian Federation OJSC Rostelecom Ticket 09-39331, RISS 15440, UrF 687028 1
    United States Time Warner Cable Internet LLC 671211 1568
    Canada OVH Hosting, Inc. 592920 213
    United States Akamai Technologies, Inc. 176327 4410
    China China Telecom 51565 207
    United States AT&T Internet Services 27502 854


    Атака DrDOS

    Для атаки были использованы домены приведенные в таблице ниже. Домен freeinfosys.com появился уже после «закрытия» рекурсивного сервера. Что может означать, что кто-то использует устаревшие базы, которые редко проверяются.
        Чтобы определить, что ваш сервер атакуется или используется для проведения атак достаточно проанализировать к каким доменам и как часто обращались с запросом «ANY +E».

    Домен Запрос Флаг Кол-во запросов
    webpanel.sk ANY +E 14962032
    oggr.ru ANY +E 8300693
    energystar.gov ANY +E 6676350
    doleta.gov ANY +E 6326853
    067.cz ANY +E 2463053
    sema.cz ANY +E 1251206
    GUESSINFOSYS.COM ANY +E 690320
    jerusalem.netfirms.com ANY +E 587534
    paypal.de ANY +E 454756
    nlhosting.nl ANY +E 414113
    freeinfosys.com ANY +E 352233
    krasti.us ANY +E 333806
    doc.gov ANY +E 259248
    svist21.cz ANY +E 231946
    wradish.com ANY +E 117294


    При использовании «ANY +E» запрашивается вся информация по зоне и активируется функционал EDNS, чтобы получить максимально возможный размер UDP пакета. Список 10 наиболее частых запросов и их флагов приведен в таблице ниже.

    Запрос Флаги Кол-во запросов
    ANY +E 43500439
    A -ED 17339
    ANY + 11932
    A - 9853
    A -EDC 8956
    AAAA -EDC 4749
    AAAA -ED 4467
    ANY - 2289
    A +E 1899
    RRSIG +E 1124


    Cache Poisoning, Random domain attack и DGA

    В процессе работы DNS сервера были выявлено небольшое количество атак на отравление кэша. В статистике работы DNS-сервер Infoblox было указано, что были получены ответы с неправильными портами и query ID, но, к сожалению, log-файлы для анализа не сохранились.

    Помимо этого были обнаружены подозрительные запросы вида:
    • ndnaplaaaaeml0000dgaaabbaaabgnli.energystar.gov;
    • mmokojaaaaeml0000dgaaabbaaabgclm.doleta.gov;
    • oaanjeaaaaesc0000deaaabbaaabicoc.webpanel.sk;
    • cnklipaaaaesh0000claaabbaaabfgoa;
    • 2d852aba-7d5f-11e4-b763-d89d67232680.ipvm.biz.


    Вполне возможно, что эти записи частично относятся к выявленным попыткам отравления кэша, попытке провести атаку с использованием фантомных доменов (авторитативный сервер не отвечает и таким образом забивается пул исходящих соединений) или работе «неведомых зверушек» (вредоносное ПО) пытающихся связаться с управляющим центром.

    Выводы

    • Любой DNS-сервер это замечательный источник информации о поведении простых пользователей и вредоносного ПО;
    • Анализ логов поможет повысить качество работы DNS;
    • Большое кол-во запросов «ANY +E» показывает, что Ваш сервер находится или участвует в атаке;
    • Для проведения DrDOS атак вредоносное ПО использовало небольшое количество доменов (не более 3х-4х одновременно);
    • Блокировка таких подозрительных доменов (например на RPZ) позволит снизить нагрузку на сервер и сеть;
    • Слишком длинные DNS-имена (как в примере выше) являются поводом к пристальному изучению поведения клиента (заражен хост или кто-то использует DNS-тунели).
    • +15
    • 17k
    • 4
    Share post

    Similar posts

    Comments 4

      0
      Удивительно, что Китай и Корея не лидируют в списках. На мой сервер (ssh,https) более половины «запросов» идут из Азии.
        0
        Скорее всего много запросов от туда и идёт, но так как используется UDP, а не TCP, то IP-адрес легко подделать на адрес «жертвы».
        +2
        Вы бы поаккуратнее с главной картинкой )) С просонья не знал чего подумать.
          +3
          Ну, надеюсь, меня не обвинят в развязывании ядерной войны :)

        Only users with full accounts can post comments. Log in, please.