Как проверить сайт на уязвимости kali linux
Перейти к содержимому

Как проверить сайт на уязвимости kali linux

  • автор:

Инструменты Kali Linux

Список инструментов для тестирования на проникновение и их описание

XssPy

XssPy – это инструмент на Python для поиска уязвимостей межсайтового скриптинга (XSS) в веб-сайтах. Этот инструмент первый в своём роде. Вместо того, чтобы просто проверить одну страницу, как делает большинство инструментов, этот инструмент для начала перемещается по веб-сайту и ищет все ссылки и поддомены. После этого он начинает сканирование каждого ввода (input) на каждой странице, которые найдены во время индексации. Он использует маленькую, но эффективную полезную нагрузку для поиска XSS уязвимостей.

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

  1. Коротким сканированием
  2. Комплексным сканированием
  3. Поиском субдоменов
  4. Проверкой каждого ввода (input) на каждой странице

Автор: Faizan Ahmad

Справка по XssPy

В адресе сайта не нужно указывать “www” и “http”.

У программы имеется только одна необязательная опция: -e, которую нужно указывать после имени сайта, и которая означает комплекснок сканирование.

Если в выводе будет присутствовать “Xss found and the link is .. “, значит вы нашли XSS уязвимость. В противном случае программа проверяет ссылку за ссылкой.

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

Руководство по XssPy

Страница man отсутствует.

Примеры запуска XssPy

Установка XssPy

Установка в Kali Linux

Установка в BlackArch

Программа предустановлена в BlackArch.

Информация об установке в другие операционные системы будет добавлена позже.

Как проверить сайт на уязвимости kali linux

Любой поиск уязвимостей начинается с разведки и сбора информации. Разведка может быть активной: перебор файлов и директорий сайта, использование сканеров уязвимостей, ручной анализ приложения; или пассивной: с использованием различных поисковых систем и интернет-сервисов. В этой статье мы рассмотрим инструменты Kali Linux, а также онлайн-ресурсы, которые можно использовать для анализа защищенности веб-приложений.

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

Пассивная разведка

Для пассивного сбора информации характерно то, что этапы его проведения невозможно обнаружить, так как фактически нельзя определить, с какого узла производится сбор информации. При пассивном сборе используются службы Whois, анализ DNS, исследование публичных интернет-ресурсов, поисковые системы и интернет-сервисы, социальные сети и многое другое.

2IP или аналоги

Различные онлайн-сервисы, предоставляющий информацию об операционной системе, браузере, месте расположения и интернет-провайдере, а также непосредственно об IP-адресе. Сервис предоставляет доступ к инструментам, которые могут оказаться хорошим подспорьем при проведении тестирования на проникновение. На 2IP можно узнать IP-адрес объекта по доменному имени, проверить DNS записи домена, определить используемую CMS, наличие сайта в веб-архивах и т.д.

Shodan

Это поисковая система, разработанная веб-девелопером Джоном Мазерли и ориентированная, прежде всего, на поиск устройств, подключённых к интернету. Shodan предоставляет информацию об устройствах (маршрутизаторах, коммутаторах, настольных компьютерах, серверах и т.д.) и сервисах. Поисковая система опрашивает порты, захватывает полученные баннеры и индексирует их, чтобы найти необходимую информацию. Ценность Shodan, как инструмента тестирования на проникновение, заключается в том, что он предоставляет ряд удобных фильтров:

  • Страна. Поиск осуществляется по двухбуквенному коду страны. Например, запрос apache country: RU покажет вам серверы Apache в России.
  • Имя хоста. Отображаются результаты по любой части имени хоста или имени домена. Например, при запросе apache hostname: .ru отобразятся серверы Apache в домене .ru.
  • net. Выводятся результаты по определённому диапазону IP-адресов или подсети.
  • os. Находит указанные операционные системы.
  • Порт. Осуществляется поиск конкретных услуг. Shodan имеет ограниченную коллекцию портов: 21 (FTP), 22 (SSH), 23 (Telnet) и 80 (HTTP).

