Что такое эксплойт? Эксплойт. Виды эксплойтов Вернёмся к хакерам. Какие эксплойты бывают

У многих начинающих специалистов в области информационной безопасности встает множество вопросов по поводу эксплойтов: Что такое эксплойты? Кто пишет эксплойты? Как пользоваться эксплойтами? В этой статей вы найдете ответы на эти вопросы!

Что такое эксплойт?

Эксплойт (exploit) - это компьютерная программа, фрагмент программного кода или последовательность команд, использующие уязвимости в программном обеспечении и применяемые для проведения атаки на вычислительную систему. Целью атаки может быть как захват контроля над системой (повышение привилегий), так и нарушение её функционирования (DoS-атака). ...

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

Кто пишет эксплойты?

Эксплойты пишут тысячи энтузиастов увлеченные изучением информационной безопасности, они публикуют их на множестве известных сайтов подобных SecurityFocus . Делают они это не ради славы и не на радость скрипт-киддисов, делают они это для оповещения системных администраторов и других специалистов в области ИБ о существовании данной уязвимости. Ведь имея на руках реализацию конкретной уязвимости можно легко написать «заплатку».

Как пользоваться эксплойтами?

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

К примеру, возьмем уязвимость найденную одном из многочисленных компонентов Joomla. Описание эксплойта вы найдете, пройдя по ссылке Joomla Component com_camp SQL Injection Vulnerability .

В первую очередь вы должны посмотреть приложение и версию приложения для которого существует уязвимость. Если вы нашли то, что нужно приступайте к изучению описания эксплойта. В описании обычно пишут, где именно найдена уязвимость в нашем случае это компонент com_camp, как вы видите уязвимость сушествует из за недостатка фильтрации в переменной cid:

Http://127.0.0.1/index.php?option=com_camp&task=show&cid=


Зайдя сайт с данной уязвимостью и подставив в переменную cid кавычку вы скорей всего обнаружите ошибку на странице что свидетельствует о присутствие sql injection.

Что делать далее? Была бы фантазия, а сделать то можно многое! Тут то мы и подходим к самому эксплойту. На странице описания эксплойта обычно выкладывают файл с самим эксплойтом или строчку программного кода который нужно либо скомпилировать, либо каким то образом «скормить» уязвимому приложению. В нашем случае мы видим строчку sql кода, которую нужно вставить в переменную cid:

1/**/UNION/**/SELECT/**/1,2,3,4,5,6,7,8,9,10,11,12,13,14--


Так же в нашем случае мы видим пример реализации данной уязвимости:

Http://127.0.0.1/index.php?option=com_camp&task=show&cid=-1/**/UNION/**/SELECT/**/1,2,3,4,5,6,7,8,9,10,11,12,13,14--


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

Какие еще бывают эксплойты?


В зависимости от метода получения доступа к уязвимому программному обеспечению, эксплойты подразделяются на удалённые (англ. remote) и локальные (англ. local).

Эксплойты предназначены для выполнения сторонних действий на уязвимой системе и могут быть разделены между собой следующим образом:

Вообще же искать по конкретному сайту вам поможет GoogleHack & «Расширенный поиск» например site: http:securityfocus.com joomla sql injection выведет вам множество эксплойтов позволяющих провести sql injection в joomla.

Может ли эксплойтами пользоваться каждый дурак?


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

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

Ядерная энергия может нести свет, а может принести и вечную тьму, каждый сам решает, как ему жить…

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

Как возникают эксплойты?

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

Как распознать эксплойт?

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

Как устранить эксплойт?

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

Как пресечь попытки хакеров воспользоваться уязвимостями сторонних программ
  • Убедитесь, что вы установили самые свежие обновления безопасности и патчи для всех программ
  • Чтобы быть в безопасности онлайн и оставаться в курсе событий, устанавливайте все обновления сразу после их выпуска
  • Установите и используйте антивирус класса премиум, который способен автоматически обновлять установленные программы
Обезопасьте себя от эксплойтов

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

У многих начинающих специалистов в области информационной безопасности встает множество вопросов по поводу эксплойтов: Что такое эксплойты? Кто пишет эксплойты? Как пользоваться эксплойтами? В этой статей вы найдете ответы на эти вопросы!

Что такое эксплойт?

