# DarkHole 2

```python
arp-scan -I eth0 --localnet --ignoredups
Interface: eth0, type: EN10MB, MAC: 00:0c:29:07:19:cb, IPv4: 192.168.1.139
Starting arp-scan 1.10.0 with 256 hosts (https://github.com/royhills/arp-scan)
192.168.1.1	64:66:24:39:6c:a8	(Unknown)
192.168.1.129	38:f9:d3:39:de:c0	(Unknown)
192.168.1.145	00:0c:29:c1:f5:01	(Unknown)
192.168.1.144	00:7c:2d:1f:c0:93	(Unknown)
```

Hacenos un escaneo a nivel de red local y la 145 es la de la maquina victima.

***

```python
sudo nmap -sS -Pn -n -vvv --open --min-rate 5000 192.168.1.145 -oG port | tail -n 8

PORT   STATE SERVICE REASON
22/tcp open  ssh     syn-ack ttl 64
80/tcp open  http    syn-ack ttl 64
MAC Address: 00:0C:29:C1:F5:01 (VMware)
```

Tenemos dos puertos abiertos en el Host.

***

```javascript
nmap -sCV -p22,80 192.168.1.145 -oN target.txt
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-11-26 06:32 EST
Nmap scan report for 192.168.1.145
Host is up (0.00083s latency).

PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 8.2p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   3072 57:b1:f5:64:28:98:91:51:6d:70:76:6e:a5:52:43:5d (RSA)
|   256 cc:64:fd:7c:d8:5e:48:8a:28:98:91:b9:e4:1e:6d:a8 (ECDSA)
|_  256 9e:77:08:a4:52:9f:33:8d:96:19:ba:75:71:27:bd:60 (ED25519)
80/tcp open  http    Apache httpd 2.4.41 ((Ubuntu))
| http-cookie-flags: 
|   /: 
|     PHPSESSID: 
|_      httponly flag not set
|_http-server-header: Apache/2.4.41 (Ubuntu)
|_http-title: DarkHole V2
| http-git: 
|   192.168.1.145:80/.git/
|     Git repository found!
|     Repository description: Unnamed repository; edit this file 'description' to name the...
|_    Last commit message: i changed login.php file for more secure 
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
```

Versiones y servicios que corren para cada uno de esos dos puertos.

***

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FpmyxqVueVZqz9bO9L49P%2Fgit.png?alt=media&#x26;token=fc1b2b84-626c-4f1e-af79-ddfdeb7ea7b7" alt=""><figcaption></figcaption></figure>

En el propio escaneo de Nmap nos esta soplando un subdirectorio este .git, Usaremos git-dumper para tratarlo ya que es un proyecto.



{% embed url="https://github.com/arthaud/git-dumper" %}

Aca dejo el enlace a la herramienta donde la misma explica como se usar pero basicamente seria asi.

```java
git-dumper http://website.com/.git ~/CreaTuPropioDirectorio
```

***

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2F65OSXz02U2qpvvL3ZPJt%2Fgit2.png?alt=media&#x26;token=567dcc0c-f37e-465c-bdae-d0b010db7001" alt=""><figcaption></figcaption></figure>

Ahora despues entras al directorio donde recreastes el proyecto usando la anterior herramienta, observamos los logs de los pull que se hace con git al proyecto y encontramos credenciales de inicio de session.

***

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FVw0pRmmBczqJ9uTlR8US%2Fsess.png?alt=media&#x26;token=c19a05c0-a00e-4c76-ba37-f4120c5da42e" alt=""><figcaption></figcaption></figure>

Iniciamos session.

***

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FuTWbHCWKBXCjlvsxoroW%2F1.png?alt=media&#x26;token=cab5e741-aba0-4b72-b2b2-a17eacc953d6" alt=""><figcaption></figcaption></figure>

Ya en el dashboard hay una inyeccion SQL de primeras descubrimos con order by que hay 6 columnas esta peticion la pasaremos ah BurpSuite para un mejor trato.

***

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FOSwO3OtHwsxrKEbW7jMM%2F2.png?alt=media&#x26;token=27733560-72a5-497d-9d72-af1bfaa58782" alt=""><figcaption></figcaption></figure>

Si en la Query preguntamos por  la actual base de datos nos la pasa.

***

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FnQoaRjFTXkmXeg3PS4Vx%2F3.png?alt=media&#x26;token=01e9c7c3-2774-4125-a32b-af55ab75f853" alt=""><figcaption></figcaption></figure>

