sábado, junio 04, 2022

Pivotool, herramienta simple para pivotar en un pentest

Un proyecto de Ethical Hacking o prueba de penetración en ciberseguridad (pentest o pentesting), consiste en la realización de una serie de ataques a las redes y sistemas de una organización, previo acuerdo, cuyo objetivo es detectar vulnerabilidades, reportarlas y subsanarlas antes de que lo haga un ciberdelincuente, usando sus mismas técnicas. Cada maestrillo tiene su librillo, pero generalmente podemos diferenciar de forma clara cinco fases en un Ethical Hacking: reconocimiento, enumeración, análisis de vulnerabilidades, explotación y post-explotación

Figura 1: Pivotool, herramienta simple para pivotar en un pentest

Todas ellas está más que bien documentadas, y en todas ellas existen muchas herramientas y procedimientos diferentes que utilizar dependiendo del entorno, y el pentester, como se explica en el libro de Ethical Hacking.


Pivotool es una herramienta programada en bash que puede ayudar al pentester en la fase de post-explotación automatizando tareas, ahorrando tiempo y centralizando la información en un mismo lugar. No pretende ser la revolución de las herramientas de pivoting, pero si se trata de ser ágiles, es una opción para tener en cuenta. 

Pivotool: Ejemplo de uso

Un caso de uso sería el siguiente: durante la fase de explotación se ha conseguido acceso remoto a un sistema, bien explotando una vulnerabilidad, lanzando un ataque de fuerza bruta a servicios con credenciales, haciendo uso de ingeniería social, etc. Este sistema, al mismo tiempo que a Internet, está conectado a la red interna de la organización. En esta nueva red no conocemos nada a priori, y aquí es donde entra en juego Pivotool.

Figura 3: Ejecución de Pivotool

Al ejecutar Pivotool se presenta un prompt nuevo para interactuar con la herramienta y lanzar los comandos. Se puede obtener información del sistema, escanear la red en busca de otros servidores activos, escanear los puertos de esos servidores activos que se acaban de descubrir y, finalmente, realizar una redirección de puertos para poder acceder desde fuera de la red, utilizando el primer sistema como pivote. Además, se puede generar un pequeño reporte con todo lo que llevamos descubierto hasta el momento.

Figura 4: Caso de uso completo de Pivotool

Actualmente la herramienta se encuentra en continuo desarrollo, corrigiendo errores y ampliando funcionalidad. Además, se tiene en mente la migración a un lenguaje compilado, por ejemplo, Golang, para corregir ciertas carencias de la herramienta como las dependencias. La herramienta es pública y de código abierto y por supuesto cualquier recomendación, aporte, fallo detectado, etcétera; son más que bienvenidos. Os dejo el repositorio de Github de Pivootool:


Implementar esta herramienta está siendo un camino muy enriquecedor, donde el enfrentarme a los problemas que van surgiendo me hace aprender cada día algo diferente. Se lo recomiendo a todo el mundo, ya sea por necesidades en su trabajo o estudios, o por un reto personal. Queda mucho trabajo por delante con Pivotool, pero con que le sea de ayuda a algún compañero del gremio me doy por satisfecho. El aportar a la comunidad es algo que siempre llena.

¡Un abrazo!


No hay comentarios:

Publicar un comentario