SNMP RCE
SNMP RCE
SNMP, yönetici cihaz veya sunucudaki varsayılan yapılandırmayı göz ardı ederse bir saldırgan tarafından istismar edilebilir. Yazma izinlerine sahip SNMP topluluğunu (rwcommunity) kötüye kullanarak, saldırgan sunucuda komutlar çalıştırabilir.
Ek Komutlarla Hizmetleri Genişletme
SNMP hizmetlerini genişletmek ve ek komutlar eklemek için, "nsExtendObjects" tablosuna yeni satırlar eklemek mümkündür. Bu, snmpset
komutunu kullanarak ve gerekli parametreleri, yürütülebilir dosyanın mutlak yolu ve çalıştırılacak komut dahil olmak üzere sağlayarak gerçekleştirilebilir:
Komutların Çalıştırılması için Enjekte Edilmesi
SNMP hizmetinde çalıştırılacak komutların enjekte edilmesi, çağrılan ikili/dosyanın varlığını ve çalıştırılabilirliğini gerektirir. NET-SNMP-EXTEND-MIB
çalıştırılabilir dosyanın mutlak yolunu sağlamayı zorunlu kılar.
Enjekte edilen komutun çalıştırıldığını doğrulamak için, snmpwalk
komutu SNMP hizmetini listelemek için kullanılabilir. Çıktı, komutu ve ona bağlı ayrıntıları, mutlak yol da dahil olmak üzere, gösterecektir:
Enjekte Edilen Komutların Çalıştırılması
Enjekte edilen komut okunduğunda, çalıştırılır. Bu davranış run-on-read()
olarak bilinir. Komutun yürütülmesi, snmpwalk okuması sırasında gözlemlenebilir.
SNMP ile Sunucu Shell Elde Etme
Sunucu üzerinde kontrol sağlamak ve bir sunucu shell elde etmek için, mxrch tarafından geliştirilen bir python script'i https://github.com/mxrch/snmp-shell.git adresinden kullanılabilir.
Alternatif olarak, SNMP'ye belirli bir komut enjekte ederek manuel olarak bir ters shell oluşturulabilir. Bu komut, snmpwalk tarafından tetiklenir ve saldırganın makinesine bir ters shell bağlantısı kurarak, kurban makinesi üzerinde kontrol sağlar. Bunu çalıştırmak için ön koşulu yükleyebilirsiniz:
Veya bir ters kabuk:
Referanslar
Last updated