Обзор лучших сканеров уязвимостей

Лучшие сканеры уязвимостей

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

Еще по теме: Самые опасные уязвимости Android

Айтишники, как известно, стремятся все автоматизировать, и хакеры в этом не отстают. Существуют автоматические сканеры уязвимостей — чтобы можно было запустить, откинуться на спинку кресла и потягивать кофе (или пивко), пока они сделают целую гору работы. Поиск уязвимостей с их использованием сводится к тому, чтобы отдать сканеру адрес цели и нажать большую кнопку 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, что сводит ее к двум командам:

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

Чтобы задействовать все возможности 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 просканирует весь сайт и выдаст соответствующий отчет. Чтобы исключить ненужные адреса (например, logout), добавь параметр -x [URL], а для авторизованного сканирования требуются куки. Для их использования сначала сгенерируй JSON-файл с помощью специального скрипта. Он лежит в bin/wapiti-getcookie и запускается следующим образом:

[LOGIN_URL] — это адрес страницы логина, а [USER] и [PASS] — логин и пароль соответственно. Затем подключаем готовый файл к сканеру:

Вот и все. Отчет генерируется в HTML и сохраняется в /home/[USER]/.wapiti/generated_report/[TARGET_HOST]_[DATE]_[ID].html, где [USER] — твой логин, [TARGET_HOST] — целевой сайт, [DATE] — дата сканирования и [ID] — четыре цифры. Можно открыть в браузере и посмотреть.

Nikto

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

Nikto — весьма популярный сканер веб-приложений, изначально встроенный в Kali Linux. Он крайне простой, даже не прячется от WAF прочего зловредного ПО на сайте, но довольно точен. Умеет находить:

  • странные и необычные заголовки;
  • утечки inode через заголовок ETag;
  • использование WAF;
  • множество интересных файлов, к которым не стоило бы открывать доступ.

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

Имеет кучу параметров. Самый главный из них — -h [HOST], задающий цель. Если цель умеет в SSL, стоит указать параметр -ssl. Также есть формат вывода (-Format) и возможность работать с Metasploit. Инструмент немного устарел, но по-прежнему годится для разведки и взлома совсем уж безнадежных целей.

OWASP ZAP

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

Сканер той самой организации OWASP, которая призвана сделать наш с тобой интернет безопаснее. Впрочем, пока не сильно успешно. А еще, кстати, есть список OWASP Top 10, где собраны десять самых распространенных багов в веб-приложениях. ZAP (Zed Attack Proxy) — бесплатный инструмент для тестирования на проникновение и поиска уязвимостей в веб-приложениях. Его главные фичи:

  • MITM-прокси для захвата трафика браузера;
  • пассивный и активный сканеры уязвимостей;
  • паук-краулер, который может работать даже с AJAX;
  • фаззер параметров;
  • поддержка плагинов;
  • поддержка WebSocket.

У программы есть русский интерфейс (частично), неплохой GUI и инструкция по пользованию для новичков. При запуске показывает советы.

Запуск ZAP
Запуск ZAP

 

Сканирование требует только указать адрес сайта. Воистину «нажал и взломал»!

Press to Hack
Press to Hack

По эффективности обнаружения багов ZAP очень хорош, использую его параллельно с Vega и Acunetix. Однозначно рекомендую.

Sqlmap

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

Sqlmap — это, наверное, самый известный сканер для поиска SQL-инъекций. Его разработкой занимаются Мирослав Штампар (Хорватия) и Бернардо Дамеле (Италия). Особенность этого сканера в том, что он может не только найти ошибку, но и сразу эксплуатировать ее, причем в полностью автоматическом режиме. Умеет работать с БД MySQL, MS SQL, PostgreSQL и Oracle.

Тот самый 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 качает дополнения

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

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

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

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

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

Kube-hunter

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

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

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

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

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

  • —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 знал, куда именно отправлять результаты, объясни ему это в переменных среды:

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

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

Trivy

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

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

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

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

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

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

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

PVS-Studio

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

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

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

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 нашел ошибку
PVS-Studio нашел ошибку

 

Ниже — пример использования. Я решил проверить код из своей прошлой статьи, и обнаружилась ошибка.

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

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

Gitleaks

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

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

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

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

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

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

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

  • -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 или путем сборки исходников самостоятельно. Первый способ:

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

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

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

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

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

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

Burp Suite

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

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

Про полезные плагины для Burp читай в статье «Лучшие расширения для Burp Suite».

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

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

MobSF

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

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

Обзор лучших сканеров уязвимостей

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

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

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

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

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

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

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

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

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

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

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

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

Обзор лучших сканеров уязвимостей

Выводы

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

Еще по теме: Как проверить сайт на уязвимости

Комментарии

  1. Аватар
    8daepognipo
    Ваш комментарий появится после проверки модератором.

    Между прочим, разница небольшая, так как этот проект такой же убогий, как всякого рода порнохабы. В общем, это фейковое казино, где вы якобы можете выиграть кучу денег. Игра в платном режиме становится для многих людей не просто способом весело провести время, а еще и источником дохода. Щедрые бонусы и интересные акции. Мы используем лучшие программы, не дающие им украсть деньги геймеров или получить доступ к чужим профилям. Это тоже не добавляет доверия к такому проекту. Это традиционная для онлайн-казино площадка. Фриспины 1xbet могут быть продлены, если вы снова соберете три и более иконок с русалкой.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *