· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.VIROLOGY —› PE вирус

<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . >>

Посл.отвђт Сообщенiе


Дата: Июн 10, 2004 19:55:50

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

введение
понятие x-кода
цели и задачи х-кода
поиск жертвы
предотвращение повторного внедрения
общие критерии пригодности к внедрению
внедрение
классификация механизмов внедрения
class A: внедрение в пустое место файла
class A: внедрение путем сжатие части файла
class A: создание нового NTFS-потока внутри файла
class B: раздвижка заголовка
class B: сброс части оригинальной секции в оверлей
class B: создание своего собственного оверлея
class C: расширение последней секции файла
class C: создание своей собственной секции
class C: расширение серединных секций файла
class Z: внедрение через подмену dll
перехват управления
модификация точки входа
перезапись кода в точке входа
перезапись кода в произвольной точке
модификация таблицы импорта
вызов системных функций
модификация таблиц импорта
непосредственный поиск в памяти
поиск через SEH
поиск через PEB
использование native AP
заключение


Дата: Июн 11, 2004 01:43:55

что-то совсем народ механизмами внедрения не интересуется ;(


Дата: Июн 11, 2004 01:53:39

kaspersky
что-то совсем народ механизмами внедрения не интересуется ;(

да ждем статьи просто с нетерпением. только прочитав ее могут появиться вопросы. (я например не жалею ни капли о том, что читал твои книги и статьи, и думаю, что прочитав эту статью тоже жалеть не буду :)


Дата: Июн 11, 2004 02:15:07

что-то совсем народ механизмами внедрения не интересуется ;(
Еще как интересуется!


Дата: Июн 11, 2004 06:16:20

kaspersky
Как это не интересуемся? Еще как интересуемся... Когда статью ждать? Будет ли она на этом сайте?

З.Ы: Скажи, плиз, адрес своего сайта.


Дата: Июн 11, 2004 09:04:20

kaspersky
что-то совсем народ механизмами внедрения не интересуется ;(
РЕ вири по IA-32- прошлый век.
Под IA-64 уже писать надо ;)


Дата: Июн 11, 2004 13:08:46

а хрен ли разница между PE-32 и PE-64?
методики заражения у них общие и между прочим моя коллекция способ внедрения покамест самая богатая ;)


Дата: Июн 11, 2004 15:23:56

kaspersky
Ну в общем верно. Только пишется это чуть по-другому.
Ладно, вернее сказать что РЕ-вири ВООБЩЕ, в целом прошлый век.


Дата: Июн 11, 2004 15:48:00

> Ладно, вернее сказать что РЕ-вири ВООБЩЕ, в целом прошлый век.
а, что появился какой-то другой формат файлов, претендующий на популярность? другое дело, что за весь "прошлый век" вирьмейкеры освоили лишь один, ну от силы два метода внедрения ;)
кричать "прошлый век" проще всего, но эльфы и пешки будут жить и в новом веке, не собираясь умирать...


Дата: Июн 11, 2004 17:01:16

kaspersky
а что означает "создание нового NTFS-потока внутри файла"?

з.ы. готовься к тому, что потом все будут тебе объяснять, что ты баклан, ибо каждый пункт всего этого (за исключением выше _для_меня_) уже описан по 10 раз, причем в механизмах сходных с дос, уже почти лет как 10 назад, причем почти твоим однофамильцем, и это правильно!


Дата: Июн 11, 2004 17:06:16

> а что означает "создание нового NTFS-потока внутри файла"?
"Файловая система NTFS поддерживает множество потоков в рамках одного файла, иначе называемые атрибутами. Безымянный атрибут соответствует основному телу файла, атрибут $DATE – времени создания файла и т. д. Вы так же можете создавать и свои атрибуты практически неограниченной длинны, размещая в них всякую всячину (например, X-код). Сильной стороной этого алгоритма является высокая степень его скрытности, т. к. видимый объем файла при этом не увеличивается..."

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

P.S. а все-таки интересно было взглянуть на PE-вирусы, которые реализуют перечисленные способы внедрения


Дата: Июн 11, 2004 17:25:28

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

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

з.ы. мой маркер, высыхая, с нетерпением ждет третьей части :))


Дата: Июн 11, 2004 17:51:09

> Так вот, например в статьях Володи, я этим маркером несколько раз поработал, а в твоих - ни разу.
> но... как-то нехорошо втирать расплывчатую информацию... даже для начинающих :(
значит, ты не ты статьи чиатал ;)
чем тебе не нравится, например, это?

