Преглед на безплатните инструменти за пентест на уеб ресурси и не само v2

Преди известно време вече писах за този, но беше малко бедно и неясно. След това реших да разширя списъка с инструменти в прегледа, да добавя структура на статията, да взема под внимание критиката (голямо благодаря на Lefty за съветите) и я изпратих на конкурса на СекЛаб (и я публикувах линка, но по всички разбираеми причини никой не я видя). Конкурсът приключи, резултатите бяха обявени и с чиста съвест мога да я (статията) публикувам в Хабре.

Безплатни инструменти за пентест на уеб приложения

В тази статия ще говоря за най-популярните инструменти за пентестинг (тестове за проникновение) на уеб приложения по стратегията "черна кутия".
За целта ще разгледаме утилити, които ще помогнат в този вид тестване. Ще разгледаме следните категории продукти:

  1. Мрежови скенери
  2. Скенери за пропуски в уеб скриптове
  3. Експлойтинг
  4. Автоматизация на инжекции
  5. Дебъгери (снифери, локални прокси и т.н.)


Някои продукти имат универсален "характер", затова ще ги отнеса към категорията, в която имат бпо-ольше резултат (субективно мнение).

Мрежови скенери.

Основната задача — да разкрие наличните мрежови услуги, да установи техните версии, да определи ОС и т.н.

NmapПреглед на безплатните инструменти за пентест на уеб ресурси и не само v2
Nmap ("Network Mapper") е безплатна утилита с отворен код за анализ на мрежата и одит на сигурността на системите. Яростните противници на конзолата могат да използват Zenmap, GUI за Nmap.
Това не е просто "умен" скенер, а сериозен разширяем инструмент (от "необичайните функции" — наличието на скрипт за проверка на узла на наличие на червя "Stuxnet" (беше споменато тук). Типичен пример за употреба:

nmap -A -T4 localhost

-A за определяне на версията на ОС, сканиране с помощта на скриптове и трасировка
-T4 настройка на времевото управление (повече — по-бързо, от 0 до 5)
localhost — целеви хост
Нещо по-сериозно?

nmap -sS -sU -T4 -A -v -PE -PP -PS21,22,23,25,80,113,31339 -PA80,113,443,10042 -PO --script all localhost

Това е набор от опции от профила "бавно обширно сканиране" в Zenmap. Изпълнява се доста дълго, но дава много по-подробна информация, която може да се получи за целевата система. Ръководство на руски език, ако решите да се задълбочите, а също така препоръчвам превода на статията Beginner’s Guide to Nmap.
Nmap получи статуса "Продукт за сигурност на годината" от списания и общности като Linux Journal, Info World, LinuxQuestions.Org и Codetalker Digest.
Интересен факт, че Nmap може да се види във филмите „Матрицата: Презареждане“, „Крепостта: Четвърта част“, „Ултиматум на Борн“, „Хоттабыч“ и други.

IP-ToolsПреглед на безплатните инструменти за пентест на уеб ресурси и не само v2
IP-Tools — набор от различни мрежови инструменти, който идва с GUI и е „предназначен“ за потребителите на Windows.
Сканиране на портове, общи ресурси (споделени принтери/папки), WhoIs/Finger/Lookup, клиент на telnet и много други. Просто удобен, бърз и функционален инструмент.

Няма особен смисъл да се разглеждат останалите продукти, тъй като има много утилити в тази област и всички те имат подобен принцип на работа и функционалност. Въпреки това, най-често използваният остава nmap.

Скенери за пропуски в уеб скриптове

Опитват се да намерят популярни уязвимости (SQL inj, XSS, LFI/RFI и т.н.) или грешки (неизтървани временни файлове, индексиране на директории и т.н.)

Acunetix Web Vulnerability ScannerПреглед на безплатните инструменти за пентест на уеб ресурси и не само v2
Acunetix Web Vulnerability Scanner — по линка ясно се вижда, че това е XSS скенер, но не съвсем. Безплатната версия, налична по линка, предлага доста голям функционал. Обикновено човек, пуснал този скенер за първи път и получаващ отчет за собствения си ресурс, изпитва малък шок, и ще разберете защо, когато го направите. Това е много мощен продукт за анализ на всевъзможни уязвимости на сайта и работи не само с известните ни сайтове на php, а и на други езици (макар различието в езика да не е показател). Няма особен смисъл да описвам инструкциите, тъй като скенерът просто „подхваща“ действията на потребителя. Нещо като „напред, напред, напред, готово“ в типична инсталация на какъвто и да е софтуер.

NiktoПреглед на безплатните инструменти за пентест на уеб ресурси и не само v2
Nikto е Open Source (GPL) уеб скенер. Освобождава от рутинната ръчна работа. Търси на целевия сайт неизтеглени скриптове (някакви test.php, index_.php и т.н.), инструменти за администриране на БД (/phpmyadmin/, /pma и подобни) и т.н., т.е. проверява ресурса за най-честите грешки, произтичащи обикновено от човешкия фактор.
Плюс, ако намери някакъв популярен скрипт, проверява го за налични експлойти (които са в базата).
Съобщава за налични „нежелателни“ методи, като PUT и TRACE
И така нататък. Много удобно, ако работиш като одитор и всеки ден провеждаш анализи на сайтове.
Отрицателните страни включват висок процент на фалшиви срабатывания. Например, ако вашият сайт постоянно дава началната страница вместо да показва 404 грешка (когато би трябвало да се появи), скенерът ще посочи, че на вашия сайт има всички скриптове и уязвимости от неговата база данни. На практика това не се случва толкова често, но истината е, че много зависи от структурата на вашия сайт.
Класическо използване:

. /nikto.pl -host localhost

Ако е необходимо да бъдете авторизирани на сайта, можете да зададете cookie в файла nikto.conf, променливата STATIC-COOKIE.

WiktoПреглед на безплатните инструменти за пентест на уеб ресурси и не само v2
Wikto — Nikto за Windows, но с някои допълнения, като 'нечетка' логика при проверка на код за грешки, използване на GHDB, получаване на линкове и папки на ресурса, мониторинг на HTTP заявки/отговори в реално време. Wikto е написан на C# и изисква .NET framework.

skipfishПреглед на безплатните инструменти за пентест на уеб ресурси и не само v2
skipfish — скенер за уеб уязвимости от Michal Zalewski (известен под ник lcamtuf). Написан е на C, кросплатформа (за Win е необходим Cygwin). Рекурсивно (и много бавно, около 20~40 часа, въпреки че последно ми отне 96 часа) обхожда целия сайт и намира всякакви слабости в сигурността. Освен това генерира много трафик (по няколко гигабайта входящ/изходящ). Но всяко средство е добро, особено ако имате време и ресурси.
Типично използване:

.\/skipfish -o \/home\/reports www.example.com

В папката 'reports' ще бъде отчет в html, пример.

w3af Преглед на безплатните инструменти за пентест на уеб ресурси и не само v2
w3af — Web Application Attack and Audit Framework, open-source скенер за уеб уязвимости. Има GUI, но може да се работи и от конзолата. Всъщност, това е фреймуърк с множество плъгини.
Може да се говори дълго за неговите предимства, но е по-добре да го изпробвате :)
Типичната работа с него се свежда до избор на профил, задаване на цел и, собствено, стартиране.

