> For the complete documentation index, see [llms.txt](https://b4zh.gitbook.io/b4zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://b4zh.gitbook.io/b4zh/pentesting/extra-de-hixec/pentesting-a-maquina-blackbox-antiguo-examen-del-ejptv1.md).

# Pentesting a máquina BlackBox (Antiguo examen del eJPTv1)

Las maquinas Blackbox son maquinas del laboratorio del INE para prepararte para el eJPT (esta máquina ya no está disponible porque era para el eJPTv1 pero igualmente sirve para reforzar conocimientos de cara al eJPTv2).

<figure><img src="https://2448382844-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FywHg0FIANmg3uxJJ9jhH%2Fuploads%2FiArZnfWtQIcOx88tAf2g%2Fimagen.png?alt=media&amp;token=c5da8ba5-8cc3-46b3-9274-c639c8245c2f" alt=""><figcaption></figcaption></figure>

No nos dan dirección IP, asi que hay que obtener las IPs de las maquinas partiendo de nuestra IP, para eso se usa fping o nmap con la bandera -sn, para este ejemplo usaremos fping:

<figure><img src="https://2448382844-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FywHg0FIANmg3uxJJ9jhH%2Fuploads%2Fr3KEQ3zyeel1jpHh3KMq%2Fimagen.png?alt=media&amp;token=9084363c-f10b-4f3d-949e-305ec1c57d10" alt=""><figcaption></figcaption></figure>

Nosotros somos la .2 y la .1 es la puerta de enlace, por lo que solo hay una máquina adicional que es la .3, enumeramos entonces a la mentirosa con nmap:

<figure><img src="https://2448382844-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FywHg0FIANmg3uxJJ9jhH%2Fuploads%2F0pSfP7Ddow3yrDWlP11O%2Fimagen.png?alt=media&amp;token=6aec2e4a-1a45-435b-a12b-57066a1f5b31" alt=""><figcaption></figcaption></figure>

Solamente hay 2 puertos abiertos, el 80 con servicio web (aparentemente) y el 3306 con un SGBD MySQL

Ahora, un escaneo más intenso a estos puertos igualmente con nmap:

<figure><img src="https://2448382844-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FywHg0FIANmg3uxJJ9jhH%2Fuploads%2FY8cGQHQonzC4hx2e5zd9%2Fimagen.png?alt=media&amp;token=a12323ef-2a21-46b7-b700-f172a39e529e" alt=""><figcaption></figcaption></figure>

En efecto, es un servidor web, nginx y un gestor de base de datos, cuando pasa esto hay que acceder al servidor web para comprobar que hay por ahí, o puedes irte a tomar café y no hacer nada más, flojo.

<figure><img src="https://2448382844-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FywHg0FIANmg3uxJJ9jhH%2Fuploads%2FUzZ8jfHeTSlVNYovf2nS%2Fimagen.png?alt=media&amp;token=2e62a948-c765-4d6f-9a44-bb05d28aaafb" alt=""><figcaption></figcaption></figure>

Se puede ver que en servicio web hay un CMS llamado V-CMS en su versión 1.0, cuando vea alguna versión de alguna tecnología, hay que buscar exploits para esa versión, yo busqué y encontré el siguiente:

<figure><img src="https://2448382844-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FywHg0FIANmg3uxJJ9jhH%2Fuploads%2FkFpbcHAyWiFBUypePj6r%2Fimagen.png?alt=media&amp;token=a658306e-ef12-4518-8e1e-18a9282b71d7" alt=""><figcaption></figcaption></figure>

Es un exploit que, solo funciona en metasploit, entonces abrimos Metasploit, Framework y buscamos el exploit.

<figure><img src="https://2448382844-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FywHg0FIANmg3uxJJ9jhH%2Fuploads%2Fnncnb4mq8v9azDy3fUCw%2Fimagen.png?alt=media&amp;token=18f7125f-7a06-4c6c-895a-4f0b89cfe4e4" alt=""><figcaption></figcaption></figure>

Ahora, configuramos todas sus variables.

<figure><img src="https://2448382844-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FywHg0FIANmg3uxJJ9jhH%2Fuploads%2FvGZQX7zORqmSfG800F8c%2Fimagen.png?alt=media&amp;token=8a2bfaaa-e2b5-465c-a077-4b4a0a1d509e" alt=""><figcaption></figcaption></figure>

Y, acto seguido, el exploit es lanzado con “exploit”, si lo inetntas lanzar con “run” das vergüenza. Cuando hacemos esto, entonces obtenemos acceso como root en el sistema:

<figure><img src="https://2448382844-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FywHg0FIANmg3uxJJ9jhH%2Fuploads%2FOQnhr3TQ3RauZKyCsOIR%2Fimagen.png?alt=media&amp;token=42a089fb-f871-4dfd-a886-774118806a7e" alt=""><figcaption></figcaption></figure>

Por lo que, nos abrimos una shell y ejecutamos el comando ifconfig:

<figure><img src="https://2448382844-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FywHg0FIANmg3uxJJ9jhH%2Fuploads%2F6IuDH7xcruPBMuqI40QZ%2Fimagen.png?alt=media&amp;token=eeb5efe4-adc0-4432-b7a2-4af4996c1031" alt=""><figcaption></figcaption></figure>

Y aquí se puede ver que la maquina tiene conexión con otro segmento de la red al que mi maquina no tiene, por lo que, aquí hay que hacer un simple pivoting para poder hacer que la maquina vulnerada haga de “router” y nos permita interactuar con las máquinas del otro segmento de red, esto con Metasploit Framework se puede hacer de varias formas, que deberías conocerlas porque las vimos en su curso respectivo, si no lo has visto, entonces ni me molestaré en explicarte porque salen las alertas en amarillo.

<figure><img src="https://2448382844-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FywHg0FIANmg3uxJJ9jhH%2Fuploads%2Fn0lUAE2wyeJhPtyR97NA%2Fimagen.png?alt=media&amp;token=3be08796-f168-48e5-b9ba-35be7d2feaf9" alt=""><figcaption></figcaption></figure>

Primero se pone la red (dirección de red) a la que vamos a querer acceder y luego su máscara, luego en Framework hará todo por ti (flojo x2) y ahora, toca escanear puertos de los hosts de la nueva red, para eso se deja en segundo plano la sesión de meterpreter y se usa un módulo para escanear puertos, como el auxiliary/scanner/portscan/tcp:

<figure><img src="https://2448382844-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FywHg0FIANmg3uxJJ9jhH%2Fuploads%2FpStf6rOuRJESz43BhqBu%2Fimagen.png?alt=media&amp;token=f57beb73-7b4b-49a5-a6d3-dad9bddfd212" alt=""><figcaption></figcaption></figure>

Ahora se configuran sus requisitos, como no se sabe cual es la IP de los hosts activos, aquí es simple, solo hay que indicar que escanee los puertos de todos los hosts (o, dependiendo del alcance, los puertos que te permitan o que se hayan pautado) si hay algún puerto abierto, por lógica, el host también está activo:

<figure><img src="https://2448382844-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FywHg0FIANmg3uxJJ9jhH%2Fuploads%2Fx4i1DZD09aWPEMTCcSmf%2Fimagen.png?alt=media&amp;token=24cb3555-ca65-496d-b9cb-e4cf71ad1803" alt=""><figcaption></figcaption></figure>

Rápidamente verás que hay dos puertos abiertos en el host .3:

<figure><img src="https://2448382844-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FywHg0FIANmg3uxJJ9jhH%2Fuploads%2F13JmcGeakTT7gQRT64IH%2Fimagen.png?alt=media&amp;token=de8426af-abe8-4ea9-b8cc-7586ba30187e" alt=""><figcaption></figcaption></figure>

Ahora, sabemos que hay un host activo, entonces, hay que redirigir el tráfico de dichos puertos a nuestra máquina local para así poder escanearlos, para esto, volvemos a la sesión de meterpreter:

<figure><img src="https://2448382844-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FywHg0FIANmg3uxJJ9jhH%2Fuploads%2F2BV6AjiIo6Cyrmp1QmBc%2Fimagen.png?alt=media&amp;token=72eae92b-3faf-4e10-aae9-d780e8a79f07" alt=""><figcaption></figcaption></figure>

Y lo configuramos con la herramienta portfwd, entonces, todo el tráfico que se envíe a esos dos puertos remotos, se redirigirán a los puertos locales de la máquina que estamos usando, por lo que, ahora mismo, en nuestra máquina con dirección IP de loopback 127.0.0.1 están abiertos los puertos 2100 y 2200 que nos mostrarán el contenido de los servicios de la máquina víctima en los puertos 21 y 22 correspondientemente.

Así que, escaneamos dichos puertos:

<figure><img src="https://2448382844-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FywHg0FIANmg3uxJJ9jhH%2Fuploads%2FZVvphyrU4rlhRqzyIgum%2Fimagen.png?alt=media&amp;token=4a5dbc87-d7f0-44ad-a0e0-b8cb479df0e9" alt=""><figcaption></figcaption></figure>

Vemos entonces las versiones de los servicios de esos puertos, a resaltar el servicio ftp tiene una versión algo antigua (y digo algo por ser educado, eso está más viejo que mi abuela) y, como es evidente, para versiones tan antiguas (y orientándonos a los requisitos de la eJPTv2) lo mejor será usar Metasploit Framework.

<figure><img src="https://2448382844-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FywHg0FIANmg3uxJJ9jhH%2Fuploads%2F1PBmBk2cdKVo4cwejnP2%2Fimagen.png?alt=media&amp;token=3b7bbb31-4762-4226-9ca7-9fb70d6f8191" alt=""><figcaption></figcaption></figure>

Al lanzarlo ya somos root en el sistema y hemos comprometido todas las máquinas del pentesting.

<figure><img src="https://2448382844-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FywHg0FIANmg3uxJJ9jhH%2Fuploads%2FqNZbgH7uGYHCnNeha43P%2Fimagen.png?alt=media&amp;token=91640602-e0f6-4084-ae57-47ad3df29b44" alt=""><figcaption></figcaption></figure>
