elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Ingresar Registrarse
08 Septiembre 2008, 19:46  



+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Seguridad (Moderadores: ghastlyX, Red Mx)
| | |-+  Sacacorchos 1.0, detector/extractor de configuración para troyanos
0 Usuarios y 3 Visitantes están viendo este tema.
Páginas: [1] 2 3 Ir Abajo Imprimir
Autor Tema: Sacacorchos 1.0, detector/extractor de configuración para troyanos  (Leído 18943 veces)
Thor

Desconectado Desconectado

Mensajes: 1.199


Ver Perfil
Sacacorchos 1.0, detector/extractor de configuración para troyanos
« en: 20 Diciembre 2007, 20:12 »

Actualización 04/03/08
Nuevo plugin para extraer la configuración del Bifrost 1.2b y actualizado el detector de bifrost para que detecte esta versión.
http://rapidshare.com/files/97092877/PlugIns.rar.html
Mas información...

Actualización 28/02/08
Nuevo plugin que detecta todas las versiones del bifrost.
http://rapidshare.com/files/95736133/BifrostDetector.dll.html
Mas información...

Actualización 12/01/08
Sacacorchos v 1.0 by Psymera

Sacacorchos es un programa orientado a obtener la configuración de los troyanos mas comunes.

Está hecho de modo que cualquiera pueda hacer un nuevo plugin para leer la configuración de un troyano no soportado y compartirlo con el resto de la comunidad.

El plugin se puede hacer en el lenguaje que se quiera, es una dll que tiene que soportar ciertas funciones. En la descarga se adjunta el código de plugins en C y delphi.

La interfaz está programada en delphi y el código también se adjunta.

Cualquier ayuda será bienvenida ;)

Captura:


Descarga:
Sacacorchos 1.0 Src+Bin+7Plugins


Post inicial 20/12/07
Hola, muchas veces cuando nos infectan o lo intentan nos gustaría saber quien hay detrás, que nos han podido hacer ect...

Propongo hacer un programa que detecte (muy primitivamente) los troyanos mas usados y extraiga la configuración con la que han sido creados.

He hecho "extractores" de configuración para todas las versiones del troyano bifrost, que te dirá la configuración con la que ha sido creado un server de este troyano aunque haya sido comprimido/encriptado con algún compresor de ejecutables.
Codigo fuente C + binarios:
http://rapidshare.com/files/77932199/ExtractBifrost.rar.html

Si mas gente se anima podríamos hacer un programa mas genérico y para mas troyanos.

¿Que os parece?
« Última modificación: 04 Marzo 2008, 23:56 por Thor » En línea
Impact Point

Desconectado Desconectado

Mensajes: 938


Ver Perfil
Re: ¿Y si hacemos un detector/extractor de configuración para troyanos?
« Respuesta #1 en: 21 Diciembre 2007, 01:25 »

interesante

Gusto despues de haber conosido el antifrost se me subio algo parecido a la cabeza, un programa igual, pero esta vez que sea para muchos server de troyano.

que mal, yo no se C

ah, eh provado el binario para el v1.2 de bifrost, y no me funciona, solo palpadea y despues se cierra

saludos...
« Última modificación: 21 Diciembre 2007, 01:27 por Dominicano » En línea
Zinc

Desconectado Desconectado

Mensajes: 2.117


. Security


Ver Perfil
Re: ¿Y si hacemos un detector/extractor de configuración para troyanos?
« Respuesta #2 en: 23 Diciembre 2007, 01:09 »

Yo me animo, si me enseñas como hacerlo y otras cosas, yo ayudo en lo que necesites. ;)
En línea

Viva el foro!
Thor

Desconectado Desconectado

Mensajes: 1.199


Ver Perfil
Re: ¿Y si hacemos un detector/extractor de configuración para troyanos?
« Respuesta #3 en: 23 Diciembre 2007, 14:31 »

Lo primero es saber como se escribe la configuración. Eso se puede saber creando dos servidores del mismo troyano con diferente configuración y comparándolos. Se suele escribir o al final del fichero o como un recurso del ejecutable.

Lo siguiente es ver si la configuración va sin codificar, si puede ver con un editor hexadecimal por ejemplo o va codificada. Si va codificada pues o intentamos ver si es un simple xor lo que se ha usado, o sino tendremos que usar el ollydbg para ver como el server o el cliente codifican/decodifican la configuración.

