Cholera: el i-worm que llevaba un virus a cuestas
Cholera fue un i-worm, es decir, un gusano de Internet. Se propagaba por la red y por el correo electrónico, y fue una de las primeras mezclas de virus y gusano. Su creador, GriYo, conocido miembro del grupo de programadores de virus 29A, prefería no hablar de Cholera como un virus aislado. Hablaba de lo que llamó Proyecto Simbiosis: usar el gusano como vehículo para transportar un segundo virus, denominado CTX.
Cómo llegaba al ordenador
Cholera llegaba por
correo electrónico como un archivo adjunto llamado
«setup.exe
».Tenía el icono típico de los instaladores autoextraíbles, una caja abierta con un pequeño icono al fondo. El cuerpo del mensaje contenía solo un smiley,
:-). Es probable que pocos usuarios se animaran a abrir un adjunto tan escueto, pero
su aspecto de instalador podía despertar la curiosidad de más de uno.
Quien lo ejecutaba quedaba infectado y, además, veía un mensaje de error que parecía provenir de
Winzip. Mientras el usuario creía que el archivo estaba simplemente dañado, el
gusano ya estaba trabajando en segundo plano.
Su funcionamiento interno
Lo primero que hacía
Cholera era desencriptar las cadenas de texto y constantes de su propio código. El bucle de encriptación era extremadamente simple. Esto sorprendía, sobre todo porque el autor solía incluir mecanismos de
polimorfismo en todas sus creaciones. Una posible explicación es que
Cholera estaba escrito en
C++. Después
lanzaba un proceso multihilo que se bifurcaba en dos hilos. Uno actuaba sobre las unidades de la máquina infectada y el otro sobre los equipos de la red accesibles desde ella. Ambos seguían el mismo procedimiento: recorrer las unidades lógicas, identificar cuáles eran discos duros y localizar el archivo
«win.ini
».
Una expansión veloz
En redes locales
Cholera se propagaba con gran rapidez. En pocos segundos podía contagiar, por ejemplo, a toda la redacción de un periódico.
Para enviarse sin levantar sospechas, consultaba el registro de configuración de
Windows y extraía el nombre de usuario, el dominio y el servidor SMTP que usaba
Outlook Express. A diferencia de lo que
GriYo solía hacer en otros trabajos,
esta vez el gusano llevaba su propio motor SMTP. Así no dependía de
Outlook Express ni de las rutinas
MAPI del sistema.
De dónde sacaba las direcciones
Las direcciones de destino se obtenían recorriendo el disco duro en busca de archivos con extensiones
DBX,
EML,
HTM,
HTML,
IDX,
MBX,
NCH y
TXT. Eran páginas web, textos planos y distintos formatos de buzones de correo. Con las direcciones reunidas,
Cholera armaba el mensaje descrito antes y lo codificaba en
BASE64 con cabecera
MIME para que llegara como adjunto a cada destinatario. Con eso cerraba su ciclo. Antes de terminar,
eliminaba cualquier rastro que hubiera dejado, como el que pudo quedar en el
«win.ini
».
CTX, la verdadera carga
Cholera no se limitaba a propagarse. Cuando terminaba su trabajo,
tomaba el relevo CTX, el virus que viajaba en su interior.
La rutina de cifrado de
Cholera era débil, pero
CTX estaba protegido por una densa capa de encriptación polimórfica de mutación lenta. Además, ofrecía un pequeño pero completo repertorio de técnicas avanzadas:
- Chequeo de integridad: verificaba que su propio código no hubiera sido alterado.
- Búsqueda de APIs por CRC32: localizaba las funciones del sistema por su suma de verificación, sin necesitar sus nombres. Esto dificultaba tanto detectarlo a primera vista como analizarlo después.
Por qué se lo recuerda
Cholera es recordado sobre todo por su concepto. Mostró cómo un
gusano de propagación rápida podía servir de transporte a un
virus más elaborado, y cómo un mismo autor
podía combinar protecciones muy simples con técnicas avanzadas en una sola creación.
Ver también
En el glosario: BIOS —
Código fuente —
Código maligno —
Gusano —
Payload —
SMTP —
Virus.