Хак в один клик. Сравниваем возможности автоматических сканеров уязвимостей

Хак в один клик. Сравниваем возможности автоматических сканеров уязвимостей

Форсайт

Для поиска уязвимостей вручную требуются особые знания, богатый опыт и редкое чутье. Но как быть новичкам? Как набраться опыта, если не знаешь, с чего начинать? На помощь приходят автоматические сканеры уязвимостей. В этой статье мы посмотрим, какие они бывают и как ими пользоваться.


Айтишники, как известно, стремятся все автоматизировать, и хакеры в этом не отстают. Существуют автоматические сканеры уязвимостей — чтобы можно было запустить, откинуться на спинку кресла и потягивать кофе (или пивко), пока они сделают целую гору работы. Поиск уязвимостей с их использованием сводится к тому, чтобы отдать сканеру адрес цели и нажать большую кнопку Start, ну или Enter, если ты любитель терминала.


При этом понятно, что сканер найдет только типовые уязвимости и, чтобы пойти дальше, нужно уметь не только нажимать на кнопку. Но почему бы не сэкономить немного сил? Во многих случаях это вполне оправданно.



Категории и методы

Универсальных инструментов не существует, и сканеры уязвимостей не стали исключением из этого правила. Они обычно нацелены на уязвимости какого-то определенного рода. В этой статье мы рассмотрим следующие виды сканеров.

  • WVS (Web Vulnerability Scanner) — сканеры веб-уязвимостей. У меня это самая многочисленная категория. Сюда входят как общеизвестные OWASP ZAP и sqlmap, так и менее известные, но не менее полезные, вроде Vega.
  • Анализаторы мобильных приложений. Тут очень мало достойных продуктов, и мы остановимся на самых ярких из них.
  • Полууниверсальные сканеры для локальной сети предприятия или дома. Это уже не просто сканеры, а целые комбайны для анализа и учета оборудования в сети. Многие из них заодно ищут уязвимости.
  • Всякие узкоспециализированные сканеры типа анализа исходного кода, Git/SVN-репозиториев и других сложных для ручной обработки массивов данных.

Само тестирование тоже бывает разным: Black Box либо White Box. При первом типе пентестер или его инструмент должны работать с сервисом через те же интерфейсы, через которые с ним взаимодействуют пользователи. Например, если для тестирования методом Black Box тебе дан сайт, то ты можешь проверять его только как посетитель, без какого-либо специального доступа к исходному коду или привилегированным аккаунтам. Если это приложение, то подразумевается, что у тебя нет доступа к исходникам: ковыряй сам, если сможешь. В общем, Black Box значит, что у тебя нет ничего, чего бы не было у всех.


При тестировании методом White Box пентестер (или хакер) имеет доступ ко всем потрохам целевого объекта. Если это сайт — у тебя есть его код. Если это сервер — у тебя есть доступ к его внутренностям вроде версии ОС и установленного софта или к некоторым файлам. В этом случае возможности куда шире и ты можешь найти проблему, которую способен эксплуатировать только продвинутый злоумышленник.


В сегодняшней подборке представлены сканеры обеих категорий, так что эту статью можно считать универсальной отмычкой почти к любому замку. И конечно, если я что-то забыл, не стесняйся использовать комментарии.



Sn1per

  • Цена: Community edition — бесплатно, Professional edition — от 150 долларов

Sn1per — мощный фреймворк для автоматического анализа безопасности цели. Разработан небезызвестным 1N3, основателем компании XeroSecurity. Из других его известных инструментов — Findsploit (для быстрого поиска эксплоитов к уязвимости) и PrivEsc — для поиска локальных багов EoP.


Sn1per поставляется в двух вариантах. Есть версия Community «для всех и даром» и Sn1per Professional, лицензия на который стоит от 150 зеленых американских рублей.


