Herkese selamlar! Bu yazımızda sizlerle Pickle Rick CTF çözümü yapacağız.
Nmap sorgusu yaparak başlayalım.Ben aşağıdaki parametrelerle taramamı yaptım:
┌──(kali㉿kali)-[~]
└─$ nmap -sT -sV -Pn -A 10.10.129.50
Starting Nmap 7.93 ( https://nmap.org ) at 2023-04-20 15:18 EDT
Nmap scan report for 10.10.129.50
Host is up (0.088s latency).
Not shown: 998 closed tcp ports (conn-refused)
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.2p2 Ubuntu 4ubuntu2.6 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 2048 e3460931f3046ded397e6d9ebfff5385 (RSA)
| 256 c487dd6cfa7c4c7c2181bae6bc6fa8f6 (ECDSA)
|_ 256 31c512ffbe9ab288ee0a912827d9a485 (ED25519)
80/tcp open http Apache httpd 2.4.18 ((Ubuntu))
|_http-title: Rick is sup4r cool
|_http-server-header: Apache/2.4.18 (Ubuntu)
Service Info: OS: 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 13.20 seconds
-
-sT: TCP SYN tarama yöntemini kullanarak açık portları belirler. Bu tarama yöntemi, hedef sistemdeki açık portların hızlı bir şekilde tespit edilmesini sağlar.
-
-sV: Açık portlar tespit edildikten sonra, bu seçenek hedef sistemde çalışan servislerin sürüm bilgisini tespit etmek için kullanılır.
-
-Pn: Bu seçenek, hedef sistemle iletişim kurarken ICMP ping istekleri göndermeyi engeller. Bu sayede, hedef sistemin firewall veya diğer güvenlik önlemleri tarafından engellenmesi riski azaltılır.
-
-A: Bu seçenek, hedef sistemin işletim sistemi türü, uygulama türü, ağ topolojisi ve diğer detayları gibi çeşitli bilgileri toplamak için kullanılır.
22. Portta SSH,80. Portta http servislerimizin açık oldupunu görüyoruz.
Daha çok veri elde etmek adına nikto,dizin keşfi için gobuster kullanacağız.
Gobuster ile yaptığım taratma sonucunda /assets dizinini buldum.
Nikto ile yaptığım taratma sonucunda /login.php dizinini buldum.
Artık siteye göz atabiliriz.
Tıklanabilecek veya etkileşime girebileceğimiz bir yer bulamadım.
Sağ tık yaparak sayfa kaynağını inceleyelim.
<!DOCTYPE html>
<html lang="en">
<head>
<title>Rick is sup4r cool</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="assets/bootstrap.min.css">
<script src="assets/jquery.min.js"></script>
<script src="assets/bootstrap.min.js"></script>
<style>
.jumbotron {
background-image: url("assets/rickandmorty.jpeg");
background-size: cover;
height: 340px;
}
</style>
</head>
<body>
<div class="container">
<div class="jumbotron"></div>
<h1>Help Morty!</h1></br>
<p>Listen Morty... I need your help, I've turned myself into a pickle again and this time I can't change back!</p></br>
<p>I need you to <b>*BURRRP*</b>....Morty, logon to my computer and find the last three secret ingredients to finish my pickle-reverse potion. The only problem is,
I have no idea what the <b>*BURRRRRRRRP*</b>, password was! Help Morty, Help!</p></br>
</div>
<!--
Note to self, remember username!
Username: <username>
-->
</body>
</html>
Kullanıcı adını bulduk ama TryHackMe kuralları gereği önemli bilgileri sansürlemem gerekiyor.
Sitelerde araştırmamın en başında /robots.txt dizinine girerim. Size de öneririm.
/robots.txt dizininde şifre olabileğini düşündüğüm bir yazı buldum.
Başta hatırlarsanız /login.php dizinini bulduğumu söylemiştim.Muhtemelen admin paneli.Oraya elde ettiğimiz bu bilgilerle girmeyi deneyelim.
Ve içerdeyiz :)
İlk başta aklımıza linux komut istemi olabileceği geliyor.ls komutunu denediğimde bulunduğum klasördeki dosyaları gösteriyor.
Bu noktada yapabileceğimiz birkaç farklı yöntem var.Ben reverse shell almaya çalışacağım.
Bu siteden birkaç deneme yaparak bize uygun bir komut buluyorum.(Perl)
Kendi bilgisayarımda nc -lvnp 1234 komutunu çalıştırıyorum ve cevap geliyor:
nc -lvnp 1234
listening on [any] 1234 ...
connect to [10.8.87.226] from (UNKNOWN) [10.10.129.50] 38076
sh: 0: can't access tty; job control turned off
$ ls
Sup3rS3cretPickl3Ingred.txt
assets
clue.txt
denied.php
index.html
login.php
portal.php
robots.txt
cat Sup3rS3cretPickl3Ingred.txt komutu ile içeriğine bakıyorum.İçeriğinde 1. sorumuzun cevabı var.
Aynı şekilde clue.txt dosyasının da içine bakıyorum. İçeriğinde “Look around the file system for the other ingredient.” yazıyor. Yani başka yerlere de bakmamızı istiyor.
Biraz araştırdıktan sonra /home/rick‘in içinde second ingredients olduğunu görüyoruz. 2. sorumuzun cevabı da bu dosyanın içerisinde. cat komutu ile dosyanın içeriğini okuyoruz.
sudo -l komutu yaparak root olarak çalıştırabileceğimiz uygulamaları görüyoruz.
$ sudo -l
Matching Defaults entries for www-data on
ip-10-10-129-50.eu-west-1.compute.internal:
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-129-50.eu-west-1.compute.internal:
(ALL) NOPASSWD: ALL
Herhangi bir şeyi root olarak çalıştırabiliriz!
/root dizinine sudo yetkisi ile girebiliriz.3. sorumuzun cevabı burada olabilir.
$ sudo ls /root
3rd.txt
snap