Эксплойт (exploit) - это компьютерная программа, фрагмент программного кода или последовательность команд, использующие уязвимости в программном обеспечении и применяемые для проведения атаки на вычислительную систему. Целью атаки может быть как захват контроля над системой (повышение привилегий), так и нарушение её функционирования (DoS-атака). ...

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

Кто пишет эксплойты?

Эксплойты пишут тысячи энтузиастов увлеченные изучением информационной безопасности, они публикуют их на множестве известных сайтов подобных SecurityFocus . Делают они это не ради славы и не на радость скрипт-киддисов, делают они это для оповещения системных администраторов и других специалистов в области ИБ о существовании данной уязвимости. Ведь имея на руках реализацию конкретной уязвимости можно легко написать «заплатку».

Как пользоваться эксплойтами?

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

К примеру, возьмем уязвимость найденную одном из многочисленных компонентов Joomla. Описание эксплойта вы найдете, пройдя по ссылке Joomla Component com_camp SQL Injection Vulnerability .

В первую очередь вы должны посмотреть приложение и версию приложения для которого существует уязвимость. Если вы нашли то, что нужно приступайте к изучению описания эксплойта. В описании обычно пишут, где именно найдена уязвимость в нашем случае это компонент com_camp, как вы видите уязвимость сушествует из за недостатка фильтрации в переменной cid:

Http://127.0.0.1/index.php?option=com_camp&task=show&cid=


Зайдя сайт с данной уязвимостью и подставив в переменную cid кавычку вы скорей всего обнаружите ошибку на странице что свидетельствует о присутствие sql injection.

Что делать далее? Была бы фантазия, а сделать то можно многое! Тут то мы и подходим к самому эксплойту. На странице описания эксплойта обычно выкладывают файл с самим эксплойтом или строчку программного кода который нужно либо скомпилировать, либо каким то образом «скормить» уязвимому приложению. В нашем случае мы видим строчку sql кода, которую нужно вставить в переменную cid:

1/**/UNION/**/SELECT/**/1,2,3,4,5,6,7,8,9,10,11,12,13,14--


Так же в нашем случае мы видим пример реализации данной уязвимости:

Http://127.0.0.1/index.php?option=com_camp&task=show&cid=-1/**/UNION/**/SELECT/**/1,2,3,4,5,6,7,8,9,10,11,12,13,14--


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

Какие еще бывают эксплойты?


В зависимости от метода получения доступа к уязвимому программному обеспечению, эксплойты подразделяются на удалённые (англ. remote) и локальные (англ. local).

Эксплойты предназначены для выполнения сторонних действий на уязвимой системе и могут быть разделены между собой следующим образом:

Вообще же искать по конкретному сайту вам поможет GoogleHack & «Расширенный поиск» например site: http:securityfocus.com joomla sql injection выведет вам множество эксплойтов позволяющих провести sql injection в joomla.

Может ли эксплойтами пользоваться каждый дурак?


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

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

Ядерная энергия может нести свет, а может принести и вечную тьму, каждый сам решает, как ему жить…

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

Что такое эксплойт?

“Официальное” определение можно прочитать в компьютерных энциклопедиях. Мне нравится такое: “В зависимости от назначения – программа, кусок кода или скрипт, которые позволяют получить выгоду от использования существующей уязвимости в программном обеспечении для чего угодно, что программно управляется”. В каком-то смысле молоток против смартфона тоже является техническим эксплойтом, действующим с примитивной целью – уничтожить устройство. Сладкие конфеты против зубной эмали действуют также.

Откуда появляется эксплойт? Любители конкретики – пропускайте часть.

Где известна уязвимость, там, вероятно, может появиться и эксплойт. Уязвимость же можно толковать также по-разному. Википедия, как мне кажется, даёт немного неверное определение. Уязвимость – это не всегда ошибка или недостаток. Ахиллесова пята есть у любого механизма. Ну нельзя назвать ошибкой тот факт, что двигатель работает от топлива. Ведь, если он будет работать на воздухе, это также сразу станет его недостатком. Как и металл, из которого он собран; человек, который им управляет… Недостатки есть у всего, и профессионалам они также видны во всём.

