15.12.2014

Утилита для поиска эксплойтов: как показать самые опасные уязвимости

image

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

Автор: Positive Technologies

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

В большинстве случаев заказчик принимает какие-либо серьезные меры по защите — только если знает о хакерских инструментах, которые автоматизируют атаки через найденные у него уязвимости. Обнаруженные дыры сами по себе не пугают, а такие программы — очень даже: благодаря им натянуть черные шляпы может целая армия школьников, кулхацкеров, недовольных экс-сотрудников и диверсантов из конкурирующих организаций. Создатель Grsecurity Брэд Шпенглер говорил, что только публичные эксплойты производят изменения в общественном понимании уровня существующей безопасности, и мой опыт полностью подтверждает эту мысль.

В какой-то момент я понял, что поиск ссылок на эксплойты — работа хотя и важная, но настолько рутинная и механическая, что просто грех ее не автоматизировать. Вначале был написан простенький консольный скрипт, который постепенно обзавелся GUI и научился понимать различные форматы отчетов систем поиска уязвимостей. Все доработки и улучшения PT Exploit Explorer в дальнейшем проводились исходя из пожеланий пользователей, и этот процесс продолжается до сих пор.

Судя по фидбеку от первых пользователей, к достоинствам утилиты относят достаточно быстрый и безошибочный поиск эксплойтов по списку в несколько тысяч уязвимостей; это экономит немало времени специалиста по безопасности. Основной причиной, по которой утилита оказалась востребована не только в нашей или других ИБ-компаниях, но и в самых разных других организациях, является возможность использовать результирующий отчет для расстановки приоритетов при определении очередности устранения уязвимостей — и как аргумент при споре с айтишниками. Позволю себе привести один из отзывов: «Ява-скрипт ptee.jar, который ищет готовые эксплойты, вообще классная вещь! Передайте отдельные благодарности разработчику. Отправленный в IТ-отдел отчет подействовал как кипяток на голову».

Как это работает

Программа позволяет искать ссылки на эксплойты в общедоступных базах данных, включая Rapid7 и exploit-db. Утилита полностью совместима с нашим корпоративным софтом (сканером уязвимостей XSpider и системой контроля защищенности и соответствия стандартам MaxPatrol), а также с отчетами других систем обнаружения уязвимостей в любых несжатых форматах.

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

Например так: java -jar ptee.jar -html "vulnerability report.xml"

Результирующий отчет будет представлен в виде файле vulnerability report.html.

Для поиска эксплойтов необходимо загрузить файл отчета, в котором содержатся списки уязвимостей в формате CVE-XXXX-XXXXXX, и нажать кнопку «Найти эксплойты». Файл отчета можно создать и самому — утилита умеет обрабатывать текстовые файлы с произвольным списком уязвимостей из базы CVE.

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

Генерация отчетов с уязвимостями, соответствующими им эксплойтами и ранговой интерпретацией результатов производится в форматах HTML, CSV и текстового файла.

Рассмотрим еще две настройки. При включенном пункте offline утилита использует данные предыдущих поисков, предварительно закешированные в файле offline.db. Если же активировать paranoid mode, то время ожидания отчета существенно увеличится, но эффективность поиска будет выше. «Параноидальный режим» позволяет определить наличие эксплойтов для данной уязвимости в закрытых или платных базах (включая www.securityfocus.com).

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

Вот так выглядит итоговый отчет.

В качестве эпилога напомню результаты исследования Positive Technologies, согласно которому в 2013 году 86% корпоративных систем крупных компаний были подвержены уязвимостям, позволяющим получить полный контроль над критически важными ресурсами. Это не сайты-открытки, а платежные системы, электронная почта, хранилища персональных данных и документов, ERP-системы, АСУ ТП. И для проведения атаки в 82% случаев хакеру достаточно было иметь среднюю или низкую квалификацию.

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

Загрузить PT Exploit Explorer можно по адресу: www.securitylab.ru/software/463221.php.

comments powered by Disqus