Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #79, ИЮЛЬ 2005 г.

Hack-FAQ

SideX (hack-faq@real.xakep.ru)

Хакер, номер #079, стр. 079-040-2


Q: Что скрывается за понятием DLL-injection? Как реализовать этот прием?

A: Это явление было впервые освещено в книге Мэтта Пиетрека «Секреты Windows 95». Из столь антикварной системы этот трюк успешно мигрировал в более современные системы.

Под DLL-injection понимается внедрение сторонней библиотеки в выполняемый процесс при помощи модификации таблицы импорта. На самом деле, такую подставу можно легко обнаружить при помощи современных антивирусов, или программ вроде PE-Tools. Почитать более подробно об этом и посмотреть работающие примеры можно здесь: www.wasm.ru/article.php?article=apihook_2.

Q: Можно ли подменить код через функцию отладки?

A: Конечно, существует добротный, но довольно медленный способ - использования функций дебага для проведения желанного inject'a. Знакомой функцией CreateProcess() рождается процесс с пометкой DEBUG_PROCESS. После серии стандартных манипуляций, о которых ты можешь прочитать в сети (Google: «перехват функций»), мы переключаемся на обработку EPI-регистра. Здесь нам потребуется получить значение регистра, что будет сделано незамедлительно через GetThreadContext(). Заполучив инфу о положении вещей, начинаем подмену через SetThreadContext(). После проведения необходимых злостных действий, оригинальный код восстанавливается через все ту же функцию SetThreadContext(). Для наглядности рекомендую сдуть файлик Injecto_src.zip, который можно без труда отыскать на просторах инета.

Q: Расскажи про модную Code Sequence Identification технологию!

A: Занятно, что довольно малоизвестную находку обзывают «модной» :). На самом деле, данное CSI-решение принадлежит творцам Ad-Aware (lavasoftusa.com/software/adaware). Довольно простой эвристический анализатор помогает предупредить распространение модификаций уже известной рекламной заразы (adware). Мне сложно судить насколько тема эффективна на поле реальных боевых действий, но зная о недалекости большинства mal-кодеров, простые «под копирку» сдутые клоны можно легко выцепить и обезвредить с помощью «модной» хрени.

Q: Как мне подтереть все пароли, сохраненные в IE? Можно ли отучить гляделку от запоминания моих секретов?

A: Все получается элементарно. Мы просто бредем в Tools->Internet Options->Content->AutoComplete->Clear Passwords. Для отучения памяти IE от излишней прозорливости, снимаем галку в Use AutoComplete for ->User names and passwords on forms.

Q: Как запретить конкретному юзеру использование командной строки в пространстве WinXP?

A: Здесь существует несколько способов разумного ограничения. Если тебя интересует отдельный юзер, то ты просто чешешь в направлении HKEY_USERS\(usersid)\Software\Policies\Microsoft\Windows\System. Там выискивается 'DisableCMD', которое следует перевести в '1'. Если же тебе нужно ограничить целую группу, к которой принадлежит отдельный юзер, в действие вступает User Configuration\Administrative Templates\System\Prevent access to the command prompt. За более детальными разъяснениями обоих способов двигаемся в сеть, необходимую доку можно качнуть на http://www.microsoft.com/resources/documentation/Windows/2000/server/reskit/en-us/Default.asp?url=/resources/documentation/Windows/2000/server/reskit/en-us/regentry/93465.asp. Есть и чуть менее элегантный способ. Тебе нужно лишь отыскать файл cmd.exe, чтобы запретить к нему доступ для конкретного юзвера. Правой кнопкой мыши ты выбираешь Security->Добавляешь ограничиваемого юзера->поднимаешь флаг «Deny (Execute)», запретив запуск файла командной строки.

Назад на стр. 079-040-1  Содержание  Вперед на стр. 079-040-3