Самое простое объяснение такой мысли – “взаимоотношения” человека и вируса. Биологического. В нашем организме всё продумано до мелочей, однако, столкнувшись с микрокодом извне, он выходит из строя на время или навсегда. Уязвимость – это просто неспособность механизма (в том числе и программного) адекватно реагировать на некое действие со стороны, сохраняя при этом заложенные в него (механизм) характеристики и функционал . И называется эксплойтом только если позволяет получить от уязвимости выгоду. Не сочтите за белетристику, это важно понять сразу.

Немного об уязвимостях.

Модули Метаса, содержащие эксплойты, и направлены на уязвимости. У пентестеров принято формализовывать методы, по которым эти уязвимости группируются. Таким образом был создан постоянно расширяющийся словарь Common Vulnerabilities and Exposures (CVE ) – Общепринятых Уязвимостей и Обнаружений. Так что запоминайте: с аббревиатурой CVE вы не раз столкнётесь. Его цель: немецкие и китайские хакеры должны быть уверены, что говорят об одной и той же дыре в безопасности. И все они видят такие уязвимости в формате:

CVE – ГОД_ВЫПУСКА – ПРИСВОЕННЫЙ_ИДЕНТИФИКАТОР

например

CVE 2008-4250

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

На самом деле уязвимостей, которые способны раскрыть секреты хозяина, гораздо больше, чем официальный список этого бюллетеня. Да, чтобы попасть в этот словарь, уязвимости нужно место “заслужить”. И конкретной организации, которая официально этим занимается, конечно нет. Всё зависит от того, на что будет направлен будущий эксплойт – уязвимости без эксплойта не существует. Но в любом случае почти все дороги ведут на Exploit Database и указанный веше ресурс.

Отдельной строкой идут проблемы безопасности для продуктов от Майкрософт. Они формируются отдельным списком под названием Бюллетень Безопасности Майкрософт. Их уязвимости принято группировать таким макаром:

MSYY-XXX

где, YY – год обнаружения, ХХХ – присвоенный ID.

Вернёмся к хакерам. Какие эксплойты бывают?

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

  • эксплойт сервиса
  • эксплойт клиента
  • эксплойт привилегий

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

Эксплойт клиента – он же клиентский эксплойт – сфокусирован на атаке клиентского приложения, которое получает некий контент от компьютера-сервера. Основан на том, что жертва будет проводить какие-то действия, а программа-клиент должна активно с этим контентом работать. Проще говоря, моя задача как хакера заставить вас щёлкнуть по ссылке, открыть некий документ, попасть на вредоносный сайт.

Эксплойт привилегий . Его задача – добиться усиления уже имеющихся в системе прав. Например, получить права администратора из гостевой УЗ. А там и до SYSTEM недалеко… К примеру, в Windows XP есть такая уязвимость, когда нехитрыми движениями можно . Причём уязвимость лежала на поверхности. Не поленитесь и взгляните на статью – объяснения станут излишними.

Процесс эксплойта и его роль в атаке на компьютер.

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

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

Как это выглядит воочию или как работать с эксплойтом?

Для примера используем ОС Кали Линукс в качестве хозяйской и Windows XP (эксплойт древний, начиная с уже с Windows XP SP2 он уже делает это менее охотно) в качестве гостевой в VirtualBox. Нам, конечно, известно, какие характеристики имеются у гостевой машины в сети (в нашем случае виртуальной), но пусть сканер Nmap сделает своё дело. Наведём “официальную справку” о жертве:

Nmap -v -n 192.168.0.162

где 192.168.0.162 – ip адрес жертвы. Если вы знакомы с , то поняли, что флаги:

  • – v позволяет получить подробный отчёт об адресе
  • – n отключает реверсивные преобразования DNS

Мы видим, какие открыты порты с запущенными через них службами. Посканируем систему ещё с целью более детальной информации на предмет операционной системы и версии службы. Команда примет вид (расположение флагов по команде произвольное):

Nmap -T4 -A -v 192.168.0.162

Информации предостаточно. Выбираем место нанесения удара. Открыта целая куча портов, которые являются потенциальными лазейками в систему противника. Пусть это будет один из открытых портов 135 с запущенной службой mcrpc (она же Microsoft Windows RPC – ссистемная служба удаленного вызова процедур ). Нам остаётся подобрать под конкретный процесс подходящий эксплойт.

База данных эксплойтов. Пару секунд на теорию.

