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

#81
Mi idea es que no sea tan fácilmente visible. Aparte no me gusta mucho trabajar con UPX porque hace saltar falsos positivos en algunos AV. Lo que quiero es obfuscarlos en tiempo de diseño y desobfuscarlos cuando arranque el programa sólo para cargar las funciones necesarias.
#82
Sisi, obvio, pero mi pregunta es si hay alguna manera de automáticamente modificar en el código los linkeos estáticos por dinámicos, de esta manera se pueden obfuscar las llamadas para que no se puedan leer fácilmente si uno abre el ejecutable con un visor hexadecimal.
#83
Lo que podés hacer es utilizar TrueCrypt, esto lo que hace es hacer un archivo que lo podés ocultar como si fuese otro archivo y adentro tiene cifrado toda una unidad. Para ver y abrir esos archivos, tenés que montar esa unidad.
Es seguro, pero tenés que hacer que nadie pueda eliminar el container. Para eso, si utilizas un usuario con privilegios de usuario y el usuario de administrador tiene contraseña, podés darle permisos sólo al usuario administrador para borrar/ver/modificar esa carpeta utilizando las ACLs de windows. No es infalible ya que externamente se podría borrar, pero hay que acceder afuera del sistema operativo.

Un abrazo
APOKLIPTICO.
#84
Hola! Como va, estoy desarrollando un programa y me gustaría saber si es posible hacer que todas las llamadas estáticas a APIs se conviertan en dinámicas, es decir, poder cargarlas en tiempo de ejecución. La razón es que quiero obfuscar las apis para que no aparezcan adentro del ejecutable si uno lo abriese con un editor hexadecimal. Hay alguna manera de hacer esto que no sea manualmente hacer todas las llamadas en el código??

Un abrazo
APOKLIPTICO.
#85
Buenas! Tengo un problema con la función LogonUser
Estoy utilizando estas funciones.

Código (cpp) [Seleccionar]
#include <iostream>
#include <windows.h>
#define LOGON32_LOGON_NEW_CREDENTIALS 9
#define LOGON32_PROVIDER_WINNT50 3
#define REMOTE_USER_S "Administrador"
#define REMOTE_PASS_S "password"
using namespace std;

int main()
{
   HANDLE hToken;
   bool bAnswer = false;
   bAnswer = LogonUser(REMOTE_USER_S, (char*) ".", REMOTE_PASS_S, LOGON32_LOGON_NEW_CREDENTIALS, LOGON32_PROVIDER_WINNT50, &hToken);
   cout << bAnswer << endl;
   HANDLE hToken2;
   bAnswer = DuplicateToken(hToken, SecurityImpersonation, &hToken2);
   cout << bAnswer << endl;
   bAnswer = ImpersonateLoggedOnUser(hToken2);
   cout << bAnswer << endl;
   HANDLE hSCManager = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);
   if(hSCManager == NULL) cout << "Error! " << GetLastError() << endl;
   return 0;
}


Este código devuelve
1
1
1
Error! 5 (Acceso denegado).

Pasa lo mismo si le pongo la contraseña válida o una inválida.

Como puedo hacer para asegurarme que el usuario haya sido correctamente logueado y cargado, es decir, como puedo hacer para comprobar que las credenciales que se le proveen (Usuario y contraseña, en este caso no hay dominio) son válidas.

Esto lo quiero utilizar para acceder a recursos de red que sólo están disponibles bajo ciertos usuarios.

Un saludo
APOKLIPTICO.

PD: Pasa lo mismo sino utilizo DuplicateToken.
#86
Criptografía / Re: Duda mensajes HASH
24 Julio 2012, 15:57 PM
Probablemente es una manera diferente de expresar un hash, quizás utilizando base64 o base32. Base 64 utiliza 64 caracteres diferentes para mostrarse, base 32 utiliza 32.
#87
El cifrado AES no es vulnerable a un known-plaintext attack como bien describe nuestro amigo faawlex, ya que la distribución del keystream sobre el plaintext para conseguir el ciphertext no es directa y varía según el plaintext.
Es decir que un simple xor entre el plaintext y el ciphertext no va a devolver un keystream que luego se puede utilizar en otros archivos.

Un saludo
APOKLIPTICO.
#88
Criptografía / Re: Tipo de cifrado
25 Junio 2012, 02:27 AM
x.v("y","A F c?K k s t <a 7='b://d.e.5/h/j'><u>l</u><a/>, m <a 7='b://n.e.5/o/d'><u>p</u></a>.</q>","r");g 9(2){w i,3=

Esto es en ascii, hay un par de tags metidos por ahi y "://"
Fijate si te sirve.
#89
Criptografía / Re: Ayuda con un hash
15 Junio 2012, 16:28 PM
Para empezar necesitás el Salt, después, es cuestión de utilizar un cracker MD5, mdcrack o si tenés acceso a GPGPU podés utilizar ighashgpu.

Saludos!
#90
Gracias Eternal Idol, no lo había encontrado.