В бесплатном варианте сканер умеет собирать базовую информацию (IP цели, ping, whois, DNS); запускает Nmap для поиска открытых портов и определения сервисов, в том числе и с помощью NSE; ищет часто встречающиеся уязвимости и автоматически эксплуатирует их; пробует получить доступ ко всем файловым шарам (FTP, NFS, Samba); запускает Nikto, WPScan и Arachni для всех найденных веб-приложений и многое другое. Поддерживает интеграцию с Hunter.io, OpenVAS, Burp Suite, Shodan, Censys и Metasploit.


Установка довольно проста и поддерживает Docker, что сводит ее к двум командам:

Код:Скопировать в буфер обмена

docker pull xerosecurity/sn1per
docker run -it xerosecurity/sn1per /bin/bash

Для сканирования выполни

Код:Скопировать в буфер обмена

sniper -t [TARGET]

Чтобы задействовать все возможности Sn1per, понадобятся дополнительные ключи:

  • -o — использует движок OSINT;
  • -re — разведка;
  • -fp — полностью проработать все порты;
  • -m stealth — старательно скрывает сканер, чтобы цель не поняла, что ее сканируют;
  • -m webscan — Sn1per будет работать как обычный сканер WVS;
  • -b — использовать брутфорс при необходимости;
  • -f [FILE] — сканировать сразу несколько целей, которые перечислены в файле [FILE];
  • -m nuke — «ядерный» режим сканирования. Включает в себя брутфорс, обработку всех портов, OSINT, разведку и сохранение всех находок (loot);
  • -m massvulnscan — очень мощная функция в сочетании с -f. Массово сканирует на многие известные уязвимости все заданные цели. Если в тестируемой компании много хостов, эта опция будет весьма полезна;
  • -m discover — опция поиска всех хостов в заданной подсети и запуск сканирования на каждый из найденных. Если ты даже не знаешь всех возможных целей, это будет очень полезно.

Пример репорта после сканирования очень большой, но он есть в репозитории автора.



Wapiti3

  • Цена: бесплатно

Wapiti — подвид американских оленей полностью бесплатный сканер веб-уязвимостей. На момент написания статьи последняя версия была 3.0.3, выпущенная 20 февраля этого года, то есть проект живой. Несмотря на скромные размеры сканера (всего 2,3 Мбайт в распакованном виде), набор функций у него довольно обширный. По официальному заявлению, сканер умеет обнаруживать следующие баги:

  • раскрытие содержимого файла (local file inclusion), в том числе бэкапов и исходного кода сайта;
  • SQL-инъекции и внедрение кода PHP/ASP/JSP;
  • отраженные и хранимые XSS;
  • инъекции команд ОС;
  • XXE Injection;
  • неудачные конфигурации .htaccess;
  • Open Redirect.

Wapiti3 поддерживает прокси, аутентификацию на целевом сайте, умеет не кричать на самопальные сертификаты SSL и может вставлять в запросы любые заголовки (в том числе кастомный User-Agent).


Использование инструмента весьма тривиально. После установки выполни в терминале (да, это консольное приложение) такую команду:

Код:Скопировать в буфер обмена

wapiti -u [URL]

Wapiti просканирует весь сайт и выдаст соответствующий отчет. Чтобы исключить ненужные адреса (например, logout), добавь параметр -x , а для авторизованного сканировани... [URL='http://sqlmapgui.blogspot.com/']Sqlmap — это, наверное, самый известный сканер для поиска SQL-инъекций. Его разработкой занимаются Мирослав Штампар (Хорватия) и Бернардо Дамеле (Италия). Особенность этого сканера в том, что он может не только найти ошибку, но и сразу эксплуатировать ее, причем в полностью автоматическом режиме. Умеет работать с БД MySQL, MS SQL, PostgreSQL и Oracle.


С выхода прошлой статьи об этом шикарном инструменте почти ничего не изменилось. Почти — потому что у sqlmap наконец появился GUI, что еще сильнее понизило порог вхождения.

Тот самый GUI



Acunetix WVS

  • Цена: базовая версия — от 4495 долларов за один сайт (и растет по мере количества сайтов, которые ты планируешь сканировать). Расширенная версия — от 6995 долларов за один сайт (но умеет намного больше).