Если вы сейчас сидите в Кали, она, база, у вас под рукой. Нужно лишь соединение с сетью и запущенный msfconsole (он же набор инструментов Metasploit). Постоянно пополняемая база эксплойтов, которые вы можете увидеть прямо сейчас, запустив консоль msfconsole и набрав команду show exploits, отобразит список эксплойтов:


Отображение на экране списка вам пока ничего не скажет. Они представлены в алфавитном порядке с датой публикации, присвоенным рангом по применению и надёжности работы, а также коротким пояснением на что нацелен.

Своеобразным зеркалом базы является знаменитый ресурс

https://www.exploit-db.com/

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

Неплохой ресурс , на котором можно найти интересное, это:

ru.0day.today/

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

Продолжаем. Ищем подходящий эксплойт.

Metasploit напрямую связан с базой данных эксплойтов, так что шаги, которые вы увидите, можно не запоминать: Метас тем и хорош, что шаги его автоматизированы (что, впрочем, не всегда хорошо). Статья про эксплойт, и мы будем использовать только его, т.е. вручную. Найдём, скачаем, загрузим. Зачем вручную? Об этом в абзаце Проблемы эксплойта.

Как найти интересующий эксплойт?

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

Show exploits

Вместо этого вы можете набрать в открытой сессии Метаса команду на манер:

Search name:smb type:exploit platform:windows

Метас отобразит только те эксплойты, которые работают в ОС Windows. Далее, если интересуют эксплойты браузеров в ОС Windows, разбавьте команду именем. Смотрите:

Msf > search name:browser type:exploit platform:windows

Кроме того, в Кали Линукс доступен прямой поиск эксплойтов прямо из терминала без запущенной сессии Метаса. Наберите команду на поиск эксплойта в формате:

Searchsploit internet explorer

Терминал вам вернёт все имеющиеся эксплойты в базе, которая обновляется еженедельно.

Продолжим…

Итак, службу знаем, тип ОС видим. Так в базе данных и набираем: Search -кнопка после ввода запроса:

windows rpc

Пройдём перед поиском верификацию на робота и знакомимся с результатами:

ПОВТОРЮСЬ . Всё, что проделано выше, можно проделать быстрее. В запущенном Метасе наберите команду на поиск эксплойта из вашей Кали:

Однако ситуация, когда подходящего эксплойта в базе Метаса может и не найтись – не редкость. Так что, когда вы познакомитесь с работой эксплойтов поближе, можно себе позволить посвятить больше времени на поиск и компоновку нужного эксплойта. И в нашем случае мы подготовим скачанный эксплойт к инжектированию вручную. В терминале преобразуем его в бинарный файл (я предварительно перетащил 66.с из Загрузок в Рабочий стол ):

Gcc 66.c -o 66

Теперь их два:

И запихиваю бинарник эксплойта прямиком в жертву XP:

./66 6 192.168.0.162

Система отозвалась. По-научному это называется Успешным результатом компрометации системы. Фактически этот компьютер уже в руках хакера. Хакер видит его, словно бы сидит за компьютером – он может управлять системой с помощью команд консоли. А теперь посмотрим, как используется эксплойт под управлением Метаса. Порты жертвы мы уже “прозвонили”с помощью Nmap. И как вы заметили, в числе прочих открыт ещё и 445 под управлением службы Microsoft-ds . В окне Metasploit выберем подходящий эксплойт:

exploit/windows/smb/ms08_067_netapi

Возьмём его на вооружение:

Use exploit/windows/smb/ms08_067_netapi

Проверим, что нужно для его успешной реализации командой:

Show options

Строка с адресом удалённого хоста RHOST пуста. Заполним её IP адресом жертвы:

Компьютер владельцу уже не принадлежит.

Проблемы эксплойта или абзац для любителей “на всё готовое”.