[image_optional_header] FileAlignment/SectionAlignment
Кратность выравнивания секций на диске и в памяти. Очень интересное поле! Официально о кратности выравнивая известно лишь то, что она представляет собой степень двойки, причем: а) Section Alignment должно быть больше или равно 1000h байт; б) File Alignment должно быть больше или равно 200h байт; в) Section Alignment должно быть больше или равно File Alignment. Если хотя бы одно из этих условий не соблюдается, файл не будет загружен.
В Windows NT существует недокументированная возможность отключения выравнивания, основанная на том, что загрузку прикладных исполняемых файлов/динамических библиотек и системных драйверов обрабатывает один и тот же загрузчик.
Если Section Alignment == File Alignment, то последнее может принимать любой значение, представляющее собой степень двойки (например, 20h). Условимся называть такие файлы "не выровненными". Хотя этот термин не вполне корректен, лучшего пока не придумали.
К не выровненным файлам предъявляется следующее, достаточно жесткое требование – виртуальные и физические адреса всех секций обязаны совпадать, т. е. страничный имидж должен полностью соответствовать своему дисковому образу. Впрочем, никакое правило не обходится без исключений и виртуальный размер секций может быть меньше их физического размера, но не более чем Section Alignment – 1 байт (т. е. секция все равно будет выровнена в памяти). Самое интересное, что это данное правило рекурсивно и даже среди исключений встречаются исключения – если физический размер последней секции вылетает за пределы загружаемого файла, операционная система выбрасывает голубой экран смерти и… погибает (во всяком случае, w2k sp3 ведет себя именно так, остальные не проверял). Полномочия администратора для этого не требуются и даже самая ничтожная личность может устроить грандиозный DoS. Демонстрационные файлы прилагаются.
Операционные системы семейства Windows 9x неспособны обрабатывать не выровненные файлы и с возмущением отказывают им в загрузке, выплевывая целых два диалоговых окна. Впрочем, ареал обитания Windows 9x неуклонно сокращается и будущее принадлежит NT.
Для создания не выровненных файлов можно воспользоваться линкером от Microsoft, задав ему ключ /ALIGN:32 совместно с ключом /DRIVER. Без ключа /DRIVER ключ /ALIGN будет проигнорирован и линкер использует кратность выравнивания по умолчанию.

#define Is2power(x) (!(x & (x-1)))
#define ALIGN_DOWN(x, align) (x & ~(align-1))
#define ALIGN_UP(x, align) ((x & (align-1))?ALIGN_DOWN(x,align)+align:x)
Листинг 33 макросы для выравнивания с округлением "вниз" и "вверх"


Дата: Июн 11, 2004 21:59:46

> Крис, без обид ;), но я че хочу сказать...
вот это я и хочу услышать ;)
так сказать, в плане обратной связи узнать, что нравится, а что нет, где подвинить надо, а где отвинтить.
вот The Svin сейчас проверяет мои переполняющиеся буфера, где находит кучу нестыковок, заставляющих меня задумчиво честь репу, изрекая при этом глубыкомысленно "Да..."
в конечно счете, чем больше меня будут пинать, тем качественнее я буду писать, и тем лучше будет для вас же.
я не апелирую к обоснованной критике, но "че я хочу сказать" с тремя точками на конце - даже на пищу к размышлениям не тянет ;)

насчет вирусов... не знаю, может я и зря затеял все это дело, но ведь вся сложность внедрения в чем? какие именно поля PE-заголовка менять, а какие не трогать, как вычисляется тот же Image Base, какие атрибуты секций нам нужны, а какие мешают, как отличить PE-Файл от драйвера... вопросов много, а ответы разрабосаны по сотням факов и мануалов...
короче - хочет ли народ видеть единный документ, претендующий на полноту освещения вопроса или это нахрен никому не нужно? просьба оставить свои пять копеек, кому не жалко минутки времени ;)


Дата: Июн 11, 2004 22:09:20

Очень интересно звучит:

class A: внедрение путем сжатие части файла
class A: создание нового NTFS-потока внутри файла
class B: сброс части оригинальной секции в оверлей
class B: создание своего собственного оверлея


Чего бы я ожидал увидеть:
1) Диаграммы или рисунки, объясняющие суть. Никакие страницы текста не заменят рисунка
2) Код, иллюстрирующий эти процессы.

А вообще - выглядит заманчиво. Я вообще никогда в жизни с фразой "создание нового NTFS-потока внутри файла" не сталкивался! Очень интересно!

<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . >>


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.095