HackerTarget

Сервис позволяет произвести сканирование на наличие уязвимостей на основе инструментов с открытым исходным кодом. HackerTarget может осуществлять 12 различных типов сканирования (сканирование внешних портов, сканирование уязвимостей с помощью OpenVAS, сбор информации о домене, тесты безопасности WordPress, Joomla и Drupal), доступных для сканирования Free.Perform. Информация, собранная при помощи HackerTarget, может быть использована для расширения зоны атаки при выявлении уязвимостей на сервере.

На HackerTarget есть платные пакеты, которые расширяют возможности сервиса. После оплаты предоставляются следующие инструменты:

  • Nmap — сканирование любого IP-адреса, лимит сканирования до 2048 адресов в день, сканирование портов без ограничений, запуск сканирования по расписанию.
  • OpenVas — Сканирование с помощью инструмента до 512 IP-адресов и составление отчётов в PDF, HTML, XML. Для тарифа PRO+ доступно сканирование по расписанию.
  • Доступ к сканеру уязвимостей веб-серверов Nikto, тестированию с помощью SQLmap, расширенный инструментарий для WhatWeb/Wappalyzer, сканирование CMS WordPress, Joomla, Drupal, а также тестирование SSL/TLS.
Google dorks

Операторы расширенного поиска Google используются, как правило, вместе с другими инструментами тестирования на проникновение для сбора анонимной информации, сопоставления сетей, а также сканирования и перечисления портов. Google dorks может предоставить пентестеру широкий спектр конфиденциальной информации, такой как страницы входа администратора, имена пользователей и пароли, конфиденциальные документы, военные или правительственные данные, корпоративные списки рассылки, данные банковских счетов и многое другое. Использование Google dorks позволяет фильтровать информацию примеру по типу уязвимости, по типу CMS, ошибкам, на которые не все обращают внимание. Среди всех операторов расширенного поиска Google наиболее интересны следующие:

  • site — поиск осуществляется по конкретному сайту;
  • inurl — указатель на то, что искомые слова должны быть частью самого веб-адреса;
  • intitle — оператор поиска в заголовке веб-страниц;
  • ext или filetype — поиск файлов определённого типа по расширению.

Также при составлении запроса не стоит забывать про операторы, которые задаются спецсимволами:

  • «|» — вертикальный слеш, он же оператор OR (логическое или). Указывает, что нужно показать результаты, содержащие хотя бы одно из слов, перечисленных в запросе.
  • «""» — кавычки. Указывает на поиск точного соответствия.
  • «-» — минус. Используется для очистки поисковой выдачи и исключает из неё результаты с указанными после минуса словами.
  • «*» — звездочка, или астериск. Используется в качестве маски и означает «что угодно».

Пример: site:pentestit.ru inurl:/uploads , если требуется найти все ссылки, содержащие «/upload» на сайте pentestit.ru.

theHarvester

theHarvester — это инструмент для сбора e-mail адресов, имён поддоменов, виртуальных хостов, открытых портов/банеров и имён работников из различных открытых источников (поисковые системы, сервера ключей pgp). Это простой, но эффективный на ранних этапах тестирования на проникновение инструмент позволяет узнать, какую информацию могут собрать о компании через интернет.

