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

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  dll inyectada
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: dll inyectada  (Leído 3,125 veces)
manu801004

Desconectado Desconectado

Mensajes: 13


Ver Perfil
dll inyectada
« en: 26 Octubre 2010, 15:43 pm »

Hola foro:

 he conseguido inyectar una dll en el notepad. Todo va bien con el messagebox,pero al incluir una funcion que cree un archivo de texto en el directorio C:\. el notepad deja de funcionar.

Lo puedo solucionar con AdjustTokenPrivileges????


#include <windows.h>
#include <stdio.h>
bool WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
if (fdwReason==DLL_PROCESS_ATTACH)
{
MessageBox(0,"hola","",0);
FILE *arch=fopen("c:\\archprueba.txt","w");
fclose(arch);
}

return TRUE;
}


En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.937


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: dll inyectada
« Respuesta #1 en: 26 Octubre 2010, 16:02 pm »

¿Que queres decir exactamente con "deja de funcionar"? ¿Se produce una excepcion no controlada? ¿Hay un deadlock? ¿Simplemente retorna ACCESS_DENIED el CreateFile que hace fopen?

Depuralo y averigua que pasa exactamente.


En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
manu801004

Desconectado Desconectado

Mensajes: 13


Ver Perfil
Re: dll inyectada
« Respuesta #2 en: 26 Octubre 2010, 17:26 pm »

como decia, es una dll con 2 funciones.
A la hora de depurar sale la siguiente advertencia:
Citar
Primera excepción en 0x76e69a6f en llamadoreon.exe: 0xC0000008: An invalid handle was specified.
, doy a continuar, el programa sigue y se muestra el messagebox pero al quitarlo,con el boton de aceptar pasa a la siguiente funcion y el programa en la que la dll esta inyectada deja de funcionar y se reinicia, sin ejecutar la funcion que crea el archivo .txt.

P.D: ...compila perfectamente en modo release
« Última modificación: 26 Octubre 2010, 17:33 pm por manu801004 » En línea

flony


Desconectado Desconectado

Mensajes: 583



Ver Perfil
Re: dll inyectada
« Respuesta #3 en: 26 Octubre 2010, 17:28 pm »

no seria asi?
Código:
#include <windows.h>
#include <stdio.h>
bool WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
if (fdwReason==DLL_PROCESS_ATTACH)
{
MessageBox(NULL ,TEXT("hola"),TEXT(""),0);
FILE *arch=fopen("c:\\archprueba.txt", "w");
fclose(arch);
}

return TRUE;
}
En línea

si un problema no tiene solucion entonces no es un problema...es algo inevitable
Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.937


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: dll inyectada
« Respuesta #4 en: 26 Octubre 2010, 17:39 pm »

como decia, es una dll con 2 funciones.

¿Donde decias eso y donde estan las funciones? ¿O te referis a que LLAMAS a dos funciones?

A la hora de depurar sale la siguiente advertencia:
Citar
Primera excepción en 0x76e69a6f en llamadoreon.exe: 0xC0000008: An invalid handle was specified.
, doy a continuar, el programa sigue y se muestra el messagebox pero al quitarlo,con el boton de aceptar pasa a la siguiente funcion y el programa en la que la dll esta inyectada deja de funcionar y se reinicia, sin ejecutar la funcion que crea el archivo .txt.

No es lo suficientemente claro para saber que pasa exactamente pero proba a usar la API de Windows (CreateFile/CloseHandle) en lugar de la CRT (fopen/fclose).


PD. Para poder solucionarlo con AdjustTokenPrivileges tendria que ser un caso donde retornara error de la funcion fopen.
En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
manu801004

Desconectado Desconectado

Mensajes: 13


Ver Perfil
Re: dll inyectada
« Respuesta #5 en: 26 Octubre 2010, 18:05 pm »

Citar
PD. Para poder solucionarlo con AdjustTokenPrivileges tendria que ser un caso donde retornara error de la funcion fopen

no error, pero si advertencia cuando compilo:
Citar
Advertencia   1   warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.

P:D: ..gracias flony pero pasa lo mismo. Probare con "createfile"
« Última modificación: 26 Octubre 2010, 18:09 pm por manu801004 » En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.937


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: dll inyectada
« Respuesta #6 en: 26 Octubre 2010, 18:08 pm »

Decia que retornara error, es decir que no pudiera abrir  el archivo, su valor de retorno fuera NULL y errno fuera INVAL, pero el programa continuara normalmente su ejecucion.

El warning este no tiene importancia, proba con CreateFile/CloseHandle.
En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
manu801004

Desconectado Desconectado

Mensajes: 13


Ver Perfil
Re: dll inyectada
« Respuesta #7 en: 26 Octubre 2010, 18:13 pm »

Probare Createfile
Gracias Eternal
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
webshell inyectada, pero no la encuentro
Nivel Web
ruben_linux 4 4,081 Último mensaje 27 Noviembre 2011, 22:34 pm
por cibergolen
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines