SSH kullanarak bandit19 bağlanmak ve
Home Directory
atlında bulunansetuid
ile çalışanbandit20-do
dosyasını çalıştırmak. Bu dosyabandit20
kullanıcısının şifresini bulmamızı sağlayacak.
ls
: Bulunduğumuz dizindeki dosyaları listeler. Bir çok parametresi bulunuyor. Bu parametreler sayesinde dosyaları farklı şekillerde listelememizi sağlıyor. Daha fazlası içinman ls
komutunu kullanabilirsiniz.cat
: Bir dosya içeriğini ekrana yazdırır. Daha fazlası içinman cat
komutunu kullanabilirsiniz.cd
: Change Directory kısaltmasıdır. Bulunduğumuz dizini değiştirmemizi sağlar. Daha fazlası içinman cd
komutunu kullanabilirsiniz.file
: Dosya türünü belirlememizi sağlar. Daha fazlası içinman file
komutunu kullanabilirsiniz.
- Dosya izinleri nelerdir ?
Bir dosya veya dizin üzerindeki erişim denetimini kontrol eder.
Dosya izinleri, Linux sistemini daha güvenli hale getirmek için de kullanılır. Örneğin, bir dosyanın sahipliğiyle aynı gruba ait olmayan bir kullanıcı, dosyayı çalıştırma iznine sahip olmayabilir. Bu, kötü amaçlı bir uygulamanın yürütülmesini önlemeye yardımcı olur.
Dosya izinleri, üç ayrı kategoriye ayrılır: kullanıcı, grup ve diğerleri. Kullanıcı, dosyanın sahibidir. Grup, dosyanın sahibinin ait olduğu gruptur. Diğerleri, dosyanın sahibi veya grubuyla aynı grupta olmayan tüm kullanıcılardır. Bunlardan her birisine okuma (r), yazma(w) ve çalıştırma (x) olmak üzere üç tipte yetki verilebilir veya yetki kısıtlaması yapılabilir. Yetkiler sembolik (rw-) ve nümerik (110) olmak üzere iki şekilde ifade edilebilir. Bu yetkiler ile ilgili daha fazla bilgiyi buradan bulabilirsiniz.
- Setuid nedir ?
Setuid, bir dosyanın çalıştırılabilir dosya olarak işaretlenmesini sağlayan bir Linux dosya izni türüdür. Setuid, bir dosyanın sahibi tarafından belirlenen kullanıcı kimliğini kullanarak dosyayı çalıştırmak için izin verir. Bu, dosyanın sahibi olmayan bir kullanıcının dosyayı çalıştırmasına izin verir.
- Setgid nedir ?
Setgid, bir dosyanın çalıştırılabilir dosya olarak işaretlenmesini sağlayan bir Linux dosya izni türüdür. Setgid, bir dosyanın sahibi tarafından belirlenen grup kimliğini kullanarak dosyayı çalıştırmak için izin verir. Bu, dosyanın sahibi olmayan bir kullanıcının dosyayı çalıştırmasına izin verir.
- Sticky bit nedir ?
Sticky, bir dizin altında bulunan dosyalarda sadece dizin sahibinin silme ve değiştirme yetkisi bulunur, diğer kullanıcıların ise sadece dosya oluşturma ve okuma yetkisi bulunur.
İlk olarak ls -la
komutunu kullanarak bulunduğumuz dizindeki dosyaları listeliyoruz.
bandit19@bandit:~$ ls -la
total 36
drwxr-xr-x 2 root root 4096 Oct 5 06:19 .
drwxr-xr-x 70 root root 4096 Oct 5 06:20 ..
-rwsr-x--- 1 bandit20 bandit19 14876 Oct 5 06:19 bandit20-do
-rw-r--r-- 1 root root 220 Jan 6 2022 .bash_logout
-rw-r--r-- 1 root root 3771 Jan 6 2022 .bashrc
-rw-r--r-- 1 root root 807 Jan 6 2022 .profile
burada bandit20-do
dosyasının setuid
ile çalıştığını görüyoruz.
file
ile bandit20-do
dosyasının türünü bakalım.
bandit19@bandit:~$ file bandit20-do
bandit20-do: setuid ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, BuildID[sha1]=037b97b430734c79085a8720c90070e346ca378e, for GNU/Linux 3.2.0, not stripped
burada setuid
olduğunu görüyoruz. Şimdi bu dosyayı çalıştıralım.
bandit19@bandit:~$ ./bandit20-do
Run a command as another user.
Example: ./bandit20-do id
burada bandit20-do
dosyasının nasıl çalıştırılacağını gösteriyor. Şimdi bandit20
kullanıcısının şifresini bulmak için cat
komutunu kullanalım.
bandit19@bandit:~$ ./bandit20-do cat /etc/bandit_pass/bandit20
VxCazJaVykI6W36BkBU0mJTCM8rR95XT
burada bandit20
kullanıcısının şifresini bulduk. Bir sonraki levele bu şifre ile geçebiliriz.
Hata ve geri dönüşler için: ersagun@ersaguntosun.com