Преди време писах за , но малко оскъдно и хаотично. След това реших да разширя списъка с инструменти в прегледа, да добавя структура към статията и да взема под внимание критиките (много благодаря за съвет) и го изпрати на конкурс в SecLab (и го публикува , но по всички очевидни причини никой не я видя). Конкурсът приключи, резултатите са обявени и с чиста съвест мога да го публикувам (статията) на Хабре.
Безплатни инструменти за Pentester за уеб приложения
В тази статия ще говоря за най-популярните инструменти за пентестиране (тестове за проникване) на уеб приложения, използващи стратегията „черна кутия“.
За да направим това, ще разгледаме помощни програми, които ще помогнат при този тип тестване. Помислете за следните категории продукти:
- Мрежови скенери
- Скенери за пробиви в уеб скриптове
- Експлоатация
- Автоматизация на инжекциите
- Дебъгери (снифери, локални проксита и т.н.)
Някои продукти имат универсален „характер“, затова ще ги класифицирам в категорията, в която иматопо-добър резултат (субективно мнение).
Мрежови скенери.
Основната задача е да откриете наличните мрежови услуги, да инсталирате техните версии, да определите операционната система и т.н.
Nmap
е безплатна помощна програма с отворен код за мрежов анализ и одит на сигурността на системата. Яростните противници на конзолата могат да използват Zenmap, който е GUI за Nmap.
Това не е просто „умен“ скенер, той е сериозен разширяем инструмент (една от „необичайните функции“ е наличието на скрипт за проверка на възел за наличие на червей "“ (споменато ). Типичен пример за употреба:
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. Отнема доста време за завършване, но в крайна сметка предоставя по-подробна информация, която може да се намери за целевата система. , ако решите да се задълбочите, препоръчвам и превод на статията .
Nmap е удостоен със статут „Продукт за сигурност на годината“ от списания и общества като Linux Списание, Инфо свят, LinuxQuestions.Org и Codetalker Digest.
Интересен момент, Nmap може да се види във филмите „The Matrix Reloaded“, „Die Hard 4“, „The Bourne Ultimatum“, „Hottabych“ и .
IP-Tools
- един вид набор от различни мрежови помощни програми, идва с GUI, „посветен“ на потребителите на Windows.
Скенер за портове, споделени ресурси (споделени принтери/папки), WhoIs/Finger/Lookup, telnet клиент и много повече. Просто удобен, бърз, функционален инструмент.
Няма особен смисъл да се разглеждат други продукти, тъй като в тази област има много помощни програми и всички те имат сходни принципи на работа и функционалност. Все пак nmap остава най-често използваният.
Скенери за пробиви в уеб скриптове
Опитвате се да намерите популярни уязвимости (SQL inj, XSS, LFI/RFI и т.н.) или грешки (неизтрити временни файлове, индексиране на директории и т.н.)
Скенер за уеб уязвимости на Acunetix
— от връзката можете да видите, че това е xss скенер, но това не е съвсем вярно. Безплатната версия, налична тук, предоставя доста голяма функционалност. Обикновено човекът, който стартира този скенер за първи път и получава отчет за своя ресурс за първи път, изпитва лек шок и ще разберете защо, след като го направите. Това е много мощен продукт за анализиране на всички видове уязвимости на уебсайт и работи не само с обичайните PHP уебсайтове, но и на други езици (въпреки че разликата в езика не е показател). Няма особен смисъл да се описват инструкциите, тъй като скенерът просто „улавя“ действията на потребителя. Нещо подобно на „следващ, следващ, следващ, готов“ в типична софтуерна инсталация.
Nikto
Това е уеб робот с отворен код (GPL). Елиминира рутинната ръчна работа. Търси целевия сайт за неизтрити скриптове (някои test.php, index_.php и т.н.), инструменти за администриране на бази данни (/phpmyadmin/, /pma и други подобни) и т.н., тоест проверява ресурса за най-честите грешки обикновено причинени от човешки фактори.
Освен това, ако намери някакъв популярен скрипт, той го проверява за пуснати експлойти (които са в базата данни).
Отчита наличните "нежелани" методи като PUT и TRACE
И така нататък. Много е удобно, ако работите като одитор и анализирате уебсайтове всеки ден.
От минусите бих искал да отбележа високия процент фалшиви положителни резултати. Например, ако вашият сайт винаги дава основната грешка вместо грешка 404 (когато трябва да се появи), тогава скенерът ще каже, че вашият сайт съдържа всички скриптове и всички уязвимости от неговата база данни. На практика това не се случва толкова често, но като факт много зависи от структурата на вашия сайт.
Класическа употреба:
./nikto.pl -host localhost
Ако трябва да бъдете оторизирани на сайта, можете да зададете бисквитка във файла nikto.conf, променливата STATIC-COOKIE.
Wikto
- Никто под Windows, но с някои допълнения, като например размита логика за проверка на грешки, използване на GHDB, извличане на връзки към ресурси и папки и наблюдение в реално време на HTTP заявки/отговори. Wikto е написан на C# и изисква .NET framework.
скачаща риба
- скенер за уеб уязвимости от (известен като lcamtuf). Написано на C, междуплатформено (Win изисква Cygwin). Рекурсивно (и за много дълго време, около 20~40 часа, въпреки че последният път, когато работи за мен, беше 96 часа) той обхожда целия сайт и намира всякакви дупки в сигурността. Освен това генерира много трафик (няколко GB входящи/изходящи). Но всички средства са добри, особено ако имате време и ресурси.
Типична употреба:
./skipfish -o /home/reports www.example.com
В папката “отчети” ще има отчет в html, .
w3af 
— Рамка за атака и одит на уеб приложения, скенер за уеб уязвимости с отворен код. Има GUI, но можете да работите от конзолата. По-точно, това е рамка с .
Мога да говоря безкрайно за ползите му, но е по-добре да го пробвам :]
Типичната работа с него се свежда до избор на профил, задаване на цел и всъщност стартирането му.
Mantra Security Framework
е сбъдната мечта. Колекция от безплатни и отворени инструменти за защита на информацията, вградени в уеб браузър.
Много полезно при тестване на уеб приложения на всички етапи.
Използването се свежда до инсталиране и стартиране на браузъра.
Всъщност има много помощни програми в тази категория и е доста трудно да се избере конкретен списък от тях. Най-често всеки пентестер сам определя набора от инструменти, от които се нуждае.
Експлоатация
За автоматизирано и по-удобно използване на уязвимости експлойтовете са написани в софтуер и скриптове, на които само трябва да бъдат предадени параметри, за да се използва дупката в сигурността. Има и продукти, които премахват необходимостта от ръчно търсене на експлойти и дори прилагането им в движение. Тази категория ще бъде обсъдена сега.
Metasploit Framework 
- един вид чудовище в нашия бизнес. Той може да направи толкова много, че инструкциите ще обхващат няколко статии. Ще разгледаме автоматичното използване (nmap + metasploit). Изводът е следният: Nmap ще анализира порта, от който се нуждаем, ще инсталира услугата и metasploit ще се опита да приложи експлойти към нея въз основа на класа на услугата (ftp, ssh и т.н.). Вместо текстови инструкции ще вмъкна видео, доста популярно по темата autopwn

