Уеб инструменти, или с какво да започне пен-тестърът?

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

Нашият колега BeLove вече е правил подобна компилация преди около седем години. Интересно е да видим кои инструменти са запазили и укрепили позициите си, а кои са отстъпили на заден план и сега се използват рядко.
Уеб инструменти, или с какво да започне пен-тестърът?

Забележете, че тук влиза и Burp Suite, но за него и полезните му плъгини ще има отделна публикация.

Съдържание:

Amass

Amass — инструмент на Go за търсене и брутално прекарване на DNS поддомени и за съставяне на карта на външната мрежа. Amass е проект на OWASP, създаден, за да покаже как изглеждат организациите в интернет за външни наблюдатели. Имената на поддомените Amass получава по различни начини, като инструментът използва както рекурсивно пробване на поддомени, така и търсене в публични източници.

За откриване на свързани мрежови сегменти и автономни системни номера Amass използва IP адресите, получени по време на работа. Всяка намерена информация се използва за строене на карта на мрежата.

Плюсове:

  • Техники за събиране на информация включват:
    * DNS — пробване на поддомени по речник, брутфорс на поддомени, "умно" пробване с използване на мутации на базата на намерени поддомени, обратни DNS запитвания и търсене на DNS сървъри, на които може да се направи запитване за трансфер на зона (AXFR);

    * Търсене в публични източници — Ask, Baidu, Bing, CommonCrawl, DNSDB, DNSDumpster, DNSTable, Dogpile, Exalead, FindSubdomains, Google, IPv4Info, Netcraft, PTRArchive, Riddler, SiteDossier, ThreatCrowd, VirusTotal, Yahoo;

    * Търсене в бази данни на TLS сертификати — Censys, CertDB, CertSpotter, Crtsh, Entrust;

    * Използване на API на търсачки — BinaryEdge, BufferOver, CIRCL, HackerTarget, PassiveTotal, Robtex, SecurityTrails, Shodan, Twitter, Umbrella, URLScan;

    * Търсене в уеб архиви на интернет: ArchiveIt, ArchiveToday, Arquivo, LoCArchive, OpenUKArchive, UKGovArchive, Wayback;

  • Интеграция с Maltego;
  • Осигурява най-обширно покритие на задачата по търсене на DNS поддомени.

Недостатъци:

  • Внимавайте с amass.netdomains — той ще се опита да се свърже с всеки IP адрес в идентифицираната инфраструктура и да получи имената на домейни от обратни DNS запитвания и TLS сертификати. Това е "громка" техника, която може да разкрие вашите разузнавателни действия в изследваната организация.
  • Високо потребление на памет, може да изисква до 2 GB RAM в различни конфигурации, което ще попречи на стартирането на този инструмент в облака на евтин VDS.

Уеб инструменти, или с какво да започне пен-тестърът?

Altdns

Altdns — инструмент на Python за генериране на речници за пробив на DNS поддомейни. Позволява генерирането на многобройни варианти на поддомейни с помощта на мутации и перестановки. За целта се използват думи, които често се срещат в поддомените (например: test, dev, staging), всички мутации и перестановки се прилагат на вече известни поддомейни, които могат да бъдат подадени на Altdns. На изхода се получава списък с варианти на поддомейни, които могат да съществуват, и този списък може да бъде използван при DNS брутфорс.

Плюсове:

  • Работи добре с големи набори от данни.

aquatone

aquatone — по-рано беше по-известен като още един инструмент за търсене на поддомейни, но самият автор се откажа от него в полза на споменатия по-горе Amass. В момента aquatone е пренаписан на Go и е по-ориентиран за предварителна разузнавателна работа на уебсайтове. За това aquatone преминава през указаните домейни и търси уебсайтове на различни портове, след което събира всяка информация за сайта и прави скрийншот. Удобен е за бърза предварителна разузнавателна работа на уебсайтове, след което могат да бъдат избрани приоритетни цели за атаки.

