Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - APOKLIPTICO

#131
Criptografía / Re: Snnifing - Hash - Crack
21 Enero 2012, 02:51 AM
A veces no hace falta el password para acceder a un servidor, pero si el servidor utiliza por ejemplo un salt, esto es agregar un string aleatorio a la contraseña antes de pasarla por el hash. Esto es: El servidor manda un string, el cliente pone el password, el cliente entonces envía MD5(Password+string). Este hash entonces es de un solo uso a menos que el servidor mande el mismo salt, evento extremadamente improbable. Entonces, el hash no serviría para conectarse al servidor y alguien necesitaría conseguir el password para poder acceder.
#132
Criptografía / Re: Cifrado Cipher
21 Enero 2012, 02:46 AM
Querés saber el el cifrado que utilizan los archivos Rar y Zip?
#133
Quiero borrar de manera segura los archivos del registro de eventos, específicamente los que contienen los logs del registro de eventos, estos archivos están en "%WINDIR%\system32\config" en XP y en una carpeta adentro de system32 en Vista y 7. Quiero borrarlos de manera segura, porque es probable que el clear de windows los borre de manera insegura, quiero reescribir los archivos con "0" o con información aleatoria y luego eliminarlos.

http://es.wikipedia.org/wiki/Persistencia_de_datos

En cuanto a evitar que se escriba, también voy a hacer eso, pero los que ya están escritos, quiero eliminarlos de manera segura, no se como puedo hacerlo más claro.

Un saludo
APOKLIPTICO.
#134
Sisi, por ahora estoy en XP, pero me gustaría que fuese aplicable también en Vista y 7, pero supongo que podría hacer un check a ver si la función devuelve ERROR_SUCCESS y en caso de que no funcionase, utilizaría otro método.

Me gustaría poder abrir los archivos que tiene el eventlog (.evt si no me equivoco) y poder eliminarlos de manera segura (con una sobreescritura), pero sin tener que reiniciar la pc. Osea, se puede deshabilitar el servicio de tal manera que no se inicie en el siguiente reinicio, pero me gustaría no tener que esperar a que se reinicie el sistema.

Entonces o cierro el eventlog o cierro los handles a los archivos abiertos, osea, debería buscar los handles que corresponde (que realmente no se como) y luego hacer una llamada a CloseHandle(HANDLE hFile) y luego que mi programa los abra con acceso exclusivo para evitar que se vuelvan a abrir.

En cuanto a inyectar la DLL, es posible hacerlo utilizando mingw como compilador?? Si no me equivoco hay problemas cargando DLLs creadas con mingw. Sino debería utilizar visual studio para hacer la DLL y luego inyectarla bajo mingw, pero preferiría no tener que hacerlo.

Un saludo
APOKLIPTICO.
#135
Hola! Como va? Me estoy carcomiendo la cabeza con un problema, estoy tratando de hacer un programa que cierre el registro de eventos (servicio eventlog) o que en su defecto, permita el acceso de escritura para los archivos de registro (.evt). Cabe aclarar que necesito eliminarlos de manera segura (con sobreescritura previa), osea que la opción de eliminar el registro de eventos no es viable.

Para esto se me ocurrieron dos maneras:

1) Cerrar el eventlog, para esto sería necesario de alguna manera cerrarlo sin matar el proceso services.exe que es escencial para windows, parece como si fuese un thread dentro del proceso services.exe. Cabe aclarar que no se puede cerrar el servicio ya que la llamada a ControlService() con la flag SERVICE_CONTROL_STOP devuelve un error ERROR_INVALID_SERVICE_CONTROL ya que el sistema lo marca como escencial.

2) Hacer una llamada a CloseHandle dentro del proceso services.exe llamando a las handles de los archivos, o desbloquear su acceso exclusivo de alguna manera. Estuve intentando con code injection pero todavía no pude hacerlo funcionar ya que crashea el proceso en el que se inyecta (en este caso estuve tratando de inyectar un winamp.exe) durante la llamada a createremotethread:

