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 ... 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 [32] 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 ... 49
311  Foros Generales / Foro Libre / Re: Las 40 cosas que seguramente no sabías en: 30 Agosto 2011, 19:34 pm
jaja

Citar
35. Los únicos dos animales que pueden ver hacia atrás sin dar vuelta la cabeza son el conejo y el loro.

y las MUJERES (bueno tambien personas no se vayan a ofender)

comprobado por mis amigos y por mi... aunque esten de espalda no sabemos como.. pero se dan cuenta que las volteamos a ver, y tenemos que poner en practica el movimiento de... "mira hay viene... aaa no, no es... crei que era alguien" ¬¬'...
312  Seguridad Informática / Análisis y Diseño de Malware / Re: como hacen los malware para executarse con inyeccion y sin DLL? en: 30 Agosto 2011, 18:55 pm
hola

si se como hacerlo, pero lo que no encuentro es en que puede ayudar si solo logro invocar apis, me dijo Eternal Idol que es imposible hacer algo como esto, y puse de referencia el tuto de E0N

Citar
DWORD inyectada (datos *data)
{
MessageBoxA (0, data->mensaje, data->titulo, 0);
return 0;
}


Eso no funcionara nunca, el codigo a inyectar en tu programa usa la tabla de importacion para llamar a la API y esta no coincide (salvo por una casualidad) con la del programa inyectado.

se me habia ocurrido llamar a una funcion con CreateThread pero me aparece un error, solo puedo llamar desde esa funcion a una estructura


Código:
DWORD inyectada (datos *data)
{
data - >MessageBoxA (0, data->mensaje, data->titulo, 0);
return 0;
}

tambien intente reservar espacio para esa funcion, escribirla y llamarla con CreateThread, pero igual me sale un error

por lo que llego a ver esto lo puedo usar unicamente para abrir alguna aplicacion o DLL, por ejemplo que se autoinicie el programa, que abra espacio para inyeccion y que notepad abra la aplicacion o la DLL

pero seria igual a una inyeccion con DLL o que sobreescriba notepad agregando codigo... pero hay antivirus que checan el hash

la unica ventaja seria que mi aplicacion no abriria nada seria notepad y seria menos evidente que puede ser un malware

mmm, bueno mas que nada queria checar esto porque nunca me a gustado usar muchos archivos, porque supuestamente todo tiene que se sigiloso, asi puedo ver que fallos encuentro en mi computadora

sino pues continuare con inyeccion en DLL y vere si el metodo Meepa me puede ayudar en hacerlo menos evidente... aunque no logro hacer ese metodo en Win7 solo pude en WinXP

bueno, si algun tiene una opinion o una idea mas, se lo agradezco

salu2
313  Seguridad Informática / Análisis y Diseño de Malware / como hacen los malware para executarse con inyeccion y sin DLL? en: 29 Agosto 2011, 04:40 am
hola

como hacen lo malware para ejecutarse haciendo inyeccion sin dll?, porque estaba intenando hacer inyecciones y con DLL no tengo problemas pero sin dll no puedo ejecutar funciones a menos que sean invokadas por estructuras, pero como crear una conexion socket unicamente con apis y estructuras?

y e visto troyanos que dicen que se ejecutan sin DLL, pero no encuentro como hacerlo, alguien aqui conoce algo sobre esto?, lo que intentaba hacer era en lenguaje C, hacer una inyeccion sencilla a notepad.exe, e invokar apis es sencillo, pero no puedo inyectar alguna funcion para ejecutar cualquier cosa, a menos de que sea otra api

o alguien me puede explicar de que forma serviria hacer una inyeccion sin dll, para hacking... ya sea, troyanos, exploits, gusanos, etc... porque como les menciono la unica forma que se, es usando dll y se me hizo interesante hacer sin eso

espero alguien tenga alguna informacion o idea...

salu2
314  Programación / Programación C/C++ / Re: como agrego una funcion en struct o como executo una funcion con CreateRemoteT? en: 28 Agosto 2011, 22:18 pm
algo asi

en vez de hacer esto

Código:
struct datos
{
datMessageBoxA apiMessageBoxA;
char titulo [100];
char mensaje [100];
};

//La función que inyectaremos
DWORD inyectada (datos *data)
{
data -> apiMessageBoxA (0, data->mensaje, data->titulo, 0);
return 0;
}

