Unggulan
- Dapatkan link
- X
- Aplikasi Lainnya
Panduan OverTheWire Bandit Level 23 → 24
Panduan OverTheWire Bandit Level 23 → 24
Login
Login menggunakan perintah berikut:
ssh bandit23@bandit.labs.overthewire.org -p 2220
Kata Sandi: jc1udXuA1tiHqjIsL8yaapX5XIAI6i0n
Tugas
Sebuah program dijalankan otomatis pada interval yang tetap melalui cron, penjadwal tugas berbasis waktu. Cari di /etc/cron.d/ untuk melihat konfigurasi dan perintah apa yang dijalankan.
Teori Singkat
Tugas ini mirip dengan tugas-tugas sebelumnya, di mana kita bekerja dengan cronjobs dan skrip bash. Perbedaannya terletak pada pengoperasian file dalam direktori /var/spool/ yang khusus digunakan oleh sistem untuk penjadwalan tugas.
Solusi
Langkah-langkahnya sangat mirip dengan level sebelumnya, tetapi kali ini kita akan bekerja dengan file di folder /var/spool/$myname.
-
Periksa Cronjobs Mulailah dengan memeriksa isi folder /etc/cron.d untuk mencari file cronjob yang relevan:
ls -la /etc/cron.dAnda akan melihat file cronjob_bandit24 yang menjalankan skrip /usr/bin/cronjob_bandit24.sh. Baca isi file ini dengan perintah:
cat /etc/cron.d/cronjob_bandit24File ini berisi:
@reboot bandit24 /usr/bin/cronjob_bandit24.sh &> /dev/null * * * * * bandit24 /usr/bin/cronjob_bandit24.sh &> /dev/nullSkrip ini dijalankan setiap menit dan juga saat reboot. Output diarahkan ke /dev/null, artinya output tidak akan ditampilkan.
-
Periksa Isi Skrip Cronjob Lihat isi skrip /usr/bin/cronjob_bandit24.sh:
cat /usr/bin/cronjob_bandit24.shSkrip ini berisi:
#!/bin/bash myname=$(whoami) cd /var/spool/$myname echo "Executing and deleting all scripts in /var/spool/$myname:" for i in * .*; do if [ "$i" != "." -a "$i" != ".." ]; then echo "Handling $i" owner="$(stat --format "%U" ./$i)" if [ "${owner}" = "bandit23" ]; then timeout -s 9 60 ./$i fi rm -f ./$i fi donePenjelasan Skrip:
- Skrip ini dijalankan oleh pengguna bandit24, dan variabel myname diset menjadi bandit24.
- Skrip berpindah ke folder /var/spool/bandit24 dan mengeksekusi setiap file di folder itu yang dimiliki oleh bandit23.
- Setiap file yang dieksekusi akan diberi timeout 60 detik dan kemudian dihapus setelah dijalankan.
-
Membuat Skrip untuk Mendapatkan Kata Sandi Agar skrip ini dapat mengeksekusi file yang kita buat, pertama kita buat skrip di folder /tmp untuk menghindari penghapusan sebelum waktunya:
mktemp -d cd /tmp/tmp.ljEyl6kv1M nano bandit24_pass.shDi dalam bandit24_pass.sh, masukkan kode berikut:
#!/bin/bash cat /etc/bandit_pass/bandit24 > /tmp/tmp.ljEyl6kv1M/password -
Atur Izin File dan Pindahkan Skrip Set izin yang sesuai untuk skrip dan folder agar dapat dieksekusi:
chmod +rx bandit24_pass.sh chmod 777 /tmp/tmp.ljEyl6kv1M touch password chmod +rwx passwordSalin skrip ke folder yang benar:
cp bandit24_pass.sh /var/spool/bandit24/bandit24_pass.sh -
Tunggu dan Periksa Hasil Tunggu satu menit dan periksa file password untuk mendapatkan kata sandi level berikutnya:
cat passwordOutputnya adalah kata sandi untuk level 24:
UoMYTrfrBFHyQXmg6gzctqAwOmw1IohZ
- Dapatkan link
- X
- Aplikasi Lainnya
Postingan Populer
Mendeteksi Gambar Duplikat dengan Python: Panduan Praktis
- Dapatkan link
- X
- Aplikasi Lainnya
Ngoding Untuk Semua Orang
- Dapatkan link
- X
- Aplikasi Lainnya

Komentar
Posting Komentar