Halo, Habr! Pada artikel ini saya ingin memberi tahu Anda tentang pengalaman saya melewati lab Friendzone di portal hackthebox. Bagi mereka yang belum pernah mendengar apa itu
hackthebox , ini adalah portal tempat Anda dapat menguji keterampilan terpuji Anda dalam praktik, ada tugas-tugas KKP dan sebenarnya mesin-mesin laboratorium, bagian yang salah satunya akan dibahas dalam artikel ini.
Saya
akan segera mengatakan bahwa aturan layanan mengatakan:
"Jangan bagikan bagaimana Anda meretas setiap mesin dengan anggota lain. Ini termasuk pembuatan kode undangan dan semua tantangan .
" Tetapi karena mesin ini tidak lagi aktif dan disimpan di bagian "Mesin Pensiunan", hanya anggota VIP yang memiliki akses ke mesin di bagian ini dan penulisan, artikel ini tidak melanggar apa pun dan sepenuhnya legal. Jadi mari kita mulai!

Pengumpulan informasi
Mari kita mulai eksplorasi kita dengan memulai pemindaian port dengan nmap.

Dari hal di atas dapat dilihat bahwa port 21 (ftp), 22 (ssh), 53 (domain), 80 (http), 139 (netbios-ssn), 443 (https) terbuka. Mari lihat mereka.
Hitung 139 / tcp (netbios-ssn)
Kami akan menggunakan utilitas
enum4linux untuk membuat daftar sumber daya bersama di host. Dari output utilitas jelas bahwa ia diizinkan untuk memasuki sumber daya / umum dan / Pengembangan

Sekarang kita perlu memeriksa sumber daya ini.
Menggunakan
smbclient //10.10.10.123/general kita menemukan file
creds.txt yang mengandung beberapa kredensial, simpan.


Pencacahan DNS
Kami akan menggunakan utilitas
penggalian , yang memungkinkan untuk memeriksa catatan pada server DNS yang ditentukan untuk domain / subdomain. Nama domain friendzone.red diambil dari sertifikat CommonName ssl (output nmap untuk 443 / tcp).

Kami pergi ke
10.10.10.123
Kami memperhatikan kotak surat info@friendportal.red dan menggunakan menggali lagi.

Tambahkan entri yang dihasilkan ke
/ etc / hostsKami sekarang memiliki daftar alamat yang perlu ditinjau untuk arahan berikut. Saya akan menghilangkan bagian dari cerita di mana halaman-halaman itu ternyata adalah lubang kelinci. Kami menganggap hanya temuan yang bermanfaat.
Kami pergi ke
administartor1.friendzone.red dan memasukkan kredensial yang ditemukan di //10.10.10.123/general/creds.txt


Kunjungi /dashboard.php

Mereka diminta memasukkan parameter tertentu untuk mendapatkan gambar. Hasilnya, 2 gambar tersedia untuk kami.


Dengan coba-coba, kami memahami bahwa halaman ini rentan terhadap
LFI (Penyertaan File Lokal) . Dan kita dapat memuat shell melalui smbclient dan mengaksesnya menggunakan kerentanan ini. Kami mencoba!
Unduh shell di Developments.


Kami kembali ke halaman dan merujuk ke shell yang dimuat.

Sebelum itu, tentu saja, dengan menjalankan netcat untuk mendengarkan pada port 1234.

Kami mendapatkan shell dari pengguna data-www.
Setelah memeriksa volunbox, kami menemukan file mysql_data.conf, yang berisi kredensial dari teman pengguna.


Mari mencoba terminal dan masuk sebagai teman.

Kami masuk ke direktori home / home / friend dan mengambil flag pengguna.
Raih root.txt
Unduh pspy64 ke volunbox untuk melacak proses yang sedang berjalan.
Judul spoilerpspy adalah alat yang dirancang untuk melacak proses tanpa perlu hak akses root. Ini memungkinkan Anda untuk melihat perintah yang dijalankan oleh pengguna lain, tugas cron, dll. saat mereka berkembang.

Kita mulai pspy64, sebelum mengatur "eksekusi" ke file chmod + x.

Kami perhatikan bahwa reporter.py diluncurkan dari pengguna dengan UID = 0 (mis. Root). Mari kita lihat isi file reporter.py

Hampir semua baris dikomentari dan tidak masuk akal, kecuali yang pertama, di mana modul os diimpor.
Pembajakan perpustakaan ?
Modul os.py ini memiliki resolusi 777, sehingga kami dapat dengan aman melakukan perubahan dari pengguna Friend.
Dengan menambahkan
sistem baris
("cp /root/root.txt /home/Friend/root.txt") ke modul os.py dan tunggu beberapa saat hingga skrip dimulai.

Kami mendapat bendera root. Kemenangan!
