SNMP adalah protokol yang berfungsi untuk manajemen perangkat jaringan. Sehingga kita bisa mengakses, memonitor, mengkonfigurasi peralatan-peralatan jaringan yang mengaktifkan protokol ini. Tapi bukan fungsi ini yang kita bahas (lebih ke efek sampingnya hehe..). Proses komunikasi data SNMP menggunakan UDP. Secara default, biasanya di peralatan-peralatan jaringan (seperti switch, router, dll), service SNMP aktif. Sistematika SNMP adalah di tiap nodenya telah terinstal dan running program yang bernama SNMP Agent. SNMP agent dapat mengoleksi semua properties devicenya, menulis dan disimpan ke tabel MIB. Sehingga kita dari tempat lain bisa memonitor dengan cara memasukkan community string (semacam password) untuk melihat keadaan peralatan jaringan atau mengubah konfigurasinya.
Protokol yang satu ini memang kurang populer ternyata… Tapi karena kurang populer, akibatnya juga banyak yang meremehkan keamanannya. To the point aja, cara mengeksploitasi SNMP pada peralatan di jaringan ini karena konfigurasi SNMP agent yang sangat perawan (default). Celah yang kita manfaatkan adalah banyaknya peralatan SNMP yang memiliki community string default. Community string untuk membaca properties MIB dibanyak peralatan jaringan adalah “public”. Sedangkan community string untuk menulis ke MIB adalah “private”. Celakanya, ini tidak diganti. Jadi hanya dengan bermodal tools port-scanner, kita sudah bisa iseng terhadap peralatan-peralatan yang menjalankan SNMP tersebut.
Bermodal port scanner? Iya, port scannernya dimanfaatkan untuk mencari node di jaringan yang mengaktifkan SNMP (biasanya di port 161). Jadi kalo port 161 suatu node terbuka, sudah hampir pasti ntu node memiliki SNMP Agent yang sedang berjalan. Sisanya, tinggal memanfaatkan program snmpwalk
untuk melihat properties MIB dan snmpset
untuk mengubah properties MIB.
Ini cara singkat ketika kita mencoba-coba iseng ke komputer target di 192.168.1.19 berikut ini:
root@eniac:~# snmpwalk -v2c -c public 192.168.1.19 sysContact.0
SNMPv2-MIB::sysContact.0 = STRING: someone@somewhere.com
Di atas itu adalah proses melihat MIB untuk properties sysContact (masih banyak lagi properties lainnya di komputer 192.168.1.19 itu tentu saja). Hanya dengan menebak bahwa community string untuk membaca/read MIB adalah “public”, ternyata kita benar hehe…
root@eniac:~# snmpset -v2c -c private 192.168.1.19 sysContact.0 = hackername@hackerdomain.com
SNMPv2-MIB::sysContact.0 = STRING: hackername@hackerdomain.com
Dan command di atas ini adalah untuk mengubah properties sysContact pada MIB menjadi menuju ke alamat email pelaku. Mungkin contohnya kurang kejam kali ya.. Karena kita cuma mengubah sysContact. Tapi coba anda bayangkan ada berapa banyak properties di MIB. Bahkan interface status [UP atau DOWN] juga ada. Kita bisa mengubah status menjadi UP atau DOWN dengan snmpset
. Sampai sini got the point? Selanjutnya terserah anda hehe.
kang bisa ajarin tutorial buat pentest kang?
bisa email ke ane kang…
kebetulan ane tertarik dengan hal kayak gini…