Una vez que tenemos la configuración en "texto plano" tendremos que ver cuanto ocupa cada campo, por ejemplo el puerto puede ocupar 2 bytes, el dns 20 bytes, etc... Aunque también hay algunos troyanos que usan algún delimitador por ejemplo:
IP|puerto|nombre del exe
127.0.0.1|80|server.exe|

Y lo siguiente es hacer un programa en C que lea esa configuración.
Después busco un troyano que sea sencillo de leer la configuración que escribe y te lo pongo para que lo intentes.

ah, eh provado el binario para el v1.2 de bifrost, y no me funciona, solo palpadea y despues se cierra
¿Me puedes pasar el server con el que falla? No será la versión private o algo así, con esa no funciona.

Saludos.
« Última modificación: 23 Diciembre 2007, 14:33 por Thor » En línea
Impact Point

Desconectado Desconectado

Mensajes: 938


Ver Perfil
Re: ¿Y si hacemos un detector/extractor de configuración para troyanos?
« Respuesta #4 en: 23 Diciembre 2007, 17:57 »

Citar
¿Me puedes pasar el server con el que falla? No será la versión private o algo así, con esa no funciona.

 ;D El problema ya esta resuelto, lo que pasa es que yo ejecutaba el programa directamente, claro (con el server en la carpeta) pero luego el se ejecutaba y a su misma vez se cerraba.

pues se me ocurrio ejecutarlos desde un .bat, de esta manera

Código:
Bifrost1.2 server.exe

pues despues lo ejecute y me funciono perfectamente, ok solo era eso. Resuelto :D

saludos...

En línea
Thor

Desconectado Desconectado

Mensajes: 1.199


Ver Perfil
Re: ¿Y si hacemos un detector/extractor de configuración para troyanos?
« Respuesta #5 en: 23 Diciembre 2007, 18:21 »

:P cierto al ejecutarlo directamente se te muestra el modo de uso y finaliza el programa, está mas pensado para ser usado desde la consola de windows. De momento está así pero la idea es hacerle una interfaz que llame a estos programas y muestre la salida...Pero bueno esa ya se verá.

Saludos.
En línea
zhynar_X

Desconectado Desconectado

Mensajes: 516


Use linux my friend...


Ver Perfil WWW
Re: ¿Y si hacemos un detector/extractor de configuración para troyanos?
« Respuesta #6 en: 23 Diciembre 2007, 18:23 »

A mi me gustaria colaborar en el proyecto, tengo conociemientos de C pero no se si los suficiente...

Me pondre a leer algo sobre este tema.


Saludos
En línea

Me he creado un blog:
http://zhynar.blogspot.com  Aver si os gusta! ;)


Optimista es aquel que cree poder resolver un atasco de trafico tocando el claxon (Anonimo)
invisible_hack

Desconectado Desconectado

Mensajes: 332


Mixer v2.0 - Genera passwords seguras con 1 click


Ver Perfil WWW
Re: ¿Y si hacemos un detector/extractor de configuración para troyanos?
« Respuesta #7 en: 23 Diciembre 2007, 19:01 »

Pues la idea es fabulosa, pero llevará muchisimo trabajo...

Yo no se VB (siempre lo digo) pero igualmente puedo ponerme a buscar info e ir posteando links sobre el tema...

Apuesto a que si se llegase a publicar finalmente ese soft, habria cientos de descargas diarias, ya que son cientos las personas que dia a dia resultan infectadas por troyanos enviados por lammerulos y eso...

¡¡Asi que animo, todo es posible!!
En línea


VISITAD MI FORO DE INFORMÁTICA, HACKING Y MUCHO MÁS!!!!! (HAZ CLIC EN EL BANNER DE MI FIRMA)

www.invisiblehack.foro.st
Impact Point

Desconectado Desconectado

Mensajes: 938


Ver Perfil
Re: ¿Y si hacemos un detector/extractor de configuración para troyanos?
« Respuesta #8 en: 23 Diciembre 2007, 19:11 »

zhynar_X
Citar
tengo conociemientos de C pero no se si los suficiente...

si saves C pues ya con esto basta, ademas creo que esto no es un proyecto muy complicado, ademas yo si que no se C, ni pa empezar, tu si.

invisible_hack
Citar
Yo no se VB (siempre lo digo)

Esto no esta echo en vb, si no en C

saludos...
En línea
Thor

Desconectado Desconectado

Mensajes: 1.199


Ver Perfil
Re: ¿Y si hacemos un detector/extractor de configuración para troyanos?
« Respuesta #9 en: 23 Diciembre 2007, 21:48 »