Плюсове:

  • На изхода създава група файлове и папки, които удобно могат да се използват при последваща работа с други инструменти:
    * HTML отчет с събрани скрийншоти и групирани по сходство заглавия на отговорите;

    * Файл с всички URL адреси, на които са намерени уебсайтове;

    * Файл със статистика и данни за страницата;

    * Папка с файлове, съдържащи заглавия на отговорите от откритите цели;

    * Папка с файлове, съдържащи тялото на отговора от откритите цели;

    * Скрийншоти на намерените уебсайтове;

  • Поддържа работа с XML отчети от Nmap и Masscan;
  • Използва headless Chrome/Chromium за рендериране на скрийншоти.

Недостатъци:

  • Може да привлече вниманието на системи за откриване на нашествия, затова изисква конфигурация.

Скрийншотът е направен за една от старите версии на aquatone (v0.5.0), в която е реализирано търсенето на DNS поддомейни. Стари версии могат да бъдат намерени на страницата с версии.
Уеб инструменти, или с какво да започне пен-тестърът?

MassDNS

MassDNS — още един инструмент за търсене на DNS поддомейни. Основната му разлика е, че прави DNS заявки директно към множество различни DNS резолвъри и го прави с значителна скорост.

Плюсове:

  • Бърз — способен да разрешава над 350 хиляди имена в секунда.

Недостатъци:

  • MassDNS може да натовари значително използваните DNS резолвери, което може да доведе до блокиране на тези сървъри или оплаквания към вашия доставчик. Освен това, ще предизвика голямо натоварване на DNS сървърите на компанията, ако те съществуват и отговарят за домейните, които се опитвате да разрешите.
  • Списъкът с резолвери в момента е остарял, но ако премахнете ненаработените DNS резолвери и добавите нови известни — всичко ще бъде добре.

Уеб инструменти, или с какво да започне пен-тестърът?
Скриншот aquatone v0.5.0

nsec3map

nsec3map — инструмент на Python за получаване на пълен списък с домейни, защитени с DNSSEC.

Плюсове:

  • Бързо открива хостове в DNS зони с минимален брой запитвания, ако зоната има активирана поддръжка на DNSSEC;
  • Включва плъгин за John the Ripper, който може да се използва за хакване на получените хешове NSEC3.

Недостатъци:

  • Много DNS грешки се обработват неправилно;
  • Няма автоматично разпаралеляване на обработката на NSEC записи — пространството на имената трябва да се разделя ръчно;
  • Висока консумация на памет.

Acunetix

Acunetix — скенер за уеб уязвимости, който автоматизира процеса на проверка за сигурност на уеб приложения. Тества приложението за наличие на SQL инжекции, XSS, XXE, SSRF и много други уеб уязвимости. Въпреки това, както всеки друг скенер на множество уеб уязвимости, не може да замести пен тестера, тъй като сложните вериги от уязвимости или уязвимости в логиката не могат да бъдат намерени. Затова е много удобен за облекчаване на рутинните проверки.

Плюсове:

  • Ниско ниво на фалшиви сработвания;
  • Резултатите могат да бъдат експортирани под формата на отчети;
  • Извършва голямо количество проверки за различни уязвимости;
  • Паралелно сканиране на множество хостове.

Недостатъци:

  • Няма алгоритъм за дедубликация (еднаквите по функционалност страници Acunetix счита за различни, тъй като водят до различни URL), но разработчиците работят по този въпрос;
  • Изисква инсталация на отделен уеб сървър, което усложнява тестването на клиентски системи с VPN свързаност и използването на скенера в изолирания сегмент на локалната клиентска мрежа;
  • Може да “зашумя” изследвания сервис, например, да изпрати прекалено много атакуващи вектори в контактната форма на сайта, значително усложнявайки бизнес процесите;
  • Това е собствено и, следователно, платено решение.

Уеб инструменти, или с какво да започне пен-тестърът?

Dirsearch

Dirsearch — инструмент на Python за брутфорс на директории и файлове на уеб сайтове.

Плюсове:

  • Може да разграничава истинските страници “200 ОК” от страниците “200 ОК”, но с текст “страницата не е намерена”;
  • Доставя се с удобен речник, който има добро балансирано между размер и ефективност на търсенето. Съдържа стандартни пътища, характерни за много CMS и технологични стекове;
  • Свой собствен формат на речника, който позволява постигане на добра ефективност и гъвкавост за обход на файлове и директории;
  • Удобен изход — прост текст, JSON;
  • Умее да прави throttling — пауза между заявките, което е жизненоважно за всеки слаб сервис.