//Reservamos espacio para nuestra estructura en el proceso a inyectar y la escribimos
datos *dat_ = (datos*) VirtualAllocEx(proc, 0, sizeof(datos), MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE);
WriteProcessMemory(proc, dat_, &dat, sizeof(datos), NULL);

//Calculamos el tamaño de la función a inyectar
TamFun = (long unsigned int) inyectora - (long unsigned int)inyectada;

//Reservamos espacio para la función, escribimos en él y creamos un hilo
esp = VirtualAllocEx(proc, 0, TamFun, MEM_RESERVE | MEM_COMMIT, PAGE_EXECUTE_READWRITE);
WriteProcessMemory(proc, esp, (void*)inyectada, TamFun, NULL);
CreateRemoteThread(proc, NULL, 0, (LPTHREAD_START_ROUTINE) esp, dat_, 0, NULL);

Hacerlo de una forma directa a la funcion, para hacer esto

Código:
DWORD inyectada (){

ShellExecute( NULL, "open", "C:\\WINDOWS\\system32\\cmd.exe", "ipconfig", "C:\\", SW_SHOWNORMAL);
return 0;
}

//////////////

TamFun = (long unsigned int) inyectora - (long unsigned int)inyectada;

esp = VirtualAllocEx(proc, 0, TamFun, MEM_RESERVE | MEM_COMMIT, PAGE_EXECUTE_READWRITE);
WriteProcessMemory(proc, esp, (void*)inyectada, TamFun, NULL);
CreateRemoteThread(proc, NULL, 0, (LPTHREAD_START_ROUTINE) esp, 0, 0, NULL);
}

O no se puede?, porque algo asi intente pero me sale un error
315  Programación / Programación C/C++ / como agrego una funcion en struct o como executo una funcion con CreateRemoteT? en: 28 Agosto 2011, 20:57 pm
hola

tengo una duda, estaba repasando la inyeccin de E0N, y lo modifique tratando de meter mas cosas a la estructura pero tenia la duda de hacerlo funcionar sin usar estructuras y hacerlo directamente de la funcion pero cuando lo intento me sale un error que cierra tanto notepad como la aplicacion

esto es lo que modifique bueno mas bien agregue

Código:

//La función que inyectaremos
DWORD inyectada (datos *data)
{
data -> apiMessageBoxA (0, data->mensaje, data->titulo, 0);
data -> shh( NULL, data->p, data->d,data->i, data->c, SW_SHOWNORMAL);

return 0;
}


Código:
typedef struct tdatos
{
SHELLEXECUTE shh;
datMessageBoxA apiMessageBoxA;
char titulo  [20];
char mensaje [20];
char p[20];
char d[200];
char i[50];
char c[5];
}datos;

y de esa manera me funciona, pero no puedo hacer que en vez de utilizar la estructura se vaya directo a la funcion

acaso tendria que meter la funcion a struct para hacerlo funcionar? o como invoko la funcion con CreateRemoteThread sin que falle?, porque intente simplemente poner la funcion como cualquier otra e invokarla con LPTHREAD_START_ROUTINE

les dejo el codigo completo de E0N por si no lo han visto o no lo recuerdan

espero me puedan explicar, salu2

Código:
#pragma hdrstop
#include <windows.h>
#include <tlhelp32.h>
#include <stdio.h>

//Creamos un puntero a la api que queremos inyectar
typedef int (WINAPI *datMessageBoxA) (HWND, LPCTSTR, LPCTSTR, UINT);

//La estructura que inyectaremos
struct datos
{
datMessageBoxA apiMessageBoxA;
char titulo [100];
char mensaje [100];
};


//Declaración de funciones
DWORD GetAdres(char *module, char *function);

//La función que inyectaremos
DWORD inyectada (datos *data)
{
data -> apiMessageBoxA (0, data->mensaje, data->titulo, 0);
return 0;
}

//La función iyectora
void inyectora()
{
int pid; // Este es el pid del proceso en el que nos queremos inyectar
HANDLE proc; // El handle del proceso en el que inyectaremos
datos dat; // El tipo de dato de la estructura
DWORD TamFun; // El tamaño de la función a inyectar
void* esp; // Lugar de memoria donde copiaremos nuestra función

HANDLE handle = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); //Obtenemos el pid
PROCESSENTRY32 procinfo = { sizeof(PROCESSENTRY32) };
while(Process32Next(handle, &procinfo))
{
if(!strcmp(procinfo.szExeFile, "AVKTray.exe"))
{
CloseHandle(handle);
pid = procinfo.th32ProcessID;
}
}
CloseHandle(handle);

