martes, 10 de marzo de 2009

Conseguir Codigos y contraseñas de programas desprotegidos

Este es un ejemplo sencillo de como se puede llegar a vulnerar una aplicación que pida serial o password y que no este protegida.

El ejemplo de la aplicación seria el binario que resulte del siguiente código:

easyKey.c

Código
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
 
char *password = "A9D6B4C3E2F1";
 
int main(int argc, char **argv) {
if(argc == 2) {
if(strncmp(password,argv[1],strlen(password) ) == 0)
printf("ok\n");
else
printf("no\n");
}
else {
printf("Use:\n\t%s <key>\n",argv[0]);
}
return 0;
}
 
 

Despues de compilarlo y ejecutarlo:

Código
Anon@localhost % gcc -o easyKey easyKey.c
Anon@localhost % ./easyKey
Use:
   ./easyKey <key>
Anon@localhost % ./easyKey xD
no
Anon@localhost % ./easyKey 1234
no
 

Podremos observar que dicho codigo "key" lo podemos obtener mediante la utilidad strings que viene en la mayoría de los Entornos Unix

Código:
Anon@localhost % strings easyKey
/libexec/ld-elf.so.1
FreeBSD
_Jv_RegisterClasses
libc.so.7
printf
puts
environ
__progname
strncmp
_init_tls
atexit
strlen
_end
FBSD_1.0
$FreeBSD: src/lib/csu/i386-elf/crti.S,v 1.7 2005/05/19 07:31:06 dfr Exp $
A9D6B4C3E2F1
Use:
    %s <key>
$FreeBSD: src/lib/csu/i386-elf/crtn.S,v 1.6 2005/05/19 07:31:06 dfr Exp $
Anon@localhost % ./easyKey A9D6B4C3E2F1
ok

Espero y les sirva algún día.

Saludos

--
- Anon

1 comentario:

isseu dijo...

waw muy insteresante

Populares Siempre