Pentester e Intrusión en un sistema Versus Analista Forense y Detección de Intrusión (Parte I de III)
En el primer caso estaríamos dentro del ámbito de la seguridad ofensiva, los red team, el pentesting y el hacking ético; y en el segundo, nos estaríamos moviendo dentro del ámbito de la seguridad defensiva, los blue team y el DFIR (Digital Forensic and Incident Response). Sin embargo, lo que no es tan fácil de encontrar son supuestos prácticos que aúnen las dos aproximaciones, es decir, supuestos prácticos en los que se realicen una serie de acciones para lograr vulnerar un sistema e inmediatamente después se analice el rastro dejado por dichas acciones en los distintos elementos o artefactos del sistema.
Aplicando un enfoque didáctico, son indudables las ventajas que aporta el trabajo con este tipo de casos prácticos. Desde el punto de vista ofensivo, ayuda a tomar consciencia de la mayor o menor incidencia que las acciones realizadas durante una auditoría de seguridad o test de intrusión dejan en los sistemas, lo cual redundará en una mejora a la hora de tomar decisiones durante un trabajo de este tipo.
![]() |
Figura 2: Libro de Ethical Hacking 2ª Edición de Pablo González en 0xWord |
Durante el curso que ahora acaba, he impartido, en el CIFP Rodolfo Ucha Piñeiro de Ferrol, los módulos de Análisis forense informático y Bastionado de redes y sistemas que forman parte del nuevo Curso de especialización en ciberseguridad en entornos de las tecnologías de la información de la familia profesional de Informática y comunicaciones. Durante el transcurso del mismo, y principalmente para el primero de los módulos mencionados, he tenido que diseñar e implementar diferentes supuestos prácticos de este estilo para poder trabajar posteriormente con distintos artefactos y herramientas forenses que nos permitiesen analizar lo sucedido.
A modo de ejemplo, describo a continuación como implementar y analizar un escenario práctico sencillo sobre una máquina metasploitable 3 basada en Ubuntu Server 14.04. La utilización de máquinas de este estilo, con diferentes vulnerabilidades en los servicios que implementan, facilita mucho la tarea de preparación de un escenario ya que, sobre el mismo sistema, es posible realizar una gran variedad de acciones que tendrán distintos tipos de impacto sobre los diferentes artefactos del sistema.
Explotación de vulnerabilidades
Para realizar la intrusión utilizaremos una máquina Kali Linux situada en la misma red que la máquina objetivo. Comenzaremos realizando un escaneo con nmap sobre todos los puertos de la máquina (-p) tratando de obtener la versión del servicio que se está ejecu- tando (-sV) y estableciendo un número mínimo de paquetes enviados por segundo (--minrate 7500).
![]() |
Figura 4: Metasploit para Pentesters Gold Edition de Pablo González en 0xWord |
Acto seguido lo ejecutamos e inmediatamente conseguimos una shell remota, pero con el usuario chewbacca que no tiene permisos de administrador.
Trataremos de hacer ahora una Escalada de Privilegios que nos dé permisos de root dentro de la máquina. Para ello, primero miramos la versión de sistema operativo y el kernel de la máquina víctima.
Luego, haciendo una búsqueda por los exploits disponibles para dicha versión, seleccionaremos uno que nos permita una Escalada de Privilegios.
Una vez elegido, lo que haremos a continuación será descargar el fichero con el exploit dentro de la máquina víctima, en este caso el 37292.c, compilarlo y ejecutarlo. Lo descargaremos de https://www.exploit-db.com/download/37292:
Lo renombramos, compilamos y ejecutamos. Tras la ejecución vemos que hemos conseguido hacernos con privilegios de root dentro de la máquina víctima.
Vamos a habilitar ahora un mecanismo para facilitar accesos posteriores. Ya hemos conseguido entrar pero ahora hay que conseguir la permanencia, que es otra de las fases de todo buen Ethical Hacking. Cómo conseguir tener control perdurable a lo largo del tiempo, incluso después de los reinicios y de la aplicación del parche a las vulneratilidades explotadas para conseguir el acceso inicial.
![]() |
Figura 11: Pentesting con Kali Silver Edition |
Vamos a comprobar ahora si es posible conectarnos por SSH con dicho usuario. Lo haremos desde otra terminal de nuestra máquina Kali Linux.
Comprobamos cómo, efectivamente, hemos podido acceder al sistema y obtener permisos de root haciendo uso del usuario www-data que previamente hemos dejado bien preparado para poder volver a esta máquina siempre que queramos.
Y hasta aquí nuestra toma de control total de una máquina, tal y cómo lo haría un atacante de verdad. Pero toda intrusión deja rastros, y aquí no los hemos borrado pertinentemente. Esto es algo que, curiosamente, no se enseña en los cursos de test de penetración. La razón es bastante simple, cuando alguien es contratado para realizar un proyecto un Ethical Hacking no tiene porque preocuparse de que los analistas forenses lo localicen, pero los malos de verdad si que están preocupados por eso... o deberían.