Или можем просто да автоматизираме работата на необходимия експлойт. например:
msf > use auxiliary/admin/cisco/vpn_3000_ftp_bypass
msf auxiliary(vpn_3000_ftp_bypass) > set RHOST [TARGET IP]
msf auxiliary(vpn_3000_ftp_bypass) > run
Всъщност възможностите на тази рамка са много обширни, така че ако решите да отидете по-дълбоко, отидете на
Armitage
— OVA на графичния интерфейс на жанра киберпънк за Metasploit. Визуализира целта, препоръчва експлойти и предоставя разширени функции на рамката. Като цяло за тези, които обичат всичко да изглежда красиво и впечатляващо.
Скринкаст:

Устойчив Nessus®
- може да прави много неща, но една от способностите, от които се нуждаем, е да определя кои услуги имат експлойти. Безплатна версия на продукта „само за дома“
Использование:
- Изтеглено (за вашата система), инсталирано, регистрирано (ключът се изпраща на вашия имейл).
- Стартира сървъра, добави потребителя към Nessus Server Manager (бутон Управление на потребителите)
- Отиваме на адреса
https://localhost:8834/
и вземете флаш клиента в браузъра
- Сканира -> Добави -> попълнете полетата (като изберете профила за сканиране, който ни подхожда) и щракнете върху Сканиране
След известно време докладът за сканиране ще се появи в раздела Отчети
За да проверите практическата уязвимост на услугите към експлойти, можете да използвате Metasploit Framework, описана по-горе, или да опитате да намерите експлойт (например на , , и т.н.) и го използвайте ръчно срещу неговата система
IMHO: твърде обемисти. Доведох го като един от лидерите в тази посока на софтуерната индустрия.
Автоматизация на инжекциите
Много от секенерите за уеб приложения търсят инжекции, но те все още са само общи скенери. И има помощни програми, които специално се занимават с търсене и използване на инжекции. За тях ще говорим сега.
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
— perl скрипт, brute forcer за „слепи“ Sql инжекции. Работи както с целочислени стойности в url, така и с низови стойности.
Поддържа се база данни:
- MS-SQL
- MySQL
- PostgreSQL
- Оракул
Пример за употреба:
./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 — Връзка с параметри
-сляп u — параметър за инжектиране (по подразбиране последният се взема от адресната лента)
-sql "изберете table_name от imformation_schema.tables limit 1 offset 0" — нашата произволна заявка към базата данни
-база данни 1 — сървър на база данни: MSSQL
- тип 1 — тип атака, „сляпо“ инжектиране, базирано на отговори True и Error (например синтактични грешки)
Дебъгери
Тези инструменти се използват главно от разработчиците, когато имат проблеми с резултатите от изпълнението на своя код. Но тази посока е полезна и за pentesting, когато можем да заменим данните, от които се нуждаем, в движение, да анализираме какво идва в отговор на нашите входни параметри (например по време на размиване) и т.н.
Супер суит
— набор от помощни програми, които помагат при тестове за проникване. Има го в интернет на руски от Raz0r (макар и за 2008 г.).
Безплатната версия включва:
- Burp Proxy е локален прокси, който ви позволява да променяте вече генерирани заявки от браузъра
- Burp Spider - паяк, търси съществуващи файлове и директории
- Burp Repeater - ръчно изпращане на HTTP заявки
- Burp Sequencer - анализиране на случайни стойности във формуляри
- Burp Decoder е стандартен енкодер-декодер (html, base64, hex и др.), от които има хиляди, които могат бързо да бъдат написани на всеки език
- Burp Comparer - Компонент за сравнение на низове
По принцип този пакет решава почти всички проблеми, свързани с тази област.
цигулар
— Fiddler е прокси за отстраняване на грешки, който регистрира целия HTTP(S) трафик. Позволява ви да изследвате този трафик, да задавате точки на прекъсване и да „играете“ с входящи или изходящи данни.
Налице е също така , чудовище и други, изборът е на потребителя.
Заключение
Естествено, всеки pentester има свой собствен арсенал и свой собствен набор от помощни програми, тъй като има просто много от тях. Опитах се да изброя някои от най-удобните и популярни. Но за да може всеки да се запознае с други помощни програми в тази посока, ще дам връзки по-долу.
Различни топове/списъци на скенери и помощни програми
- .
разпределения Linux, които вече включват куп различни помощни програми за pentesting
UPD: на руски от екипа “Hack4Sec” (добавен )
PS Не можем да мълчим за XSpider. Не участва в прегледа, въпреки че е shareware (разбрах, когато изпратих статията на SecLab, всъщност поради това (не познаване и липса на най-новата версия 7.8) и не го включих в статията). И на теория беше планиран преглед на него (имам подготвени трудни тестове за него), но не знам дали светът ще го види.
PPS Някои материали от статията ще бъдат използвани по предназначение в предстоящ доклад на 2012 в секцията QA, която ще съдържа инструменти, които не са споменати тук (безплатни, разбира се), както и алгоритъма, в какъв ред какво да използвате, какъв резултат да очаквате, какви конфигурации да използвате и всякакви съвети и трикове, когато работи (мисля за доклада почти всеки ден, ще се опитам да ви кажа всичко най-добро за темата тема)
Между другото, имаше урок по тази статия в Open InfoSec Days (, ), мога ограбват Корованите погледни .
Източник: www.habr.com