Un ejemplo mas o menos fácil es el del bifrost 1.0. El cliente cuando se construye un server añade la configuración de este al final del fichero. Los últimos 4 bytes te dicen la longitud total de la configuración, lo que debemos hacer es ver al longitud de la configuración, retroceder esa longitud para situarnos al principio de la configuración y leerla.
Así que lo primero será abrir el fichero que se recibe como parámetro situarnos al final del fichero menos los 4 bytes que nos dicen la longitud de la configuración y leer esos 4 bytes:
Código:
#include<stdio.h>
int main(int argc, char **args){
  FILE *file;
  int lenConfig;
  file = fopen(*++args, "rb");
  fseek(file, -4, SEEK_END);
  fread(&lenConfig, sizeof(lenConfig), 1, file);
  printf("Longitud total de la configuración: %02X", lenConfig);
  return 0;
}
Este programa te muestra la longitud de la configuración.
Lo siguiente sería retroceder esa longitud y empezar a leer los datos:
Código:
  ...
  short int lenDNS1, lenDNS2, lenDNS3;
  char *dns1, *dns2, *dns3;
  fseek(file, -lenConfig - 4, SEEK_END);
  fread(&lenDNS1, sizeof(lenDNS1), 1, file);
  dns1 = malloc(lenDNS1);
  fread(dns1, sizeof(char), lenDNS1, file);

  fread(&lenDNS2, sizeof(lenDNS2), 1, file);
  dns2 = malloc(lenDNS2);
  fread(dns2, sizeof(char), lenDNS2, file);

  fread(&lenDNS3, sizeof(lenDNS3), 1, file);
  dns3 = malloc(lenDNS3);
  fread(dns3, sizeof(char), lenDNS3, file);