Недостатъци:

  • Разширенията трябва да се подават като низ, което е неудобно, ако се налага да се предаде много разширения наведнъж;
  • За да използвате собствения си речник, ще трябва да го доразвиете до формата на речниците Dirsearch за максимална ефективност.

Уеб инструменти, или с какво да започне пен-тестърът?

wfuzz

wfuzz — Python фuzzer за уеб приложения. Вероятно един от най-известните уеб фазери. Принципът е прост: wfuzz позволява да се фазира всяко място в HTTP заявката, което дава възможност да се фазира GET/POST параметри, HTTP заглавия, включително Cookie и други заглавия за удостоверяване. В същото време е удобен и за прост брутфорс на директории и файлове, за което е нужен добър речник. Разполага и с гъвкава система от филтри, чрез която можете да филтрирате отговорите от уеб сайта по различни параметри, което позволява постигане на ефективни резултати.

Плюсове:

  • Многофункционален — модулна структура, сглобяването отнема няколко минути;
  • Удобен механизъм за филтриране и фаззинг;
  • Можете да фазите всякакъв HTTP метод, както и всяко място в HTTP заявката.

Недостатъци:

  • В процес на разработка.

Уеб инструменти, или с какво да започне пен-тестърът?

ffuf

ffuf — уеб фазер на Go, създаден по „образ и подобие“ на wfuzz, позволява брутване на файлове, директории, URL пътища, имена и стойности на GET/POST параметри, HTTP заглавия, включително заглавието Host за брутфорс на виртуални хостове. От своя събрат wfuzz се отличава с по-висока скорост и някои нови функции, например, поддържат се речници в Dirsearch формат.

Плюсове:

  • Филтрите са подобни на филтрите на wfuzz, позволяват гъвкава настройка на брутфора;
  • Позволява фазинг на стойности на HTTP заглавия, данните от POST заявките и различни части на URL, включително имената и стойностите на GET параметрите;
  • Можете да посочите всякакъв HTTP метод.

Недостатъци:

  • В процес на разработка.

Уеб инструменти, или с какво да започне пен-тестърът?

gobuster

gobuster — инструмент на Go за разузнаване, който има два режима на работа. Първият се използва за брутфорс на файлове и директории на уебсайт, а вторият — за изброяване на DNS-поддомейни. Инструментът по подразбиране не поддържа рекурсивно изброяване на файлове и директории, което, разбира се, спестява време, но от друга страна, брутфорсът на всяка нова крайна точка на уебсайта трябва да се стартира отделно.

Плюсове:

  • Висока скорост на работа както за изброяване на DNS-поддомейни, така и за брутфорс на файлове и директории.

Недостатъци:

  • В текущата версия не поддържа настройка на HTTP заглавия;
  • По подразбиране счита за валидни само някои от HTTP статус кодовете (200, 204, 301, 302, 307).

Уеб инструменти, или с какво да започне пен-тестърът?

Arjun

Arjun — инструмент за брутфорс на скрити HTTP параметри в GET/POST параметри, а също и в JSON. Вградената речник има 25 980 думи, които Ajrun проверява почти за 30 секунди. Фокусът е в това, че Ajrun не проверява всеки параметър поотделно, а проверява около 1000 параметра наведнъж и наблюдава дали отговорът се е променил. Ако отговорът се е променил, той разделя тези 1000 параметра на две части и проверява коя от тези части влияе на отговора. Така, с помощта на проста бинарна търсене се намира параметър или няколко скрити параметри, които са повлияли на отговора и следователно могат да съществуват.

Плюсове:

  • Висока скорост на работа благодарение на бинарното търсене;
  • Поддръжка на GET/POST параметри, а също и параметри във формат JSON;