Было бы странно, если бы эта подборка обошлась без коммерческих сканеров. Именно Acunetix WVS недавно нашел баг у Google, а одноименная компания-разработчик — один из лидеров рынка.


Сам сканер — это веб-приложение, и его можно ставить на «безголовый» сервер (то есть вообще без графической оболочки). Есть поддержка и Windows, и Linux. К сожалению, сам сканер кому попало не продается, так что «кто попало» выкручивается с помощью тематических сайтов. К последней, 13-й версии кряка нет, поэтому сейчас у хакеров в ходу 12-я версия.


Установка — классическая для Windows-приложений. Там задается логин и пароль к веб-интерфейсу, также есть возможность открыть удаленный доступ к сканеру (удобно поставить его на VPS).


После установки видим главную страницу интерфейса. Интерфейс простой, разберется любой школьник. Есть цветовое определение тяжести найденного бага и готовый рейтинг CVE. Пользоваться сканером действительно удобно и приятно.


Сканирование требует только указать адрес цели (на вкладке Targets) и нажать кнопку Scan, опционально задав время начала. Сканер имеет несколько профилей сканирования, может сканировать только в рабочее или нерабочее время и, по словам производителя, умеет находить почти все виды багов. В этот список входят:

  • XSS, в том числе DOM;
  • SQL-инъекции, кроме слепых (blind);
  • CSRF;
  • обход директории;
  • XXE Injection;
  • небезопасная сериализация;
  • проблемы с SSL-сертификатами (скорое истечение срока годности, слабые шифры);
  • проблемы с CORS.

Сканер действительно быстрый и качественный, для участия в bug bounty подходит идеально. Жаль, цена кусается. Но я просто обязан его порекомендовать, это один из лучших инструментов.



Vega

  • Цена: бесплатно

Еще один сканер с открытым исходным кодом, разработан в компании Subgraph. Да, той самой Subgraph, которая сделала клиент Tor на чистой Java. Удивительно, но Vega бесплатный, а по возможностям ничуть не хуже Acunetix.


По заверениям производителя и собственным наблюдениям, сканер хорошо ищет следующие баги:

  • SQL-инъекции;
  • XSS;
  • XXE Injection;
  • Integer Overflow/Underflow (кстати, единственный сканер, который их нормально ищет);
  • раскрытие содержимого файла (local file inclusion);
  • внедрение кода;
  • path traversal;
  • внедрение HTTP-заголовков;
  • плохие настройки CORS.

Сканер написан на Java, а значит, работает везде, где есть Java VM, включая, конечно, Windows и Linux. Недостатки: нужна та самая JVM, к тому же здесь нет веб-интерфейса.


Запуск сканирования тоже тривиален, но, в отличие от других сканеров, у Vega много настроек.




А скрыты эти настройки за кнопкой Next.




Но и это еще не все! Есть поддержка авторизованного сканирования, причем без необходимости добавлять cookies из консоли.


Короче, благодаря удобному GUI, качественной работе и куче возможностей это сейчас лучший выбор для пользователя Windows. Если же чего-то не хватит, всегда можно написать свой модуль на JavaScript.


Было бы неправильно не упомянуть в этой подборке Nmap. Сам по себе он на звание сканера уязвимостей не тянет, но у него есть скриптовой движок. Даже «из коробки» он умеет проверять популярные баги, но ты легко можешь сделать этот глаз еще зорче с помощью своих (или чужих) скриптов. Найти скрипт на любой вкус можно на GitHub.



Nessus

  • Цена: бесплатно / 3120 долларов

Nessus — коммерческий сканер безопасности американской компании Tenable. Также есть облачный сканер Tenable.io, на котором я не буду останавливаться подробно.


У сканера три редакции: Essentials (для всех и бесплатно), Professional (3120 долларов в год) и Tenable.io, который, по сути, представляет собой отдельный продукт со своей ценой. При этом разница между редакциями Essentials и Professional лишь в количестве доступных для сканирования адресов и наличии поддержки по email.


