Преглед на безплатни инструменти за пентест на уеб ресурси и не само 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 получи статуса “Security Product of the Year” от списания и общности като Linux Journal, Info World, LinuxQuestions.Org и Codetalker Digest.
Интересен момент, Nmap може да се види във филмите „Матрицата: Презареждане“, „Умирай трудно 4“, „Ултиматумът на Борн“, „Хоттабыч“ и други.

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
Metasploit® Framework — един вид монстър в нашата работа. Той владее толкова много неща, че инструкциите ще излязат на няколко статии. Ще разгледаме автоматизирания експлоитинг (nmap + metasploit). Същността е такава, Nmap ще анализира нужния ни порт, ще установи услугата, а metasploit ще опита да приложи експлойти към него, базирайки се на класа на услугата (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) > изпълни

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

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 information_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 imformation_schema.tables limit 1 offset 0" — нашият произволен заявка към базата
-database 1 — СУБД: MSSQL
-type 1 — тип атака, „слепа“ инжекция, основана на отговори от тип True и Error (например синтактични грешки)

Дебъгери

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

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, в които вече има куп различни утилити за пентестинг

ъпдейт: Документация за 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