De heuristicas, antivirus y malware

Antes de nada, ningun ordenador fue infectado por malware en el proceso y lo que viene a continuación se hizo con el único fin de pasar el rato, si lees esto con la esperanza de saber como infectar más ordenadores o algo por el estilo, lo siento (... en realidad no) pero no estas en el lugar indicado, ve con root.

Pues presento un programa que genera otros programas ensamblando componentes (una shell inversa, un proxy SOCKS4 , un bot IRC... ), al principio no tenía ningun propósito pero parece que los módulos por separado pueden servir para echarle un vistazo a la euristica de los antivirus.

La primera prueba fue preparar un bot IRC, con los siguientes parámetros: - Puerto: 6667 (el asignado al protocolo) - Canal: "#irc_bots" - Nombre: "samp_bot"

De 43 antivirus, lo detectan 7. 5 de ellos lo identifican como bot IRC o backdoor IRC, uno más lo idetifica como "Troyano" y otro como "Backdoor", los resultados aquí Lanzarle un strip, cambiar_el_puerto_al_que_se_conecta, o cambiar su nombre no afecta a la detección, asi que nadie se fia de que ponga IRC por ahí o del puerto en cuestión, buena señal :) .

Siguiente, un proxy SOCKS4, los parámetros son: - Puerto: 1080 (también el predeterminado) - Usuario: * (Cualquiera)

Resultado, de 43 antivirus, 0 lo detectan [resultados]... cada quién que lo interprete como quiera.

De tercero, una shell inversa: ( popen FTW ) - Dirección: 127.0.0.1 - Puerto: 1024 - Prompt: >>> (¿?)

Y los números son... 0_de_42 (WTF ?!?), la verdad es que el código es bastante esqueletico, si paras todos los procesos que se conectan a algun host y hacen popen, mal asunto :(

Cuarto, un downloader (que solo usa sockets TCP, ninguna función especial), los parámetros: - Dirección: http://yoquese.com/malomalo.exe (no creo que exista, la verdad) - Archivo temporal: temp.exe - Marcar como oculto: 1 (Si) - User-Agent: "Mozilla/5.0 (Windows; Windows NT 5.1; es-ES) Gecko/20100115 Firefox/3.6"

0_de_28 .... no, en serio, parece que escapan 0.o . Y, ¿un PE de unos pocos Kb's con el User-Agent del firefox?

Quinto... perdón si se hace cansino, "Distribución por emule": - Nombre del archivo: test.exe - Ocultar: 1 (sep) - Evitar que aparezca en las búsquedas: 1 (tooodo) - Sobreescribir: 1 (por que no?)

Y... 0_de_43 (volvieron !), lo de siempre, todo lo que hace es crear un archivo, que me diga alguien como saber a priori si es algo peligroso, aunque eso de que acabe en .exe ....

Sexto, "Nuevo_usuario": - Usuario: joe - Password: password - Ocultar: 1 (si, todo lo que ayude a la detección) - Poner como admin: 1 (avante toda)

Para uno que trastea con el registro y hace llamadas a system, 0_de_43 sin comentarios...

Y por último, el que creo que puede tener más chicha, la "Instalación_Basica", supongo que trastear con los strings de registro típicos del malware es una papeleta para ganarse la detección. Los parametros comunes son: - Carpeta: C:\ - Intentar ADS: 1 (si) - Nombre del ADS: ads.exe - Nombre del archivo "raiz": test.txt - Ocultar: 1 (si) - Evitar que lo indexe: 1 (True) - Nombre del registro: CannedSoft 0.1

En fin, que solo cambia el método de ejecución. 0: CurrentVersion/Run ("un clásico, un Stairway to Heaven casi", que dirian los HDC) 0_de_43, mal comienzo.

1: CurrentVersion/RunServices (variante menos usada) 1_de_43, como Dropper, algo es algo...

2: Explorer\Run (al iniciar el explorer) 1_de_43, como Dropper también

3: CurrentVersion/RunOnce (hay que volver a añadirlo cada booteo) 0_de_43, era de esperar del RunOnce, es complicarse sin motivo

Eso es todo, esto no pretendio ser cientifico ni riguroso, ni nada por el estilo, pero creo que si se puede sacar algo en claro es que fiarse de el antivirus es bastante iluso. (Y sin usar cripters y cosas de esas) Un poco de sentido común, por favor.

ps: el monstruo es este [cannedsoft.zip] (GUI hecha con freepascal y Lazarus, y los módulos con C), el codigo que genera 'tmpSrc.c' ha de compilarse. (Un pequeño seguro que sirve para que los crios que buscan una forma de hacerse sus virus, por lo menos aprendan a compilar algo). Está probado con Gnu/Linux y Dev-Cpp.

ps2: El Makefile solo hace clean

Venga, a portarse bien y cuidado al programar algo (legítimo) que use el IRC.

untagged

Introducción a NetKit (I): instalación » « BClock, un reloj binario en 510 bytes (autobootable)