Copy Link
Add to Bookmark
Report
Minotauro Magazine Issue 05 01 Producci¢n (no tan) Nacional Virus CPW
Minotauro Magazine Issue #5
Producci¢n (no tan) Nacional
Virus CPW
(Unasm y Texto) Por Trurl
Para complementar un poco la hilarante nota del amigo Wma en el n£mero
anterior de nuestra revista, pensamos que seria buena idea proveer a
nuestros lectores del source de este virus, mas una peque¤a rese¤a tcnica
que aclare algunos puntos que no quedaron muy claros en la nota de Virus
Report. (Y que son bastante divertidos, osea, las rutinas de activaci¢n).
Por ende, he aqu¡ Nuestra rese¤a tcnica sobre el virus CPW, del
hermano pa¡s de Chile (como se suele decir :-)), y el source del virus,
para que ustedes puedan juzgar "the real thing".
Ya que estamos, aprovecho para mandar un saludo a todos los autores de
virus (y hackers) chilenos, que seguramente no nos est n leyendo, ya que
esta revista solo va a cruzar la cordillera cuando nos deporten las
autoridades (o tengamos que huir de ellas :-)). Como sea, si alg£n d¡a
llega, saludos.
No hace falta aclarar que todo esto solo corresponde al CPW, NO al
CHME, que en todo caso mandaremos en otro n£mero.
% El CPW %
Para decirlo en buen romance, este virus es, b sicamente, un
infector de COM/EXE residente.
Tiene la particularidad de ser un "fast infector", tal como nosotros
llamamos a este tipo de virus, que se reproducen a travs de varias
funciones, no solo la cl sica 4B. En el caso de este virus, lo hace tambin
con la funci¢n 3D00 (abrir para lectura), y la 43 (cambiar atributos). Como
estas funciones no difieren en el pasaje de par metros (en todas el nombre
del archivo en cuesti¢n viene en DS:DX) se hacen todas las infecciones con
la misma rutina.
Otros detalles son que infecta READ ONLY, no modifica la fecha del
file al infectar, y no produce error al infectar en un diskette
write-protected (intercepta INT 24 al infectar, bah).
El virus ocupa 1459 bytes, y queda en memoria con 2000 bytes. (no usa
nunca esta heap). El mtodo de residencia que usa es la ya cl sica
manipulaci¢n de MCB, aunque el c¢digo que usa para hacer esto es poco
convencional.
Una ultima observaci¢n interesante es que, por el dise¤o de la rutina
de infecci¢n, el virus no infecta COM de extensi¢n .EXE (En mi opini¢n,
esto se le "escapo" al autor, se equivoco en un JMP). Me imagino que esto
es lo que lleva a decir al de Virus Report que la efectividad del virus es
de "98%" (Se ve que ese 2% son los COM de extensi¢n .EXE que el tipo
escaneo, ya que ese es el £nico tipo de file que no infecta).
% Activaci¢n %
El virus tiene, en realidad, 3 rutinas de activaci¢n, a saber:
1) Si es 27 de mayo (como ver n la fecha esta BASTANTE bien
determinada), imprime el mensaje "Feliz cumplea¤os CPW!", y cuelga la
maquina. (Este disparador esta en la INT 21h)
2) El virus instala una rutina en la INT 16h que aproximadamente a la
1PM (13 hs) y a las 12 de la noche (0 hs) y durante mas o menos 1 minuto
(seg£n los c lculos de este humilde cronista), reemplaza todos los
caracteres que se entran desde teclado, por una string de 18 (12h)
caracteres que se repite, y que es: " You are here CPW!". Cuando pasa ese
minuto, todo vuelve a la normalidad. Esto no implica (como dice en la nota
de Virus Report err¢neamente) que el texto sea mostrado por pantalla, sino
que sencillamente, el texto entra como si fuera tipeado desde teclado. Que
pasara con el a continuaci¢n depende del trato que haga el programa que se
este ejecutando en ese momento con esos caracteres. Pueden salir a pantalla
(si uno esta en un procesador de texto, p.ej.) pueden ser interpretados mal
(como caracteres de control de alg£n programa que reaccione, p.ej. al
car cter "A"), o aun ignorados por completo (esto pasa en la mayor¡a de los
juegos con mouse :-)). Esto reduce aun mas las probabilidades de que
alguien que NO desensamblo el virus note realmente cuando y como "sucede"
esta string.
3) En la misma rutina de INT 21 (en el medio de la infecci¢n) el virus
chequea si el nombre del programa en cuesti¢n (ejecutado, abierto, etc)
contiene una substring de : "CNCGUARDEMSCPAVSCANCLEANFINDVIRUCHKVIRUS".
Cuando digo "el nombre" me refiero a todo lo comprendido entre el punto y
la ultima barra (de "C:\DOS\PROG.COM", seria "PROG"). Por lo tanto, se
dispara con varios antivirus conocidos (CPAV, SCAN, CLEAN) como con otros
no tan conocidos (FINDVIRU, VIRUSCHK) o incluso con cualquier otra
substring posible que no tenga nada que ver (NDV, HKVI, o cualquier otra
verdura que quieran). Al activarse esto, lo que sucede es que el file en
cuesti¢n es borrado (via AH=41/INT 21). Simp tico :-).
% en conclusi¢n... %
El virus esta bien escrito, no tiene c¢digo muerto, y esta bastante
bien estructurado (relativamente f cil de entender), y mas o menos
optimizado. Las rutinas de activaci¢n son bastante divertidas. En fin, un
lindo virus, y ya estoy podrido de sanatear, as¡ que ac va...
% SOURCE %
;---------------------- Cut Here ------------------------------------------
; Source del CPW en: CPW.ASM
;---------------------- Cut Here ------------------------------------------
Bueno, cortar, pegar, ensamblar, etc. Lo comente tanto como pude, si
les parece poco, preg£ntense porque el comentario de "openfile:" es "esta
rutina abre el file", y saquense el helado de la frente. Ah, y ojo con lo
del byte-a-byte match, lo tuve que fixear un poco porque el autor uso unos
LEA DX, [directo] (sin registro) para cargar DX, en vez de usar MOV, y como
ocupan mas, el TASM los hace MOVs (y otras cosas...). Saludos y hasta el
pr¢ximo virus...
Trurl el gran constructor [DAN]