Агляд бясплатных інструментаў для пэнтэста web-рэсурсаў і не толькі v2

Неяк даўно я ўжо пісаў пра гэтым, Але крыху бедна і бязладна. Пасля я вырашыў пашырыць спіс інструментаў у аглядзе, дадаць артыкуле структуры, улічыць крытыку (вялікі дзякуй ляўшун за парады) і адправіў яе на конкурс на СекЛаб (і апублікаваў спасылку, але па ўсіх зразумелых прычынах яе ніхто не ўбачыў). Конкурс скончаны, вынікі абвясцілі і я з чыстым сумленнем магу яго (артыкул) апублікаваць на Хабры.

Бясплатныя інструменты пентэстэра вэб-прыкладанняў

У дадзеным артыкуле я распавяду пра найболей папулярныя прылады для пентэстынгу (тэстаў на пранікненне) вэб-прыкладанняў па стратэгіі «чорнай скрыні».
Для гэтага мы разгледзім утыліты, якія дапамогуць у дадзеным выглядзе тэсціравання. Разгледзім наступныя катэгорыі прадуктаў:

  1. Сеткавыя сканары
  2. Сканары праломаў у вэб-скрыптах
  3. Эксплойтынг
  4. Аўтамазацыя ін'екцый
  5. Дэбагеры (сніферы, лакальныя проксі і да т.п.)