По подобен принцип работи и плъгинът за Burp Suite — param-miner, който също е много добър в търсенето на скрити HTTP параметри. По-подробно ще говорим за него в предстоящата статия за Burp и неговите плъгини.
Уеб инструменти, или с какво да започне пен-тестърът?

LinkFinder

LinkFinder — скрипт на Python за намиране на линкове в JavaScript файлове. Полезен е за търсене на скрити или забравени крайни точки/URL в уеб приложение.

Плюсове:

  • Бърз;
  • Има специален плъгин за Chrome, базиран на LinkFinder.

.

Недостатъци:

  • Неправилен итогов изход;
  • Не анализира JavaScript в динамика;
  • Доста проста логика на търсене на линкове — ако JavaScript е по някакъв начин обфускиран, или линковете първоначално отсъстват и се генерират динамично, то не може да намери нищо.

Уеб инструменти, или с какво да започне пен-тестърът?

JSParser

JSParser — скрипт на Python, който използва Торнадо и JSBeautifier за анализ на относителни URL адреси от JavaScript файлове. Много полезен за откриване на AJAX заявки и съставяне на списък с API методи, с които взаимодействува приложението. Ефективно работи в синхрон с LinkFinder.

Плюсове:

  • Бързо парсване на JavaScript файлове.

Уеб инструменти, или с какво да започне пен-тестърът?

sqlmap

sqlmap — вероятно, един от най-известните инструменти за анализ на уеб приложения. Sqlmap автоматизира търсенето и експлоатацията на SQL инжекции, работи с множество диалекти на SQL и притежава голямо разнообразие от техники, започвайки от "груби" кавички до сложни вектори за time-based SQL инжекции. Освен това предлага множество техники за последваща експлоатация за различни СУБД, така че е полезен не само като скенер за SQL инжекции, но и като мощен инструмент за експлоатация на вече открити SQL инжекции.

Плюсове:

  • Голямо количество различни техники и вектори;
  • Ниско ниво на фалшиви срабатывания;
  • Много възможности за прецизна настройка, различни техники, целева БД, tamper-скриптове за заобикаляне на WAF;
  • Възможност за създаване на дамп на изходните данни;
  • Множество различни възможности за експлоатация, например, за някои СУБД — автоматично качване/изтегляне на файлове, получаване на права за изпълнение на команди (RCE) и други;
  • Поддръжка на директно свързване с БД, използвайки данните, получени по време на атаката;
  • Можете да подадете текстов файл с резултатите от работата на Burp — не е нужно ръчно да съставяте всички атрибути на командния ред.

Недостатъци:

  • Трудно е да се персонализира, например, да се напишат собствени проверки поради оскъдната документация за това;
  • Без съответни настройки извършва непълен набор от проверки, което може да доведе до заблуждение.

Уеб инструменти, или с какво да започне пен-тестърът?

NoSQLMap

NoSQLMap — инструмент на Python за автоматизация на търсенето и експлоатацията на NoSQL инжекции. Удобно е да се използва не само в NoSQL бази данни, но и директно при одит на уеб приложения, използващи NoSQL.

Плюсове:

  • Както sqlmap, позволява не само да открие потенциална уязвимост, но и да провери възможността за нейното експлоатиране за MongoDB и CouchDB.

Недостатъци:

  • Не поддържа NoSQL за Redis, Cassandra, в тази посока се извършва разработка.

oxml_xxe

oxml_xxe — инструмент за вграждане на XXE XML експлоити в различни видове файлове, в които по някакъв начин се използва XML формат.

Плюсове:

  • Поддържа много разпространени формати, като DOCX, ODT, SVG, XML.

Недостатъци:

  • Поддръжката за PDF, JPEG, GIF не е напълно реализирана;
  • Създава само един файл. За решаване на този проблем можете да използвате инструмента docem, който може да създаде голямо количество файлове с пейлоди на различни места.

Гореспоменатите утилити отлично се справят с тестването на XXE при зареждане на документи, съдържащи XML. Но не забравяйте, че XML форматиращите обработвачи могат да се срещнат в множество други случаи, например, XML може да се използва като формат за данни вместо JSON.

Затова ви препоръчваме да обърнете внимание на следния репозиторий, който съдържа голямо количество разнообразни payloads: PayloadsAllTheThings.

