Páginas: [1] 2 3
|
 |
|
Autor
|
Tema: Sacacorchos 1.0, detector/extractor de configuración para troyanos (Leído 18944 veces)
|
Thor
Desconectado
Mensajes: 1.199
|
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.htmlMas información...Actualización 28/02/08 Nuevo plugin que detecta todas las versiones del bifrost. http://rapidshare.com/files/95736133/BifrostDetector.dll.htmlMas 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+7PluginsPost 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.htmlSi 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
Mensajes: 938
|
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
Mensajes: 2.117
. Security
|
Yo me animo, si me enseñas como hacerlo y otras cosas, yo ayudo en lo que necesites. 
|
|
|
|
|
En línea
|
|
|
|
Thor
Desconectado
Mensajes: 1.199
|
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
Mensajes: 938
|
¿Me puedes pasar el server con el que falla? No será la versión private o algo así, con esa no funciona.  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 Bifrost1.2 server.exe pues despues lo ejecute y me funciono perfectamente, ok solo era eso. Resuelto  saludos...
|
|
|
|
|
En línea
|
|
|
|
Thor
Desconectado
Mensajes: 1.199
|
 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
Mensajes: 516
Use linux my friend...
|
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
Mensajes: 332
Mixer v2.0 - Genera passwords seguras con 1 click
|
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
|
|
|
|
Impact Point
Desconectado
Mensajes: 938
|
zhynar_X 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 Yo no se VB (siempre lo digo) Esto no esta echo en vb, si no en C saludos...
|
|
|
|
|
En línea
|
|
|
|
Thor
Desconectado
Mensajes: 1.199
|
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: #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: ... 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: 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: 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
Mensajes: 2.117
. Security
|
Yo no sé mucho de C, trataré de ayudar en lo que pueda.
Saludos.
|
|
|
|
|
En línea
|
|
|
|
xomi
Desconectado
Mensajes: 17
|
eaa yo me apunto, ademas puedo decir que funciona perfectamente  . 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
Mensajes: 2.407
FireSoft
|
Yo tambien me anoto. Asi como dijo Dominicano. Despues de que yo vi el AntiFrost se me ocurrio hacer uno 
|
|
|
|
|
En línea
|
Gana premios:

|
|
|
Thor
Desconectado
Mensajes: 1.199
|
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
|
|
|
|
|
|
|
Páginas: [1] 2 3
|
|
|
|