Инструмент использует следующие источники:

  • google: поисковая машина Google — www.google.com;
  • googleCSE: пользовательский поиск Google;
  • google-profiles: поисковая система Google, специфичный поиск по профилям Google;
  • bing: поисковая система Microsoft — www.bing.com;
  • bingapi: поисковая система Microsoft, через API (нужно добавить ваш ключ в файл discovery/bingsearch.py);
  • dogpile: поисковая система Dogpile — www.dogpile.com;
  • pgp: сервер ключей pgp — mit.edu;
  • linkedin: поисковая система Google, специфичный поиск по пользователям Linkedin;
  • vhost: поиск Bing по виртуальным хостам;
  • twitter: Twitter аккаунты, связанные с указанным доменом (используется поиск Google);
  • googleplus: пользователи, которые работают в целевой компании (использует поиск Google);
  • yahoo: поисковая система Yahoo;
  • baidu: поисковая система Baidu;
  • shodan: поисковая система Shodan, ищет порты и банеры обнаруженных хостов (http://www.shodanhq.com/).
  • Перебор DNS: этот плагин запустит перебор по словарю;
  • Обратное преобразование DNS: обратное преобразование обнаруженных IP-адресов для поиска имён хостов;
  • DNS TDL расширение: перечисление по словарю TLD;

Модули, для работы которых требуются API ключи:

  • googleCSE: нужно создать Google Custom Search engine(CSE) и добавить ваш Google API ключ и CSE ID в плагин (discovery/googleCSE.py);
  • shodan: нужно ввести ваш API ключ в discovery/shodansearch.py.

Ключи:
-b — позволяет указать источники в которых он будет искать. Возможные источники поиска:google, googleCSE, bing, bingapi, pgp, linkedin, google-profiles, people123, jigsaw, twitter, googleplus или все сразу — all;
-v — проверить хост в DNS и искать виртуальные сервера имеющие тот же адрес;
-f — записать результаты в HTML и XML файлы;
-n — сделать рекурсивные запросы к всем найденным диапазоном адресов;
-c — провести брутфорс доменных имен по словарю;
-e — использовать указанный DNS сервер;
-h — проверить найденные хосты через SHODAN.
Так же можно ограничить или расширить глубину поиска:
-l — глубина поиска (по умолчанию 100);
-s — пропустить первые n запросов.

Активная разведка

DIRB представляет собой cканер для поиска директорий веб-приложения. В основе работы инструмента лежит поиск по словарю, при помощи которого формируются запросы к веб-серверу и осуществляется анализ ответов.

DIRB поставляется с набором настроенных на атаку словарей для простого использования, но можно задействовать и свой словарь. DIRB полезен там, где классические сканеры уязвимостей веб-приложений бессильны, так как он ищет специфические веб-объекты. При работе с инструментом можно использовать ключи:
-c — установить cookie для HTTP запроса. Может быть полезно, если веб-приложение для работы требует определенные cookie;
-a — установка пользовательского user-agent;
-u <пользователь:пароль> — HTTP аутентификация.

Nmap (Network Mapper) — это утилита с открытым исходным кодом для исследования сети и проверки безопасности. Зачастую используется для инвентаризации сети, управления расписанием служб обновлений и мониторинга аптайма хостов или служб. Nmap был создан для быстрого сканирования больших сетей, но также хорошо работает и в отношении единичных хостов. Nmap запускается на всех популярных операционных системах, а официальные исполнимые пакеты доступны для Linux, Windows и Mac OS X. Достоинствами Nmap можно назвать:

  • Гибкость. Nmap поддерживает множество техник для составления карты сети, заполненной IP-фильтрами, межсетевыми экранами, роутерами и другими преградами, а также различные механизмы сканирования портов (TCP и UDP), определение операционных систем, определение версий и др.
  • Мощность. Изначально Nmap использовалась для сканирования больших сетей, состоящих из сотен машин.
  • Кроссплатформенность. Поддерживаются большинство операционных систем, включая Linux, Microsoft Windows, FreeBSD, OpenBSD, Solaris, IRIX, Mac OS X, HP-UX, NetBSD, Sun OS, Amiga и другие.
  • Простота в использовании. Nmap включает в себя широкий набор функций различной степени сложности, он может быть полезен и для опытных пентестеров, и для новичков. Доступны как традиционная версия командной строки, так и графическая версия (GUI).
  • Nmap — бесплатный инструмент. Утилита доступна для свободной загрузки и поставляется с полным исходным кодом, который можно изменить и распространять его на основе лицензии.
  • Для Nmap разработана подробная документация.
  • Поддержка Nmap осуществляется сообществом разработчиков и пользователей.

При работе с утилитой можно использовать следующие ключи:
-sU — UDP-сканирование;
-O — определение версии операционной системы, основывается на TTL;
-Pn — позволяет рассматривать все хосты, как если бы они были онлайн;
-sC: — запуск стандартного набора скриптов, эквивалентно опции —script=default .

DMitry

Эта утилита командой строки для UNIX/(GNU)Linux, написанная на языке C. Приложение позволяет собрать максимально возможное количество информации о хосте. В базовую функциональность входит сбор информации о поддоменах, адресах электронной почты, сканировании портов TCP, поиск Whois и другое.

Среди особенностей Dmitry можно выделить следующие:

  • Проект с открытым исходным кодом;
  • Выполняет ряд поисков Whois;
  • Выполняет поиск поддоменов для целевого хоста;
  • Выполняет поиск адресов электронной почты для целевого хоста;
  • Выполняет сканирование портов TCP на целевом хосте;
  • Модульное построение программы позволяет настраивать набор используемых модулей.

Sparta

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

После указания хоста для тестирования, инструмент запустит последовательно несколько сценариев сбора информации, начиная от сканирования портов с помощью Nmap и заканчивая проверкой сканером уязвимостей веб-серверов Nikto, а также созданием скриншотов веб-страниц. При необходимости найденные сервисы можно передать во встроенный механизм брутфорса для подбора пароля к учётным записям пользователей.

WhatWeb

Программа предназначена для идентификации веб-стайтов и позволяет ответить на вопрос «Чем является этот веб-сайт?». WhatWeb распознает веб-технологии, в том числе системы управления контентом (CMS), платформы для ведения блогов, пакеты статистики/аналитики, библиотеки JavaScript, веб-серверы и встроенные устройства.

WhatWeb может быть незаметным и быстрым, тщательным и медленным. Чтобы контролировать компромисс между скоростью и достоверностью, WhatWeb поддерживает уровни агрессивности через ключ -a . Уровень агрессивности по умолчанию называется «незаметный», он является самым быстрым и требует только один HTTP-запрос к веб-сайту. Его можно использовать для сканирования публичных веб-сайтов. Более агрессивные режимы 3 и 4 были созданы для использования при проведении тестирования на проникновение. Также можно указать —user-agent , чтобы установить пользовательский user-agent, а также условия для осуществления перехода с помощью ключей —follow-redirection и —max-redirects . Поддерживается аутентификация на сайте и использование пользовательских cookie. WhatWeb поддерживает только basic auth.

WPScan

WPScan — это сканер уязвимостей WordPress, работающий по принципу «чёрного ящика», без доступа к исходному коду. Он может быть использован для сканирования удалённых сайтов WordPress на наличие уязвимостей.

Функционал инструмента позволяет устанавливать пользовательский user-agent или использовать функцию —random-user-agent для попытки обхода средств защиты. Для более глубокого изучения целевой CMS можно использовать ключ —enumiration с аргументами для запуска определения версии, главной темы оформления сайта, перечисления установленных плагинов и перечисления пользователей методом перебора.

Функция —plugins-detection aggressive является более агрессивной и требует больше времени.

Nikto

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

  • Неверные настройки сервера и программного обеспечения;
  • Дефолтные файлы и программы;
  • Небезопасные файлы и программы;
  • Устаревшие службы и программы.

Одной из самых востребованных опций сканера можно назвать -Tuning , которая модернизирует сканирование сервера, позволяя искать различные инъекции (4, 9), осуществлять обход аутентификации (a), идентификацию программного обеспечения (b) и многое другое. Например, для поиска XSS уязвимости можно воспользоваться следующей командой:
# nikto -host site.lan -Tuning 4 -C none

О Pentestit

Анализ защищенности веб-приложений — одно из основных направлений деятельности нашей компании, коллектив которой представлен специалистами с опытом работы в сфере более 10 лет.

Специализируясь в области практической информационной безопасности, мы производим поиск уязвимостей на защищенных интернет-ресурсах, выступаем с докладами на международных форумах, разрабатываем программное обеспечение и уникальные лаборатории тестирования на проникновение «Test lab», в которых принимают участие профессионалы со всего мира.

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

Как проверить сайт на уязвимости kali linux

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

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

Поиск уязвимостей на сайте

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

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

Теперь рассмотрим что нужно делать на каждом из этапов и какие инструменты для этого нужно использовать. Лучше не устанавливать все эти программы отдельно, а использовать уже готовую среду для тестирования на проникновение — Kali Linux. Это специально подготовленный дистрибутив Linux, который уже содержит все необходимые программы. Так вам не придется ничего устанавливать. Вы можете запускать систему из флешки или же установить Kali 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

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

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

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

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

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

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

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

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

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

Nikto — это сканер уязвимостей для веб-сайтов. Он работает намного дольше чем WPSan, но рассчитан не только на 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 в одной из следующих статей.

Исправление

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

Выводы

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

Kali Linux — Website Penetration Testing

In this chapter, we will learn about website penetration testing offered by Kali Linux.

Vega Usage

Vega is a free and open source scanner and testing platform to test the security of web applications. Vega can help you find and validate SQL Injection, Cross-Site Scripting (XSS), inadvertently disclosed sensitive information, and other vulnerabilities. It is written in Java, GUI based, and runs on Linux, OS X, and Windows.

Vega includes an automated scanner for quick tests and an intercepting proxy for tactical inspection. Vega can be extended using a powerful API in the language of the web: JavaScript. The official webpage is https://subgraph.com/vega/

Subgraph

Step 1 − To open Vega go to Applications → 03-Web Application Analysis → Vega

Vega

Step 2 − If you don’t see an application in the path, type the following command.

Subgraph

Step 3 − To start a scan, click “+” sign.

Subgraph Vega

Step 4 − Enter the webpage URL that will be scanned. In this case, it is metasploitable machine → click “ Next”.

Enter Page URL

Step 5 − Check all the boxes of the modules you want to be controlled. Then, click “Next”.

Module Boxes

Step 6 − Click “Next” again in the following screenshot.

Next Again

Step 7 − Click “Finish”.

Step 8 − If the following table pops up, click “Yes”.

Follow Redirect

The scan will continue as shown in the following screenshot.

Scanner Progress

Step 9 − After the scan is completed, on the left down panel you can see all the findings, that are categorized according to the severity. If you click it, you will see all the details of the vulnerabilities on the right panel such as “Request”, ”Discussion”, ”Impact”, and ”Remediation”.

Left Down Panel

ZapProxy

ZAP-OWASP Zed Attack Proxy is an easy-to-use integrated penetration testing tool for finding vulnerabilities in web applications. It is a Java interface.

Step 1 − To open ZapProxy, go to Applications → 03-Web Application Analysis → owaspzap.

ZapProxy

Step 2 − Click “Accept”.

Licensed Version

ZAP will start to load.

OWASP Zap

Step 3 − Choose one of the Options from as shown in the following screenshot and click “Start”.

Choose Options

Following web is metasploitable with IP :192.168.1.101

Web Metasploitable

Step 4 − Enter URL of the testing web at “URL to attack” → click “Attack”.

Url Attack

After the scan is completed, on the top left panel you will see all the crawled sites.

In the left panel “Alerts”, you will see all the findings along with the description.

Alerts

Step 5 − Click “Spider” and you will see all the links scanned.

Spider

Database Tools Usage

sqlmap

sqlmap is an open source penetration testing tool that automates the process of detecting and exploiting SQL injection flaws and taking over of database servers. It comes with a powerful detection engine, many niche features for the ultimate penetration tester and a broad range of switches lasting from database fingerprinting, over data fetching from the database, to accessing the underlying file system and executing commands on the operating system via out-of-band connections.

Let’s learn how to use sqlmap.

Step 1 − To open sqlmap, go to Applications → 04-Database Assessment → sqlmap.

SQLMap

The webpage having vulnerable parameters to SQL Injection is metasploitable.

SQL Injection

Step 2 − To start the sql injection testing, type “sqlmap – u URL of victim”

Url Victim

Step 3 − From the results, you will see that some variable are vulnerable.

Variable Results

sqlninja

sqlninja is a SQL Injection on Microsoft SQL Server to a full GUI access. sqlninja is a tool targeted to exploit SQL Injection vulnerabilities on a web application that uses Microsoft SQL Server as its back-end. Full information regarding this tool can be found on http://sqlninja.sourceforge.net/

Step 1 − To open sqlninja go to Applications → 04-Database Assesment → sqlninja.

Database Assesment

CMS Scanning Tools

WPScan

WPScan is a black box WordPress vulnerability scanner that can be used to scan remote WordPress installations to find security issues.

Step 1 − To open WPscan go to Applications → 03-Web Application Analysis → “wpscan”.

Web Application

The following screenshot pops up.

Wpscan

Step 2 − To scan a website for vulnerabilities, type “wpscan –u URL of webpage”.

If the scanner is not updated, it will ask you to update. I will recommend to do it.

Scanner Update

Once the scan starts, you will see the findings. In the following screenshot, vulnerabilities are indicated by a red arrow.

Red Arrow

Scan Starts

Joomscan

Joomla is probably the most widely-used CMS out there due to its flexibility. For this CMS, it is a Joomla scanner. It will help web developers and web masters to help identify possible security weaknesses on their deployed Joomla sites.

Step 1 − To open it, just click the left panel at the terminal, then “joomscan – parameter”.

Step 2 − To get help for the usage type “joomscan /?”

Joomscan

Step 3 − To start the scan, type “ joomscan –u URL of the victim”.

OWASP

Results will be displayed as shown in the following screenshot.

Vulnerability

Suggestion

SSL Scanning Tools

TLSSLed is a Linux shell script used to evaluate the security of a target SSL/TLS (HTTPS) web server implementation. It is based on sslscan, a thorough SSL/TLS scanner that is based on the openssl library, and on the “openssl s_client” command line tool.

The current tests include checking if the target supports the SSLv2 protocol, the NULL cipher, weak ciphers based on their key length (40 or 56 bits), the availability of strong ciphers (like AES), if the digital certificate is MD5 signed, and the current SSL/TLS renegotiation capabilities.

To start testing, open a terminal and type “tlssled URL port“. It will start to test the certificate to find data.

Tissled

You can see from the finding that the certificate is valid until 2018 as shown in green in the following screenshot.

Certificate

w3af is a Web Application Attack and Audit Framework which aims to identify and exploit all web application vulnerabilities. This package provides a Graphical User Interface (GUI) for the framework. If you want a command-line application only, install w3af-console.

The framework has been called the “metasploit for the web”, but it’s actually much more as it also discovers the web application vulnerabilities using black-box scanning techniques. The w3af core and its plugins are fully written in Python. The project has more than 130 plugins, which identify and exploit SQL injection, cross-site scripting (XSS), remote file inclusion and more.

Step 1 − To open it, go to Applications → 03-Web Application Analysis → Click w3af.

Application W3af

Step 2 − On the “Target” enter the URL of victim which in this case will be metasploitable web address.

Target

Step 3 − Select the profile → Click “Start”.

Profile Start

Step 4 − Go to “Results” and you can see the finding with the details.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *