lunes, 8 de octubre de 2007

Estrategia de un Viruker

Anónimo

Estrategias de un viruker: apuntes de los pasos que sigue un virus para infestar y mantenerse activo en una PC

Con mi máquina fastidiada, que enciende cuando le da la gana, me entró el arrebato de escribir este artículo que pudiera ser bastante sensible debido a su contenido y advierto antes de decir cualquier cosa: LO QUE AQUÍ ESCRIBO ES SOLO CON FINES EDUCATIVOS, EL AUTOR NUNCA HA LLEVADO A LA PRÁCTICA NINGUNA DE ESTAS TÉCNICAS. En lo particular, pienso que hay cosas más interesantes que un virus para demostrar el poderío cognoscitivo de uno, aunque no niego que todo el que ha practicado o estudiado hacking ha sentido la tentación de hacer virus.

Las líneas que verán pertenecen a un resumen de las estrategias que seguiría un virus que pensaba hacer en mis inicios como hacker. En ese tiempo aprendí de todo: ¿recuerdan el artículo de cómo violar la seguridad de un programa rompiendo la pila? Esa es una técnica de una hacker auténtica, y no crean que lo dejé allí donde terminaba (a pesar de que fue un artículo bastante largo), sólo que no puedo mostrarlo todo porque si no, no tendría gracia. Yo no escribo para lamers: si quieren ser buenos, tienen que estudiar ;).

Cada virus tiene una estrategia particular para infestar la máquina y garantizar que se ejecute sin hacerse notar en cada inicio del sistema. También tiene otras estrategias de ataque, que son las más devastadoras porque en general consisten en ataques DOS (Denial of Services), pero para que estas sean efectivas deben primero propagarse lo más rápido posible.

En toda mi vida informática he visto y analizado todo tipo de virus, en especial los gusanos, que son los que emplean técnicas de alto nivel para su propagación. Recuerdo que una vez había escrito en mi DeathNote una técnica de propagación que consistía en crear un archivo del tipo folder.htt (recuerdo que había estudiado la manera en que este funcionaba para configurar contenido html en una página), lo cual le permitía hacer cosas tales como crear un efecto de lluvia en la zona de las propiedades de los elementos seleccionados. Esas vulnerabilidades eran 0days por esos días (vulnerabilidades todavía sin explotar) y ya yo estaba pensando en hacer un virus que quedara para la historia como el Melissa o el Iloveyou, muy famosos en aquellos tiempos. Para ese entonces mi único objetivo era ver como se reproducía... Y que me tilden de loco, pero esa es una sensación parecida a ver un hijo crecer y hacerse notar o la de un dios que crea vida de la nada. Son como líneas de código con conciencia, y a veces hasta le creaba logos al estilo los .info para que lo mostrara cuando dejara sin funcionar la máquina. Al parecer me demoré atareado con otros proyectos y alguien se me adelantó creando un virus cuyo nombre es irrelevante puesto que después se puso de moda y muchos otros virukers lo usaron. Incluso, hubo uno cubano que tuvo varias versiones. En fin, un virus informático siempre es algo muy polémico pero, como dije: hoy por hoy lo considero anárquico.

A aquellas personas que crean que el contenido de este texto es destructivo, les diré que no: hasta las compañías antivirus lo hacen para que el usuario especializado conozca cómo funcionan y se puedan proteger incluso sin antivirus. Yo, por ejemplo, cuando veo un virus más o menos me imagino dónde se podría meter o cómo se reproduciría, así como el nombre del proceso afectado ya que conozco los procesos comunes de Windows, etc. El mismo SAV32 tenía una librería de virus (muy buena, por cierto), que decía la estrategia completa seguida por el virus para infestar, reproducirse y atacar. Pensándolo bien, creo que esos apuntes los hice inspirados en los demos que acompañaban a esa librería, los cuales mostraban la firma (mensaje visual) de algunos virus, principalmente de MSDOS. Es cómo yo digo: “el desarrollo es un riesgo” pero el remedio no es la falta de libertad de conocimiento pues aquí les van mis apuntes. Ojalá les guste,