Эта часть статьи заслуживает отдельной темы. Но пока отведу ей лишь абзац. Что подстерегает пентестера на пути применения эксплойта? Объясняю на пальцах (да простят профессионалы):

  • первая проблема – старение уязвимости, на которую разработчики почти сразу устанавливают заплатку. Да, абсолютное большинство эксплойтов в том виде, как они существуют, не заслуживают вашего внимания. Они бесполезны – обновления систем безопасности их прикрывают. Так что выходов немного: пользуем 0day зеро-дэй ) – если сможете найти и применить; либо включаем голову и работаем над своими; это проблема номер один – нам приходится учиться на операционных системах и программах предыдущих поколений: причина проста – разработчики “забили” на поддержку (Windows XP типичный тому пример) и не реагируют на появляющиеся уязвимости даже при официальном уведомлении (не забывая, однако, проверять не проявится ли эта уязвимость в рабочих версиях программ или ОС-ей).
  • вторая проблема (вытекает из первой) – если уязвимость опубликована, и существует для неё эксплойт, десятки специалистов уже работают над тем, чтобы уязвимость осталась в прошлом. Им платят. И люди, которые ищут уязвимости тоже хотят, чтобы платили им также. Так что не надейтесь на искатанную вдоль и поперёк уязвимость: прелесть кроется там, где тропинка не хожена. Если появилось то, что нужно, а ума или опыта нет – за это нужно порой платить (с риском остаться без результата и без денег). И не всегда тому виной будет пионер уязвимости и писатель эксплойта. Хотя бы потому, что есть проблема третья…
  • технические моменты применения эксплойта заключаются в том, что ТО, ЧТО ПРОКАТИЛО на английской локали Windows СКОРЕЕ ВСЕГО НЕ ПРОКАТИТ на русской. Эксплойт, написанный для американской версии Windows оправданно не сработает для русской системы. Результат применения может стать неожиданным: до безмолвной ошибки с Метасе типа Exploit seems to be failed до отказа службы на стороне системы жертвы, что заставит её насторожиться. Тему развернём потом.

Пока всё. Итак длинно получилось. Успехов нам.

Наш журнал не назывался бы так, как он называется, если бы с завидной регулярностью мы не анализировали ситуацию в мире эксплойт-паков и drive-by-загрузок (см., например, ][ № 162). С момента последнего обзора много изменений коснулись средств для доставки вредоносного кода. В частности, люди, в чьи обязанности входит оберегать простых трудящихся от всяческих опасностей всемирной паутины, не спали, и арест небезызвестного Paunch’а - автора некогда самого популярного набора эксплойтов Black Hole - наверняка повлиял на перераспределение основных игроков на рынке эксплойт-паков.

WARNING!

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

В нашем сегодняшнем списке будет представлено девять наиболее популярных наборов эксплойтов. При этом стоит отметить, что такого явного лидера, каким в свое время был Black Hole , среди них нет, а популярность того или иного представителя разными исследователями и антивирусными компаниями оценивается не всегда одинаково. Тем не менее общая картина выглядит примерно таким образом:

  • Angler Exploit kit;
  • Sweet Orange Exploit kit;
  • Nuclear Exploit kit;
  • Fiesta Exploit kit;
  • Magnitude Exploit kit;
  • Neutrino Exploit kit;
  • Astrum Exploit kit;
  • RIG Exploit kit;
  • Archie Exploit kit.

Angler Exploit kit

Лидер нашего сегодняшнего обзора. Появился в конце прошлого года, и, по некоторым данным, многие пользователи Black Hole Exploit Kit перешли на использование этого эксплойт-пака после ареста Paunch’а. На сегодняшний день имеет в своем арсенале эксплойты к двенадцати уязвимостям (причем две из них весьма свежие).

Первая (CVE 2015-0311 ) позволяет выполнить произвольный код во Flash версий до 16.0.0.287 для Windows и OS X, вторая (CVE 2015-0310 ) - обойти ограничения безопасности в Adobe Flash Player, отключить ASLR и выполнить произвольный код.


Перед началом своей вредоносной деятельности Angler EK проверяет, не запущена ли атакуемая машина в виртуальной среде (распознаются VMware, VirtualBox и Parallels Workstation по наличию соответствующих драйверов) и какие антивирусные средства установлены (определяются различные версии Касперского, антивирусы от Trend Micro и Symantec, антивирусная утилита AVZ). Помимо перечисленного, еще проверяется наличие web-дебаггера Fiddler.


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

Код Angler EK, как и положено, очень хорошо обфусцирован и закриптован, а авторы регулярно чистят код эксплойт-пака (по мере попадания его в антивирусные базы).

Sweet orange Exploit kit

Хотя этот эксплойт-пак не так уж молод (появился он еще в 2012 году), он может похвастаться не самой малой популярностью (особенно после октября 2013 года) и эксплуатацией одной свежей уязвимости. По заявлениям некоторых исследователей, пробив эксплойт-пака составляет около 15%. На данный момент включает в себя эксплойты для десяти уязвимостей, и, в отличие от Angler EK, Sweet Orange эксплуатирует несколько уязвимостей к Java (CVE 2012-1723, CVE 2013-2424, CVE 2013-2460, CVE 2013-2471 ).