Empezamos de primeras usamos `schema_name` que indica el nombre de un esquema en la base de datos, usado para organizar y agrupar objetos como tablas, vistas y funciones.

***

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2F2HuoIoy60qZww2vizrbF%2F4.png?alt=media&#x26;token=7005faa4-cd23-4677-9793-c40435a8ea66" alt=""><figcaption></figcaption></figure>

Nostros vamos por la base de datos que se llama igual que la maquina, enumerando las tablas observamos que tenemos dos ssh y users.

***

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FfA7cch1PSlizUmaqPN51%2F5.png?alt=media&#x26;token=86dd5c7c-aea1-40ac-9cb3-3b0514250703" alt=""><figcaption></figcaption></figure>

Ahora vamos por las columnas, la Query se lee asi, de la base de datos darkhole\_2 que tiene una tabla llamada ssh pasame las columnas que tiene dicha tabla. Observamos tres columnas id,user y pass.

***

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FR7OwaV1q7EOOzdoI0iU5%2F6.png?alt=media&#x26;token=af4cd9e1-de44-452d-ac46-820d93ded1ab" alt=""><figcaption></figcaption></figure>

Ahora haciendo uso de group\_conat nos traemos la info de user  y pass que estan en la tabla ssh de la base de datos darkhole\_2, y tenemos credenciales de ssh Supuestamente.

***

```javascript
history | head  -n 150

  109  netstat -tulpn | grep LISTEN
  110  ssh -L 127.0.0.1:9999:192.168.135.129:9999 jehad@192.168.135.129
  111  curl http://localhost:9999
  112  curl "http://localhost:999/?cmd=id" 
  113  curl "http://localhost:9999/?cmd=id" 
  114  curl http://localhost:9999/
```

Si observamos el history de la maquina al parecer estan intentando hacer un PortForwarding, lo que significa que habra un servicio que corre internamente.

***

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FXcXodppmOOaoNVh6Yw63%2F20.png?alt=media&#x26;token=98c77e40-a5ae-4c6a-b299-2d70304bdd79" alt=""><figcaption></figcaption></figure>

Lo consultamos y es correcto, ellos por lo que se ve lo hicieron via ssh yo lo hare con chisel, dejare el enlace a un articulo mio de como se usa y de donde descargarla.



{% embed url="https://rodgar.gitbook.io/rodgar/ctf-writeups/pivoting/pivoting" %}

Como se usa.



{% embed url="https://github.com/jpillora/chisel/releases" %}

Herramienta.

***

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2F6Ok6sdwgXkP9Gj5ynXUv%2F21.png?alt=media&#x26;token=0c43d2df-5f2f-47bb-a1f7-bad55e7c63c5" alt=""><figcaption></figcaption></figure>

Creamos el tunel usando chisell para llegar hasta ese puerto 9999.

***

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FSV3lFl57a3Hd1ledQveI%2F22.png?alt=media&#x26;token=9f700d75-b267-4c85-8f77-0cae24a3fda0" alt=""><figcaption></figcaption></figure>

En el puerto 9999 que lo redirigimos a mi 5000 en mi localhost esta esta web que directamente ya te dice lo que hay que hacer, si le pasamos un whoami somos losy, ahora nos enviaremos una revershell y  nos la deberia enviar como losy.

Basicamente haremos un userPivoting pasamos del usuario jehad a losy.

***

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FykAuMqZPMQ3OCXdxm3vt%2F23.png?alt=media&#x26;token=2687f6d2-6a35-40d4-8c14-3c02ab07ca75" alt=""><figcaption></figcaption></figure>

Nos enviamos la rev.

***

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FhwUv2GW8BexkqInAO94P%2F24.png?alt=media&#x26;token=ead3b68f-5b83-4b1f-b840-8378e0892f20" alt=""><figcaption></figcaption></figure>

Escuchando con NC recivimos la conexion como losy, y bueno ahora somos otro usario y ya no jehad.

***

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2F5GAdmmfbMUbvOM85Rni9%2F25.png?alt=media&#x26;token=fd7ab8d5-ab10-4ead-9ef3-05cd5d877f88" alt=""><figcaption></figcaption></figure>

De la misma manera que con el anterior usuario el history nos da pista, esta vez en el history esta la contraseña para el usuario losy.

Ahora si hacemos un sudo -l observamos que podemos ejecutar python3 de manera privilegiada.

***

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FVTOyDTkQNXwqogHcBrRI%2Fdddddd.png?alt=media&#x26;token=404f6ac6-17dd-405f-8cda-7a600115d72e" alt=""><figcaption></figcaption></figure>

Somos root maquina resuelta.
