Sızma Testlerinde ICMP Üzerinden Shell Alma

Sızma testlerinde sıklıkla güvenlik cihazlarına(firewall,ips,waf vs.) veya antivirüs uygulamalarına rastlanmaktadır. Neredeyse bu tarz engeller ile karşılaşılmayan sistem yok denilebilir. Karşılaşılan güvenlik cihazlarının engellemelerini aşmak için çeşitli yöntemler kullanılabilinir. Genellikle tünelleme yöntemleri kullanılarak ilgili durumlar aşılmaktadır. DNS ve SSH tünelleme en sık başvurulan tünelleme yöntemidir.

Bu yazımızda  pek tercih edilmeyen fakat oldukça önemli olarak gördüğüm ICMP protokolü üzerinden hedef sistemlerde nasıl shell alınabileceğine değindim. Inbound ve outgoing erişimlerde çeşitli port ve servislerin kapalı olabileceği bir yerel ağda ICMP üzerinden shell alma oldukça önem arz etmektedir. İlgili işlem için icmp protokolünün açık olması ve hedefe ping atılabiliyor olması hedef sistem üzerinden shell almak için yeterli olacaktır. Kullanılan icmpsh uygulaması aşağıdaki bağlantıdan indirilebilir.

Download:
https://github.com/inquisb/icmpsh

Shell almak istediğimiz kurbana ait sistem aşağıdaki IP adresine sahiptir:

Shell almak isteyen saldırgan icmpsh’ın bulunduğu
dizinde ./run.sh ‘ı çalıştırılıp kurbana ait IP bilgisi girilir.
 
Shell almak istediğimiz IP adresini girdikten sonra aşağıdaki gibi kurban tarafında bir bağlantının gelmesi için dinleme modunda beklenilir.
 
Erişimin sağlanmak istenildiği (kurban) pc üzerinde  aşağıdaki komut çalıştırılır.
 
Böylece erişim sağlanılmak istenilen sistem  ile erişim sağlamak isteyen (saldırgan) arasında icmp haberleşme kanalımız kurulmuş olur.
İlgili durum regedit dosyasına bazı kayıtlar eklenerek kalıcı bir backdoor olarakta kullanılabilir. Saldırganlar bu methodu kendi bakış açılarına göre kullanarak ileri seviye saldırılarda gerçekleştirebilirler.

Özer GÖKER