Sweet Orange использует алгоритм генерации случайных доменных имен каждые несколько минут, что затрудняет обнаружение и исследование этого эксплойт-пака. К примеру, имена поддоменов могут иметь такой вид:

  • abnzzkpp.syt* .net
  • abtkslxy.syt* .net
  • ajijaohoo.syt* .net
  • ancezvwzvn.syt* .net
  • azrrfxcab.syt* .net
  • bnfjqksp.syt* .net
  • bvakjbktwg.syt* .net

Для проверки доменных имен и IP-адресов на их наличие в блек-листах разных антивирусов используется сервис scan4you.net, пользователь связки может указать и другой сервис проверки.


Цена связки - 2500 WMZ плюс первые две недели чисток и смены доменов бесплатно.

Дополнительные услуги:

  • Чистка: один месяц - 1000 WMZ.
  • Смена доменов:
    • ограничение по количеству, цена указана за один домен:
      • до 10 - 25 WMZ;
      • от 10 до 30 - 15 WMZ;
      • от 30 - 10 WMZ.
    • ограничение по времени (в днях):
      • 10 - 300 WMZ;
      • 20 - 400 WMZ;
      • 30 - 600 WMZ.
  • Смена сервера: 20 WMZ.

Nuclear Exploit kit

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

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

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

Для деобфускации кода при выполнении Nuclear EK использует примерно вот такие функции (думаю действия, которые выполняют эти функции, понятны без пояснений):

VV8Y6W = function(uAVnC, mhTbz) { return uAVnC(mhTbz); }; WL3 = function(uAVnC, mhTbz, YSu) { return uAVnC(mhTbz, YSu); };

Ко всему прочему код некоторых функций, в частности скрипт определения платформы и версий плагинов браузера (для определения плагинов используется JS-библиотека PluginDetect), генерируется динамически:

J_version = PluginDetect.GetVersion("Java"); p_version = PluginDetect.GetVersion("AdobeReader"); f_version = PluginDetect.GetVersion("Flash"); s_version = PluginDetect.GetVersion("Silverlight");

  • 50k - 500 WMZ;
  • 100k - 800 WMZ;
  • 200k - 1200 WMZ;
  • 300k - 1600 WMZ.

Две недели:

  • 50k - 300 WMZ;
  • 100k - 500 WMZ;
  • 200k - 700 WMZ;
  • 300k - 900 WMZ.

Одна неделя:

  • 100k - 300 WMZ;
  • 200k - 400 WMZ;
  • 300k - 500 WMZ.

Самая старая уязвимость в нашем обзоре - CVE 2010-0188 , эксплойт к которой есть в составе Nuclear EK, позволяет с помощью специально сформированного PDF-файла выполнить произвольный код на атакуемой системе.

Fiesta Exploit kit

Этот эксплойт-пак начал свой путь с эксплойта к уязвимости CVE-2007-5659 в далеком 2008 году. На сегодня несет на борту девять эксплойтов, уязвимости к которым датируются 2010–2013 годами. Самые свежие из них уязвимости Silverlight, позволяющие выполнить произвольный код в системе из-за ошибки двойного разыменовывания указателя (CVE 2013-0074 ) или из-за некорректной обработки объектов в памяти (CVE 2013-3896 ).

Проверка на наличие нужных версий Silverlight и AdobeFlash производится таким образом:

// Проверка наличия Silverlight new ActiveXObject("AgControl.AgControl"); // Проверка Adobe Flash new swfobject.embedSWF();

Если обе эти функции генерируют исключение, то происходит попытка эксплуатации других уязвимостей (Java или IE).

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

Magnitude Exploit kit

Связка появилась на рынке в начале 2013 года и поначалу была известна как PopAds Exploit Kit .

Основная фишка этого эксплойт-пака - использование сервиса scan4you.net для проверки IP-адресов и доменов, а также кода самого эксплойт-пака на предмет их обнаружения разными антивирусами. Помимо этого, Magnitude EK, так же как и Sweet Orange EK, использует динамическую генерацию и смену имен поддомена каждые несколько минут.

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

