Админ, нас атакуют или Как защитить дедик от брута
Любому серверу для хорошей работы нужны три вещи: топовое железо, надёжное подключение и грамотный админ. Но всё это станет бессмысленным, если не обеспечить защиту от атак и взлома. Из нашей статьи вы узнаете, как защитить дедик от брута и не потерять свои данные, важные настройки и другие результаты кропотливой работы. А если слова «rdp», «дедики» и «брут» вам ни о чём не говорят, то мы восполним эти пробелы.
Дедик, dedik, dedicated — зачем нужен выделенный сервер
Если вы далеки от администрирования, то могли подумать, что Дедик и Брут — это два друга (или недруга?) с экзотическими именами. Но нет — слово «дедик» образовалось от английского dedicated, а точнее Dedicated server. Сленговое название «дедик» означает, как нетрудно догадаться, выделенный сервер. Опытные пользователи уже знают обо всех преимуществах физических серверов, но на всякий случай мы напомним.
Dedicated server — это, по сути, полноценный компьютер, расположенный в дата-центре провайдера в отдельной стойке и работающий 24 часа в сутки 7 дней в неделю. В отличие от виртуального хостинга, на нём не будут размещены сайты других клиентов, что, несомненно, даёт ощутимые преимущества:
— Все ресурсы принадлежат вам, что делает работу сервера более стабильной.
— Можно выбрать любую версию любой операционной системы и настроить её на своё усмотрение, а также установить необходимое ПО.
— Вы будете осуществлять полноценное администрирование своего сервера с root-правами.
— Всё оборудование полностью изолировано и находится в отдельной стойке, что повышает безопасность и сохранность данных.
И, конечно же, на выделенном сервере нет ограничений на количество сайтов, баз данных и почтовых ящиков. Обычно «дедики» используются для крупных ресурсов или проектов, которым необходимо обеспечить бесперебойную работу даже при большом наплыве посетителей.
Но довольно теории, перейдём к практике. Представим, что ваш сайт вырос, просмотры растут, вы перенесли его на отдельный сервер — теперь можно радоваться новым возможностям и высокой пропускной способности. Так ли всё радужно на самом деле?
Что такое брут и с чем его едят
Слово «брут» или «брутфорс» произошло от английского brute force, что в переводе означает «грубая сила». Но к дракам это не имеет никакого отношения. Метод brute force — один из способов взлома или хакерской атаки. Его суть состоит в простом переборе огромного числа различных сочетаний символов с расчётом на то, что однажды взломщик подберёт нужную комбинацию — ваш пароль.
Первые кандидаты на разоблачение — простые пароли вроде “12345678”, “admin”, “qwerty” и прочие. Следом за ними идут популярные слова, имена, названия, даты. Брутфорсеры используют специальные словари, в которых содержатся тысячи примеров наиболее частых паролей. И поверьте, “alexandr01” или “parol1324” точно не относятся к разряду надёжных.
К сожалению, перед взломом могут не устоять даже наборы случайных символов, составленные по всем правилам: с заглавными буквами и знаками препинания. Хотя их шансы, несомненно, гораздо выше. Но в нашем случае проблема с брутом не ограничивается только сложностью пароля.
Что же значит «брутить дедики», и чем опасен взлом? Ответ на первый вопрос мы уже получили — злоумышленник начнёт предпринимать многократные попытки авторизации на вашем сервере, перебирая различные пароли. Для этого он будет использовать один из известных протоколов удалённого доступа: обычно это SSH (Secure Shell) у Linux-серверов и RDP (Remote Desktop Protocol) у Windows Server. Брут отличается от DDoS-атаки тем, что хакеру важно сохранить работоспособность ресурса, поскольку чаще всего он собирается использовать его для своих нужд.
Взлом причиняет вред уже на стадии попыток — система будет хранить логи неудачных входов, размер которых может достигать нескольких гигабайт. Если своевременно не очищать их, нагрузка станет довольно существенной. Чересчур активные и продолжительные атаки приведут к падению производительности и снижению скорости работы. При этом конфигурация, тип и версия операционной системы не играют роли — брутфорсу подвержены абсолютно любые серверы.
В случае успешного взлома хакер получает полный доступ к вашей удалённой машине, и далее возможны два варианта развития событий. Первый — злоумышленник начнёт «портить» ваши файлы и данные вплоть до их удаления, устанавливать вирусы и вредоносные программы. И второй — взломщик постарается вести себя как можно незаметнее, чтобы использовать сервер в своих целях. Например, для тех же DDoS-атак или для создания ботнета.
Чтобы обхитрить хакера, вы должны думать, как хакер
Теперь настало время ответить на главный вопрос: как уберечь сервер от брута? Один из самых простых советов, которым, тем не менее, не следует пренебрегать — своевременно обновлять систему и ПО сервера. Также можно установить ряд дополнительных программ и настроек. Рассмотрим несколько наиболее действенных стратегий.
Чекер
Первый и самый простой способ — установить специальную программу-чекер, которая будет проверять существующих на сервере пользователей. Вы сможете отслеживать IP-адреса, прокси, страну и город, что сразу позволит вычислить подозрительные аккаунты. Среди примеров таких программ: Lazy SSH, SSH checker, SSH Fresh checker для Linux-серверов.
Но чекер не предотвращает сам брут, а только находит тех, кому он удался. Поэтому для защиты от попыток взлома придётся покопаться в настройках сервера. Об этом ниже.
Смена порта
Довольно тривиальный, но иногда действенный метод — поменять номер порта. Обычно все брутфорс-атаки направлены на стандартный порт 22. В файле конфигурации можно изменить его на 23 или любой другой — тогда вероятность попытки взлома снизится в несколько раз. Правда, этот способ не защитит вас от более умных хакеров, которые «брутят» все открытые порты, а также от целевых атак, направленных на конкретного пользователя или сервер.
SSH-ключи
Самый надёжный вариант — вообще отказаться от авторизации по паролю и использовать SSH-ключи. Это более безопасный способ, поскольку ключи практически не поддаются расшифровке. Их можно сравнить с ключами от вашего дома: они полностью уникальны, и открыть дверь смогут только те, кому вы их доверите. Подробнее о создании и использовании SSH-ключей можно прочитать в нашей справке.
Ограничения на авторизацию
Если вы по каким-то причинам всё равно предпочитаете использовать пароли, можно задать более строгие требования к аутентификации. Например, ограничить доступные попытки входа, указать максимальное число активных пользователей, завести чёрный список IP-адресов, задать тайм-аут, в течение которого нельзя повторно запросить авторизацию, и так далее. Но учтите, что некоторые из этих способов могут создать дополнительные проблемы для «хороших» юзеров — например, если кто-то из них случайно введёт неправильный пароль несколько раз.
Что делать, если ничего не помогает
Вы поставили надёжный пароль, проверили активных пользователей, ограничили число авторизаций, но ресурс всё равно тормозит и медленно откликается? Возможно, злоумышленники успели проникнуть на сервер заранее и «замести следы», оставив бэкдор, или же придумали новые хитроумные способы обхода ваших методов защиты. Важно понимать, что ни один из описанных выше советов не даст 100% гарантии. И хотя центры обработки данных защищены от широкополосных атак, оградиться от целевого брута крайне сложно.
Взлом сервера и доступ злоумышленников к важным данным может привести к критическим последствиям и потере огромных сумм денег: например, из-за отсутствия защиты от брутфорса в системе бронирования могла пострадать 141 авиакомпания. Также известны случаи многократных попыток взлома сайтов, работающих на WordPress, с целью нелегального майнинга или дальнейших атак. Защита сервера от подобных ситуаций — непростая задача, требующая вмешательства высококвалифицированных специалистов по безопасности. Многие провайдеры вместе с арендой сервера предлагают услуги администрирования — поэтому, чтобы обезопасить «дедик», лучше доверить его профессионалам.
Например, в REG.RU администрирование Dedicated включает целый комплект услуг: это и установка операционной системы, и регулярные обновления, и резервное копирование, и, разумеется, защита от брутфорса. Аренда выделенного сервера с администрированием избавит вас от необходимости тратить время на постоянный мониторинг системы и оборудования. В этой ситуации лучше довериться опытным специалистам и не отвлекаться от более важных задач.
Итак, подводим итог: не забывайте о защите своего сервера, предпочитайте SSH-ключи стандартной авторизации и всегда создавайте только надёжные пароли. Не пренебрегайте профессиональными услугами администрирования, если для вас важна безопасность и сохранность данных. Помните: даже если вы используете выделенный сервер для личных нужд, это не значит, что он автоматически становится невидимым. Хакеры не дремлют!
Напишите в комментариях, сталкивались ли вы со взломом: может быть, кто-то получал доступ к вашему аккаунту в социальных сетях или почте? Удалось ли злоумышленнику реализовать свой коварный план? Надеемся, что советы в нашей статье помогут вам избежать взлома не только серверов, но и других ресурсов.
А если вы хотите узнать о способах защиты своего личного компьютера — рекомендуем к прочтению нашу статью Как защитить свой компьютер и смартфон от взлома.
Brute-force атаки с использованием Kali Linux
Brute-force (атака полным перебором) – метод решения математических задач, сложность которого зависит от количества всех возможных решений. Сам же термин brute-force обычно используется в контексте хакерских атак, когда злоумышленник пытается подобрать логин/пароль к какой-либо учетной записи или сервису.
Рассмотрим инструменты, которые можно использовать для выполнения brute-force атак на SSH и WEB-сервисы, доступные в Kali Linux (Patator, Medusa, Hydra, Metasploit), а также BurpSuite.
Все материалы, предоставленные в рамках данной статьи, предназначены для использования исключительно в учебных целях. Использование материалов в противоправных и противозаконных запрещено.
Brute-force SSH
Для примера возьмем тестовую машину 192.168.60.50 и попробуем подобрать пароль пользователя test по SSH. Мы будем использовать популярные пароли из стандартного словаря rockyou.txt.
Patator
Для подбора пароля средствами Patator используем команду:
где:
ssh_login — необходимый модуль
host – наша цель
user – логин пользователя, к которому подбирается пароль или файл с логинами для множественного подбора
password – словарь с паролями
-x ignore:mesg=’Authentication failed’ — команда не выводить на экран строку, имеющую данное сообщение. Параметр фильтрации подбирается индивидуально.
Hydra
Для подбора пароля используя Hydra выполним команду:
где:
-V – показывать пару логин+пароль во время перебора
-f – остановка как только будет найден пароль для указанного логина
-P – путь до словаря с паролями
ssh://192.168.60.50 – указание сервиса и IP-адрес жертвы
Medusa
Для подбора пароля с использованием Medusa выполним команду:
где:
-h – IP-адрес жертвы
-u – логин
-P – путь к словарю
-M – выбор модуля
-f – остановка после нахождения валидной пары логин/пароль
-v – настройка отображения сообщений на экране во время процесса подбора
Metasploit
Произведем поиск инструмента для проведения brute-force атаки по SSH:
search ssh_login и получили ответ:
Указание необходимых параметров производится через команду «set«.
set rhosts 192.168.60.50
set username test
set userpass_file /root/wordlist
set stop_on_success yes
set threads 4
set rport 22
Указав необходимые параметры набираем команду «run» и ждем.
Противодействие
Ограничить количество устанавливаемых соединений с использованием межсетевого экрана. Пример настройки iptables:
Такое правило установит ограничение доступа к SSH для каждого IP-адреса до 1 соединения в секунду, значительно усложнив перебор. Также эффективным решением может быть использование двухфакторной аутентификации (например, используя eToken) или аутентификации с использованием ключевой пары, а также использование ACL на основе IP-адресов.
Brute-force WordPress
Рассмотрим другой пример — подбор пароля окна авторизации веб-формы.
Для примера будем подбирать пароль от учетной записи администратора wordpress.
BurpSuite
Для начала нам необходимо понять, как происходит процесс авторизации. Для этого мы будем использовать BurpSuite. Нам необходимо попробовать авторизоваться с любым паролем и логином, чтобы посмотреть какие запросы проходят через BurpSuite.
Отлично, мы увидели POST запрос для авторизации с ним мы и будем работать.
В BODY указано какой логин и пароль проверялись, а значит, мы можем попробовать самостоятельно подставить нужные нам значения.
Передаем этот запрос в Intruder и там выбираем необходимые параметры для атаки. В пункте Payload Positions тип атаки оставляем sniper, но для проверки оставляем только параметр pwd. Таким образом, при атаке будет изменяться только этот параметр.
Загружаем необходимый словарь и начинаем атаку.
Из поведения веб-приложения мы видим, что неверный пароль возвращает код ответа 200. После перебора словаря, видим, что один из паролей дал ответ с кодом 302 — он и является верным.
Данный метод перебора занимает намного больше времени, чем при использовании Patator, Hydra, Medusa и т.д. Даже с учетом того, что мы взяли небольшой словарь, BurpSuite перебирал словарь около 40 минут.
Hydra
Попробуем подобрать пароль с помощью Hydra.
Как мы уже знаем, при неверной авторизации возвращается код 200, а при успешной – 302. Попробуем использовать эту информацию.
Для запуска используем команду:
Здесь мы указываем обязательные параметры:
-l – имя пользователя
-P – словарь с паролями
-t – количество потоков
http-post-form – тип формы, у нас POST.
/wp-login.php – это URL страницы с авторизацией
^USER^ — показывает куда подставлять имя пользователя
^PASS^ — показывает куда подставлять пароль из словаря
S=302 – указание на какой ответ опираться Hydra. В нашем случае, ответ 302 при успешной авторизации.
Patator
Как мы уже знаем, при неудачной авторизации возвращается код 200, а при удачной – 302. Будем использовать тот же принцип, что и с Hydra:
Запуск производится командой:
http_fuzz – модуль для brute-force атаки http
url – адрес страницы с авторизацией
FILE0 — путь до словаря с паролями
body – информация, которая передается в POST запросе при авторизации
-t — количество потоков
-x – В данном случае мы указали команду не выводить на экран сообщения строки, содержащие параметр с кодом 200
accept_cookie – сохранение параметра cookie и передачи его в следующий запрос
Как итог – нам удалось подобрать пароль.
Nmap
Утилита Nmap позволяет в том числе производить подбор паролей для веб-форм авторизации, если использовать скрипт http-wordpress-brute с соответствующими аргументами:
—script-args – добавление аргументов
user или userdb – логин или файла с логинами
pass или passdb — указание пароля или словаря
thread – количество потоков
firstonly=true – выводить результат после первого же правильного пароля
Противодействие
Усложнить задачу перебора можно используя следующие методы:
— Применение межсетевого экрана и прочего ПО для ограничения количества обращений к защищаемому сервису. О том, как мы используем машинное обучение для выявления подобных атак (в том числе распределенных), можно почитать в статье.
— Использование средств, препятствующих быстрой проверке корректности ключа (например, Captcha).
Заключение
В данной статье мы поверхностно рассмотрели некоторые популярные инструменты. Сократить риск подбора пароля можно, следуя следующим рекомендациям:
— используйте устойчивые к подбору пароли;
— не создавайте пароли, используя личную информацию, например: дату рождения или имя + дата рождения или мобильный телефон;
— регулярно меняйте пароль;
— на всех аккаунтах применяйте уникальные пароли.
Подобные рекомендации (как и рекомендации по безопасной веб-разработке) мало кто соблюдает, поэтому необходимо использовать различные программные решения, позволяющие:
— ограничить подключение по IP-адресу, или, если это невозможно, ограничить одновременное количество соединений с сервисом (средствами iptables, nginx и прочими);
— использовать двухфакторную аутентификацию;
— выявлять и блокировать подобные атаки средствами SIEM, WAF или другими (например, fail2ban).
Что такое брутфорс и с чем его едят?
Привет, я бы хотел рассказать о очень интересной теме, о которой мало кто знает. Если ты ничего не понимаешь в этой сфере, добро пожаловать, сейчас я тебе всё объясню
Новичок задает себе подобные вопросы: как брутить аккаунты? где взять прокси? где скачать базу для брута? Данный материал поможет разобраться тебе в этом. А если ты вообще ничего не понимаешь, задавай вопросы 😉
Что необходимо иметь для получения профита в этой схеме?
— Софт (программы)
— Прокси
— Базы (емаил и пароль)
— Нормальный компьютер с быстрым интернетом
— Приват. У многих софтов этого рода есть хороший функционал и скорость, поэтому они стоят некоторых денег. То есть, если хотите получить быстрый окуп затраченных средств, то смело покупайте, но учитывайте, что вам также нужны базы и прокси, которые можно получить бесплатно или купить.
Из всего вышесказанного можно сделать вывод: чтобы получить нормальный софт, не обязательно его покупать, нужно следить за последними крякнутыми и паблик софтами, когда софт только выпускают, он работает почти на уровне приват софта
Прокси также есть двух видов :
— Быстрые приват прокси. Их можно без проблем найти и купить в интернете, благо, сайтов достаточно
— Медленные, но бесплатные прокси. Данные прокси выложены в паблик, соответственно, их может найти каждый, следовательно, больше нагрузка на прокси-сервер и ниже скорость чека.
Советую искать всегда SOCKS4/5 прокси, т.к. их скорость в разы больше, чем у HTTP/S
Базы:
Данные вопросы: где достать базу, скачать базу для брута волнуют новичков больше всего. Попытаюсь помочь вам вникнуть в это.
Итак, существует множество различных способов достать почты, но напишу наиболее примитивные из них:
1. Поиск софтом.
С помощью определенных софитов вы сможете добыть паблик базы, возможно, часть из них мало кто чекал. Будет полезно, если вы все найденные базы таким способом будете чекать на рар (редкие) запросы (не стим, не варфейс, не ориджин) ну и в зависимости, какие базы вы ищите (РУ или забугор). Забугор лучше будет чекать на скайп, пэйпал, лигу, ибэй, ориджин. Однако этот способ помогает достать только паблик базы
2. Скачивание баз с форумов. Сейчас выкладывают, в основном, забугор базы. Немного муторный способ, так как вам нужно прокачать аккаунты на форумах, выкладывая что-то полезное от себя. Допустим, скачали базу с одного форума. прочекали ее, забрали нужное, выложили эту же базу на другой форум или раздали ненужное. Не переборщите с жадностью. Опять же, у нас получить базу будет поначалу весьма проблематично, но, после того как вы отдадите что-то полезное, вы получите за это благодарность и сможете скачивать базы из-под хайда.
4. Самый муторный способ: слив зашифрованной базы с уязвимых сайтов. Поиск сайтов делается вручную, но чаще используют дорки.
Далее для слива сайтов используют мозги или Havij или Sqli dumper
Надеюсь, что после прочтения данного материала у вас станет меньше вопросов на тему «как брутить стим», «как брутить warface» и др, если кому-то это было интересно. Удачи!
Что такое атака перечислением и чем она опасна
При аудите веб-приложения наши эксперты нашли уязвимость к атаке перечислением имен пользователя. Рассказываем, что это за проблема и как с ней бороться.
Недавно наши эксперты из Kaspersky Blockchain Security проверяли блокчейн-платформу на наличие уязвимостей. В процессе они обнаружили, что механизм восстановления забытого пароля их веб-приложения уязвим к атаке перечислением пользовательских имен. Мы решили, что это неплохой повод рассказать в нашем блоге, что это за атака и чем она опасна.
Что значит атака перечислением
В веб-приложениях с аутентификацией при помощи пароля и логина, как правило, есть несколько механизмов, которые обращаются к базе пользователей. Это окно логина (по понятным причинам), форма регистрации (чтобы избежать дублирования имен пользователя) и страница сброса забытого пароля (чтобы удостовериться в том, что учетная запись, пароль от которой сбрасывают, существует). Если эти механизмы реализованы недостаточно безопасно, то злоумышленники могут попытаться использовать их для того, чтобы выявить, есть ли такой логин в базе.
Раньше все эти механизмы применялись без какой-либо защиты. Поэтому злоумышленник мог вооружиться списком логинов и программой, которая пробовала вводить все эти логины по очереди. Чтобы не давать потенциальным вредителям лишней информации, со временем разработчики стали применять различные защитные трюки (капчу, ограничение количества попыток входа, сокрытие деталей ответа).
В современных веб-приложениях окно логина практически всегда имеет такую защиту. А вот про форму регистрации и страницу сброса пароля иногда забывают. К тому же разработчики веб-приложений не всегда задумываются о том, что наличие или отсутствие имени пользователя в базе иногда можно определить по различиям во времени отклика сервера на запросы. Например, если имя в базе найдено, то ответ сервера приходит через две миллисекунды, а если не найдено, то через четыре. Человек разницы не заметит, а вот автоматизированные инструменты перебора — могут.
Чем опасна атака перечислением имени пользователя
Атака перечислением позволяет злоумышленнику удостовериться, что такое имя есть в базе. Да, это не позволит ему незамедлительно войти в систему, но даст половину требуемой информации. Например, при организации брутфорс-атаки он будет не перебирать пары имен и паролей, а подбирать пароли к проверенной учетной записи. Это сэкономит ему время и усилия.
К тому же не надо забывать, что в качестве имени пользователя сейчас практически повсеместно используется почтовый адрес. Соответственно, логин у среднестатистического человека един для множества сервисов. И не все они относятся к безопасности одинаково серьезно — новости об утечках пар логинов и паролей с разных сайтов появляются достаточно регулярно. И коллекции утекших данных доступны на хакерских форумах. А людям свойственно использовать одни и те же пароли на разных сервисах. Соответственно, удостоверившись, что имя пользователя есть на вашем сайте, злоумышленник обратится к коллекции логинов и паролей и посмотрит, нет ли там данных той же учетной записи на других сайтах. А потом попробует ввести эти данные.
Кроме того, атаку перечислением часто применяют операторы целевого фишинга на этапе разведки. Удостоверившись, что их цель имеет учетную запись в вашем сервисе, они могут послать от вашего имени письмо о необходимости смены пароля со ссылкой на фишинговую страницу, имитирующую ваш сайт. Ничего не подозревающий клиент введет новый пароль, подтвердит старый и тем самым снабдит мошенников всем тем, за чем они охотятся.
Как защититься от атаки перечислением?
Вы когда-нибудь обращали внимание, как современные сервисы реагируют на форму сброса пароля? Они не говорят: «Ссылка на сброс пароля выслана на почту» или «Введенной почты нет в базе», как это происходило раньше. Вместо этого они пишут: «Если ваш адрес есть в базе, то на него будет выслано письмо со ссылкой…». То есть прямо не подтверждают и не опровергают наличие такого имени пользователя. Это делается именно для того, чтобы защититься от атаки перечислением.
Точно так же и в окне логина никогда не нужно детально объяснять «неверный пароль» или «нет такого имени пользователя». Просто — пара логин/пароль не найдена. Да, с точки зрения UX-специалиста такие ответы не оптимальны. Они могут вызывать недовольство пользователя (меня, например, ужасно бесит, когда я забываю, при помощи какого адреса регистрировался, а сервис мне не подсказывает). Но безопасность практически всегда достигается в ущерб удобству. И в случае с сервисами авторизации небольшой перекос баланса в сторону безопасности оправдан.
Разумеется, капча и ограничение попыток также не помешают. Ну и кроме того, для обеспечения безопасности вашего веб-приложения имеет смысл проводить сторонний аудит. Если вы также занимаетесь блокчейн-технологиями, то наши коллеги из Kaspersky Blockchain Security могут помочь с анализом защищенности веб-приложений.






