Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #92, АВГУСТ 2006 г.

Как сокрушают протекторы

Крис Касперски

Хакер, номер #092, стр. 092-102-4


КОД

Подбор пароля методом bruteforce

# ./burncrack -f /usr/stuff/burneye-1.0/burneye

# /usr/stuff/john-1.6/run/john -stdout:63 -i | ./burncrack -i

# ./burncrack -p accept -d unwrapped

# chmod a+x unwrapped

# ./unwrapped

Распаковка: когда борьба с Byrneye всех хакеров окончательно достала, ByteRage написал утилиту burneye unwrapper для автоматического снятия протектора и представляющую собой LKM-модуль (загружаемый модуль ядра), бесплатно распространяемый в исходных текстах (впрочем, называть «исходными текстами» крошечную Си-программу можно только с большой натяжкой): byterage.hackaholic.org/source/burndump.c.

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

Компилируем: «gcc -c burndump.c» (на некоторых системах необходимо явно указать подключаемые заголовочные файлы «gcc -c -I/usr/src/linux/include burndump.c»), заходим в систему под root'ом и начинаем взлом, потягивая свежее пиво:

КОД

Освобождение файла от протектора Burneye

; загружаем LKM-модуль в память, теперь дампер будет висеть резидентно, отслеживая запуск всех программ, и ловить из них те, которые обработаны Burneye

$ insmod burndump

; запускаем программу, защищенную Burneye, дампер дожидается, когда Burneye завершит расшифровку, и сохраняет распакованную программу в файл ./burnout

$ ./file_name

; запускаем распакованную программу, чтобы убедиться в ее работоспособности

$ ./burnout

; выгружаем LKM-модуль из памяти

$ rmmod burndump

Shiva

Происхождение: весьма амбициозный протектор, созданный двумя гуру Neel Mehta и Shaun Clowes и неоднократно демонстрируемый ими на конференциях Black Hat. Исходные тексты не разглашаются (как будто там есть, что скрывать!), а сам бинарник можно скачать как с сайта разработчиков: www.securereality.com.au/archives/shiva-0.95.tar.gz, так и с сервера Black Hat: blackhat.com/presentations/bh-usa-03/bh-us-03-mehta/bh-us-03-shiva-0.96.tar, причем версия с Black Hat'а посвежее будет, что наводит на определенные размышления.

Описание: протектор поддерживает парольную защиту (правда, без привязки к оборудованию), реализует мощную антиотладку, многоуровневую динамическую шифровку с порождением дочернего отладочного процесса, эмуляцию некоторых процессорных инструкций... В общем, получился почти что Armadillo, только под Linux. Но если Armadillo хоть как-то работает, то Shiva на всех доступных мне системах выпадет в Segmentation fault. Тестирование проводилось на Knoppix с ядрами 2.6.7/2.4.7 и Suse c ядром 2.6.8 (как под VMWare, так и на живой машине).

Распаковка: морской волк Chris Eagle создал бесплатно распространяемый автоматический распаковщик, позволяющий любому желающему положить Shiva на лопатки: www.blackhat.com/presentations/bh-federal-03/bh-federal-03-eagle/bh-federal-03-eagle.zip. После разархивации мы найдем мультимедийную презентацию bh-federal-03-eagle.ppt с объяснением принципов работы протектора, пару idc-скриптов для упрощения дизассемблирования защищенных файлов в IDA Pro и еще один архив stripshiva.tar.gz, содержащий исходный код автоматического распаковщика.

Назад на стр. 092-102-3  Содержание  Вперед на стр. 092-102-5