Деобфусцировать код связки можно с помощью метода String.fromCharCode, в качестве аргумента которого выступают элементы зашифрованной XOR’ом последовательности. Для того чтобы отделить элементы в этой последовательности друг от друга, используется символ %.

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

Neutrino Exploit kit

Свое путешествие этот эксплойт-пак начал приблизительно в марте 2013 года и включал в себя тогда эксплойты всего к двум уязвимостям (CVE 2012–1723 и CVE 2013–0431 , обе для Java). На сегодня список эксплуатируемых уязвимостей немного расширился, теперь в нем пять эксплойтов для Java и один (CVE 2013-2551 ) к Internet Explorer.

Код эксплойт-пака обфусцирован примерно по такому же принципу, как и в Magnitude EK. Для деобфускации используется вот такая функция:

Function xor (input, pass) { var output = ""; var i = 0; var pos = 0; for (i = 0; i < input.length; i++){ pos = Math.floor(i%pass.length); output += String.fromCharCode(input.charCodeAt(i) ^ pass.charCodeAt(pos)); } return output; }

«Полезная нагрузка», загружаемая Neutrino EK на зараженный компьютер жертвы, передается в зашифрованном с помощью XOR’a виде, что несколько снижает вероятность обнаружения антивирусными продуктами.

Стоимость аренды эксплойт-пака на общем сервере с общими чистками:

  • день - 40 долларов;
  • неделя - 150 долларов;
  • месяц - 450 долларов.

Astrum Exploit kit

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

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

Try { var O = $(Kaspersky.IeVirtualKeyboardPlugin.JavaScriptApi.1); O && (mr = 1) } catch (s) {}

В своем составе имеет эксплойты к семи уязвимостям (Silverlight, Flash, LibTiff и IE).

RIG Exploit kit

Свою вредоносную деятельность RIG EK начал в конце 2013 года и на сегодня эксплуатирует уязвимости в Internet Explorer, Java, Adobe Flash и Silverlight.

На страницу с эксплойт-паком пользователи перенаправляются с помощью JS-скрипта, внедренного на скомпрометированную страницу, который на основе текущей даты (от нее берется CRC32-хеш) генерирует доменные имена, где и размещен код эксплойт-пака.

Наличие антивирусных продуктов эта связка эксплойтов тоже проверяет (правда, только Касперского и Trend Micro) - определяя, есть ли следующие драйверы:

  • c:\\Windows\\System32\\drivers\\kl1.sys
  • c:\\Windows\\System32\\drivers\\tmactmon.sys
  • c:\\Windows\\System32\\drivers\\tmcomm.sys
  • c:\\Windows\\System32\\drivers\\tmevtmgr.sys
  • c:\\Windows\\System32\\drivers\\TMEBC32.sys
  • c:\\Windows\\System32\\drivers\\tmeext.sys
  • c:\\Windows\\System32\\drivers\\tmnciesc.sys
  • c:\\Windows\\System32\\drivers\\tmtdi.sys

Стоимость этого набора эксплойтов:

  • день - 40 долларов;
  • неделя - 100 долларов;
  • месяц - 500 долларов.

Archie Exploit kit

Этот эксплойт-пак появился относительно недавно (по данным компании F-Secure - приблизительно в конце июля прошлого года). Его создатели не стали утруждать себя самостоятельной разработкой кода и взяли за основу эксплойт-модули из Metasploit Framework , а для получения информации о версиях Silverlight, Flash и прочего используется JS-библиотека PluginDetect.

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

Заключение

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

  • авторы большинства эксплойт-паков от прямой продажи перешли к аренде на своих серверах, при этом зачастую они предоставляют полный цикл услуг - от чистки до постоянной смены доменных имен и проверок на обнаружение антивирусами;
  • почти во всех эксплойт-паках стали очень активно эксплуатироваться уязвимости Java и Silverlight;
  • многие эксплойт-паки стали обзаводиться функциями распознавания наличия виртуальных машин, антивирусов и разных хакерских утилит;
  • уязвимость CVE 2013-2551 пользуется большой популярностью и используется во всех наборах эксплойтов из нашего обзора.

WWW

Совсем недавно исходные коды RIG Exploit Kit утекли в свободный доступ. Про это можно

  • Сергей Савенков

    какой то “куцый” обзор… как будто спешили куда то