OverTheWire Bandit: Seviye 18 → Seviye 19
Bağlam
Bu seviyede küçük bir şaka yapılmış. bandit18 kullanıcısı ile giriş yapmaya çalıştığınızda, sistem sizi selamlayıp anında atıyor:
...
Byebye !
Connection to bandit.labs.overthewire.org closed.
Bunun sebebi muhtemelen giriş yaptığınızda otomatik çalışan bir dosyanın (.bashrc veya .profile) içine exit komutunun eklenmiş olmasıdır. Yani kabuk (shell) açılır açılmaz kapanıyor.
Hedef
Sisteme interaktif olarak girmeden, readme dosyasını okuyup şifreyi almak.
Çözüm
SSH sadece uzak bir bilgisayara bağlanıp terminal açmak için değil, aynı zamanda tek bir komut gönderip sonucunu almak için de kullanılır. Bu modda, giriş betikleri (login scripts) bazen tam olarak çalışmaz veya çalışsa bile bizim gönderdiğimiz komut ondan önce veya ondan bağımsız çalışabilir.
Normalde şöyle bağlanıyoruz:
ssh bandit18@... -p 2220 (Ve atılıyoruz)
Şimdi bağlanırken “bana terminal verme, sadece şu komutu çalıştır” diyeceğiz:
ssh bandit18@bandit.labs.overthewire.org -p 2220 'cat readme'
(Şifre sorunca bandit18 şifresini girin)
Çıktı:
awhqfNnAbc1naukrpqDYkWZxVJ5x6yHv
Byebye !
Connection to ... closed.
Gördüğünüz gibi, yine “Byebye!” dedi ve bağlantıyı kesti AMA ondan önce bizim cat readme komutumuzu çalıştırdı ve şifreyi verdi!
Alternatif: Eğer içeride gezinmek istiyorsanız (dosya listesine bakmak vs.), komutları tek tek gönderebilirsiniz:
ssh bandit18@bandit.labs.overthewire.org -p 2220 'ls -al'
Öğrendiklerimiz
- SSH Komut Yürütme: SSH üzerinden interaktif oturum açmadan komut gönderilebilir. Bu, otomasyon (scripting) için ve bu tür kısıtlamaları aşmak için çok kullanışlıdır.
- .bashrc: Kullanıcı giriş yaptığında çalışan yapılandırma dosyasıdır. Buraya
exitkoymak basit bir “erişim engelleme” yöntemidir ama gördüğünüz gibi aşılması kolaydır.