Сам сканер довольно увесистый (установщик больше 120 Мбайт, а после активации скачивает еще много дополнений), и скачать его можно только после регистрации, во время которой на почту придет код активации.


Nessus качает дополнения


Инициализация весьма продолжительная, у меня заняла порядка двадцати минут.


Когда с этим будет покончено, можно начинать пользоваться веб-панелью. Nessus ищет следующие проблемы:

  • раскрытие версий ПО на хостах;
  • активная малварь;
  • уязвимость к брутфорсу;
  • слабые методы авторизации;
  • открытые данные на целях (возможность перечислить учетные записи и группы, удаленный реестр и сетевые папки);
  • некорректные разрешения и политики безопасности.

Может работать как краулер.


Лично мне не очень понравился, хотя бы жесткими рамками бесплатной версии.



Kube-hunter

  • Цена: бесплатно

Специализированный сканер для анализа безопасности кластеров Kubernetes. Распространяется по свободной лицензии Apache.


Этот охотник ищет косяки в удаленных кластерах, а затем одним метким выстрелом пробивает защиту. Пользоваться им следует с осторожностью, потому что в погоне за добычей он может что-нибудь испортить. Впрочем, об этом можно не беспокоиться, пока ты работаешь с ним в «обыкновенном» режиме. В таком режиме он будет находить дыры, но не полезет в них сам. Если же ты решил доверить все в руки Kube-hunter, есть режим «активной» охоты.


Скачать сканер можно на GitHub, он написан на Python и нормально работает почти в любой ОС. Впрочем, можно использовать и Docker:

Код:Скопировать в буфер обмена

docker pull aquasec/kube-hunter
docker run --rm aquasec/kube-hunter [ARGUMENTS]

После скачивания и установки зависимостей запускаем. Весь набор функций можно увидеть только с помощью дополнительных ключей запуска. Вот они:

  • --remote [ADDRESS] — сканировать кластер по адресу;
  • --cidr [CIDR] — найти и атаковать все кластеры в диапазоне адресов;
  • --active — тот самый режим активной охоты. Используй, если в разрешении на пентест указано, что ты не несешь ответственности за сохранность инфраструктуры заказчика. Короче, я предупредил;
  • --mapping — вывести все найденные узлы Kubernetes. Полезно с опцией --cidr;
  • --log [LEVEL] — выводить сообщения по уровню важности. [LEVEL] может быть DEBUG, INFO (по умолчанию) или WARNING;
  • --report [TYPE] — указывает формат вывода отчета. Может быть json, yaml или plain. Эту опцию можно сочетать со следующей;
  • --dispatch [MODE] — указывает, куда нужно отправить отчет после завершения сканирования. По умолчанию stdout, но можно отправить и по HTTP, тогда параметром нужно передать --dispatch http. А чтобы Kube-hunter знал, куда именно отправлять результаты, объясни ему это в переменных среды:

Код:Скопировать в буфер обмена

