HackTheBox. Forwardslash walkthrough. LFI, cadangan, dan volume terenkripsi



Saya terus menerbitkan solusi yang dikirim untuk finalisasi mesin dari platform HackTheBox .



Dalam artikel ini, kami mendaftar direktori dan subdomain di situs, mengeksploitasi LFI, membuat cadangan file yang tidak dapat diakses, dan juga me-mount volume yang dienkripsi.



Koneksi ke laboratorium adalah melalui VPN. Dianjurkan untuk tidak terhubung dari komputer kerja atau dari host di mana ada data penting bagi Anda, karena Anda menemukan diri Anda dalam jaringan pribadi dengan orang-orang yang tahu sesuatu tentang keamanan informasi.



Informasi organisasi
, , Telegram . , , .



. , - , .



Recon



Mesin ini memiliki alamat IP 10.10.10.183, yang saya tambahkan ke / etc / hosts.



10.10.10.183    forwardslash.htb


Pertama-tama, kami memindai port yang terbuka. Karena butuh waktu lama untuk memindai semua port dengan nmap, saya akan terlebih dahulu melakukannya menggunakan masscan. Kami memindai semua port TCP dan UDP dari antarmuka tun0 dengan 500 paket per detik.

masscan -e tun0 -p1-65535,U:1-65535 10.10.10.183    --rate=500






Sekarang, untuk mendapatkan informasi lebih rinci tentang layanan yang berjalan di port, jalankan pemindaian dengan opsi -A.

nmap -A forwardslash.htb -p22,80






Server menjalankan layanan SSH dan server web. Kami pergi ke server web dan melihat apa yang dapat mereka tawarkan kepada kami.







Ini adalah bagaimana kami diberitahu tentang peretasan host, XML dan FTP disebutkan. Mari kita loop direktori dengan gobuster. Dalam parameter, kami menentukan jumlah aliran 128 (-t), URL (-u), kamus (-w) dan ekstensi yang kami minati (-x).

gobuster dir -t 128 -u http://forwardslash.htb/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x html,php,xml,txt






Dan kami menemukan note.txt. Mari membaca.







Dilaporkan tentang grup yang meretas situs dan ada cadangan. Ayo cari subdomain. Setel jumlah karakter menjadi tidak sama dengan 0 sebagai filter.

wfuzz -H 'HOST:FUZZ.forwardslash.htb' -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt -u forwardslash.htb --hh 0






Dan kita pergi ke subdomain cadangan. Mari menambahkannya ke file / etc / hosts.

10.10.10.183    backup.forwardslash.htb

Mari kita lihat direktori untuk domain ini juga.

gobuster dir -t 128 -u http://backup.forwardslash.htb/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x html,php,xml,txt






Dan kami pergi ke alamat ini.



Titik masuk



Kami disambut oleh formulir otorisasi.







Ada juga kemungkinan pendaftaran. Ayo daftar dan kita akan login.







Berjalan melalui tautan, kami menemukan formulir untuk mengubah nama, kata sandi, dan Anda juga dapat mengatur gambar profil. Mari kita memikirkannya.







Fitur ini dilaporkan telah dinonaktifkan karena peretasan. Dalam hal ini, bidang input tidak tersedia, kemungkinan besar dinonaktifkan di HTML.







Kami menghapus properti ini dari kedua elemen. Saya memulai server web pada mesin lokal, dan menunjukkan di lapangan tautan ke file test.txt.







Karena tidak ada filter, mari kita coba vektor LFI. Untuk kenyamanan bisnis, ini ada di Burp Suite.







Dan ada LFI!



PENGGUNA



Mari kita periksa konfigurasi apache.







Tetapi jika Anda mencoba membaca file php, maka itu tidak akan disajikan kepada Anda sebagai teks. Sebaliknya, itu akan dieksekusi.







Tapi kita bisa menggunakan filter php, misalnya base64. Ini adalah bagaimana file php pertama kali dikodekan dan kemudian ditampilkan pada halaman. Dengan demikian, itu tidak akan dieksekusi.

php://filter/convert.base64-encode/resource=../../../../var/www/backup.forwardslash.htb/index.php





Pilih fragmen yang diinginkan dan tekan Ctrl + Shift + B.







Kami mendapatkan kode yang diterjemahkan. Mari kita gunakan metode ini untuk membaca semua file yang ditemukan selama pemindaian. Temukan kata sandi untuk menghubungkan ke database dalam file config.php.







Mari kita lihat juga /dev/index.php. Dan di sana kami menemukan data otentikasi chiv pengguna.







Pengguna ini ada dalam sistem, kami mempelajari ini dari / etc / passwd. Mari kita coba data ini untuk terhubung melalui SSH.







USER2



Untuk mengumpulkan data dalam sistem, kami menggunakan skrip LinPEAS. Dan kami menemukan semacam catatan di cadangan.











Dengan demikian, cadangan memiliki konfigurasi lama dengan kata sandi. Itu milik rasa sakit.







Jadi program cadangan memiliki bit SUID. Artinya, kita bisa menjalankan program sebagai rasa sakit pengguna.







Kami dapat membuat cadangan, tetapi hanya dari file acak tertentu.







Kami dapat membuat tautan ke cadangan konfigurasi dengan memberi nama seperti yang disajikan dari program cadangan. Tetapi kita harus membuatnya dalam beberapa detik. Karena itu, kami akan membuat skrip. Pertama, mari kita cari nama filenya.







Sekarang mari kita tambahkan pembuatan tautan dan cadangan kembali.







Ayo jalankan dari direktori home pengguna dan dapatkan file.







Ubah pengguna dengan memasukkan kata sandi ini.







AKAR



Mari kita lihat pengaturan pengadilan untuk menjalankan perintah tanpa kata sandi.







Dengan demikian, kami memiliki volume terenkripsi. Untuk mendekripsi dan me-mount-nya, kita memerlukan kata sandi.







Kami memiliki ciphertext dan program.







Untuk dekripsi, kami menggunakan kode berikut.

def decrypt(key, msg):
key = list(key)
	msg = list(msg)
	for char_key in reversed(key):
		for i in reversed(range(len(msg))):
			if i == 0:
				tmp = ord(msg[i]) - (ord(char_key) + ord(msg[-1]))
			else:
				tmp = ord(msg[i]) - (ord(char_key) + ord(msg[i-1]))
			while tmp < 0:
				tmp += 256
			msg[i] = chr(tmp)
	return ''.join(msg)

ciphertext = open('ciphertext', 'r').read().rstrip()
for i in range(1, len(ciphertext)):
	for j in range(256):
		key = chr(j) * i
		text = decrypt(key, ciphertext)
		if ' the ' in text or ' to ' in text:
			print(key)
			print(text)
			exit()


Dan kami berhasil mendekripsi pesan tersebut.







Mari kita lihat apa yang kita miliki di sepanjang jalan yang ditunjukkan.







Mari mendekripsi volumenya.







Dan kami akan memasangnya.







Kunci SSH terletak di sana.







Kami terhubung dan mengambil bendera.







Anda dapat bergabung dengan kami di Telegram . Di sana Anda dapat menemukan materi menarik, kursus bocor, dan perangkat lunak. Mari kita kumpulkan 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