25.10.2013
Недавно пришла в голову занятная идея объединить статистику по имеющимся попыткам брутфорса административных разделов сайтов на 1С-Битрикс, где есть модуль проактивной защиты, ведётся журналирование не менее чем на 30 дней и у меня есть доступ.
Идея возникла не на пустом месте, а после смутного ощущения, что очередного злоумышленника я явно где-то встречал. Как выяснилось, это не простое совпадение.
В таблице приведены исходные данные журналов событий 4 сайтов по попыткам авторизации. Из журнала не удалены логи ошибок авторизации легальных пользователей и «спам-ботов», хотя нас интересуют только попытки брутфорса.
Список логинов, фигурирующих в таблице (если указано число после логина, то данный логин фигурирует в нескольких вкладках)
- admin - 3
- admin1
- admin2
- administrator - 3
- adm
- bitrix - 3
- director
- manager - 3
- master - 3
- redactor
- root - 2
- site - 3
- user - 3
- web - 3
- webmaster - 2
- www - 2
Сразу следует оговориться, что брутфорс по логину admin на самом деле встречался на всех 4 сайтах. ADMIN – вообще самый распространённый для попыток брутфорса логин. Просто эти данные оказались в данном случае вне пределов месячного журнала.
Аналогично и другие логины так же периодически проявлялись на других сайтах, однако в рамках статьи мы этим фактом пренебрежём.
Например, с IP 188.186.4.245 многократно в течение краткого промежутка времени пытались проникнуть на сайты Z и L под логином webmaster.
В то же время под логином manager попытки проникновения заметны разного характера. с IP 188.186.4.245 на всё тех же Z и L, а вот на сайте Б были предприняты одиночные попытки с IP 111.63.14.245 и 198.100.167.13. Последние 2 адреса всего лишь "случайно ошиблись адресом"?
Давайте посмотрим!
Сайт Б
ИП 111.63.14.245
- 20.10.2013 18:29:11 попытки авторизации под логинами administrator (дважды), manager, admin (дважды), bitrix
- 20.10.2013 13:26:51 одиночные попытки авторизации под логинами admin, administrator
Неплохая производительность для "случайной ошибки"
Тот же сайт Б
ИП 109.238.189.252
- 20.10.2013 18:29:12 попытки авторизации под логинами adm и admin (дважды)
В то же время замечены в схожем поведении ИП адреса:
- 50.195.155.97
- 117.218.65.153
- 124.248.205.27
- 116.228.55.184
- 202.22.232.141
- 198.100.167.13
- 120.202.249.196
- и многие другие
Сложно сказать были ли это 2 разных злоумышленника или 1. Важно лишь, что в данные случаи иллюстрируют 2 принципиальных схемы, которыми пользуются десятки (если не сотни) потенциальных взломщиков.
Разберём обе схемы по шагам:
Схема 1 – брутфорс
- Парсим список сайтов на 1С-Битрикс. Данный этап может быть пропущен, поскольку базу сайтов, объединённых 1 признаком (например принадлежностью к CMS 1С-Битрикс) можно легко купить у людей, занимающихся именно сбором такой информации.
- Собираем базу будущего «словаря» (по сути это 2 колонки: логин и пароль). База может состоять как всего из 1 логина (например, admin), так и из нескольких наиболее подходящих, по мнению автора, для использования «по умолчанию». Естественно, список логинов может быть составлен вручную. Список потенциальных паролей зачастую получают, взломав какой-нибудь форумный движок и слив из него базу пользователей в незашифрованном виде. Безусловно этот этап так же может быть пропущен, поскольку такие базы есть в продаже.
- Запускаем брутфорс базы сайтов по базе «словаря». Самыми распространёнными на данном этапе являются аренда виртуального сервера в «абузоустойчивых» странах (т.е. у хостера, игнорирующего жалобы приходящие извне на клиентов) или запуск на локально машине (Да-да! Некоторые даже не пользуются ни Proxy, ни VPN, хотя такие вопиющие случаи конечно сходят на нет). Вариант с запуском брутфорса из распределённого ботнета или с чужого (предварительно взломанного) сервера возможен, однако редок – для этого требуется либо больше материальных вложений, либо большая профессиональная подготовка. И то и другое позволяют производить гораздо более разрушительные целенаправленные атаки.
Как правило, брутфорс каждого конкретного сайта происходит незначительное время, перебираются несколько десятков-сотен (иногда тысяч) пар логин-пароль, после чего атака переключается на следующую жертву.
Конечно, бывают исключения, как недавний всплеск DDoS из-за попыток брутфорса сайтов на движке WordPress, когда злоумышленники вели атаку настолько активно, что приводили к ошибке отказа оборудования!
Однако через один или несколько дней (иногда неделю или более) злоумышленник может повторить попытку.
Происходит ли при этом брутфорс по следующей части словаря или атакующий надеется «а вдруг они там поставили логин-пароль попроще» я затрудняюсь сказать.
Иногда повторная атака производится с того же IP адреса, иногда он изменяется.
Достаточно эффективным средством борьбы с такими злоумышленниками становится их выявление и блокировка по IP адресу. При получении в течение длительного времени только сообщений об ошибке злоумышленник может и удалить ваш сайт из своей базы – зачем тратить зря ресурсы, если есть такое большое количество жертв вокруг.
Схема 2 – брутфорс с использованием Proxy/Socks
Схема отличается только последним этапом:
- Парсим список сайтов на 1С-Битрикс.
- Собираем базу будущего «словаря».
- Собираем (а чаще покупаем) базу Proxy/Socks серверов. Как правильно используются платные базы, содержащие анонимные прокси сервера. Такие базы необходимо часто обновлять, поскольку они быстро устаревают и сервера в них входящие перестают функционировать.
- Запускаем брутфорс базы сайтов по базе «словаря» с использованием Proxy/SOCKS. Т.е. фактически атака идёт «пачками» запросов. И каждая такая «пачка» идёт через свой Proxy/Socks сервер, получая новый IP адрес. Размер пачки зависит только от базы, поскольку размер её значительно меньше списка комбинаций логин-пароль, имеющихся в «словаре». Правда можно использовать каждый из прокси серверов для каждой жертвы.
Данный способ медленнее, поскольку все запросы идут через промежуточное звено, посредника, однако и значительно более сложный для отражения – вся «пачка» запросов с 1 Proxy может успеть пройти за 1 секунду и состоять всего из нескольких запросов, что делает невозможным ручную фильтрацию и затрудняет автоматическую фильтрацию.
В простейшем случае (если у вас сайт-визитка) можно противопоставить атакующем закрытие админки по IP (т.е. создание белого списка IP адресов с которого доступ возможен). Однако ИНОГДА этого будет недостаточно, если у вас есть форма авторизации – так можно атаковать не только админку, но и любую форму авторизации.
Если же это не помогает…
Надо думать и искать способ, брать за образец методы борьбы с DDoS (по сути это тоже разновидность), идеи есть!..
Резюме
Чем бы мне хотелось закончить эту статью?
- Мне было очень интересно исследовать базу логов с 4 сайтов за 30 дней почти на 30К записей с неудачными авторизациями (большинство из которых попытки брутфорса)
- Я выражаю свою искреннюю просьбу тем злоумышленникам, которые узнали в персонажах этой статьи себя – свяжитесь со мной. Я вам расскажу на каких сайтах можно тренироваться, но не стоит трогать в реальной эксплуатации. Это я про сайты, с которыми я работаю, потому что:
- Ни на одном из 4 приведённых сайтов нет и не было ни одного привилегированного пользователя с логином, который брутфорсился.
- Те из сайтов, которые заказали у меня услугу «Администрирование Безопасности» имеют лог короче, чем он мог быть, поскольку злоумышленники банятся.
- Те из сайтов, которые НЕ заказали у меня услугу «Администрирование Безопасности» имеют лог длиннее, чем он мог бы быть, поскольку за поведением злоумышленников я наблюдаю лишь изредка из «научного» интереса.
- Будьте, аккуратны, чистоплотны, не забывайте про Информационную Безопасность и не используйте логинов для привилегированных пользователей:
admin |
admin1 |
admin2 |
administrator |
adm |
bitrix |
director |
manager |
master |
redactor |
root |
site |
user |
web |
webmaster |
www |
И другие простые логины.
Особенно admin!
Переводя рекомендации в понятную каждому аналогию – Мойте руки перед едой, чистите зубы после еды и посещайте стоматолога раз в полгода!