SNMP RCE
SNMP Uzaktan Komut Yürütme (RCE)
SNMP, yöneticinin cihaz veya sunucudaki varsayılan yapılandırmasını göz ardı ederse saldırgan tarafından istismar edilebilir. Bir Linux işletim sisteminde SNMP topluluğunu (rwcommunity) kötüye kullanarak saldırgan sunucuda komutları yürütebilir.
Ek Komutlarla Hizmetleri Genişletme
SNMP hizmetlerini genişletmek ve ekstra komutlar eklemek için, "nsExtendObjects" tablosuna yeni satırlar eklemek mümkündür. Bunun için snmpset
komutunu kullanarak gerekli parametreleri sağlamak gerekmektedir. Bu parametreler arasında yürütülecek dosyanın mutlak yolunu ve yürütülecek komutu belirtmek bulunur:
Komut Enjeksiyonu için Komutlar Eklemek
SNMP hizmetinde çalıştırılmak üzere komut enjekte etmek, çağrılan ikili/dosyanın varlığını ve çalıştırılabilir olmasını gerektirir. NET-SNMP-EXTEND-MIB
çağrılan ikili/dosyanın mutlak yolunu sağlamayı zorunlu kılar.
Enjekte edilen komutun çalıştırıldığını doğrulamak için snmpwalk
komutu kullanılabilir. Çıktı, komutu ve ilişkili ayrıntıları (mutlak yol dahil) içerecektir:
Enjekte Edilen Komutları Çalıştırma
Enjekte edilen komut okunduğunda çalıştırılır. Bu davranış run-on-read()
olarak bilinir. Komutun çalıştırılması, snmpwalk okunurken gözlemlenebilir.
SNMP ile Sunucu Kabuğu Elde Etme
Sunucu üzerinde kontrol sağlamak ve bir sunucu kabuğu elde etmek için, mxrch tarafından geliştirilen bir Python betiği kullanılabilir. https://github.com/mxrch/snmp-shell.git adresinden bu betikten yararlanabilirsiniz.
Alternatif olarak, SNMP'ye belirli bir komut enjekte ederek ters kabuk oluşturulabilir. Bu komut, snmpwalk tarafından tetiklenir ve saldırganın makinesine ters kabuk bağlantısı kurarak kurban makine üzerinde kontrol sağlar. Bu işlemi çalıştırmak için önceden gereksinimleri yükleyebilirsiniz:
Ya da ters kabuk:
Referanslar
Last updated