Mantra Security FrameworkПреглед на безплатните инструменти за пентест на уеб ресурси и не само v2
Mantra е мечта, която се сбъдна. Колекция от свободни и отворени инструменти за ИБ, вградими в уеб браузера.
Изключително полезни за тестване на уеб приложения на всички етапи.
Използването се свежда до инсталиране и стартиране на браузера.

Всъщност има много утилити в тази категория и е доста трудно да се изготви конкретен списък. Най-често всеки пен тестер сам определя набора от нужни инструменти.

Експлойтинг

За автономно и по-удобному използване на уязвимости в софтуера и скриптовете се пишат експлойти, на които само трябва да се предадат параметри, за да се използва дупката в сигурността. Има и продукти, които спестяват от ръчно търсене на експлойти, а освен това ги прилагат „в движение“. Тази категория ще бъде разгледана сега.

Metasploit Framework Преглед на безплатните инструменти за пентест на уеб ресурси и не само v2
The Metasploit® Framework — някакъв звяр в нашето дело. Той може толкова много, че инструкциите ще излязат в няколко статии. Ще разгледаме автоматичен експлоитинг (nmap + metasploit). Същността е, че Nmap анализира необходимия ни порт, установява услугата, а метасплойт ще се опита да приложи експлойти, в зависимост от класа на услугата (ftp, ssh и т.н.). Вместо текстова инструкция ще поставя видео, доста популярно на тема autopwn.

Възпроизведи видео

А можем просто да автоматизираме работата на необходимия ни експлойт. Например:

msf > използвай auxiliary/admin/cisco/vpn_3000_ftp_bypass
msf auxiliary(vpn_3000_ftp_bypass) > задай RHOST [TARGET IP]
msf auxiliary(vpn_3000_ftp_bypass) > стартирай

Всъщност възможностите на този фреймворк са много обширни, затова, ако решите да се задълбочите, преминете на връзката

ArmitageПреглед на безплатните инструменти за пентест на уеб ресурси и не само v2
Armitage — OVA в жанра киберпънкGUI за Metasploit. Визуализира целта, препоръчва експлойти и предоставя разширени възможности на този фреймворк. Общо взето, за тези, които обичат всичко да изглежда красиво и ефектно.
Скринкаст:

Възпроизведи видео

Tenable Nessus®Преглед на безплатните инструменти за пентест на уеб ресурси и не само v2
Tenable Nessus® скенер за уязвимости — има много функции, но за нас е нужна една от възможностите — определяне на услугите, за които има експлойти. Безплатната версия на продукта е "home only".

Использование:

  • Свалихме (за нашата система), инсталирахме, регистрирахме (ключът идва на имейла).
  • Стартирахме сървъра, добавихме потребител в Nessus Server Manager (бутон Manage users)
  • Влизаме на адреса
    https://localhost:8834/

    и получаваме флаш клиент в браузъра.

  • Scans -> Add -> попълваме полетата (избирайки подходящия профил за сканиране) и натискаме Scan.

