Архив рубрики: Security

theHarvester. Инструмент для сбора данных для теста на проникновение

Перед тестированием на проникновение обычно требуется собрать информацию об объекте (рекогносцировка). В наше время многое можно собрать из поисковых систем.
Одна из таких утилит для поиска информации — theHarvester. Она умеет собирать почтовые адреса, доменные имена, искать доменные имена и сайты относящиеся к тем же IP, что и искомые сервера, а так же многое другое.
Использование программы крайне простое:

theharvester -d blackdiver.net -b all

В данном случае theHarvester будет искать по домену blackdiver.net по всем доступным источникам. Так же по умолчанию он будет анализировать первые 100 записей из поисковых систем.
Но еще есть дополнительные полезные ключи и параметры:
Читать далее theHarvester. Инструмент для сбора данных для теста на проникновение

Брутфорс доменных имен (DNS Bruteforce)

Для расширения поверхности атаки в рамках тестирования на проникновение бывает полезно узнать какие еще IP адреса и доменные имена использует компания.
Конечно можно попробовать выгрузить целиком DNS зону, но данная сценарий работает далеко не всегда (как это сделать я писал в статье Атака трансфер DNS зоны).

Но можно прибегнуть к перебору доменных имен по словарю. Для этого существует скрипт dnsrecon.py ( DNS Enumeration Script. Так же доступен в Kali Linux.)

Для выгрузки всей информации, доступной публично запускаем:

dnsrecon -d домен

Но нам гораздо интереснее провести перебор поддоменов, поэтому запускаем его с параметрами перебора по словарю:
Читать далее Брутфорс доменных имен (DNS Bruteforce)

Атака трансфер DNS зоны

Трансфер DNS зоны может существенно увеличить зону атаки за счет раскрытия всех DNS записей атакуемой зоны.
Не смотря на многие предупреждения об опасности разрешения трансфера DNS зоны любым пользователем, администраторы не выключают ее и позволяют провести атаку DNS zone transfer attack.
Для трансфера DNS зоны сначала нам нужно узнать какой сервер отвечает за данную зону. Это можно сделать командой nslookup. Для демонстрации уязвимости есть специальная зона, на которой можно это сделать — zonetransfer.me. Она создана для того, чтобы показать, как делать не надо.

Запросим у нашего DNS сервера инофрмацию о серверах, отвечающих за зону zonetransfer.me

nslookup -q=ns zonetransfer.me

Параметр -q=ns сообщает, что нужно запросить NS записи зоны.
Читать далее Атака трансфер DNS зоны

Защита Apache с помощью ModSecurity

Способов защиты Web-сервера существует огромное множество. Начинать защиту нужно с обновления ПО и скрытия версий используемого ПО (как скрыть версии Web-сервера я рассказывал в статье Скрываем отображение версий Apache, Nginx и PHP). Далее можно установить WAF (Web Application Firewall) — файрвол для веб-приложений. ModSecurity — это файрвол выполненный в виде модуля для Apache, что позволяет его легко установить и использовать. Защититься с помощью ModSecurity можно от:

  • SQL-injection;
  • XSS;
  • троянов;
  • ботов;
  • захватов сеанса;
  • и многих других атак и взломов.

Начнем установку ModSecurity.
Для начала нам потребуется установить требуемый модуль:

apt-get install libapache2-mod-security2

и включить его:
Читать далее Защита Apache с помощью ModSecurity

Скрываем отображение версий Apache, Nginx и PHP

Убрать отображение версии Apache желательно для того, чтобы не попасть на 0-day уязвимости, а так же если вы ежедневно не следите за обновлением ПО и уязвимостями. Скрытие версий конечно не поможет избавиться от уязвимостей (для этого есть другие инструменты), но затруднит работу злоумышленнику.

Для того, чтобы скрыть версию Apache можно поставить модуль libapache-mod-security, который будет скрывать все лишнее. Установим его командой:

apt-get install libapache2-mod-security2

далее включим его:

a2enmod security2

И отредактируем конфигурацию, изменив или добавив строки в файле /etc/apache2/conf-available/security.conf:
Читать далее Скрываем отображение версий Apache, Nginx и PHP

Fail2ban для WordPress

Fail2ban имеет возможность подключения сторонних модулей, для контроля доступа. Одним из таких модулей является модуль для WordPress.
Как установить на сервер Fail2ban я рассказывал в статье Fail2ban для SSH.

Для интеграции с WordPress постребуется установить в WordPress плагин WP fail2ban.

После его установки нужно скопировать из папки модуля для WordPress (обычно находится по адресу wordpress/wp-content/plugins/wp-fail2ban) в папку фильтров Fail2ban (находится по адресу /etc/fail2ban/filter.d) файл wordpress.conf.
Читать далее Fail2ban для WordPress

Fail2ban для SSH

Fail2ban это сервис, который отслеживает log–файлы, и в зависимости от условий блокирует IP адреса с которых идут переборы паролей или другие несанкционированные действия. Блокировка происходит с помощью iptables. После анализа логов Fail2ban добавляет, на указанное в настройках время, цепочку REJECT.

Рассмотрим настройку контроля SSH.

Для начала нужно установить Fail2ban:

apt-get install fail2ban
Читать далее Fail2ban для SSH

Поиск руткита на Linux сервере

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

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

Для блокировки используем iptables и создадим в нем набор правил, которые запрещают все лишнее.

iptables -F
iptables -t nat -F
iptables -X
iptables -P FORWARD DROP
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
iptables -A INPUT -j DROP
iptables -A OUTPUT -j DROP

посмотрим список подозрительных процессов (для удобного просмотра больших списков лучше еще использовать обработчик less, чтобы можно было листать список):
Читать далее Поиск руткита на Linux сервере

Эксплуатация уязвимости MS15-034 с помощью Burp Suite

Уязвимость MS15-034 заключается в неверной обработке HTTP запросов в Windows системах. За эту обработку отвечает драйвер http.sys и при отправлении неправильного параметра HTTP запроса в поле Range приводит к отказу в обслуживании. атаке подвержены все Windows сервисы, принимающие HTTP запросы (например IIS).

Для того чтобы проэксплуатировать данную уязвимость нам потребуется Burp Suite (либо любая другая утилита, которая может может отправлять http запросы).

Рассмотрим эксплуатацию на примере Burp Suite.

Для начала в браузере откроем нужный нам сайт, чтобы он появился в списке целей Burp Suite. Как настроить Burp Suite описано в статье: Первоначальная настройка Burp Suite

Burp Suite — Target

Читать далее Эксплуатация уязвимости MS15-034 с помощью Burp Suite

Первоначальная настройка Burp Suite

Burp Suite используется для анализа и эксплуатации уязвимостей на Web сайтах. Он позволяет перебирать значения запросов, анализировать ответы, составлять карту всех доступных путей на сайте и многое другое, но сначала его нужно настроить для использования. Для получения информации он устанавливается в качестве прокси между браузером и серверами.

Для того, чтобы это сделать, нужно сконфигурировать Burp Suite:

Burp Suite — Intercept

Для начала отключим перехват траффика с приостановкой до подтвержения. Intercept — сам по себе интересный режим, который позволяет приостановить запросы от браузера до их подтверждения (за одно их можно поменять), но в самом начале он не нужен.
Для отключения перейдем во вкладку Proxy->Intercept и выберем Intercept is off.
Читать далее Первоначальная настройка Burp Suite