Неяк даўно я ўжо пісаў пра , Але крыху бедна і бязладна. Пасля я вырашыў пашырыць спіс інструментаў у аглядзе, дадаць артыкуле структуры, улічыць крытыку (вялікі дзякуй за парады) і адправіў яе на конкурс на СекЛаб (і апублікаваў , але па ўсіх зразумелых прычынах яе ніхто не ўбачыў). Конкурс скончаны, вынікі абвясцілі і я з чыстым сумленнем магу яго (артыкул) апублікаваць на Хабры.
Бясплатныя інструменты пентэстэра вэб-прыкладанняў
У дадзеным артыкуле я распавяду пра найболей папулярныя прылады для пентэстынгу (тэстаў на пранікненне) вэб-прыкладанняў па стратэгіі «чорнай скрыні».
Для гэтага мы разгледзім утыліты, якія дапамогуць у дадзеным выглядзе тэсціравання. Разгледзім наступныя катэгорыі прадуктаў:
- Сеткавыя сканары
- Сканары праломаў у вэб-скрыптах
- Эксплойтынг
- Аўтамазацыя ін'екцый
- Дэбагеры (сніферы, лакальныя проксі і да т.п.)
Некаторыя прадукты маюць універсальны "характар", таму буду адносіць іх да той катэгорыі, у якой яны маюць б.ольшы вынік (суб'ектыўнае меркаванне).
Сеткавыя сканары.
Асноўная задача - раскрыць даступныя сеткавыя сэрвісы, усталяваць іх версіі, вызначыць АС і т. д.
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
Гэта набор опцый з профіля «slow comprehensive scan» у Zenmap. Выконваецца даволі доўга, але і дае ў выніку больш дэталёвую інфармацыю, якую можна даведацца аб мэтавай сістэме. , калі вырашылі паглыбіцца, а таксама раю пераклад артыкула .
Nmap атрымаў статут "Security Product of the Year" такімі часопісамі і супольнасцямі як Linux Journal, Info World, LinuxQuestions.Org і Codetalker Digest.
Цікавы момант, Nmap можна ўбачыць у фільмах «Матрыца: Перазагрузка», «Моцны арэшак 4», «Ультыматум Борна», «Хатабыч» і .
IP-Tools
- Гэтакі набор з розных сеткавых утыліт, пастаўляецца з GUI, "прысвечана" windows карыстачам.
Сканар портаў, агульных рэсурсаў (расшараныя прынтэры/тэчкі), WhoIs/Finger/Lookup, telnet кліент і многае іншае. Проста зручны, хуткі, функцыянальны інструмент.
Няма асаблівага сэнсу разглядаць іншыя прадукты, паколькі занадта шмат утыліт у гэтай галіне і ўсе яны маюць падобны прынцып працы і функцыянал. Усё ж самым часта выкарыстоўваным застаецца nmap.
Сканары праломаў у вэб-скрыптах
Спрабуюць знайсці папулярныя ўразлівасці (SQL inj, XSS, LFI/RFI і т.д.) або памылкі (не выдаленыя часавыя файлы, індэксацыя дырэкторый і да т.п.)
Сканер вэб-ўразлівасцяў Acunetix
- па спасылцы прыкметна што гэта xss сканер, але гэта не зусім так. Бясплатная версія, даступная па спасылцы дае даволі вялікі функцыянал. Звычайна чалавека, які запусціў гэты сканер першы раз і ўпершыню атрымаўшы справаздачу па сваім рэсурсе ахоплівае невялікі шок, і вы зразумееце чаму, зрабіўшы гэта. Гэта вельмі магутны прадукт для аналізу проста разнастайных уразлівасцяў на сайце і працуе не толькі са звыклымі нам сайтамі на php, але і на іншых мовах (хоць адрозненне ў мове не паказчык). Інструкцыю апісваць асоба сэнсу няма, бо сканер проста "падхапляе" дзеянні карыстача. Нешта падобнае на "далей, далей, далей, гатова" у тыповай усталёўцы якога-небудзь ПА.
Nikto
гэта Open Source (GPL) вэб-сканер. Пазбаўляе ад руціннай ручной працы. Шукае на мэтавым сайце невыдаленыя скрыпты (якія-небудзь test.php, index_.php і да т.п.), прылады адміністравання бд (/phpmyadmin/, /pma і падобныя) і г.д., гэта значыць правярае рэсурс на самыя частыя памылкі, якія ўзніклі звычайна з-за чалавечага фактару.
Плюс, калі знаходзіць які-небудзь папулярны скрыпт, тое правярае яго на якія выйшлі эксплоіты (якія ёсць у базе).
Паведамляе аб даступных "непажаданых" метадах, тыпу PUT і TRACE
Ну і гэтак далей. Вельмі зручна, калі ты працуеш аўдытарам і кожны дзень праводзіш аналіз сайтаў.
З мінусаў хацеў бы адзначыць высокі працэнт ілжывых спрацоўванняў. Да прыкладу калі ваш сайт замест 404 памылкі (калі яна павінна ўзнікнуць) аддае ўвесь час галоўную, то сканер скажа, што на вашым сайце ўсе скрыпты і ўсе ўразлівасці з яго базы. На практыцы такое не так часта сустракаецца, але як факт, шмат што залежыць ад структуры вашага сайта.
Класічнае выкарыстанне:
./nikto.pl -host localhost
Калі трэба быць аўтарызаваным на сайце, можна выставіць cookie у файле nikdo.conf, зменная STATIC-COOKIE.
Wikto
- Nikto пад Windows, Але з некаторымі дадаткамі, як «невыразнай» логікай пры праверцы кода на памылкі, выкарыстанне GHDB, атрыманне спасылак і тэчак рэсурсу, рэал-таймавым маніторынгам HTTP запытаў/адказаў. Wikto напісаны на C# і патрабуе. NET framework.
skipfish
- сканер вэб-уразлівасцяў ад (вядомага пад нікам lcamtuf). Напісаны на З, кросплатформінны (для Win патрэбен Cygwin). Рэкурсіўна (і вельмі доўга, каля 20~40 гадзін, хоць апошні раз у мяне працаваў 96 гадзін) абыходзіць увесь сайт і знаходзіць разнастайныя праломы ў бяспецы. Гэтак жа генеруе вельмі шмат трафіку (па некалькі гігабайт уваходнага/выходнага). Але ўсе сродкі добрыя, тым больш калі ёсць час і рэсурсы.
Тыповае выкарыстанне:
./skipfish -o /home/reports www.example.com
У тэчцы "reports" будзе справаздача ў html, .
w3af 
- Web Application Attack and Audit Framework, open-source сканер вэб-уразлівасцяў. Мае GUI, але можна працаваць з-пад кансолі. Дакладней, гэта фрэймворк, з .
Распавядаць пра яго перавагі можна доўга, лепш выпрабаваць яго
Тыповая праца з ім зводзіцца да выбару профіля, указанні мэты і, уласна, запуску.
Mantra Security Framework
is a dream that came true. Калекцыя свабодных і адкрытых інструментаў па ИБ, якія ўбудоўваюцца ў вэб-браўзэр.
Вельмі карысныя пры тэсціраванні вэб-прыкладанняў на ўсіх этапах.
Выкарыстанне зводзіцца да ўсталёўкі і запуску браўзэра.
Насамрэч вельмі шмат утыліт у дадзенай катэгорыі і даволі складана вылучыць з іх пэўны спіс. Часцей за ўсё кожны пэнтэстар сам вызначае набор патрэбных яму прылад.
Эксплойтынг
Для аўтаматызаванага і зручнейшага выкарыстання ўразлівасцяў у праграмным забеспячэнні і скрыптах пішуць эксплойты, якім трэба толькі перадаць параметры, каб выкарыстаць пралом у бяспецы. А ёсць прадукты, якія пазбаўляюць ад ручнога пошуку эксплоітаў, ды і яшчэ і ўжываюць іх "на лёце". Аб гэтай катэгорыі зараз і пойдзе размова.
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
Насамрэч магчымасці дадзенага framework вельмі шырокія, таму, калі вырашылі паглыбіцца, пераходзім па
Армітаж
- OVA жанру кіберпанкGUI для Metasploit. Візуалізуе мэту, рэкамендуе эксплоіты і дае пашыраныя магчымасці дадзенага фрэймворка. Увогуле для тых, хто кахае, каб усё прыгожа і эфектна выглядала.
Скрынкаст:

Tenable Nessus®
- вельмі шмат чаго ўмее, але нам ад яго патрэбна адна з магчымасцяў - вызначэнне, для якіх сэрвісаў ёсць эксплойты. Бясплатная версія прадукта «home only»
Выкарыстанне:
- Спампавалі (пад сваю сістэму), усталявалі, зарэгістравалі (ключык прыходзіць на пошту).
- Запусцілі сервер, дадалі юзэра ў Nessus Server Manager (кнопка Manage users)
- Заходзім па адрасе
https://localhost:8834/
і атрымліваем флэш-кліент у браўзэры
- Scans -> Add -> запаўняем палі (выбраўшы прыдатны нам профіль сканавання) і ціснем Scan
Праз некаторы час справаздача аб сканаванні з'явіцца ва ўкладцы Reports
Для праверкі практычнай уразлівасці сэрвісаў да эксплоітаў можна выкарыстоўваць вышэй апісаны Metasploit Framework або паспрабаваць знайсці эксплоіт (да прыкладу на , , і інш) і выкарыстоўваць яго ўручную супраць сваёй сістэмы
ИМХО: занадта грувасткі. Прывёў яго як аднаго з лідэраў у дадзеным напрамку софтвернай індустрыі.
Аўтаматызацыя ін'екцый
Пошук ін'екцый вырабляюць многія з web app sec сканер, але яны ўсё ж проста агульныя сканары. А ёсць утыліты, якія канкрэтна займаюцца пошукам і эксплуатацыяй ін'екцый. Пра іх зараз і пойдзе гаворка.
sqlmap
- open-source ўтыліта для пошуку і эксплуатацыі 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, брутфорсер "сляпых" Sql ін'екцый. Працуе як і з integer значэннямі ў url, так і са радковымі (string).
Падтрымлівае БД:
- 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
-адрас - Спасылка з параметрамі
-blind u - Параметр для ін'екцыі (па змаўчанні залазіць апошні з адраснага радка)
-sql "select table_name from imformation_schema.tables limit 1 offset 0" - наш адвольны запыт у базу
-database 1 - сервер БД: MSSQL
-type 1 - Тып нападу, "сляпая" ін'екцыя, заснаваная на True і Error (да прыкладу сінтаксічныя памылкі) адказах
Дэбагеры
Гэтыя прылады ў асноўным выкарыстоўваюць распрацоўшчыкі, пры праблемах з вынікамі выканання свайго кода. Але гэты кірунак карысны і пры пентэстынгу, калі можна падмяняць патрэбныя нам дадзеныя «на ляту», аналізаваць, што прыходзіць у адказ на нашы ўваходныя параметры (напрыклад пры фаззінгу) і г.д.
Адрыжка Люкс
- Набор утыліт, якія дапамагаюць пры тэстах на пранікненне. У Сеткі ляжыць на рускай мове ад Raz0r (праўда за 2008 год).
У бясплатную версію ўваходзіць:
- Burp Proxy - лакальны проксі, дазваляе змяняць ужо сфармаваныя запыты ад браўзэра.
- Burp Spider - павук, шукае існуючыя файлы і дырэкторыі
- Burp Repeater - ручная адпраўка HTTP-запытаў
- Burp Sequencer - аналіз выпадковых значэнняў у формах
- Burp Decoder - стандартны кодэр-дэкодэр (html, base64, hex і да т.п.), якіх тысячы, якія можна хутка напісаць на якой-небудзь мове
- Burp Comparer - кампанент супастаўлення радкоў
У прынцыпе гэты пакет вырашае практычна ўсе задачы, злучаныя з гэтым кірункам.
Скрыпка
- Fiddler гэта адладкавы проксі, які лагіруе ўвесь HTTP(S) трафік. Дазваляе даследаваць гэты трафік, усталёўваць breakpoint’ы і «гуляцца» з уваходнымі ці выходнымі дадзенымі.
Ёсць яшчэ і , монстар і іншыя, выбар за карыстальнікам.
Заключэнне
Натуральна, кожны пентэстар мае свой арсенал і свой набор утыліт, бо іх проста мноства. Я пастараўся прывесці адны з найбольш зручных і папулярных. Але каб любы жадаючы мог азнаёміцца і з іншымі ўтылітамі ў гэтым напрамку, я прывяду спасылкі ніжэй.
Розныя топы/спісы сканараў і ўтыліт
- .
Дыстрыбутывы Linux, у склад якіх ужо ўваходзіць куча розных утыліт для пентэстынгу.
обн: на рускай ад каманды «Hack4Sec» (дадаў )
P.S. Нельга змаўчаць пра XSpider. Не ўдзельнічае ў аглядзе, хоць ён умоўна-бясплатны (даведаўся, калі адправіў артыкул на СекЛаб, уласна з-за гэтага (не веды, ды і адсутнасці апошняй версіі 7.8) і не ўключыў яго ў артыкул). І па ідэі планаваўся яго агляд (у мяне нарыхтаваны для яго няпростыя тэсты), але не ведаю, ці ўбачыць яго свет.
P.P.S. Некаторы матэрыял з артыкула будзе выкарыстаны па прамым прызначэнні ў будучым дакладзе на 2012 у секцыі QA, у якім будуць незгаданыя тут інструменты (бясплатныя, ясна), а таксама расказаны алгарытм, па якім парадку што выкарыстоўваць, які вынік чакаць, якія канфігурацыі выкарыстоўваць і ўсякія хінты і трукі пры працы (разважаю над дакладам амаль кожны дзень , пастараюся распавесці ад сябе ўсё лепшае па тэме топіка)
Дарэчы, па дадзеным артыкуле быў занятак на Open InfoSec Days (, ), можна рабаваць караваны зірнуць .
Крыніца: habr.com