След известно време отчетът за сканиране ще се появи в раздела Reports.
За да проверим практическата уязвимост на услугите към експлойти, можем да използваме описания Metasploit Framework или да опитаме да намерим експлойт (например на Explot-db, packet storm, explot search и др.) и да го използваме ръчно срещу нашата система.
ИМХО: твърде тромав. Представям го като един от лидерите в този сектор на софтуерната индустрия.

Автоматизация на инжекции.

Много приложения за уеб сканиране правят търсене на инжекции, но те все пак са просто общи скенери. Има обаче инструменти, които се занимават конкретно с търсене и експлоатация на инжекции. За тях ще става дума сега.

sqlmapПреглед на безплатните инструменти за пентест на уеб ресурси и не само v2
sqlmap — отворен код инструмент за търсене и експлоатация на SQL инжекции. Поддържа бази данни като: MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, SQLite, Firebird, Sybase, SAP MaxDB.
Типичното използване се свежда до следния ред:

python sqlmap.py -u "http://example.com/index.php?action=news&id=1"
Има достатъчно ръководства, включително и на български език. Софтуерът значително улеснява работата на пентестера по този направление.
Ще добавя официална видео демонстрация:

Възпроизведи видео

bsqlbf-v2
bsqlbf-v2 — скрипт на Perl, брутфорсер за „слепи“ SQL инжекции. Работи както с цели числа в URL, така и с низове (string).
Поддържа бази данни:

  • MS-SQL
  • MySQL
  • PostgreSQL
  • Oracle

Пример за използване:

./bsqlbf-v2-3.pl -url www.somehost.com/blah.php?u=5 -blind u -sql "select table_name from imformation_schema.tables limit 1 offset 0" -database 1 -type 1

-url www.somehost.com/blah.php?u=5 — Линк с параметри
-blind u — параметър за инжекция (по подразбиране се взема последният от адресната редица)
-sql "select table_name from information_schema.tables limit 1 offset 0" — наш произволен запитване към базата данни
-database 1 — базата данни: MSSQL
-type 1 — тип атака, „слепа“ инжекция, основана на True и Error (например синтактични грешки) отговори

Дебъгъри

Тези инструменти основно се използват от разработчици, при проблеми с резултатите от изпълнението на техния код. Но това направление е полезно и при пентестиране, когато можем да заменим нужните данни „на лето“, да анализираме какво получаваме в отговор на нашите входни параметри (например при fuzzing) и т.н.

Burp Suite
Burp Suite — набор от инструменти, които помагат при тестове за проникване. В мрежата има добър обзор на български език от Raz0r (вярно, от 2008 година).
В безплатната версия влизат:

  • Burp Proxy — локален прокси, позволяващ промяна на вече формулирани запитвания от браузъра
  • Burp Spider — паяк, търсещ съществуващи файлове и директории
  • Burp Repeater — ръчно изпращане на HTTP запитвания
  • Burp Sequencer — анализ на случайни стойности в форми
  • Burp Decoder — стандартен кодер-декодер (html, base64, hex и т.н.), хиляди от които могат да се напишат бързо на някой език
  • Burp Comparer — компонент за сравнение на низове

Всъщност този пакет решава почти всички проблеми, свързани с това направление.

FiddlerПреглед на безплатните инструменти за пентест на уеб ресурси и не само v2
Fiddler — Fiddler е отладъчен прокси, който логва целия HTTP(S) трафик. Позволява проучване на този трафик, поставяне на точки за прекъсване и „играене“ с входящите или изходящите данни.

Има също и Firesheep, монстр Wireshark и други, изборът е на потребителя.

Заключение

Естествено, всеки пен-тестър има своя арсенал и набор от инструменти, тъй като ги има безброй. Опитах се да представя някои от най-удобните и популярни. Но за да може всеки, който желае, да се запознае и с други инструменти в тази област, ще дам линкове по-долу.

Различни топове/списъци на скенери и инструменти

Дистрибуции на Linux, в които вече има много различни инструменти за пен-тестинг

upd: Документация по BurpSuite на руски от екипа на „Hack4Sec“ (добави AntonKuzmin)

P.S. Не може да се пропусне XSpider. Не участва в прегледа, макар че е условно безплатен (разбрах, когато изпратих статията на СекЛаб, именно заради това (незнание и неимане на последната версия 7.8) не го включих в статията). Планирах преглед на него (имам подготвени трудни тестове за него), но не знам дали светът ще го види.

P.P.S. Някои материали от статията ще бъдат използвани по предназначение в предстоящ доклад на CodeFest 2012 в секция QA, в който ще бъдат споменати инструменти (безплатни, естествено), както и алгоритъм за това какво да се използва, какъв резултат да се очаква, какви конфигурации да се използват и всякакви трикове и хинтове при работа (размишлявам за доклада почти всеки ден, ще се постарая да споделя всичко най-добро по темата).
Между другото, по тази статия имаше занятие на Open InfoSec Days (тег на Хабра, сайт), може да ограбят кервани да се погледне материалите.

Източник: habr.com

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster