что такое Эксплоиты , для чего нам нужны эксплоиты?



Лекция#19 Эксплоиты 
Лектор : lljullell
(12:03:04) lljullell: Эксплоиты
(12:03:17) lljullell: В сегодняшней лекции рассмотрим эксплоиты. Что они из себя представляют, какие бывают и как их использовать.
(12:03:28) lljullell: Для начала обратимся к дефиниции, что есть эксплоит. 

Эксплоит - это один из видов вредоносного ПО. А именно, это исполняемый код, использующий определенную уязвимость в исходном коде атакуемого ПО.
(12:04:25) lljullell: Яркий пример - это эксплоит, позволяющий запускать произвольный код в определенной версии какого-то браузера. Эксплоит инициализирует исполнение вредоносной программы, которая, в свою очередь, может делать все, что нам заблагорассудиться.
(12:04:36) lljullell: Эксплоиты, как правило, распространяются в виде исходного кода или исполняемых модулей. Также нередко встречаются просто словесные описания тех или иных уязвимостей.
(12:05:12) lljullell: Эксплоиты могут быть написаны на любых языках программирования, ограничений нет. Однако по большей части используются низкоуровневые языки типа C/C++. Нередко используются и другие языки типа php, Python и JavaScript.
(12:05:22) lljullell: Эксплоит может представлять из себя один файл, который либо впоследствии компилируется, либо сразу же запускается.
(12:06:11) lljullell: Как вариант, это архив с расширением tar.gz или .tar, если написан для UNIX-подобных систем. А внутри уже может быть что угодно: исходники, скрипты, файлы с .pl расширением и так далее.
Эксплоиты бывают двух видов: local - локальные и remote - удаленные.
(12:06:39) lljullell: Как можно догадаться, локальные это те, которые работают непосредственно на самой машине (можно, например, повысить права и привилегии), а удаленные, в свою очередь, позволяют получить часть каких то привилегий на удаленной машине.
Как правило, после повышения привилегий посредством удаленных эксплоитов, потом повышаются привилегии уже на самой машине с помощью локальных эксплоитов.
(12:06:48) lljullell: 
(12:06:58) lljullell: Они используются для получения доступа к атакуемой машине, поднятия прав в самой системе, заДдосить систему, получить учетные данные пользователей и другое. 
(12:07:55) lljullell: Арсенал действий, охватываемый действиями эксплоитов, воистину велик.
Работа с эксплоитами требует определенной сноровки и опыта, если речь идет о запуске готовых решений.
(12:08:26) lljullell: Так, если эксплоит написан на С/С++ и имеется у нас в текстовом виде, его сначала придется скомпилировать в исполняемые файлы и только после этого запускать.
Для эксплоитов, написанных на php и Perl не требуется их компилирование. В этих случаях нужны интерпретаторы этих языков программирования.
(12:08:35) lljullell: Для их запуска потребуется отдать эксплоиты интерпретаторам.
(12:08:47) lljullell: Откуда берутся эксплоиты?
(12:08:58) lljullell: В ходе обнаружения какого-то бага, исследователь не сообщает об этом инциденте а пишет код под этот баг, который автоматизирует вредоносное действие.
Как правило, это открытие командного шелла (shell) на одном из доступных портов. 
(12:09:47) lljullell: Первоначально исследователь детально собирает информацию об обнаруженной уязвимости (например, ищет уязвимую функцию, записывает адрес возврата функции, описывает размеры буфера и т.д.)
(12:10:03) lljullell: На этом этапе кодер использует два вида утилит: дизассемблер и отладчик (он же - дебагер). 
С помощью дизассемблера исследователь изучает и работает непосредственно с кодом самого ПО, а отладчик показывает данные, возникающие в ходе работы ПО.
(12:10:37) lljullell: На следующем этапе исследователь должен написать shell-код - код, который откроет доступ к машине жертвы исходя из найденной до этого уязвимости.
Данный процесс является самым ответственным. Найти и описать баг - не очень большая проблема. Проблема - правильно написать шелл к этой уязвимости.
(12:10:48) lljullell: Шелл пишется с помощью ассемблера.
На конечном этапе исследователь финализирует свою работу, написав непосредственно сам эксплоит: как правило, используется C компилятор.
(12:11:16) lljullell: Есть такое понятие, как эксплоит-паки. Ниже расскажу, что это такое и с чем их едят.
Эксплоит пак или, иными словами, связка эксплоитов - это определенный набор нескольких эксплоитов, подобранных под несколько разных программ и их различных версий.
(12:11:58) lljullell: Выражаясь простым языком, эксплоит-пак - это система для заражения.
Как правило, связки используются для двух видов атак: drive by или drive by download.
В ходе атаки может быть задействована как одна, так и несколько эксплуатируемых уязвимостей на атакуемой машине. Например, поднятие прав в ОС, эксплуатация других уязвимостей в веб-браузере и его плагинах или любое другое ПО.
(12:12:26) lljullell: Целью подобной атаки может быть установка другого вредоносного ПО на компьютер-жертву.
Все связки эксплойтов имеют две составляющие: админ-панель и ротор-сплойтов.
Для примера рассмотрим ситуацию, где эксплоит-пак размещен на сайте, и жертва заходит на эту веб-страничку.
(12:12:37) lljullell: Что происходит дальше? Сначала начинает работать ротор. В его первостепенную задачу входит сбор информации о жертве, ее анализ.
(12:13:42) lljullell: Задача - определить ОС, браузер, версии этого ПО, IP-адрес, геолокацию и другую требуемую для запуска эксплоита информацию.
Далее ротор, основываясь на собранную им же информацию, выбирает из имеющегося арсенала тот эксплоит, который, по его мнению, сможет пробить жертву
(12:13:55) lljullell: Ну а дальше, если эксплоит сработал, то на машину жертвы устанавливается наше ПО. Это, как пример.
Эксплоит-пак должен вести полную статистику: о заражаемых машинах, их характеристиках, геолокации, количестве пробитых машин и т.д.
(12:14:09) lljullell: Эта информация отображается в админ-панеле самого эксплоит-пака.
Как вы можете представить, все паки разные, имеют свои недостатки и свои преимущества.
Ниже скажу пару слов об админ-панелях и их особенностях.
(12:14:23) lljullell: Из функционала доступного в админке нормального пака стоит выделить следующие функции: детальная фильтрация трафика, загрузка файлов, блокировка IP, ftp чекер, ftp framer, перенаправление нежелательного трафика, распределение загрузок (назначение разной малвари для разных стран).
(12:15:03) lljullell: Это основные функции и они нужны в первую очередь. Может быть еще ряд дополнительных.
Ниже скрин из админки известной связки Blackhole:
http://prntscr.com/no3rjo
Ее автор, кстати, присел на 7 лет (работал по ру, ездил на белом каене).
(12:15:14) lljullell: Следующими рассмотрим drive-by атаки. 
Что для этого нужно, и как это работает?
(12:15:25) lljullell: Когда пользователь заходит на наш сайт, где размещен сплоит, ему грузится наша малварь. А как пользователь попадает на нашу связку? 
Здесь вариантов много: от спама, баннеров и прочих рекламных сетей, до iframe-кода со ссылкой прямиком на наш сплоит.
(12:16:11) lljullell: Последний вариант еще называется “установка шелла”. Взламывается сайт с приличным посещением и в индексную страницу вставляется iframe-код с ссылкой, ведущей прямо на наш пак.
Таким образом, все посетители сайта будут автоматически подвержены заражению. При условии, что пак пробивает, естественно.

(12:16:24) lljullell: А пробив, в свою очередь, зависит от того, насколько эксплоиты актуальны. Старая связка, вполне ожидаемо, работать будет хуже.
По той причине, что производители ПО, скорее всего, выпустили соответствующие патчи, которые фиксят уязвимости и юзер, скорее всего, успел пропатчиться.
(12:16:35) lljullell: Объективности ради добавлю, что, в принципе, все эксплоит-паки эксплуатируют те уязвимости, для которых уже был выпущен патч.
(12:16:45) lljullell: Где взять эксплоит паки, и сколько они могут стоить?
(12:17:01) lljullell: Такие штуки, как правило, покупаются. Разработка in-house, конечно, возможна, но тогда вы бы не присутствовали на этом обучении.
Цены разные. От $50 за день до $3-4k за месяц.
(12:17:34) lljullell: Как подобрать подходящую связку?
К сожалению, те предложения, что имеются в паблике, оставляют желать лучшего. Пробив может быть довольно низким. Иными словами, они просто не оправдывают ожиданий.
(12:17:44) lljullell: Выбирая связку стоит обратить внимание на следующие пункты:
1) насколько актуальны сплоиты в связке (их свежесть) - за говно мамонта платить нет смысла, работать оно не будет;
(12:17:59) lljullell: 2) процент пробива. Селлеры всегда указывают какой у них примерно пробив. Верить в эти присказки не стоит, стоит проверить: тестим на небольшом объеме в 1-2к. Этого будет достаточно, чтобы сделать выводы;
(12:18:09) lljullell: 3) админка: ее функционал и удобство. Уточните, какие функции есть в наличии, попросите тестовый доступ, пощупайте. Вам должно быть все понятно и, самое главное, комфортно!
(12:19:04) lljullell: 4) поддержка продукта: что с обновлениями? Платные? Есть ли они вообще? Как часто они делаются?
5) ну, и напоследок - цена. Нет смысла платить тысячи долларов за то, что объективно не работает. Это факт. Проанализируйте хорошенечно все вышеперечисленные пункты и примите единственное верное решение
(12:19:20) lljullell: В качестве резюме хочу в двух словах описать классическую схему возможной работы, как все может происходить в жизни.
Вирусописатели создают эксплоиты или связку эксплоитов. Кто-то покупает эту связку, ломает сайт с хорошей посещаемостью и ставит там эту связку (или делает перенаправление). 
Кстати, этот же чел может начать продавать инсталы.
(12:20:13) lljullell: Дальше кто-то, у кого есть своя малварь, но нет загрузок обращается ко второму персонажу с целью покупки инсталов.
Тот проливает траф на связку, и третий человек получает заветные инсталы
(12:20:59) lljullell: сегодня все. подготавливаем вопросы. отойду.
(12:21:23) Mexanik29: Быстровато, я еще только начало прочитал )
(12:53:56) lljullell: если будут вопросы подготовьте на завтра

Комментариев нет:

Отправить комментарий