Sistem güvenliğinde veya sızma testlerinde, saldırganların elde ettiği shell'ler genellikle "non-interactive" (etkileşimsiz) olur. Bu durumda, bu tip shell'ler tam anlamıyla bir terminal gibi davranmaz ve kullanıcı rahatlıkla komut çalıştıramaz, dizinlerde gezinemez veya bir terminaldeki gibi sistem kaynaklarına erişemez. Etkileşimli bir terminal elde etmek, daha fazla komut çalıştırma esnekliği ve sistem üzerinde tam kontrol sağlamak için gereklidir.
Python, sızma testlerinde ve güvenlik araştırmalarında sıklıkla kullanılan bir araçtır. Python'un PTY (Pseudo-Terminal) modülü, bir etkileşimli terminal elde etmek için kullanılabilir. PTY, komutların çalıştırıldığı sanal bir terminal ortamı oluşturarak, shell’in etkileşimli hale getirilmesini sağlar. PTY ile oluşturulan bu terminal, yerel bir terminalmiş gibi davranır, bu da çeşitli işlemleri daha rahat bir şekilde gerçekleştirmenizi sağlar.
Sızma testi sırasında elde edilen bir geri dönüş shell’i (reverse shell), genellikle PTY terminaline dönüştürülerek daha güçlü bir etkileşimli ortam elde edilir. Bu yöntem, terminal komutlarının düzgün çalışmamasını veya giriş/çıkışların hatalı görünmesini önler. Bu işlemin ardından, terminalin normal komutları ve özellikleri kullanılarak sistem üzerinde daha kapsamlı işlemler yapılabilir.
sudo python3 -c 'import pty; pty.spawn("/bin/bash")'