KUBEHUNTER_HTTP_DISPATCH_URL  (по умолчанию — https://localhost)
KUBEHUNTER_HTTP_DISPATCH_METHOD (по умолчанию — POST)

Очень удобная функция, которой нет в других сканерах, — возможность просматривать результаты работы на онлайновом дашборде, даже если сканер работает за NAT или еще как-то отгорожен от сети. Для использования фичи нужно зарегистрироваться на сайте компании.


Скажу еще, что Kube-hunter можно использовать не только против удаленной цели. Еще его можно установить как pod и сканировать изнутри. Об этом подробнее расписано в файле readme.



Trivy

  • Цена: бесплатно

Еще один сканер безопасности контейнеров того же разработчика (Aquasec). Для bug bounty пригоден куда меньше предыдущего, но довольно точен и быстр. Специализируется конкретно на Docker. Устанавливается чуть сложнее, чем Kube-hunter. Для установки в Debian, Ubuntu и Kali можно использовать следующий скрипт:

Код:Скопировать в буфер обмена

sudo apt-get install wget apt-transport-https gnupg lsb-release
wget -qO - https://aquasecurity.github.io/trivy-repo/deb/public.key | sudo apt-key add -
echo deb https://aquasecurity.github.io/trivy-repo/deb $(lsb_release -sc) main | sudo tee -a /etc/apt/sources.list.d/trivy.list
sudo apt-get update
sudo apt-get install trivy

После этого можно сканировать. Для этого просто выполни trivy [IMAGE_NAME]. Например:

Код:Скопировать в буфер обмена

trivy python:3.4-alpine

Результат — ниже.

Код:Скопировать в буфер обмена

Total: 1 (UNKNOWN: 0, LOW: 0, MEDIUM: 1, HIGH: 0, CRITICAL: 0)
+---------+------------------+----------+-------------------+---------------+--------------------------------+

| LIBRARY | VULNERABILITY ID | SEVERITY | INSTALLED VERSION | FIXED VERSION | TITLE |

+---------+------------------+----------+-------------------+---------------+--------------------------------+

| openssl | CVE-2019-1543 | MEDIUM | 1.1.1a-r1 | 1.1.1b-r1 | openssl: ChaCha20-Poly1305 |

| | | | | | with long nonces |

+---------+------------------+----------+-------------------+---------------+--------------------------------+

Можно сканировать образы в виде файлов:

Код:Скопировать в буфер обмена

trivy --input image.tar

За формат вывода отвечает ключ -f, который можно выставить в json. Есть также поддержка вывода по кастомному шаблону.


Чтобы показать только определенные типы найденных уязвимостей, нужно указать ключ --severity и через запятую перечислить категории для отображения (UNKNOWN, LOW, MEDIUM, HIGH, CRITICAL).



PVS-Studio

  • Цена: ~5250 евро с возможностью получить бесплатно (и легально)

Бывает, что в рамках bug bounty для исследования предлагают исходный код продукта. Однако хороших инструментов для автоматизации такой работы очень мало. Вручную же искать баги среди миллионов строк кода — занятие весьма неблагодарное, тем более что кодовая база в активном проекте регулярно обновляется/Исследователь устает, да и в принципе не способен выследить большинство косяков сам. Другое дело — софт! И тут нам помогли наши соотечественники, создав PVS-Studio. Это весьма годный коммерческий статический анализа








PVS-Studio — хороший единорог


PVS-Studio умеет находить баги в коде на C, C++, C# и Java. Для использования его нужно скачать с сайта разработчика и установить. Есть версии для Windows (в виде расширения для Visual Studio), Linux (пакеты deb и rpm) и macOS.


Сканер требует регистрации — ввести ключ, полученный от разработчика. И тут я встретил самую быструю и дружелюбную реакцию среди всех производителей коммерческих сканеров.


Пользоваться PVS-Studio можно разработчикам открытых проектов, публичным специалистам в ИБ и обладателям статуса Microsoft MVP. Я получил лицензию по второму способу как автор «Хакера». Если ты тоже занимаешься ИБ — попробуй получить такую лицензию.


Если ты используешь плагин для Visual Studio, то все найденные ошибки будут выведены в лог при компиляции или принудительной проверке.



PVS-Studio нашел ошибку


Ниже — пример использования. Я решил проверить код из своей прошлой статьи («Пишем на C# утилиту для мониторинга сети»), и обнаружилась ошибка.



Ошибка в моем проекте


В общем, сканер действительно хороший и быстрый, а пользоваться им при определенных обстоятельствах можно и бесплатно. Жаль, для остальных случаев цена кусается.



Gitleaks

  • Цена: бесплатно

Как известно, чем крупнее продукт, тем больше для его разработки привлекается подрядчиков и тем больше рядовых сотрудников взаимодействуют с его кодом. И пока все действия выполняются на виртуальных машинах, не подключенных к сети, а всех входящих и выходящих проверяют на рентгеновском сканере, все выглядит хорошо. Но когда для разработки и тестирования приглашают подрядчиков, которые работают из дома, начинаются проблемы.


Часто в коде тестов QA-специалистов попадаются привилегированные ключи для доступа к инфраструктуре, а Security-инженеры забывают приватную информацию в своих публичных репозиториях для бэкапов. Если найти такой ключик, то взлом может закончиться, даже не начавшись, так что нельзя забывать про этот вектор атаки. Подобные данные можно найти по запросам вида company.com pass и company.com private на GitHub, а можно и с помощью автоматических скриптов.


Один из таких инструментов — это Gitleaks, который быстро и качественно найдет почти что угодно в любом открытом репозитории. Он умеет следующее:

  • проверять локальные изменения до коммита, чтобы избежать утечек данных еще на стадии разработки;
  • проверять любые репозитории GitHub/GitLab, в том числе приватные репозитории, если есть ключ доступа;
  • проверять все репозитории заданного пользователя или организации;
  • выдавать отчет в JSON, что удобно для последующего автоматического анализа;
  • интегрироваться с Git, чтобы предотвратить непреднамеренную утечку.

Установить его можно с помощью Docker.

Код:Скопировать в буфер обмена

docker pull zricethezav/gitleaks
docker run --rm --name=gitleaks zricethezav/gitleaks -v -r [REPO_URL]

Использование инструмента и все его ключи запуска описаны в справке к программе, но некоторые из них я продублирую здесь.

  • -v — детальный вывод сообщений;
  • --repo=[REPO] — ссылка на репозиторий для проверки;
  • --disk — клонировать репозиторий локально, чтобы не исчерпать всю память сразу;
  • --usename=[USER] и --password=[PASS] — указывает логин и пароль для доступа к приватному репозиторию;
  • --access-token=[TOKEN] — альтернатива авторизации по логину и паролю;
  • --commit=[COMMIT] — SHA коммита для анализа, если хочется проверить репозиторий в какой-то момент. По умолчанию проверяется текущее состояние;
  • --repo-path=[PATH] — анализировать локальный репозиторий по заданному пути;
  • --branch=[BRANCH] — анализировать только конкретный branch;
  • --depth=[NUM] — анализировать только [NUM] последних коммитов. Альтернатива — --commit-from=[COMMIT] и --commit-to=[COMMIT], проверяющие коммиты между заданными включительно;
  • --threads=[NUM] — сканировать в несколько потоков.

Чтобы выпотрошить все репозитории конкретной организации или пользователя, используй следующие параметры:

  • --org=[ORG] — искать и анализировать все репозитории организации [ORG];
  • --user=[USER] — то же, но для пользователя;
  • --exclude-forks — исключить из анализа форки репозиториев. В них редко можно найти что-либо полезное, а вот сканирование эта опция ускорит значительно.

Для использования этой функции надо указать утилите, какой сервис мы хотим задействовать. Пока поддерживаются GitHub и GitLab. Задать сервис можно опцией --host=[SERVICE], где [SERVICE] — GitHub или GitLab.


В целом инструмент очень хороший и часто незаменимый. Рекомендую для использования в bug bounty и при пентестах.



QARK

  • Цена: бесплатно

Бывает, что нужно протестировать приложения для Android и iOS. И если с проверкой на секретные значения в коде все понятно, да и с анализом данных, сохраняемых в небезопасных местах, тоже, то некоторые баги выявить ой как непросто. Сюда попадает плохо реализованное шифрование (с помощью XOR, к примеру), некорректная обработка внешних ссылок, открытые activity, которые раскрывают приватную информацию, флаг android:debuggable=true и так далее.


QARK (Quick App Review Kit) — бесплатный инструмент, созданный в компании LinkedIn, для быстрого анализа пакета APK на некоторые уязвимости. Их список, как говорит разработчик, следующий:

  • некорректно экспортируемые элементы или неправильные права доступа к экспортируемым объектам;
  • уязвимые интенты;
  • неправильная работа с сертификатами X.509;
  • создание файлов, которые доступны другим приложениям, и работа с такими файлами;
  • дырявые activity;
  • использование захардкоженных приватных ключей;
  • слабые шифры;
  • tapjacking;
  • приложение разрешает бэкап своей приватной папки или имеет флаг android:debuggable=true.

Утилита написана на Python и способна работать как на Linux, так и в Windows. Установить можно через pip или путем сборки исходников самостоятельно. Первый способ:

Код:Скопировать в буфер обмена

pip install --user qark

Второй способ:

Код:Скопировать в буфер обмена

git clone https://github.com/linkedin/qark
cd qark
pip install -r requirements.txt
pip install . --user

После установки можно выполнить qark --help, чтобы прочитать справку. А можно и не выполнять, сейчас я кратко перескажу главное.


Для анализа целого APK используется аргумент --apk FILE.APK:

Код:Скопировать в буфер обмена

qark --apk ./my_app.apk

Если ты решил тестировать с помощью этого инструмента свой (или декомпилированный чем-то другим) код, то используй аргумент --java:

Код:Скопировать в буфер обмена

qark --java ./my_app_src

Можно прогнать через сканер только какой-то отдельный файл:

Код:Скопировать в буфер обмена

qark --java ./my_app_src/Main.java

Особенность сканера в том, что к некоторым багам он умеет сразу сделать эксплоит, но эта функция слегка нестабильна и работает далеко не для всех багов, так что особенно надеяться на нее не стоит.



Burp Suite

  • Цена: бесплатно / 400 долларов

Было бы странно, если бы я не упомянул этот швейцарский нож из мира сканеров. Это целый комбайн, который умеет работать как прокси, сканер уязвимостей, паук-краулер, репитер запросов или платформа для множества плагинов.


Сканер разработала компания PortSwigger и выпустила в двух редакциях: Community (бесплатно) и Professional (400 долларов). Последняя отличается наличием в комплекте большого количества плагинов для Burp Intruder, наличием автоматического сканера и отсутствием ограничений в BApp Store.


Имеется неплохой GUI с удобными вкладками, автоматические модули для подбора паролей, идентификаторов, фаззинга, кодировщики и раскодировщики данных в разных форматах. Обзоров Burp не делал только ленивый, так что я только оставлю ссылку на такой обзор, чтобы не повторяться.



MobSF

  • Цена: бесплатно

Последний в этой статье, но не последний по ценности и наворотам сканер, который будет отлично смотреться в арсенале пентестера. Это еще один статический анализатор мобильных приложений, тоже написанный на Python, но работающий только в Windows.



MobSF запускается даже на «безголовом» сервере и открывает наружу порт 8000. Если зайти туда браузером, видим типичное веб-приложение.



Главная страница MobSF


Загружаем туда APK или IPA (да, приложения для iOS тоже поддерживаются) и ждем окончания анализа. После этого видим весьма обширный отчет о найденных багах с указанием возможности эксплуатации. Цветовая индикация серьезности тоже присутствует, и в целом интерфейс весьма дружественный, не хватает только поддержки русского.



Иллюстрация взята с репозитория проекта


Сканер умеет анализировать код, сертификат, которым подписано приложение, его манифест (AndroidManifest.xml) и позволяет выгрузить декомпилированный код для последующего анализа в других программах. Анализ выполняется как статически (декомпиляция и анализ полученного кода), так и динамически (запуск в виртуальном окружении).


Работа динамического анализатора


Можно скачать инструмент на GitHub или установить по инструкции ниже.


Для начала нам нужен Python с pip. Далее установи rsa следующей командой:

Код:Скопировать в буфер обмена

python -m pip install rsa

Скачай скрипт установки и выполни. Отвечай на вопросы (установщик интерактивный) — и пользуйся на здоровье.


Можно также основную часть инструмента запустить на одной машине (это может быть Linux), а сервер для статического анализа — на другой (тут нужна Windows). Чтобы выключить эту возможность, поправь MobSF/settings.py, указав в WINDOWS_VM_IP адрес твоей виртуальной машины с RPC-сервером.


В целом инструмент очень хороший и удобный. Правда, лично у меня установка вызвала некоторые проблемы — из-за битых зависимостей.


Сводная таблица

Выводы

Как видишь, вовсе не обязательно ковырять сложные веб-приложения с тысячами страниц и прочий софт вручную. 

Источник


Report Page