[Ayuda] Virus en Linux (era Re: {Offtopic}¡MozParty v2! La version 1.0 se acerca...)

Sandino Araico Sánchez sandino en sandino.net
Vie Oct 15 05:51:14 CDT 2004


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.

>¿Vas a atacar a una distribución en particular, o a todas?
>
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.....

> Si planeas
>atacar a todas, el virus va a ser algo grande, porque necesita
>compilarse estáticamente, para no depender de las bibliotecas de cada
>distribución; 
>
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....

>por lo tanto, su distribución se dificulta. ¿Para qué
>arquitectura de hardware?
>
El virus multiarquitectura si está más cabrón, pero con que ataques a 
loa i386 tienes para divertirte bastante rato.

> 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é)

> Y por último, quién va a
>ejecutar tu virus para que lleve a cabo sus malévolos planes de
>destrucción? 
>
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.

>En Linux no hay llamadas secretas a APIs no reveladas para
>ejecutarse tras bambalinas, por lo cual tiene que hacer mucho esfuerzo
>para ocultarse.
>
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.

> Y para que un virus tenga realmente el efecto deseado,
>necesita ejecutarse con privilegios de root, lo cual no es trivial.
>  
>
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.

>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?
>  
>
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....

> 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 ...


 
_______________________________________________
Ayuda mailing list
Ayuda en linux.org.mx
Para salir de la lista: http://mail.linux.org.mx/cgi-bin/mailman/listinfo/ayuda/



Más información sobre la lista de distribución Ayuda