> For the complete documentation index, see [llms.txt](https://rodgar.gitbook.io/rodgar/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://rodgar.gitbook.io/rodgar/othe/pivoting/internal-tryhackme.md).

# Internal TryHackme

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2F7k6S0R9kjYjc7EGsvNQA%2FCaptura%20de%20pantalla%202024-01-24%20a%20las%2022.07.42.png?alt=media&amp;token=cc99abe2-1e66-43c5-bf25-4f98822cfaf0" alt=""><figcaption></figcaption></figure>

En esta maquina exactamente pivoting no, pero hacemos uso de chisel, y todo lo que lo involucre a ella estaran en este apartado de Pivoting.

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FPLMw7727whMcTtY2sEIe%2F1.png?alt=media&amp;token=7d922fb0-533a-4055-b478-a8abecd313b9" alt=""><figcaption></figcaption></figure>

Primero hacemos un escaneo para ver que puertos estan abiertos.

```javascript
# Nmap 7.94SVN scan initiated Wed Jan 24 19:28:25 2024 as: nmap -sCV -p22,80 -oN target.txt 10.10.205.185
Nmap scan report for 10.10.205.185
Host is up (0.078s latency).

PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   2048 6e:fa:ef:be:f6:5f:98:b9:59:7b:f7:8e:b9:c5:62:1e (RSA)
|   256 ed:64:ed:33:e5:c9:30:58:ba:23:04:0d:14:eb:30:e9 (ECDSA)
|_  256 b0:7f:7f:7b:52:62:62:2a:60:d4:3d:36:fa:89:ee:ff (ED25519)
80/tcp open  http    Apache httpd 2.4.29 ((Ubuntu))
|_http-title: Apache2 Ubuntu Default Page: It works
|_http-server-header: Apache/2.4.29 (Ubuntu)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
# Nmap done at Wed Jan 24 19:28:34 2024 -- 1 IP address (1 host up) scanned in 9.36 seconds
```

Observamos las versiones y servicios que corren para estos dos puertos.

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FDDZdnlWaKyeF2j7CpfRR%2F2.png?alt=media&amp;token=76821d1c-6081-4800-a317-dee51b4e7bce" alt=""><figcaption></figcaption></figure>

Si hacemos uso de Wfuzz para fuzzear directorios ocultos encontramos varios pero el interante blog.

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FBVlgoPl77pd9Sktx9n68%2F3.png?alt=media&amp;token=f172e554-0f9f-4fd5-920c-24b3c3aea816" alt=""><figcaption></figcaption></figure>

Si te vas ah blog te cargara como el culo debes añadir el dominio internal.thm a tu /etc/hosts para que te cargue bien la pagina, luego nos vamos al Log in.

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FFOb2MKcWZUz5HMMqEZRU%2F4.png?alt=media&amp;token=8c54fe2c-2676-4926-a722-ac86eed77756" alt=""><figcaption></figcaption></figure>

Ahora si hacemos uso de Wpscan enumerando usuarios encontramos al usuario admin.

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FnHXGu6VzWIYrPLBBpHcS%2F5.png?alt=media&amp;token=2f005005-f92e-4aa1-88e4-a03b3e56caf2" alt=""><figcaption></figcaption></figure>

Haciendo uso del usuario encontrado hacemos fuerza bruta para su contraseña con el mismo wpscan.  con el parametro -U le pasas el usuario el -P la lista de palabras en esta caso la lista de rockyou.

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2Fok7JgWmvmrD4uj02BvEU%2F6.png?alt=media&amp;token=b35a1e78-ea07-4a5f-85e9-24bfdabbb8e5" alt=""><figcaption></figcaption></figure>

Nos loguemos y estando dentro nos dirigimos ah apariencia y al editor de temas y vamos a editar el 404.php el archivo de error.

Nos copiamos todo el contenido de esta rever shell que la puedes encontrar aca [ReverShell](https://github.com/pentestmonkey/php-reverse-shell/blob/master/php-reverse-shell.php).

Ahora solo falta invocarla y ganar acceso.

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2Ftc3j1xBr431zuGcWYvwA%2F7.png?alt=media&amp;token=3d679f77-2a3a-4789-a23f-fa8e17d3d35d" alt=""><figcaption></figcaption></figure>

Nos vamos ah chatgpt y le preguntamos donde se guarda este 404.php y nos da la ruta a seguir.

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FMbPS5OD7iRYoRqoRneMu%2F8.png?alt=media&amp;token=91b1f5fc-9583-4036-a0b8-975793ab8d5f" alt=""><figcaption></figcaption></figure>

Tu tema es el que estamos editando lo veras en la URL.

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2F6vn7wizNJ7RP0YiHYL7X%2F9.png?alt=media&amp;token=b17d6d0d-e60c-401e-a080-5fd1115c4789" alt=""><figcaption></figcaption></figure>

Le lanzamos un CURL a la ruta y observamos por la parte de abajo que hemos ganado acceso como www-data.

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2Fe4549P0uq0Zz47EJpp0w%2F10.png?alt=media&amp;token=98d7e486-ffe8-4e73-9985-1906609020d7" alt=""><figcaption></figcaption></figure>

Buscando y enumerando el sistema en el directorio /opt hay una nota donde nos regalan la contraseña para un usuario entonces haremos un user-pivoting.

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FbGERl62J6YFKfIvCm1Vg%2F11.png?alt=media&amp;token=1ae0e85c-06b2-4873-a10d-2277427c1c46" alt=""><figcaption></figcaption></figure>

Migramos al usuario aubreanna, y tenemos la primera bandera la del user.txt.

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FNFcKe7u5tef8c7Ykgsah%2F12.png?alt=media&amp;token=d16808b3-a498-4df7-ab1b-5d02ab48fa18" alt=""><figcaption></figcaption></figure>

Si hacemos un ip a o ifconfig, observamos que hay un contenedor corriendo dentro de la maquina.

Si hacemos un netstat -tan observamos que hay un servicio iniciado en local que corre por el puerto 8080.

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2F50l5GVpHFe3kUp0UTdPo%2F13.png?alt=media&amp;token=56b6199c-02c2-45ee-8eb6-30a0b4dc8f56" alt=""><figcaption></figcaption></figure>

Aca inicia el pivoting, nos trasladomos chisel de nuestra maquina local a la maquina victima, supongo que si estas intentando hacer una maquina Hard sabras como se hace esto.

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FfPU5RhSNf9srvQFGVmDQ%2F13%2C2.png?alt=media&amp;token=4d9342dc-38e7-446e-b05f-478d67042015" alt=""><figcaption></figcaption></figure>

Configuramos a chisel en local como servidor y en la maquina victima como cliente que se conectara a un servidor.

Las direcciones IP cambian porque en la hora que te da tryhackme no la pude resolver entonces inicie otra y te asigna una nueva IP.

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FCWBnMgXih9L5iocJBYv7%2F14.png?alt=media&amp;token=aeaa54e9-32b8-4115-9ae8-e5176eb90234" alt=""><figcaption></figcaption></figure>

Haciendo el Redirección de puertos mas que un pivoting observamos que el puerto 5000 corre un Jenkins que lo corre docker en la maquina victima pero ahora nosotros tenemos acceso.

Como es un panel de autentificacion interceptamos la peticion para observar como esta estructurada para hacer un ataque de fuerza bruta con hydra.

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2F5iFMrFOnU4z9xvChSTPP%2F15.png?alt=media&amp;token=cf447046-eb03-498f-87d6-61411b2fab50" alt=""><figcaption></figcaption></figure>

Tenemos la peticion ahora ya podemos intuir de que forma esta estructurada la peticion para, usarlo en hydra.

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FE6NbUEp2RY1l4EMu5dZ4%2F16.png?alt=media&amp;token=795a2a20-bd88-4a74-878b-f6df95c81540" alt=""><figcaption></figcaption></figure>

Bueno ya sabiendo como esta estructura la peticion, pues usamos esos parametros para pasarselos a hydra y hacer un ataque de fuerza bruta, observamos que hydra encuntra la contraseña, asi que vamos a loguearnos.

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FHcTU0tFCz7a5XorH6chK%2F17.png?alt=media&amp;token=97b7354b-7b3c-48f5-9037-112387f5f0bb" alt=""><figcaption></figcaption></figure>

Estando dentro nos vamos a la consola del Jenkins para intentar ganar acceso a la maquina que seria a otra maquina que en este caso creo que seria al contenedor que sirve la maquina principal.

Nos entablamos una shell en este articulo te explican de como establecer esa shell desde Jenkins [ShellJenkins](https://blog.pentesteracademy.com/abusing-jenkins-groovy-script-console-to-get-shell-98b951fa64a6)

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FXwZqNRfMHXfQ2SBfKupg%2F18.png?alt=media&amp;token=4dfe3068-1757-4c32-99b5-a8e6bc7cfc8c" alt=""><figcaption></figcaption></figure>

Estando en escucha por el puerto 8044 recivimos la conexion y observamos que somos el usuario Jenkins.

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2Fl8QSNBgkday9pscrFZYt%2F19.png?alt=media&amp;token=927ec313-0152-4572-a41f-6f0aed00b238" alt=""><figcaption></figcaption></figure>

Recordando datos de la maquina principal me dirigi el directorio /opt y me encontre una nota donde nos regalan las credenciales de root. Las intente usar internamente pero no funcionaron.&#x20;

Asi que recorde que el puerto ssh estaba abierto las utilize ahi y ganamos acceso como y podemos ver la flag de root.txt y bueno pues maquina resuelta un poquito enrredada pero divertida eh interesante.
