Мы в mClouds постоянно тестируем различные утилиты и инструменты, которые помогают повысить безопасность наших систем. На днях разместили в тестовой среде комплексный honeypot Chameleon от qeeqbox и проверили несколько разных сервисов.
Благодаря honeypot мы определили географическое распределение атак и выяснили, какие логины и пароли злоумышленники использовали чаще всего. В статье делимся результатами тестирования и рассказываем, как защитились от брутфорса.
Цель тестирования и возможности honeypot Chameleon
Когда мы запускали honeypot, то в первую очередь хотели получить углубленный анализ кибератак. Выбрали Chameleon, потому что это комплексное решение, которое включает сразу 19 ловушек, имитирующих различные сервисы, в том числе:
протокол для удаленного доступа к серверам SSH;
протокол для удаленного рабочего стола RDP;
текстовый протокол для удаленного доступа TELNET;
систему для преобразования доменных имен в IP-адреса DNS;
системы управления базами данных Microsoft SQL Server, PostgreSQL и MySQL;
протокол для передачи файлов FTP;
поисковую и аналитическую платформу Elastic;
протокол прокси-сервера SOCKS5 и другие.
С помощью Chameleon от qeeqbox мы собрали информацию о методах и инструментах, которые злоумышленники используют для взлома систем: типы атак, используемые эксплойты, популярные уязвимости, а также наборы логинов и паролей. На основе этих данных мы смогли:
1. Детально проанализировать атаки. Собрать логи, промониторить трафик, отследить, как хакеры подбирали пароли и совершали другие вредоносные действия. А заодно понять, какой сервис чаще всего атакуют, чтобы его обезопасить.
2. Смоделировать различные сценарии атак и проверить эффективность защитных механизмов. Такой подход особенно полезен при внедрении новых технологий или методов защиты. Можно заранее оценить их работоспособность и выявить возможные недочеты, чтобы не тушить потом «пожары» в реальной системе.
3. Получить данные о географическом расположении атакующих IP-адресов и увидеть, из каких регионов поступает больше всего угроз.
Внутри капкана. Особенности тестовой сети для взлома
Для теста мы использовали FTP, SSH, TELNET, MSSQL, PosgreSQL, MySQL, DNS, Elastic, SOCKS5. Эти сервисы — настоящая приманка для хакера, так как они предоставляют доступ к функциям системы и важным данным.
Honeypot Chameleon — преднастроенное решение, в котором уже предусмотрены:
Контейнеризация. Сервисы автоматически запускаются в Docker-контейнерах — это не только повышает безопасность, но и облегчает управление и масштабирование сети.
-
Визуализация и анализ данных. В решение уже включена Grafana — мощный инструмент для визуализации данных. Grafana в реальном времени мониторит активность на всех ловушках, отслеживает попытки авторизации, анализирует IP-адреса атакующих, а также собирает статистику по логинам и паролям для брутфорса.
На панели Grafana размещены различные графики и диаграммы. Можно посмотреть количество взломов по каждому сервису, географическое распределение атакующих, частоту использования тех или иных логинов и паролей.
Каждая ловушка была настроена на автоматическое восстановление после успешной или частичной атаки. Это позволило нам поддерживать сеть в активном состоянии, даже если злоумышленники стремились внести изменения в работу сервиса.
Как только мы открыли доступ к тестовой сети, то почти сразу зарегистрировали первую хакерскую активность. По такой молниеносной реакции мы поняли, что этот honeypot вполне удачно имитирует реальную систему.
Результаты тестирования. Что показал наш honeypot
Атака началась уже спустя три минуты после публикации портов, а всего за 24 часа работы honeypot зафиксировал 1411 попыток перебора учетных данных. Это демонстрирует высокую активность ботов и злоумышленников, которые постоянно сканируют интернет на предмет открытых портов и уязвимых сервисов.
Самые атакуемые сервисы
-
Microsoft SQL Server — 775 попыток.
Вероятно, большую роль сыграло, что сервис широко распространен и важен в корпоративной среде. Большинство хакерских атак включали перебор паролей для учетной записи «sa».
-
SSH (Secure Shell) — 630 попыток.
SSH — стандартный протокол для удаленного доступа, и его популярность среди атакующих легко объяснима. Злоумышленники изо всех сил старались подобрать пароли для учетных записей с правами администратора.
На Elastic пришлось всего пять попыток. А наименее атакуемым сервисом оказался FTP (File Transfer Protocol) — его попробовали взломать только один раз.
![Количество попыток взлома по серверам Количество попыток взлома по серверам](https://habrastorage.org/getpro/habr/upload_files/4dd/cda/bf3/4ddcdabf39901634c64fdb2761075796.png)
Другие сервисы взлому не подвергались — это может говорить о том, что хакеры целенаправленно взламывают нужные им сервисы, а не все подряд.
За время работы honeypot мы зафиксировали 219 уникальных логинов и 351 уникальный пароль для брутфорса.
Самые используемые логины
sa — 775. Логин «sa» является стандартной учетной записью администратора в Microsoft SQL Server, что делает его основной целью для атакующих.
root — 136. Нередко применяется на UNIX-подобных системах.
admin — 81. Универсальный логин для различных систем.
![Частота использования логинов Частота использования логинов](https://habrastorage.org/getpro/habr/upload_files/773/e7c/930/773e7c93052c8a097afa17bc3ba941c2.png)
Самые используемые пароли
Среди цифровых паролей это «123456» — 51 попытка и «12345678» — 32 попытки.
Из буквенных чаще всего встречается password — 40 попыток.
![Частота использования паролей Частота использования паролей](https://habrastorage.org/getpro/habr/upload_files/07b/760/51d/07b76051d372be16f2a6f018cf6cce82.png)
Данные подтверждают, что злоумышленники по-прежнему применяют словари с наиболее распространенными логинами и паролями, надеясь на слабую защиту целевых систем.
Удивило отсутствие атак типа bruteforce на RDP. Перепроверили подключение — подключение было, в лог закидывало о неудачном подключении. Видимо, в те 24 часа RDP-брутфорсеры спали.
Географический анализ атакующих. Откуда пришли самые активные взломщики
Анализ атакующих IP-адресов показал их распределение по нескольким странам.
США — 37 IP-адресов. Интересно что, что многие IP-адреса в США сосредоточены в трех основных локациях. Скорее всего, в брутфорсе участвовал бот-сеть или взломщики использовали VPN.
Франция — 10 IP-адресов.
Китай — 8 IP-адресов. Китай оказался на третьем месте по количеству адресов, однако самый активный взломщик был именно из этой страны. Хакер с IP-адресом 218.75.124.157 упорно пытался получить доступ к Microsoft SQL Server, используя логин «sa» и словарь паролей.
Наше решение для защиты от брутфорса — утилита fail2ban
Для предотвращения атак методом перебора паролей мы решили использовать бесплатную утилиту fail2ban. Она позволяет блокировать подключения по SSH и к MS SQL-серверу, если учетные данные неправильно введены более трех раз. Продолжительность блокировки — 24 часа.
Если захотите повторить, то вот как это сделать.
Установите fail2ban.
Sudo apt install fail2ban:
![](https://habrastorage.org/getpro/habr/upload_files/eb5/e07/bec/eb5e07bece3595c733ae47c164da3851.png)
Выполните настройку. Откройте файл /etc/fail2ban/jail.conf и пропишите в него блоки, отвечающие за блокировку:
Ssh:
![](https://habrastorage.org/getpro/habr/upload_files/36e/c9c/ff8/36ec9cff893498742c66ae7ad62e4ce8.png)
[sshd]
enabled = true
logpath = /var/log/honeypots/ssh.log
filter = ssh
port = 22
maxretry = 3
findtime = 1h
bantime = 1d
Mssqld:
![](https://habrastorage.org/getpro/habr/upload_files/306/6bb/24a/3066bb24ae4abeb602481507ba8f63f4.png)
[mssqld]
enabled = true
logpath = /var/log/honeypots/mssql.log
maxfailures = 3
findtime = 1h
bantime = 1d
filter = mssqld-auth
port = 1433
action = iptables-allports
backend=polling
Создайте фильтры для отлова логов.
Для ssh — /etc/fail2ban/filters.d/ssh.conf
![](https://habrastorage.org/getpro/habr/upload_files/adb/dcb/855/adbdcb855afa6b19c4f86327ef940e5d.png)
[INCLUDES]
before = common.conf
[Definition]
_daemon = sshd
failregex ="host" : "<HOST>" "status : failed"]
ignoreregex =
Для mssql — /etc/fail2ban/filters.d/mssqld-auth.conf:
![](https://habrastorage.org/getpro/habr/upload_files/211/6a0/46d/2116a046d3385feb24d50d1ddc4da8b6.png)
[INCLUDES]
before = common.conf
[Definition]
_daemon = mssqld
failregex = Login failed for user .* \[CLIENT: <HOST>\]
ignoreregex =
Перезагрузите fail2ban. Теперь служба будет блокировать подключения брутфорсеров.
Honeypot Chameleon помог нам оперативно проанализировать атаки и посмотреть, как могут повести себя злоумышленники. Как показало тестирование, брутфорс все еще остается для хакеров одним из основных методов получения доступа к сервисам, несмотря на то, что требует значительных вычислительных ресурсов.
А какие honeypot используете вы?
laminar
Ну такое себе, подобную статистику может выдать любой админ локалхоста с открытым ssh портом, без всяких %honeypot_utils% От облочного провайдера я бы ожидал большего (
P.S. использование паролей для ssh моветон
mClouds_editor Автор
Мы тестируем разные полезные тулзы, не все из них описываем в блог, но частью стараемся делиться, honeypot вполне заслуживает внимания "админов локалхоста", может облегчить жизнь и повысить осведомленность. )
laminar
Может я конечно не прав, но смысл honeypot совершенно не в красивых графиках, подобный сервис нужен для перманентного бана любого обратившегося к нему IP. А статистику можно в логах посмотреть и без подобных тулз. Являясь админом локалхоста с десятком серверов, какой-либо пользы для себя, из вашего описания, не вижу.
mClouds_editor Автор
Не совсем так, скорее для анализа, можно эмитировать уязвимость и анализировать что же с ней будет происходить, какие реакции на нее извне. Мы в целом этот смысл и попытались донести в статье. Это может дать понимание на что обращать внимание при построении уже средств защиты.