Con esto leeríamos los 3 dns del bifrost, pero los datos están codificados :(
El bifrost añade 16 bytes aleatorios, que son los usados para codificar la configuración usando la operación xor. Así que hice una función para descodificarlos:
Código:
void Decode(char codes[16], char *bytes, short int length){
  int i;
  for(i = 0; i< length; i++)
    bytes[i] ^= codes[i % 16];
}
Siendo char codes[16] los 16 bytes usados para codificar, char *bytes la cadena a decodificar y short int length la longitud de esta cadena. Como veis es ir haciendo xor a cada byte de la cadena con cada byte de la clave...bueno esto mejor que explicarlo es ver el código...

Tras crear muchos servers con distintas configuraciones fui viendo que se escribía en cada campo, una vez que supe que había en cada sitio hice una estructura en C para que quedara mejor organizado:
Código:
struct config{
  char ok[5];    //Es una cadena de 5 bytes ("_ok_\0") usada para comprobar que la configuración ha sido bien escrita
  char codes[16];  //Los 16 bytes usados para codificar la configuración
  short int lenDNS1; //La longitud del primer dns
  char *dns1;          //El primer dns...
  short int lenDNS2;
  char *dns2;
  short int lenDNS3;
  char *dns3;
  int port;             //El puerto a donde se conectará
  char ActiveX;     //0|1 Startup ActiveX
  char RunLocal;    //0|1 Startup Run Local Machine
  char RunUser;     //0|1 Startup Run Current User
  char Melt;        //0|1 Melt
  char Directory;   //0|1 System|Windows directory
  char Delayed;     //0|1 Delayed start
  char startup[16]; //Registry key use for startup
  char password[8]; //Password to authenticate the server to the client
  char process[16]; //Filename when installed
  char name[16];    //Assigned name to show in client
};

El resto del código esta en el rar que puse arriba, con esto espero que podais entender mejor el código.


Los pasos a seguir para añadir otro troyano/malware serían:
  • Ver en que parte se escribe la configuración, usando editores hexadecimales que permitan comparar dos ejecutables.
  • Si está codificada ver como descodificarla, bien "a ojo" puede ser un simple xor, bien mirando el código fuente del troyano si está incluido, o usando algún debugger como ollydbg.
  • Cuando ya tenemos la configuración en texto plano, tendremos que ver en que orden se escriben los diferentes campos, la longitud de estos, si se usa algún delimitador para separarlos etc...
  • Ya lo último es hacer un programa, da igual el lenguaje, que reciba como segundo parámetro el servidor del troyano, y devuelva la configuración de este.

Para los 3 primeros pasos no es necesario saber programar, y el lenguaje no es ninguna limitación.

Por ejemplo alguien podría postear donde escribe un troyano la configuración y que estructura sigue esta y otro podría hacer el programa.
Saludos.
En línea
Zinc

Desconectado Desconectado

Mensajes: 2.117


. Security


Ver Perfil
Re: ¿Y si hacemos un detector/extractor de configuración para troyanos?
« Respuesta #10 en: 24 Diciembre 2007, 00:08 »

Yo no sé mucho de C, trataré de ayudar en lo que pueda.

Saludos.
En línea

Viva el foro!
xomi

Desconectado Desconectado

Mensajes: 17


Ver Perfil
Re: ¿Y si hacemos un detector/extractor de configuración para troyanos?
« Respuesta #11 en: 28 Diciembre 2007, 19:58 »

eaa yo me apunto, ademas puedo decir que funciona perfectamente  :D. Hace un año aprox ... me baje un crack de crackmanworld cuando aun existia y resulto ser el bifrost 1.2, estaba encriptado o algo xq no lo dectectaba ningun antivirus, lo tuve que mandar a kaspersky yo mismo ^^ y sacarlo a mano. weno el resultado es el siguiente:

Port: 6333

Password: 1337

Number of hosts: 1

 brainstorming.no-ip.info

Enable connection through proxy: No

Number of proxies: 0

Filename when installed: server.exe

Directory to install: Bifrost in Windows directory

Autostart at reboot: Yes

 Registry start key: {9B71D88C-C598-4935-C5D1-43AA4DB90836}

Registry key: Bifrost

Mutex name: Bif123

Persistant server: Yes

Include extension pack: Yes

 Name extension pack: addon.dat

Offline keylogger: Yes

 Keylogger filename: klog.dat

 Exclude Shift and Ctrl: Yes

 Exclude Backspace: No

Try to inject to a specific process: Yes

 Process to inject: iexplore.exe

Assigned name: Default

Stealth mode: Agressive

Set attribute hidden: Yes

Set older file date: Yes

Melt server: No

Delay type: No delay

 Time to delay: 0 Days 0 Hours 0 Mins

Kernel level unhooking: No

Hide process: No

Use TOR plugin: No

 Include TOR plugin in server: Yes

 Url to download TOR plugin:

 Onion hash:

 Filename when installed TOR plugin: TORplugin.dat

//Lo cuelgo x si le a pasado a alguien mas//

Estoy estudiando C asi que espero poder colaborar.
Repito una vez mas, magnifico, muxas gracias Thor
Ahora queda averiguar de donde este esta ip 69.65.19.125-brainstorming.no-ip.info  :¬¬
En línea
Freeze.

Desconectado Desconectado

Mensajes: 2.407


FireSoft


Ver Perfil WWW
Re: ¿Y si hacemos un detector/extractor de configuración para troyanos?
« Respuesta #12 en: 28 Diciembre 2007, 20:02 »

Yo tambien me anoto. Asi como dijo Dominicano.

Despues de que yo vi el AntiFrost se me ocurrio hacer uno :xD
En línea

Gana premios:


Thor

Desconectado Desconectado

Mensajes: 1.199


Ver Perfil
Re: ¿Y si hacemos un detector/extractor de configuración para troyanos?
« Respuesta #13 en: 28 Diciembre 2007, 20:10 »

http://brainstorming.no-ip.info/
Una página de publicidad...Igual dejo de usar ese dns, a saber...

Lo siento por no poner nada estos dias, pero son tan ajetreados... Espero publicar una interfaz para usarlo, y el mismo código del bifrost 1.0 en todos los lenguajes que pueda. Y detectores para el poison ivy.

Saludos.
En línea
Freeze.

Desconectado Desconectado

Mensajes: 2.407


FireSoft


Ver Perfil WWW
Re: ¿Y si hacemos un detector/extractor de configuración para troyanos?
« Respuesta #14 en: 28 Diciembre 2007, 20:17 »

Thor ya tengo informacion sobre el Tequila Bandita. Ya se donde se aloja todo pero el unico lenguaje  que se para crear ejecutables es VB.

¿Crees que lo logre?
En línea

Gana premios:


Páginas: [1] 2 3 Ir Arriba Imprimir 
Ir a:  







Consolas     La Web de Goku     MilW0rm     MundoDivx

Hispabyte     Truzone     TodoReviews     ZonaPhotoshop

hard-h2o modding    Foros de ayuda    Yashira.org    Videojuegos    indetectables.net   

Noticias Informatica    Seguridad Informática    ADSL    Foros en español    eNYe Sec

Todas las webs afiliadas están libres de publicidad engañosa.

Powered by SMF 1.1.6 | SMF © 2006-2008, Simple Machines LLC