Я живой ;)

Я живой ;)

@upcash
@upcash

И снова здравствуйте. Ещё одна статья написанная специально для вас, дорогие подписчики.


Тестирование на проникновение может помочь обнаружить уязвимости и баги, следовательно позволяет злоумышленниками для проникнуть в вашу систему. Если ты, мой юный друг - администратор сайта, тебе необходимо регулярно проводить поиск поиск уязвимостей для обеспечения безопасности твоих сайтов. Так ты найдешь проблемы, следовательно, сможешь исправить проблемные места.

В тестирование безопасности входит большое количество разных инструментов и задач. В этой статье я попробую охватить все моменты в поиске уязвимостей на сайте. Благодаря данному гайду ты сможешь добиться безопасности на своих ресурсах.

Уязвимости на сайте и их поиск

В тестирование на проникновение и поиск уязвимостей на сайте входит несколько пунктов. Тут не хватит запуска одного инструмента и проверки ресурса, здесь нужен иной подход, в ходе которого мы найдем информацию о безопасности твоей системы. Вот основные моменты:

  • Разведка — поиск и сбор информации о твоей сети или серверах;
  • Сканирование — на этом этапе идет проверка сайта на уязвимости основываясь на собранной информации;
  • Эксплуатация — этот шаг не всегда нужен тестировщика для теста на проникновение. Это понадобится, если ты захочешь увидеть реальную опасность уязвимостей;
  • Исправление — на этом этапе ты должен исправить все найденные уязвимости на твоём сайте.

Сейчас подробнее ознакомимся с тем, что делать на каждом этапе и какие из инструментов для этого использовать. Не стоит качать все программы отдельно, используй готовую сборку для тестирования — Kali Linux. Это уже готовый для тестирования дистрибутив Linux, в котором содержится все нужное. Поэтому у тебя не будет потребности в установке лишнего. А запускать такую систему можно прямо с флеш-накопителя.

Разведка

Несмотря на то, что это твоя система, тебе все равно придется узнать какую именно информацию о ней смогут получить злоумышленники. Итак, перейдем к действиям.

nmap — это популярнейший инструмент для сканирования сетей. С его помощью ты сможешь увидеть какие сервисы запущены на сервере веб-сайта, какие порты они используют и их версии, даже версию операционной системы, неплохо, да? Для просмотра открытых портов на своей машине выполняем данную команду в терминале Kali Linux:

 nmap -sS 192.168.91.249

Здесь 192.168.91.249 — это ip адрес твоего сайта. Это команда только выводит открытые порты и имена сервисов. Ты можешь получить более подробную информацию, для примера, даже на этом этапе можно узнать многое о системе. Например, тут ты можешь увидеть, что на машине запущен SSH сервер, веб-сервер, службы обмена файлами Samba и прокси сервер на порту 3128. А такая информация доступная для злоумышленников, представляет опасность.

Сканер Nmap даст возможность узнать больше, с помощью более глубокого сканирования. Для этого используй опцию -A:

 nmap -A 192.168.91.62

Здесь ты уже увидишь гораздо больше информации, версии сервисов, системное время, систему управления контентом и даже версию операционной системы.

Обязательно использовать другие открытие источники информации. Самое главное, определить какая информация о тебе доступна в сети и доступна ли она хакеру. Вот несколько сервисов:

  • whois — с его помощью ты можешь узнать общедоступную инфу о домене, регистраторе , владельца и другую контактную информацию;
  • recon-ng — важный инструмент для анализа, который поставляемый с Kali Linux;
  • Maltego Chlorine — популярнейший инструмент с открытыми исходныками(из прошлых моих статей мы помним как это важно), предназначаетсядля сбора инфы с открытых источников;
  • Netcraft — инструмент, который позволяет найти поддомены сайта;
  • hackertarget.com/reverse-ip-lookup — показывает какие сайты также работают на твоем ip адресе.

Как только ты завершил сбор инфы на этапе разведки, нужно перходить к сканированию, выполнив поиск уязвимостей на сайте Kali Linux.

Сканирование

Для сканирования применяется метод который носит - фаззинг. Он передает большое кол-во данных твоему сайту и пытается обнаружить уязвимости. Далее мы рассмотрим основные утилиты для работы с этим.

Важно не только найти различные уязвимости, но и понимать как работают данные приложения. Если ты владеешь исходным кодом проекта, то это позволяет тебе одновременно с фаззингом использовать и ручной анализ, чтобы с большей вероятностью найти слабые места.

WPScan — проект с открытыми исходнками, написанный на Ruby и специализируется на сканирования WordPress. Его основной плюс это то, что он прост в использовании и может быть полезнен для ресурсов использующих большое кол-во плагинов. Утилите не обязательно иметь доступ к исходному коду, она выполняет сканирование удаленно.

Nikto — сканер уязвимостей для веб-сайтов. По времени работы он рассчитан на большее количество времени,однако, но рассчитан не только на WordPress. В него входит множество плагинов, и во время сканирования выполняется очень много запросов. Например, он способен найти файл, который будет выводить информацию phpinfo. Но Nikto генерирует очень много ложных срабатываний, поэтому тебе придется анализировать его работу.

Burp Suite — мощнейшая программа для поиска уязвимостей на сайте или в веб приложениях. Этот инструмент работает исключительно через веб-браузер. Проверяет все формы на сайте, проверяет отправку разных заголовков, показывает ответы и запросы браузера, выполняет активное сканирование URL, а также статический анализ кода JavaScript, выполняет поиск XSS уязвимостей на сайте. Отличнейший инструмент, но не все используют его из-за сложности работы с ним.

SQLMap — эта утилита ищет sql уязвимости сайта. Позволит тебе найти все возможные места, где могут быть выполнены SQL инъекции. Например, если ты предполагаешь, что в параметре id может быть sql инъекция, используй такую команду:

 sqlmap -u http://example.com/?id=1 -p id

Программа выполнит тестирование для различных типов баз данных, поэтому ты можешь указать только нужную:

 sqlmap --dbms=MySQL -u http://example.com/?id=1 -p id

При помощи этой команды ты можешь проверить различные поля, и указать различные параметры, такие как базы данных, таблицы или пароли.

ЭКСПЛУАТАЦИЯ

Эксплуатация завершает поиск уязвимостей на сайте и предоставляет из себя использование уязвимостей для получения доступа к системе или данным. Короче, если ты смог найти дыры в своей системе безопасности и закрыть их, то больше ничего тебе делать не нужно. Бывают случаи когда нужно доказать, что проблема действительно масштабная. Не рекомендую использовать работать с дырами на производственных системах. Это приводит к проблемам. Проще создать виртуальную машину и уже в ней показывать все, что нужно. Вот инструменты, которые можно использовать:

  • SQLMap — эффективный инструмент для поиска sql уязвимостей и их эксплуатации;
  • Burp Suite — инструмент который ищет XSS уязвимости;
  • Metasploit — эксплуатация уязвимостей в системе.

Metasploit — это целая среда для проведения тестирования на проникновение, в ней содержится множество готовых эксплойтов. Ты можешь найти эксплойты для установленных плагинов или обнаруженных на первом этапе сервисов. Я постараюсь подробнее рассмотреть Metasploit в следующих статьях, так что рекомендую подписаться на мой канал.

Исправление

Теперь мы дошли до заключительного этапа поиска уязвимостей. Когда все уязвимости были найдены, сделай выводы и закрой дыры. Распредели приоритеты и исправь все. Если ты смог найти их, значит может найти и кто то другой...

Report Page