[Previo por Fecha] [Siguiente por Fecha] [Previo por Hilo] [Siguiente por Hilo]
[Hilos de Discusión] [Fecha] [Tema] [Autor]Cristian Othon Martinez Vera wrote:
El jue, 14-10-2004 a las 13:07, Iván Caballero Cano escribió:Técnicamente, es posible hacer virus en Linux. Los virus al fin y al cabo son simplemente programas, que se pueden escribir en cualquier plataforma. Y no, afortunadamente no son pocas las personas que pueden analizar un programa para ver si contiene código malicioso o no. Por otra parte, el entorno donde se desarrolla Linux no facilita mucho que digamos la propagación de un virus. Supongamos que escribes un virus para Linux. ¿Pero para cuál versión?
Un binario para kernel 2.4 ligado estático.
Es más fácil atacar a una en particular, Red Hat, pero si quieres ser más genérico piensa que no necesitas tener un éxito del 100%, con que tengas un 20% tu propagación será muy buena.....¿Vas a atacar a una distribución en particular, o a todas?
Aunque los métodos del virus generalmente son muy específicos y no necesitan mucho código, además de que puedes usar librerías más pequeñas para ligar estáticamente como la dietlibc o usar ensamblador para optimizar todavía más el tamaño....Si planeas atacar a todas, el virus va a ser algo grande, porque necesita compilarse estáticamente, para no depender de las bibliotecas de cadadistribución;
El virus multiarquitectura si está más cabrón, pero con que ataques a loa i386 tienes para divertirte bastante rato.por lo tanto, su distribución se dificulta. ¿Para qué arquitectura de hardware?
El conjunto de instrucciones para cada procesador soportado por Linux es bastante diferente entre sí. ¿Te vas a dedicar a atacar x86/x86_64? ¿PPC32/64? ¿ARM?
¿O ........ no te gustaría atacar Perl, PHP, Python....? ... ¿XMLRPC? (no, ahí si ya me la jalé)
Hay muchas alternativas, le puedes pedir a un PHPNuke que te lo ejecute por medio de inyección de código PHP o por medio de inyección de SQL o ya si te quieres sentir muy 31337 entonces te vas a tu sitio de advisories favorito y te buscas el buffer overflow de moda y reemplazas el shellcode del exploit por tu virus.Y por último, quién va a ejecutar tu virus para que lleve a cabo sus malévolos planes dedestrucción?
Depende dónde lo escondas; lo puedes meter dentro de un módulo del kernel y nadie tiene por qué darse cuenta o lo puedes encapsular dentro de un rootkit. Y, además, si se trata de un virus que nadie sabe de dónde llegó ni por dónde llegó, ¿para qué necesitas ocultarlo? Mejor que dedique sus líneas de código a hacer su chamba lo más eficiente posible antes de ser detectado para que en el momento en que alguien lo detecte y lo saque pase poco tiempo antes de que se vuelva a meter.En Linux no hay llamadas secretas a APIs no reveladas para ejecutarse tras bambalinas, por lo cual tiene que hacer mucho esfuerzo para ocultarse.
Lo mismo, te vas a tu sitio de advisories favorito y buscas la técnica de moda para escalar privilegios; hay unas recientes para kerneles 2.4.Y para que un virus tenga realmente el efecto deseado, necesita ejecutarse con privilegios de root, lo cual no es trivial.
Eso si está más cabrón, pero la protección de stack no ejecutable no es exclusiva de Linux (además de que son muy pocos los linux que lo tienen); OpenBSD tiene su (no tan buena) versión, Windows 2003 también tiene algunas medidas similares....Además, un usuario de Linux responsable NO entra a su máquina y trabaja diariamente como root, ¿verdad? Resumiendo, nuestro virus tiene estas características: - Un binario grande, compilado estáticamente - Con soporte para más de una distribución y/o plataforma de hardware - Requiere de algo de esfuerzo del usuario para su ejecución/propagación. - Con las suficientes rutinas para evitar ser detectado por las utilidades del sistema operativo. Como quien dice, ocultarse de /proc, ocultarse de ps, ocultarse de lsof, ocultarse de netstat, ocultarse de <agregue su herramienta de detección de intrusos predilecta> - Con rutinas para tratar de ejecutarse con privilegios de root. Y con las últimas versiones de Linux, además debe evitar las protecciones a la pila de instrucciones/datos y/o que el bit NX no le meta una zancadilla. ¡Es de flojera hacer un virus así! Y más para la escasa propagación que va a tener, ¿no lo crees?
Por lo tanto, no le temo a Bush (en ese aspecto). En esta cuestión, creo que es más temible un adolescente antisocial y desvelado, con mucho tiempo en sus manos, y conocimiento mal empleado. Saludos
-- Sandino Araico Sánchez -- ... there's no spoon ...