Código (cpp) [Seleccionar]

   HANDLE hProcess = OpenProcess(PROCESS_CREATE_THREAD | PROCESS_VM_OPERATION | PROCESS_VM_READ | PROCESS_VM_WRITE | PROCESS_QUERY_INFORMATION, false, 4492);
   if(!hProcess) return GetLastError();
   DWORD iFuncSize = (DWORD) test - (DWORD) UnloadEvtLog;
   void *pAddress = VirtualAllocEx(hProcess, 0, iFuncSize, MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE);
   if(!pAddress)
   {
       CloseHandle(hProcess);
       return GetLastError();
   }
   if (!WriteProcessMemory(hProcess, pAddress, (void *)test, iFuncSize, 0 ) )
   {
       CloseHandle(hProcess);
       VirtualFreeEx(hProcess, pAddress, 0, MEM_RELEASE);
       return GetLastError();
   }
   HANDLE hThread = CreateRemoteThread(hProcess, 0, 0, (LPTHREAD_START_ROUTINE)pAddress, 0, 0, NULL);
   WaitForSingleObject(hThread,INFINITE);
   CloseHandle(hThread);
   VirtualFreeEx(hProcess, pAddress, 0, MEM_RELEASE);
   return ERROR_SUCCESS;


La funcion de prueba es la siguiente:

Código (cpp) [Seleccionar]
void test()
{
   char szPID[1000];
   ZeroMemory(szPID, 10);
   itoa(GetCurrentProcessId(), szPID, 10);
   strcat(szPID, "\n");
   strcat(szPID, GetCommandLine());
   MessageBox(NULL, szPID , NULL, 0);
   return;
}



Esto puede ser porque no le estoy pasando parámetros a la funcion (ya que no tiene), entonces le pongo "0" en el puntero a los datos. Como debería poner cuando no hay parámetros para pasar??

Bueno, ojalá que alguien me pueda dar una mano.
Un abrazo
APOKLIPTICO.

PD: Vale aclarar que el proceso tiene el flag SE_DEBUG_PRIVILEGES activado.
#136
No revivir posts antiguos!
#137
Criptografía / Re: Ayuda con Prueba Basica
16 Diciembre 2011, 13:50 PM
Eso es un cifrado por sustitución simple, es decir que se sustituyen unas letras por otras, se puede fácilmente crackear utilizando un análisis de frecuencias y un diccionario.
Un saludo!
#138
Criptografía / Re: descifrar clave
16 Diciembre 2011, 13:48 PM
Sacaste el hash de Cain? Pero que tipo de hash es? Bajate GPU-Z y fijate que placa tenés, te adiverto que respondés una vez más sin dar suficiente información y te voy a tener que cerrar el post.
Bajate el GPU-Z y fijate que placa tenés.
Especificá de dónde sacaste el Hash, necesito saber que hash es para darte una mano sobre cómo crackearlo, tengo que saber si es MD2, MD4, MD5, NTLM, HAVAL o Snefru! Sino cualquier tipo de intento de crackeo tiene una complejidad de 2^128 y te la regalo, porque aunque puedas definir 10.000.000.000 de hashes por segundo que es mucho, vas a tardar 1079028307080601418897 Años en calcularlos todos.
#139
Nono, eso no es un context menu handler, eso es simplemente el context menu, es algo simple. Estos son funciones en un .dll. Si vos vas y lo buscás vas a encontrar sólamente un CLSID, yo necesito saber como puedo hacer para llamar a la funcion del context menu handler.

EI: juntando mensajes.

Okay, quizas no se entendió muy bien lo que estoy preguntando: Hay alguna manera de importar una funcion y actuar como si fueses el sistema operativo llamando a lo que se ejecuta cuando hacés click derecho y te aparece el menú contextual?
#140
Nono, necesito saber que funciones/programa llama y con qué argumentos una shell extension ya existente.