//Abrimos el proceso en el que nos inyectaremos

proc = OpenProcess(PROCESS_CREATE_THREAD | PROCESS_VM_OPERATION | PROCESS_VM_WRITE, false, pid);

//Metemos la dirección de la api en la estructura llamndo a la función GetAdres
dat.apiMessageBoxA = (datMessageBoxA) GetAdres ("USER32.DLL", "MessageBoxA");

//Inicializamos las variables que contendrán el mensaje
sprintf(dat.mensaje,"holaaaaaa!!!");
sprintf(dat.titulo,"titulo!!!");


//Reservamos espacio para nuestra estructura en el proceso a inyectar y la escribimos
datos *dat_ = (datos*) VirtualAllocEx(proc, 0, sizeof(datos), MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE);
WriteProcessMemory(proc, dat_, &dat, sizeof(datos), NULL);

//Calculamos el tamaño de la función a inyectar
TamFun = (long unsigned int) inyectora - (long unsigned int)inyectada;

//Reservamos espacio para la función, escribimos en él y creamos un hilo
esp = VirtualAllocEx(proc, 0, TamFun, MEM_RESERVE | MEM_COMMIT, PAGE_EXECUTE_READWRITE);
WriteProcessMemory(proc, esp, (void*)inyectada, TamFun, NULL);
CreateRemoteThread(proc, NULL, 0, (LPTHREAD_START_ROUTINE) esp, dat_, 0, NULL);
}

//La función main
void main()
{
inyectora();
}


//Función que nos devuelve un DWORD con la dirección de una api
DWORD GetAdres(char *module, char *function)
{
HMODULE dh = LoadLibrary(module);
DWORD pf = (DWORD)GetProcAddress(dh,function);
FreeLibrary(dh);
return pf;
}


316  Programación / Programación C/C++ / Re: ¿En cuanto tiempo aprendo c++? en: 6 Agosto 2011, 05:27 am
hola

pues yo te doy algunos meses, e usado python ya sabiendo usar C/C++ y es practicmente lo mismo, incluso python es mas estricto con el oden del codigo y si ya lo sabes usar, pues entenderas todo rapido, la diferencia es que python te hace las cosas un poco mas sencillas y con C++ tienes que hacer todo casi de cero... pero es facil, yo empece con C y entendi rapido a python, no creo que sea mucha la diferencia de python a C++, solo que como todo nuevo lenguaje tienes que acostumbrarte pero ya tienes minimo algo basico asi que yo creo te llevara solo algunos meses
317  Programación / Java / Re: como hago la conexion cliente-servidor desde eclipse para android? en: 1 Agosto 2011, 00:51 am
Hola

Quería programar un cliente con servidor en java para android pero alguien sabe como puedo hacer la conexión de los dos desde eclipse para conectar el cliente y el servidor y ver como funciona?
318  Programación / Java / los juegos java para android se hacen igual que los viejos jar? en: 31 Julio 2011, 23:49 pm
Hola

Alguien sabe si hacer un juego en Java como los antiguos de jar sirven para android... es que hace tiempo quise programar un juego pero en ese tiempo eran de los de jar y quisiera saber si ya se hacen diferente o es igual pero con mejor calidad?
319  Comunicaciones / Android / puedo hacer man in the middle usando easytether? en: 31 Julio 2011, 23:29 pm
Hola

Alguien sabe si puedo hacer man in the middle con android usando easytether porque vi que con Wireless tether si se puede pero yo no logre hacerlo funcionar ni con USB ni por Bluetooth

Tengo cyanogen 7 en un galaxy. S alguien me podría decir si es posible?

Salu2
320  Comunicaciones / Dispositivos Móviles (PDA's, Smartphones, Tablets) / puedo usar linux en un cel DEXT? en: 10 Mayo 2011, 05:41 am
hola

tengo unas dudas

es posible instalar ubuntu en un motorola dext? o solo se puede con HTC HD2?

salu2
Páginas: 1 ... 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 [32] 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 ... 49
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines