DisidentS Hacker Team 2003
PRESENTA
TUTORIAL SOBRE
Estudio completo de virus simples |
por
Información |
Programa: |
Virus del Kazaa (ponerse contacto conmigo) |
Tamaño: |
El tamaño no importa XDDDDD |
URL: |
|
Objetivos: |
|
Herramientas: |
|
Dificultad: |
NewBie avanzado |
Introducción |
Hola amigos!!!! Bienvenidos a la 36 entrega del curso de AkirA sobre protecciones comerciales.
Hoy vamos a hablar de un tema curioso. Hace poco un amigo se quiso unos parches para sus juegos (de entre ellos un Parche NO-CD praetorinas (62 K) y uno para el Pax Payne (no recuerdo exactamente que nombre)).
El caso es que este chico tenia el Norton Antivirus 2003 sin actualizar. Y no dijo nada. Cuando lo probamos en casa de otro amigo el antivirus (que era el mismo pero actualizado hasta la fecha) salto como un cosaco y dijo que no lo dejaba meter al ordenador porque tenia un virus.
Mi primer colega actualizo el antivirus, y ahora si que lo reconocio, pero el programa ya estaba instalado y el antivirus decia que no podia ni borrarlo, ni ponerlo en cuarentena , ni nada de nada (y se quedo sin solucion) Ya entendereis porque
En ese mismo instante me dije, por que no intentarlo? Por que no abrirlo con el Olly e instentar estudiarlo.
Y me puse manos a la obra XDD
Por suerte eran virus sin demasiadas protecciones. (no tenian una encriptaciones especial de la tabla de datos, ni se anexaban a ningun archivo, y por supuesto nada de polimorfismo ni nada de eso (ya lo vereis)
Mas que virus , son programas maliciosos. Los dos son muy semejantes, incluso puede que esten hechos por la misma persona, aunque uno te reinicia una y orta vez el Pc y otro te instala una BackDoor.
Desconozco si tienen nombre. Yo los he llamado Mscvrt32.exe y ExitW.exe (ya vereis porque)
Me alegre mucho cuando comprendi lo que hacian estos virus y cuando por logica supe la manera de queitarlos del PC ( ahora primer colega, escanea el Pc y ya indica Virus = 0 XDD)
Quiero dedicarle este tuto, (muy especial para mi, porque supone un paso mas en los temas importantes por hablar) a JOE CRACKER al que tengo una gran admiracion (mirad su pagina y sus mas de 60 tutos!!! XD) y tambien se lo quiero dedicar a un gran colega y cracker SPARK, (el cual debe escribir muy rapido ya que trabaja en varios Ezines XDD)
Cualquier duda escribirme a mi email atalasa@hotmail.com
Nota : si necesitais informacoin sobre Ollydbg buscar en la pagina de joe cracker : www.iespana.es/ollydbg esta es la mejor pagina que hay sobre el tema, de hecho gracias ha ella yo hago todos es tos poryectos en olly
Comentario del Programa |
Por supuesto el disclaimer de turno. Vamos a ver, no es que no me haga responsable de la utilizacion de esta informacion, es que directamente paso del tema, el unico proposito de todo esto es de carácter educativo.
A fin de cuentas, si lo que quieres es crackear un programa pues te bajas el crack y punto, pero si vas a leer este tutorial es porque tu objetivo es aprender. Eso es lo que nos motiva, el comprender como funcionan las cosas o como estan hechas por dentro, y por supuesto el subidon de haberle ganado a un equipo de ingenieros diseccionando un objeto que ellos habian diseñado y del cual no sabemos nada.
Por cierto utilizaremos
el ejemplo que hay en el curso de ricadro narvaja sobre petite que
esta empaquetando el crackme #1 que te lo puedes bajar del ftp de
ricardo o de aquí mismo, de la pagina del profesor X (arriba
enlace) y busca el curso de ricardo.
Manos a la Obra |
Comienza el asedio.... |
Hola a todos y bienvenidos a la 36 entrega del curso de AkirA sobre protecciones comerciales.
Para analizar un virus debemos tomar una seerie de precauciones.
Lo primero es instalar una maquina virtual, yo utilizo VMware-workstation-4.0.5-6030 , aunque tu deberias bajarte la ultima version. Bien, aquí podremos hacer todas las particiones que queramos, ya que lo que pase en ellas no afectaran a la maquina real, ya que se tratan de particiones “virtuales”.
Una vez instalado el programa haz una particion para windows (yo te aconsejo para windows Me, 98 o 95, que son los mas vugnerables a todo) e instala dicho sistema opertivo como si lo estuvieses haciendo en una maquina real.
Sobre VMware-workstation-4.0.5-6030 puedes encontrar muchos manuales en internet. La verdad es que es un programa tan facil e intuitivo que no perdere el tiempo explicandolo. Es un programa que vale lo que cuesta.
Una vez que hayais hecho esto, copias el Ollydbg y el primer virus. El ExitW.
Cargamos el Olly y damos a open y seleccionamos el virus. (cada uno el nombre del archivo que tenga)
Bien, lo primero que observe del virus es que si das al boton derecho y pinchas en search for – all referens strings vereis dos cosas muy llamativas. Una es una direccion del registro de windows y otra es una frase que dice Runtime VC++ etc, Ya sabemos dos cosas. Una , que el virus fue compilado en VC++ (lo cual es muy raro porque casi todo lo que he visto suele estar hecho en VB) y que el virus debe acceder al registro de windows ( en concreto a una direccion muy importante que luego veremos)
Id haciendo paso a paso lo que os digo e iremos rapido:
Poned un breakpoint aquí:
Esta api ya la hemos visto anteriormente, se utiliza para acceder a una key del registro de windows. (recordar que el registro de windows es una especie de base de datos donde se guarda toda la informacion y configuracion de windows en forma de arbol jerarquico. Seguro que en los ezines de DISIDENTS encontrareis mucha informacion si quereis profundizar en este tema, o consultar los tutos anteriores AkirA que hablan del registro )
Observar detenidamente la direccion. Esa direccion es muy imporatante. Cada clave de esa direccion es un programa que windows debe cargar en el arranque del ordenador.
Seguimos trazando con f8 hasta llegar a esta direccion:
Esa api, que tambien hemos visto anteriormente, se utiliza para establecer una clave dentro de una key del registro de windows.
Al parecer, el dichoso programita, esta metiendo una entrada llamada EW y que contiene un nombre de archivo ExitW.exe. Pues a partir de ahora, cada vez que se inicie el ordenador se cargara un programa llamado de esa manera, aunque el programa todavia no existe. Sigamos observando
Ahora tracemos con f7 hasta llegar a esta direccion:
Estas apis que teneis ante vosotros son las tipicas apis de GDI (interfaces para dispositivos graficos) Aquí no hace falta que lo analicemos muy a fondo, porque se ve claramente que el programa va a pintar algo en pantalla y sobretodo cuando trazando con f8 llegamos a “Textout” y sale ese mensaje de “bye, bye, ..” etc
Es para poner un mensajito en bonito.
Si seguimos ejecutando con f7 llegamos hasta esta zona:
Donde vemos informacion interesante.
Esa api se utiliza para recoger valores de tipo string tanto en archivos INI como en el registro de windows, tambien las hemos visto con anterioridad en otros tutos.
Parece ser que el virus lleva la cuenta de cuantas veces se ha accedido al programa, y que ontiene esos valores con estas apis.
Seguimos trazando con f7 (saltarse las apis con f8 claro) y llegamos a la zona mas importante del virus:
Fijaos bien en ese “GetFullPathName” y en la siguiente Api “CopiFile”
Bien, una posible interpretacion seria la siguiente (aunque no tiene porque ser defintiva):
El virus controla si se ejecuta por primera vez con GetProfileStringA , si es asi, obtiene la direccion donde se esta ejecutando que GetFull... y despues hace una copia del archivo a C:\windows\ExitW.exe
En caso de que no sea la primera vez, se salta eso de copiarse
Fijaos que la direccion de destino (lo que es el nombre del archivo) coincide con la entrada que creo el virus en la key RUN al principio (eso es fijo, estatico).
Sigamos trazando con f7( saltarse las apis con f8) para ver que mas va haciendo el virus.
Entonces llegaremos a esta zona:
Vemos que ejecuta la funcion ExitWindowsEx y vemos que los flags son” Reboot y force
Osea, que lo que el virus hace es forzar al ordenar a que se reinicie una y otra vez y como cada vez que se reinicia se vuelve a cargar el programa porque tiene una entrada en el registro.... pues vuelta a empezar. ”.Anda!!!!!! como el Blaster!!! Que jodio!!
Ya sabemos lo que hace el virus y lo tenemos totalmente pillao, ahora vamos a por el.
Vamos a solucionar el problema ( vamos a quitar el virus):
Reiniciar windows (el virtual infectado claro) y mantener presionado f8. Y seleccionar arrancar en “modo seguro” . Lo primero, sera borrar el archivo C:\windows\ExitW.exe.
Ahora ya dejariamos de estar infectados, pero por limieza vamos a limpiar tambien el registro.
Pincahd en Inicio-ejecutar y escribid Regedit
Y dirigios como en el explorador de windows a esta direccion:
Alli encontrareis una entrada llamda EA y contiene el nombre del archivo ExitW.exe. Suprirlo.
Alguno podra pensar. Oye ¿ y no te olvidas de las entradas donde se guardan las veces que se ha ejecutado el virus? Muy bien, pero es que esas entradas precisamente no las borramos, porque como el virus ya se ha ejecutado mas de una vez, no se copiara con CopyFile y seremos totalmente inmunes al virus en futuros descuidos (osea, archivos con otro nombre pero mismo virus).
Ahora podeis probar vosotros mismo con el mscvrt32.exe . Es muy extendido por el Kazaa (mas de lo que pensais) ocupa unos 62 k y tiene muchos nombres, sobretodo tipo Parche No-CD Praetorians.exe o el nombre que sea XDD
Cosas a tener en cuenta para los que no tengais miedo a analizarlo.
el virus se copia en C:\windows\system32\mscvrt32.exe (deberiais hacer un buscar el archivo, no vaya a ser que esteis infectados)
este virus no te reinicia el ordenador, te instala una BacKdoor donde te pueden robar archivos a incluso instalarte cosas de forma remota.
En el registro se guarda en dos sitios. ( el primero ya lo habeis visto arriba) , el segundo es tambien un ... algo/algo/..RUN pero este Run arranca los servicios de windows. Esto es muy importante.
Los antivirus no pueden eliminar ni tocar este programa porque son servicios, de windows, es decir el propietario del programa(el que lo lanza) es SYSTEM, y aunque tu seas administrador no podras tocar este archivo, porque el SYSTEM es el dios de tu ordenador. Por eso el antivirus no puede ni tocarlo, ni borrarlo , ni ponerlo en curentena.
Para borrarlo sigue el mismoprocedimiento que con el otro (osea arranca en MODO SEGURO, borra el archivo y borra todas las entradas del registro que tengan algo que ver con el programa XD)
Bueno espero que os hayais divertido
Hasta la proxima!!!
Nota: |
Bueno espero que te hayas divertido y sobre todo que hayas aprendido mucho que es de lo que se trata , que te sirva de ejemplo para que tu tambien puedas hacerlo, desde luego no hay comparado como coger un programa, abrirlo, ver un monton de codigo por todas partes y manejar lo que otros ingenieros han hecho ,tu solo, por ti mismo.
Bueno , si quieres comentarme algo escribeme a atalasa@hotmail.com ,
Quiero agradecer a ricardo narvaja y a makkako por su increible esfuerzo de escribir tantisimos y buenos tutoriales que nos han llevado a aprender tanto, agradecer al profesor X por sus famosas compilaciones, Y tambien agradecer a joe cracker sus por su pagina muy muy actualizada y por el esfuerzo de divulgacion de olly que esta haciendo, ha sido muy importante en mis progresos como cracker.
Si deseas aparecer en la compilación envía tu tutorial a: profesor_x@hotmail.com
Chao!! |
Espero que hayan disfrutado leyendo este tutorial y que les sirva para incrementar sus habilidades, pero recuerden, lean muchos tutoriales, practiquen, estudien y CRACKEAR será mucho más