Некаторыя прадукты маюць універсальны "характар", таму буду адносіць іх да той катэгорыі, у якой яны маюць б.ольшы вынік (суб'ектыўнае меркаванне).

Сеткавыя сканары.

Асноўная задача - раскрыць даступныя сеткавыя сэрвісы, усталяваць іх версіі, вызначыць АС і т. д.

NmapАгляд бясплатных інструментаў для пэнтэста web-рэсурсаў і не толькі 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

Гэта набор опцый з профіля «slow comprehensive scan» у Zenmap. Выконваецца даволі доўга, але і дае ў выніку больш дэталёвую інфармацыю, якую можна даведацца аб мэтавай сістэме. Даведачнае кіраўніцтва на рускай мове, калі вырашылі паглыбіцца, а таксама раю пераклад артыкула Beginner's Guide to Nmap.
Nmap атрымаў статут "Security Product of the Year" такімі часопісамі і супольнасцямі як Linux Journal, Info World, LinuxQuestions.Org і Codetalker Digest.
Цікавы момант, Nmap можна ўбачыць у фільмах «Матрыца: Перазагрузка», «Моцны арэшак 4», «Ультыматум Борна», «Хатабыч» і іншых.

IP-ToolsАгляд бясплатных інструментаў для пэнтэста web-рэсурсаў і не толькі v2
IP-Tools - Гэтакі набор з розных сеткавых утыліт, пастаўляецца з GUI, "прысвечана" windows карыстачам.
Сканар портаў, агульных рэсурсаў (расшараныя прынтэры/тэчкі), WhoIs/Finger/Lookup, telnet кліент і многае іншае. Проста зручны, хуткі, функцыянальны інструмент.

Няма асаблівага сэнсу разглядаць іншыя прадукты, паколькі занадта шмат утыліт у гэтай галіне і ўсе яны маюць падобны прынцып працы і функцыянал. Усё ж самым часта выкарыстоўваным застаецца nmap.

Сканары праломаў у вэб-скрыптах

Спрабуюць знайсці папулярныя ўразлівасці (SQL inj, XSS, LFI/RFI і т.д.) або памылкі (не выдаленыя часавыя файлы, індэксацыя дырэкторый і да т.п.)

Сканер вэб-ўразлівасцяў AcunetixАгляд бясплатных інструментаў для пэнтэста web-рэсурсаў і не толькі v2
Сканер вэб-ўразлівасцяў Acunetix - па спасылцы прыкметна што гэта xss сканер, але гэта не зусім так. Бясплатная версія, даступная па спасылцы дае даволі вялікі функцыянал. Звычайна чалавека, які запусціў гэты сканер першы раз і ўпершыню атрымаўшы справаздачу па сваім рэсурсе ахоплівае невялікі шок, і вы зразумееце чаму, зрабіўшы гэта. Гэта вельмі магутны прадукт для аналізу проста разнастайных уразлівасцяў на сайце і працуе не толькі са звыклымі нам сайтамі на php, але і на іншых мовах (хоць адрозненне ў мове не паказчык). Інструкцыю апісваць асоба сэнсу няма, бо сканер проста "падхапляе" дзеянні карыстача. Нешта падобнае на "далей, далей, далей, гатова" у тыповай усталёўцы якога-небудзь ПА.

NiktoАгляд бясплатных інструментаў для пэнтэста web-рэсурсаў і не толькі v2
Nikto гэта Open Source (GPL) вэб-сканер. Пазбаўляе ад руціннай ручной працы. Шукае на мэтавым сайце невыдаленыя скрыпты (якія-небудзь test.php, index_.php і да т.п.), прылады адміністравання бд (/phpmyadmin/, /pma і падобныя) і г.д., гэта значыць правярае рэсурс на самыя частыя памылкі, якія ўзніклі звычайна з-за чалавечага фактару.
Плюс, калі знаходзіць які-небудзь папулярны скрыпт, тое правярае яго на якія выйшлі эксплоіты (якія ёсць у базе).
Паведамляе аб даступных "непажаданых" метадах, тыпу PUT і TRACE
Ну і гэтак далей. Вельмі зручна, калі ты працуеш аўдытарам і кожны дзень праводзіш аналіз сайтаў.
З мінусаў хацеў бы адзначыць высокі працэнт ілжывых спрацоўванняў. Да прыкладу калі ваш сайт замест 404 памылкі (калі яна павінна ўзнікнуць) аддае ўвесь час галоўную, то сканер скажа, што на вашым сайце ўсе скрыпты і ўсе ўразлівасці з яго базы. На практыцы такое не так часта сустракаецца, але як факт, шмат што залежыць ад структуры вашага сайта.
Класічнае выкарыстанне:

./nikto.pl -host localhost

Калі трэба быць аўтарызаваным на сайце, можна выставіць cookie у файле nikdo.conf, зменная STATIC-COOKIE.

WiktoАгляд бясплатных інструментаў для пэнтэста web-рэсурсаў і не толькі v2
Wikto - Nikto пад Windows, але з некаторымі дадаткамі, як "невыразнай" логікай пры праверцы кода на памылкі, выкарыстанне GHDB, атрыманне спасылак і тэчак рэсурсу, рэал-таймавым маніторынгам HTTP запытаў/адказаў. Wikto напісаны на C# і патрабуе. NET framework.

skipfishАгляд бясплатных інструментаў для пэнтэста web-рэсурсаў і не толькі v2
skipfish - сканер вэб-уразлівасцяў ад Michal Zalewski (вядомага пад нікам lcamtuf). Напісаны на З, кросплатформінны (для Win патрэбен Cygwin). Рэкурсіўна (і вельмі доўга, каля 20~40 гадзін, хоць апошні раз у мяне працаваў 96 гадзін) абыходзіць увесь сайт і знаходзіць разнастайныя праломы ў бяспецы. Гэтак жа генеруе вельмі шмат трафіку (па некалькі гігабайт уваходнага/выходнага). Але ўсе сродкі добрыя, тым больш калі ёсць час і рэсурсы.
Тыповае выкарыстанне:

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

У тэчцы "reports" будзе справаздача ў html, прыклад.

w3af Агляд бясплатных інструментаў для пэнтэста web-рэсурсаў і не толькі v2
w3af - Web Application Attack and Audit Framework, open-source сканер вэб-уразлівасцяў. Мае GUI, але можна працаваць з-пад кансолі. Дакладней, гэта фрэймворк, з кучай плагінаў.
Распавядаць пра яго перавагі можна доўга, лепш выпрабаваць яго Тыповая праца з ім зводзіцца да выбару профіля, указанні мэты і, уласна, запуску.

Mantra Security FrameworkАгляд бясплатных інструментаў для пэнтэста web-рэсурсаў і не толькі v2
Мантра is a dream that came true. Калекцыя свабодных і адкрытых інструментаў па ИБ, якія ўбудоўваюцца ў вэб-браўзэр.
Вельмі карысныя пры тэсціраванні вэб-прыкладанняў на ўсіх этапах.
Выкарыстанне зводзіцца да ўсталёўкі і запуску браўзэра.

Насамрэч вельмі шмат утыліт у дадзенай катэгорыі і даволі складана вылучыць з іх пэўны спіс. Часцей за ўсё кожны пэнтэстар сам вызначае набор патрэбных яму прылад.

Эксплойтынг

Для аўтаматызаванага і зручнейшага выкарыстання ўразлівасцяў у праграмным забеспячэнні і скрыптах пішуць эксплойты, якім трэба толькі перадаць параметры, каб выкарыстаць пралом у бяспецы. А ёсць прадукты, якія пазбаўляюць ад ручнога пошуку эксплоітаў, ды і яшчэ і ўжываюць іх "на лёце". Аб гэтай катэгорыі зараз і пойдзе размова.

Metasploit Framework Агляд бясплатных інструментаў для пэнтэста web-рэсурсаў і не толькі v2
The 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 вельмі шырокія, таму, калі вырашылі паглыбіцца, пераходзім па спасылцы

АрмітажАгляд бясплатных інструментаў для пэнтэста web-рэсурсаў і не толькі v2
Армітаж - OVA жанру кіберпанкGUI для Metasploit. Візуалізуе мэту, рэкамендуе эксплоіты і дае пашыраныя магчымасці дадзенага фрэймворка. Увогуле для тых, хто кахае, каб усё прыгожа і эфектна выглядала.
Скрынкаст:

Tenable Nessus®Агляд бясплатных інструментаў для пэнтэста web-рэсурсаў і не толькі v2
Tenable Nessus® vulnerability scanner - вельмі шмат чаго ўмее, але нам ад яго патрэбна адна з магчымасцяў - вызначэнне, для якіх сэрвісаў ёсць эксплойты. Бясплатная версія прадукта «home only»

Выкарыстанне:

  • Спампавалі (пад сваю сістэму), усталявалі, зарэгістравалі (ключык прыходзіць на пошту).
  • Запусцілі сервер, дадалі юзэра ў Nessus Server Manager (кнопка Manage users)
  • Заходзім па адрасе
    https://localhost:8834/

    і атрымліваем флэш-кліент у браўзэры

  • Scans -> Add -> запаўняем палі (выбраўшы прыдатны нам профіль сканавання) і ціснем Scan

Праз некаторы час справаздача аб сканаванні з'явіцца ва ўкладцы Reports
Для праверкі практычнай уразлівасці сэрвісаў да эксплоітаў можна выкарыстоўваць вышэй апісаны Metasploit Framework або паспрабаваць знайсці эксплоіт (да прыкладу на Explot-db, packet storm, explot search і інш) і выкарыстоўваць яго ўручную супраць сваёй сістэмы
ИМХО: занадта грувасткі. Прывёў яго як аднаго з лідэраў у дадзеным напрамку софтвернай індустрыі.

Аўтаматызацыя ін'екцый

Пошук ін'екцый вырабляюць многія з web app sec сканер, але яны ўсё ж проста агульныя сканары. А ёсць утыліты, якія канкрэтна займаюцца пошукам і эксплуатацыяй ін'екцый. Пра іх зараз і пойдзе гаворка.

sqlmapАгляд бясплатных інструментаў для пэнтэста web-рэсурсаў і не толькі v2
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
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

-адрас 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 (да прыкладу сінтаксічныя памылкі) адказах

Дэбагеры

Гэтыя прылады ў асноўным выкарыстоўваюць распрацоўшчыкі, пры праблемах з вынікамі выканання свайго кода. Але гэты кірунак карысны і пры пентэстынгу, калі можна падмяняць патрэбныя нам дадзеныя «на ляту», аналізаваць, што прыходзіць у адказ на нашы ўваходныя параметры (напрыклад пры фаззінгу) і г.д.

Адрыжка Люкс
Адрыжка Люкс - Набор утыліт, якія дапамагаюць пры тэстах на пранікненне. У Сеткі ляжыць добры агляд на рускай мове ад Raz0r (праўда за 2008 год).
У бясплатную версію ўваходзіць:

  • Burp Proxy - лакальны проксі, дазваляе змяняць ужо сфармаваныя запыты ад браўзэра.
  • Burp Spider - павук, шукае існуючыя файлы і дырэкторыі
  • Burp Repeater - ручная адпраўка HTTP-запытаў
  • Burp Sequencer - аналіз выпадковых значэнняў у формах
  • Burp Decoder - стандартны кодэр-дэкодэр (html, base64, hex і да т.п.), якіх тысячы, якія можна хутка напісаць на якой-небудзь мове
  • Burp Comparer - кампанент супастаўлення радкоў

У прынцыпе гэты пакет вырашае практычна ўсе задачы, злучаныя з гэтым кірункам.

СкрыпкаАгляд бясплатных інструментаў для пэнтэста web-рэсурсаў і не толькі v2
Скрыпка - Fiddler гэта адладкавы проксі, які лагіруе ўвесь HTTP(S) трафік. Дазваляе даследаваць гэты трафік, усталёўваць breakpoint’ы і «гуляцца» з уваходнымі ці выходнымі дадзенымі.

Ёсць яшчэ і Firesheep, монстар Wireshark і іншыя, выбар за карыстальнікам.

Заключэнне

Натуральна, кожны пентэстар мае свой арсенал і свой набор утыліт, бо іх проста мноства. Я пастараўся прывесці адны з найбольш зручных і папулярных. Але каб любы жадаючы мог азнаёміцца ​​і з іншымі ўтылітамі ў гэтым напрамку, я прывяду спасылкі ніжэй.

Розныя топы/спісы сканараў і ўтыліт

Дыстрыбутывы Linux, у склад якіх ужо ўваходзіць куча розных утыліт для пентэстынгу.

обн: Дакументацыя па BurpSuite на рускай ад каманды «Hack4Sec» (дадаў AntonKuzmin)

P.S. Нельга змаўчаць пра XSpider. Не ўдзельнічае ў аглядзе, хоць ён умоўна-бясплатны (даведаўся, калі адправіў артыкул на СекЛаб, уласна з-за гэтага (не веды, ды і адсутнасці апошняй версіі 7.8) і не ўключыў яго ў артыкул). І па ідэі планаваўся яго агляд (у мяне нарыхтаваны для яго няпростыя тэсты), але не ведаю, ці ўбачыць яго свет.

P.P.S. Некаторы матэрыял з артыкула будзе выкарыстаны па прамым прызначэнні ў будучым дакладзе на CodeFest 2012 у секцыі QA, у якім будуць незгаданыя тут інструменты (бясплатныя, ясна), а таксама расказаны алгарытм, па якім парадку што выкарыстоўваць, які вынік чакаць, якія канфігурацыі выкарыстоўваць і ўсякія хінты і трукі пры працы (разважаю над дакладам амаль кожны дзень , пастараюся распавесці ад сябе ўсё лепшае па тэме топіка)
Дарэчы, па дадзеным артыкуле быў занятак на Open InfoSec Days (тэг на Хабры, сайт), можна рабаваць караваны зірнуць матэрыялы.

Крыніца: habr.com

Дадаць каментар