tplmap

tplmap — инструмент на Python за автоматично откриване и експлоатация на уязвимости Server-Side Template Injection, има подобни настройки и флагове като sqlmap. Използва няколко различни техники и вектора, включително blind-инжекции, а също така разполага с техники за изпълнение на код и зареждане/изтегляне на произволни файлове. Освен това, в арсенала си има техники за десетина различни шаблони и някои техники за откриване на eval()-подобни инжекции в Python, Ruby, PHP, JavaScript. При успешна експлоатация отваря интерактивна конзола.

Плюсове:

  • Голямо количество различни техники и вектори;
  • Поддържа множество движци за рендериране на шаблони;
  • Много техники за експлоатация.

CeWL

CeWL — генератор на речници на Ruby, създаден за извличане на уникални думи от зададен уебсайт, обхожда линковете на сайта до зададена дълбочина. Съставеният речник от уникални думи може да се използва за брутфорс на пароли на услуги или брутфорс на файлове и директории на същия уебсайт, или за атака на получените хешове с помощта на hashcat или John the Ripper. Полезен е при съставяне на "целеви" списък с потенциални пароли.

Плюсове:

  • Лесен за използване.

Недостатъци:

  • Трябва да се внимава с дълбочината на търсене, за да не се хванат излишни домейни.

Weakpass

Weakpass — услуга, съдържаща множество речници с уникални пароли. Изключително полезен за различни задачи, свързани с разбиване на пароли, от прост онлайн брутфорс на акаунти на целеви услуги до офлайн брутфорс на получените хешове с помощта на , „най-бързият в света подбирач на пароли“, но изисква наличието на GPU за ефективна работа. или John The Ripper. Съдържа около 8 милиарда пароли с дължина от 4 до 25 символа.

Плюсове:

  • Съдържа както специфични речници, така и речници с най-често срещаните пароли — може да се подбере конкретен речник в зависимост от собствените нужди;
  • Речниците се обновяват и попълват с нови пароли;
  • Речниците са подредени според ефективността. Можете да изберете вариант както за бърз онлайн брут, така и за задълбочено подбиране на пароли от обширен речник с последните изтичания;
  • Има калкулатор, който показва времето за брутване на пароли на вашето оборудване.

Уеб инструменти, или с какво да започне пен-тестърът?

В отделна група бихме искали да изведем инструментите за проверка на CMS: WPScan, JoomScan и AEM hacker.

AEM_hacker

AEM hacker — инструмент за откриване на уязвимости в приложенията на Adobe Experience Manager (AEM).

Плюсове:

  • Може да открива AEM приложения от списъка с URL адреси, подадени му на вход;
  • Съдържа сценарии за получаване на RCE чрез качване на JSP шел или експлоатация на SSRF.

JoomScan

JoomScan — инструмент на Perl за автоматизация на открития на уязвимости при внедряване на Joomla CMS.

Плюсове:

  • Способен е да открива недостатъци в конфигурацията и проблеми с администраторските настройки;
  • Изброява версиите на Joomla и свързаните с тях уязвимости, аналогично за отделните компоненти;
  • Съдържа над 1000 експлойти за компоненти на Joomla;
  • Извежда окончателни отчети в текстов и HTML формат.

Уеб инструменти, или с какво да започне пен-тестърът?

WPScan

WPScan — инструмент за сканиране на сайтове на WordPress, разполага с уязвимости както за самия WordPress, така и за някои плъгини.

Плюсове:

  • Способен е да изброява не само небезопасни плъгини и теми на WordPress, но и да получава списък с потребители и TimThumb файлове;
  • Може да провежда брутфорс атаки на WordPress сайтове.

Недостатъци:

  • Без съответни настройки извършва непълен набор от проверки, което може да доведе до заблуждение.

Уеб инструменти, или с какво да започне пен-тестърът?

Общо взето, различни хора предпочитат различни инструменти за работа: всички те са добри по свой начин и това, което харесва на един човек, може напълно да не подхожда на друг. Ако смятате, че сме пренебрегнали добро приложение — пишете ни в коментарите!

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

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