TryHackMe – Gotta Catch’em All Makine Çözümü

Table of Contents

Merhabalar, bu yazımda sizlere TryHackMe platformunda bulunan “Gotta Catch’em All” 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 10.10.81.24
Starting Nmap 7.94 ( https://nmap.org ) at 2023-06-07 17:34 +03
Nmap scan report for 10.10.81.24
Host is up (0.075s latency).
Not shown: 998 closed tcp ports (reset)
PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 7.2p2 Ubuntu 4ubuntu2.8 (Ubuntu Linux; protocol 2.0)
80/tcp open  http    Apache httpd 2.4.18 ((Ubuntu))
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

2 — Web sayfasına gittiğim zaman bir apache doküman ekranı karşıma çıkıyor. Sayfa kaynağını incelediğimde html etiketi şeklinde gizlenmiş kullanıcı adı ve parola bilgileri çıkıyor. Bu bilgileri kullanarak SSH servisine bağlanıyorum.

         </p>
        </div>
        <pokemon>:<***CENSORED***>
         <!--(Check console for extra surprise!)-->
      </div>

3 — SSH bağlantısı kurduktan sonra kullanıcı dizinindeki dosyaları inceliyorum. Bir C++ kodu içerisine gizlenmiş kullanıcı adı ve parola buluyorum.

[root:/home/alper/Desktop/TRYHACKME]# ssh pokemon@10.10.81.24
*
*
pokemon@root:~$
pokemon@root:~$ pwd
/home/pokemon
pokemon@root:~$ ls
Desktop  Documents  Downloads  examples.desktop  Music  Pictures  Public  Templates  Videos
pokemon@root:~$ cd Videos
pokemon@root:~/Videos$ ls
Gotta
pokemon@root:~/Videos$ cd Gotta
pokemon@root:~/Videos/Gotta$ ls
Catch
pokemon@root:~/Videos/Gotta$ cd Catch
pokemon@root:~/Videos/Gotta/Catch$ ls
Them
pokemon@root:~/Videos/Gotta/Catch$ cd Them
pokemon@root:~/Videos/Gotta/Catch/Them$ ls
ALL!
pokemon@root:~/Videos/Gotta/Catch/Them$ cd ALL!
pokemon@root:~/Videos/Gotta/Catch/Them/ALL!$ ls
Could_this_be_what_Im_looking_for?.cplusplus
pokemon@root:~/Videos/Gotta/Catch/Them/ALL!$ cat Could_this_be_what_Im_looking_for\?.cplusplus 
# include <iostream>

int main() {
 std::cout << "ash : ***CENSORED***"
 return 0;
}pokemon@root:~/Videos/Gotta/Catch/Them/ALL!$

4 — Desktop dizinine geldiğim zaman bir zip dosyası görüyorum. Zip’ten çıkardığımda grass-type bayrağını bulunduran txt dosyası görüyorum. Dosyayı incelediğimde harflerin hexadecimal (onaltılık) tabanda yazıldığını anlıyorum. “xxd” komutu ile çözüp grass-type bayrağını elde ediyorum.

pokemon@root:~/Desktop$ unzip P0kEmOn.zip
Archive:  P0kEmOn.zip
   creating: P0kEmOn/
  inflating: P0kEmOn/grass-type.txt  
pokemon@root:~/Desktop$ cat P0kEmOn/grass-type.txt 
***CENSORED***
pokemon@root:~/Desktop$ 
pokemon@root:~/Desktop$ 
pokemon@root:~/Desktop$ cat P0kEmOn/grass-type.txt | xxd -r -p
***CENSORED***
pokemon@root:~/Desktop$ 

5 — Daha sonra bulduğum kullanıcı adı ve parolayı kullanarak “ash” kullanıcısına geçiyorum.
Find komutu ile kalan bayrakları da buluyorum.

ash@root:/home/pokemon/Desktop$ find /  -type f -name "*-type.txt" 2>/dev/null
/var/www/html/water-type.txt
/etc/why_am_i_here?/fire-type.txt
^C
ash@root:/home/pokemon/Desktop$ ls /home
ash  pokemon  roots-pokemon.txt