// вы читаете...

Новости

ShellCode



Иногда появляется необходимость в том, что бы какая-либо программа запускалась параллельно с другой или программа подгружала нашу DLL’ку. Это может потребоваться в широком спектре задач: начиная от простого виря/трояна/worm’а и заканчивая какой-нибудь прогой для слежения за трафиком, или даже можно сделать проверку пользователя – будем спрашивать пароль пользователя, и если он правилен запускать прогу (при желании можно прогу можно ещё и зашифровать, а при правильном пассе — расшифровывать). Так что вариантов применения этой фишки много. Для реализации задуманного, мы воспользуемся внедрением своего кода в “жертву-софтину”. Этот код будет маленьким и не будет менять размер “жертвы”. Он будет всего лишь подгружать нашу дллку. При запуске модифицированной программы управление сначала получит наш код, а потом управление получит (или не получит) исходная программа. (возможно сильно модифицированная :))
Для начала определимся с внедряемым кодом. Он будет передавать функции LoadLibraryA имя подгружаемой DLL’ки, вызывать LoadLibraryA и запускать программу (прыжок на Original Entry Point). Пусть это будет что-то вроде этого:

db 0E8h
dd 00000000 // это call $+5; Он нужен для получения регистра EIP
pop ecx // получаем EIP
add ecx,13 // Получаем адрес имени DLL’ки
push ecx // передаём его в качестве параметра LoadLibraryA
call [$00403344] // вызов LoadLibraryA. (адрес вызова мы будем модифицировать в зависимости от программы)
jmp ProgStart
db 4Dh db 79h db 4Fh db 77h db 6Eh db 2Eh db 64h db 6Ch db 6Ch db 0h // здесь имя DLL’ки. (в нашем случае MyOwn.dll + #0)
ProgStart:
db 0e9h db 0 db 0 db 0 db 0 // это прыжок на Original Entry Point. (в дальнейшем тоже модивицируем).

Этот код нужно откомпилить, что бы получить машинный код:

:004033AC E800000000 call 004033B1
:004033B1 59 pop ecx
:004033B2 83C10C add ecx, 0000000C
:004033B5 51 push ecx

:004033B6 E889FFFFFF Call 00403344 // этот адрес мы модифицируем. (LoadLibraryA)
:004033BB EB0A jmp 004033C7
:004033BD 4D dec ebp
:004033BE 794F jns 0040340F

Страницы: 1 2 3 4

Обсуждене

Отзывов нет на «ShellCode»

Ваш отзыв

Рубрики


Error: Can't open cache file!
Error: Can't write cache!
2017-08-20 11:32:08 - : /var/www/it-freelance.ru/3492ujnfmcdnfbvhgyr87w9i/cache_it-freelance_ru_56.txt
2017-08-20 11:32:08 - : /var/www/it-freelance.ru/3492ujnfmcdnfbvhgyr87w9i/cache_it-freelance_ru_56.txt

  • Рубрик нет