enumeration
Selanjutnya kita harus memeriksa port dan layanan apa yang tersedia pada target kita. Kita bisa melakukan ini dengan nmap.
Nmap scan report for 172.20.10.3
Host is up (0.10s latency).
Not shown: 998 closed tcp ports (conn-refused)
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.4p1 Debian 5 (protocol 2.0)
| ssh-hostkey:
| 3072 bc:fb:ec:b8:93:d4:e2:78:76:eb:1b:dc:4b:a7:7f:9b (RSA)
| 256 31:41:a0:d7:e9:3c:79:11:c2:f0:81:a0:fe:2d:f9:b0 (ECDSA)
|_ 256 c9:34:17:00:31:75:4d:c0:3a:a5:b1:16:36:0d:bb:18 (ED25519)
80/tcp open http Apache httpd 2.4.51 ((Debian))
|_http-server-header: Apache/2.4.51 (Debian)
|_http-title: Bolt - Coming Soon Template
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
Ketika nmap selesai memindai kita dapat melihat beberapa port menarik terbuka pada target kita. Mari tambahkan beberapa informasi ke catatan kita.
- port 22 : open ssh 8.4 Debian
- port 80 : default port
Initial Access
Mari kita cek page pada port default, disini saya harus melakukan enumerasi lebih lanjut dengan fuzzing directory agar mendapatkan informasi disclosure? maybe, mari kita lakukan!!!
Saya menarik dengan value cookie nya dimana itu : false dan ketika itu saya ubah ke true dia memnculkan file upload, jelas ini exploitasi file upload vulnerabilty dengan extentions gambar, kemudia saya membuat shell terbaik versi saya dan mendapatkan shell!!!
Dikarenakan guest shell yang didapat dan membutuhkan creds user disini saya mencari information disclosure. dari file sebelumnya yang kami temukan “note.txt” dapat diasumsikan dengan aman ada semacam cadangan yang ada di sistem, jadi mari kita cari file cadangan apa pun.
1
2
find / -iname ".txt" 2>/dev/null
find / -iname "bakcups" 2>dev/null
dan yeah!! disitu ada file backup mari kita unduh file kedalam local!! setelah saya unzip ternyata pada etc, terdapat passwd dan shadow dimana, ini hash yang tinggal kita crack dengan john, sebelum kita melanjutkan bruteforce. ingat bahwa kita harus mengetahui format hash terebut itu apa? baru kita bisa melakukan bruteforce w/ john.
1
2
3
4
5
6
7
8
9
10
11
john --wordlists=/rockyout.txt hash --format=type
Using default input encoding: UTF-8
Loaded 1 password hash (crypt, generic crypt(3) [?/64])
Cost 1 (algorithm [1:descrypt 2:md5crypt 3:sunmd5 4:bcrypt 5:sha256crypt 6:sha512crypt]) is 0 for all loaded hashes
Cost 2 (algorithm specific iterations) is 1 for all loaded hashes
Press 'q' or Ctrl-C to abort, almost any other key for status
tigger (scpuser)
1g 0:00:00:01 DONE (2024-02-16 07:31) 0.5555g/s 53.33p/s 53.33c/s 53.33C/s 123456..yellow
Use the "--show" option to display all of the cracked passwords reliably
saya mendapatkan password user, tinggal kita su user dan maka akan masuk sebagai user!!! and get the user.txt
Privillage Escalation
didalam user terdapat file oldpasswords, berikut isi file nya :
1
2
3
4
5
6
7
8
9
10
11
Previous root passwords just incase they are needed for a backup\restore
Incredibles2
Paddington2
BigHero6
101Dalmations
heum saya bingung disini maksud nya apa? ternyata maksud dari isi tersebut adalah semua film animasi populer. Mari kita coba dan paksa kata sandi root terhadap 100 film animasi teratas.
disini saya menggunakan su bruteforce!!!
dan yah ini sangat mudah dan simple untuk dilakukan, tetapi jujur saya mengalami skill issue didalam isi file oldpasswords tersebut, so? ini sangat menyenangkan dan machine yang bagus!!! Terima Kasih.
Reference
https://book.hacktricks.xyz/pentesting-web/file-upload https://book.hacktricks.xyz/pentesting-web/hacking-with-cookies