OJO: puede que muchas de estas técnicas sean obsoletas puesto que dejé de actualizarlas hace casi 3 años y reflejan los conocimientos que tenía en esa época. También están descritas de forma breve para simplificar una idea antes de concretarla. Por eso estos apuntes solo puede ayudarlos a entender la fase inicial de cómo crear un virus:

Vulnerabilidades y posibles 0days

• Paquetes de netsend (servicio activo por defecto interpretado por la máquina) - posible BOF.
• Estudiar conexión a impresora.
• Vulnerabilidad web ::$Data.
• Ejecución de scripts al leer documentos con doble extensión, como .txt.vbs (el logo de un documento de texto se parece mucho a los txt). Luego asignarle a una extensión no usada (evita el escaneo de antivirus) como programa de apertura el virus. Y poner un archivo con un nombre aleatorio y la extensión creada aleatoriamente también) entre los archivos que se ejecutan en el registro \Run.
•Hacer lo mismo para extensiones existentes tan usados cómo el .exe para que se ejecute automáticamente cuando se cargue cualquier programa necesario en el inicio del sistema, ejemplo: explorer.exe. Luego que se ejecute, el virus restaura el valor.
• Sustituir la extensión de un archivo por su CLSID (vbs, o js)
• Crear botones y servicios del Internet Explorer como troyanos.
“Con , aux y clock$” son palabras reservadas por Windows y MSDOS. Cada vez que se haga una petición para crear archivos con esos nombres nos lo negará, pero qué tal si lo hacemos a bajo nivel (Funciones del BIOS mediante asembler)
• Investigar vulnerabilidad WEBDAV, RPC COM, “Scriptlet. typelib” y “Typelib ”
• Vulnerabilidad de los correos “INCORRECT MIME HEADER” (permite ejecutar un código arbitrario pegando un archivo cómo si fuera de sonido).

TÉcnicas y estudios

• Determinar cual host está activo en la red, escanear quiénes tienen servicios de acceso remotos o troyanos (estudiar los más propagados en la zona de expansión). Obtener los host y recursos compartidos más accedidos por el momento.
• Estudiar el lmhosts.
• Usar el nectcat como herramienta para conectarnos al sistema mediante el telnet, es una herramienta muy usada por los administradores de redes y no es considerada un troyano.
• Compilar la Dll que aparece en la ezine Agni-3.
• Probar la creación de un troyano llamado explorer.exe muy útil en Windows 98.
• Ver el FPNWCLNT de la ezine Agni-5. Estudiar registro HKLM\system\CurrentControlSet\Control\LSA.
• El comando AT y el servicio SCHEDULE. Probar si está activo en una máquina.
• SRVANY.exe: convierte un programa daemon (programas con icono en la barra de tareas) en un servicio
-Programa qstart; inicia vista previa en el refrescador
• Manejo del Clipboard (portapapeles).
• Hacerle flooding a la máquina y "nukearla".
• Rootkit con el folder.htt.
• Explotar el RPC (Remote Process Caller)
-Crear un Shell pirata con el netcat

Nombre de la Aplicación

El nombre se escogerá según las características de las técnicas de virus, y se hacen llamativos e identificados con su función.

TechnoMon
Zeraph
KOZ
Chip
Monscript
ClonNer
Appendice
AntiByte
DigiMon
BitMon
Mozter
Puzzle
Halo
Voltus
KOz
CHIPlug
PugMonzteR
HaMMzter
DigiMon
Codevil
Hiper


Recuerden: crear virus no es una virtud ni nos hace más listos que nadie. Hagamos como Picasso cuando pintó Guernica: convertir la ira en arte. Si quieres pasar a la posteridad por hacer un programa, mejor haz uno que llame suficientemente la atención tal que los demás lo soliciten, o que desarrolle toda una comunidad como el Napster, o el BIT Torrent. Eso sí es meritorio. Los virus son típicos de estudiantes o de newbies, o si no, de hackers vándalos o que trabajen para la mafia, y esos son escasos y no cuentan en el underground. Recuerda que el hacker es creador no destructor, crea nuevas formas de hacer no las destruye.

¡Buena suerte y les deseo buen código!



Artículos relacionados


No hay comentarios: