MyBonesBroken
New member
Бытует мнение, что для взлома финансовых организаций злоумышленники используют всё более сложные техники, включая самые современные вирусы, эксплойты из арсенала спецслужб и хорошо таргетированный фишинг. На самом деле, анализируя защищенность информационных систем мы видим, что подготовить целенаправленную атаку на банк можно с помощью бесплатных общедоступных средств, без применения активного воздействия, то есть незаметно для атакуемых. В данной статье мы анализируем подобные хакерские техники, построенные, в основном, на излишней открытости сетевых сервисов, а также представим рекомендации по защите от таких атак.
Шаг 1. Определение целейВ офлайновом мире бывает нелегко выяснить, какие сервисы и сети принадлежат конкретной организации. Однако в Интернете существует множество специальных инструментов, позволяющих без особого труда определить сети, подконтрольные интересующим нас компаниям, и при этом никак не засветиться перед ними. Для пассивной разведки в рамках сбора статистики по сетевым периметрам финансовых организаций мы использовали:
- Поисковые системы (Google, Yandex, Shodan).
- Отраслевые сайты для финансового сектора —,.
- Whois-сервисы;.
- Поисковые системы по базам данных интернет-регистраторов —.
- Сервисы визуализации данных по доменному имени сайта —.
- Сервис для анализа доменных зон, который содержит исторические данные по доменным зонам (изменения IP), чем сильно помогает собирать данные. Похожих сервисов много, один из самых известных аналогов —.
В данном исследовании не рассматривались такие методы, как активное сканирование, определение версий межсетевого экрана и наличие IPS, определение используемых антивирусов и других средств защиты, а также социальная инженерия. Есть еще несколько техник, которые мы не использовали по этическим и другим соображениям, но их нередко используют хакеры:
- Поиск проектов на. Часто бывает, что на GitHub выложен тестовый проект, бэкап или рабочий код, доступ к которому забывают ограничить или неправильно ограничивают. Исследование таких проектов требует высокой квалификации, но даёт практически 100% шанс проникнуть в сеть, используя ошибки исследованного приложения или вшитые учетные данные.
- Сервисы онлайн-проверок на уязвимости, такие как HeartBleed, Poodle, DROWN и другие. Эти сервисы с высокой степенью вероятности позволяют обнаружить конкретные уязвимости, если они есть, но на эти проверки уходит очень много времени.
- Bruteforce DNS. Данная техника является активным вмешательством. Она позволяет перебирать DNS-имена систем, определяя доступные. Это происходит через DNS-запросы к целевому DNS-серверу, при этом трафик можно направить, например, через Google DNS, и с точки зрения атакуемой организации эти запросы будут выглядеть легитимно. Для реализации таких техник обычно используется инструментарий KaliLinux или похожей сборки. К сожалению, на практике DNS-логи не смотрят или даже не ведут их, пока что-нибудь не произойдёт.
Итак, для начала определяем список организаций, которые мы собрались «поставить на контроль». Для этого можно воспользоваться поисковыми системами, профильными сайтами и другими агрегаторами профильной информации.Например, если мы хотим собрать статистику по финансовым организациям, идём наи забираем готовый топ банков и страховых компаний. Сбор списка практически не требует времени. Мы выделили следующие категории организаций:
- Банки (с 1 по 25)
- Банки (с 26 по 50)
- Банки (с 51 по 75)
- Банки (с 76 по 100)
- Микрокредитные организации
- Платежные системы
- Страховые компании (с 1 по 50)
- Страховые компании (с 51 по 100)
Теперь определяем сети, которыми владеют организации. Находим в поисковой системе сайты организаций, для определения их адресов используем веб-сервис. Этот ресурс позволяет узнать по доменному имени сайта IP-адрес, а также другие важные данные для поиска сетей. В этой работе к важным данным относятся:
- Netname(сетевое имя, очень полезно при поиске по БД Ripe);
- Descr(описание может быть применено для поиска с использованием фантазии);
- Address(поиск сетей, зарегистрированных на этот же физический адрес);
- Contact (возможен поиск в БД Ripe по людям, которые также могли регистрировать сети);
- Другаяинформация, по которой можно идентифицировать организацию.
Всю эту информацию можно получить и через unix-команду whois. Что использовать – дело вкуса. Чтобы не компрометировать конкретные банки, мы покажем этот поиск на примере нашей компании:
Используя собранную информацию об организациях, мы осуществили поиск их адресных диапазонов в базе данных регистратора Ripe. Сервис Ripe предоставляет возможность свободного поиска по всем зарегистрированным в нем сетям. Также стоит обращать внимание на поле Country – мы выбирали исключительно российский сетевой сегмент.
Этот этап работ потребовал от нас большого количества ручного труда, ведь какие-то адреса могут быть отданы партнёру, сданы в аренду или не принадлежать искомой организации. Поэтому для повышения точности результатов нам пришлось провести дополнительные проверки, чтобы с максимально возможным уровнем достоверности выделить только необходимые сети или хосты. Для верификации сетей мы использовали общедоступный онлайн-сервис американского оператора связи Hurricane Electriс, который по IP-адресу (например, по адресу сайта) может выдать информацию о сети, в которой он располагается. На этом этапе работ оказался очень полезен сервис Robtex. Он показывает все связи для указанного доменного имени, это также позволило нам найти сети, которые не удалось обнаружить при поиске в базе Ripe. Кроме того, Robtex позволяет увидеть другие сайты, расположенные по данному IP-адресу, а эта информация тоже может оказаться не лишней. Пример поиска:
Как уже было сказано, определение нужных сетей менее всего автоматизируется, поскольку требует ручного отбора релевантных результатов. Впрочем, сбор информации о сетях финансового сектора занял у нас всего 2 дня. После завершения этого этапа мы получили список вида «организации-сети».
Шаг 2. Выявление доступных сервисовДля этого можно использовать один из двух наиболее известных инструмен