title: SNMP掃描
date: 2016-06-10 09:56
tags: kali滲透測(cè)試 主動(dòng)信息收集
0x00 SNMP掃描
簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議掃描槽畔,SNMP的客戶端通常使用的是162端口,而服務(wù)器通常使用的是161端口涕蜂。有些類似于DHCP協(xié)議(基于UDP之上的應(yīng)用層協(xié)議,服務(wù)端使用67port皿哨,客戶端使用68port)了浅侨。一個(gè)小發(fā)現(xiàn),服務(wù)端喜歡使用單數(shù)证膨,而客服端會(huì)是雙數(shù)如输。
當(dāng)一網(wǎng)絡(luò)環(huán)境已經(jīng)初具規(guī)模時(shí),若是還是使用人工進(jìn)行網(wǎng)絡(luò)的管理的央勒,效率會(huì)很低的不见。這是便需要基于SNMAP的網(wǎng)絡(luò)監(jiān)控機(jī)制,負(fù)責(zé)監(jiān)控內(nèi)部網(wǎng)絡(luò)的比如網(wǎng)絡(luò)交換機(jī)崔步,服務(wù)器脖祈,防火墻,cpu刷晋,帶寬盖高,并發(fā)連接數(shù)等系統(tǒng)資源。
SNMP無論是對(duì)網(wǎng)絡(luò)管理員還是hacker而言都是信息的金礦寶地眼虱。但是很多的網(wǎng)絡(luò)管理者往往錯(cuò)誤的對(duì)待SNMP的配置規(guī)則喻奥,只是簡(jiǎn)單的以為只要網(wǎng)絡(luò)連通了邊萬事大吉了。
比如SNMP的默認(rèn)配置中會(huì)使用public來作為communicate的默認(rèn)秘鑰捏悬。如果是private的話撞蚕,那便更好玩了,直接更改它的SNMP配置过牙。要是manager甥厦,那簡(jiǎn)直不可想像。寇钉。刀疙。對(duì)于這些簡(jiǎn)單的SNMP配置,簡(jiǎn)單的字典爆破就可以搞定了扫倡。
0x01 SNMP 的MIB庫
SNMP的工作原理其實(shí)就是通過SNMP的客戶端(但是客戶端必須先導(dǎo)入對(duì)應(yīng)的MIB庫)谦秧,然后通過MIB庫來獲得服務(wù)器信息。
國際標(biāo)準(zhǔn)組織制定了一個(gè)MIB(Management Information Base) Tree的SNMP查詢標(biāo)準(zhǔn)庫(樹形網(wǎng)絡(luò)設(shè)備管理功能數(shù)據(jù)庫)撵溃。通過該庫可以查詢OS或者服務(wù)器的一些常用信息疚鲤。有的設(shè)備商也會(huì)有自己的MIB庫,如思科等缘挑。
0x02 SNMP的服務(wù)端
在Windows下打開添加刪除程序集歇,添加windows組件,管理和監(jiān)控工具语淘,安裝SNMTP服務(wù)诲宇。然后打開服務(wù)际歼,可以看到現(xiàn)在多出了,snmp servers和
snmp中的陷進(jìn)焕窝,一臺(tái)電腦一旦安裝snmp便成為snmp的服務(wù)端了,此時(shí)我們可以通過客戶端對(duì)其發(fā)起查詢請(qǐng)求维贺。若是服務(wù)端沒有收到查詢請(qǐng)求它掂,那么該服務(wù)器上關(guān)于電腦性能,流量等參數(shù)信息是不會(huì)主動(dòng)向外發(fā)送的溯泣。
但若是我們對(duì)snmp的陷阱進(jìn)行配置虐秋,既是對(duì)團(tuán)體主機(jī)(目標(biāo)主機(jī):該主機(jī)一般會(huì)是一臺(tái)監(jiān)控主機(jī))和陷阱目標(biāo)進(jìn)行配置,snmp變回將系統(tǒng)性能參數(shù)(我的某個(gè)進(jìn)程down了垃沦,內(nèi)存快慢了客给,我要沒電了)發(fā)送給該目標(biāo)主機(jī)。
再來看看snmp的安全選項(xiàng)肢簿,這是我們最感興趣的選項(xiàng)靶剑,向吸血鬼聞到血一般,毫無抗拒之力池充,哈哈桩引。
首先snmp,安全選項(xiàng)的默認(rèn)設(shè)置本身就是不安全的,因?yàn)樗?strong>允許接收來自任何主機(jī)的SNMP數(shù)據(jù)包收夸。驗(yàn)證信息也是將默認(rèn)的public\作為communicate坑匠。這將會(huì)埋下極大的安全隱患。
需要知道的是SNMP使用的明文傳輸卧惜。
0x03 onesixtyone
Kali里面也集成了一款常用的MIT查詢工具onesixtyone(161)厘灼。161是SNMP服務(wù)端的端口。
但是onesixtyone并沒有很強(qiáng)大咽瓷,會(huì)想NMAP般獲得大量的信息设凹,onesixtyone主要作用是用于探測(cè)目標(biāo)服務(wù)器的communicate是否是基于弱密碼的,比如public:
? ~ onesixtyone 192.168.0.113 public
若是沒有任何返回信息茅姜,那么代表目標(biāo)沒有使用mor的commnicate围来,或者目標(biāo)沒有安裝SNMP服務(wù)端。
對(duì)于第一種情況我們可以結(jié)合字典對(duì)其進(jìn)行爆破
{ Usage $: onesixtyone -c dict.txt -i hosts -o my.log -w 100
}
- -i hosts:表示待掃描的主機(jī)列表匈睁。
? ~ dpkg -L onesixtyone
#查詢onesixtyone自帶的字典信息
/usr/share/doc/onesixtyone/dict.txt
? ~ onesixtyone -c /usr/share/doc/onesixtyone/dict.txt
192.168.0.103 -o my.log -w 100
#使用字典對(duì)其進(jìn)行爆破
0x04 snmpwalk
snmpwalk可以查詢到的系統(tǒng)參數(shù)信息將會(huì)遠(yuǎn)遠(yuǎn)多于161掃描监透。
{ Usage $: snmpwalk host -c communicate -v 2c }
- -c:表示使用的communicate
- -v:表示使用的snmpwalk版本,目前有三個(gè)版本:1c,2c,3c航唆。
? ~ snmpwalk 192.168.0.113 -c public -v 2c
使用MIB中特定的UID號(hào)查詢目標(biāo)主機(jī)中的特定信息胀蛮。
? ~ snmpwalk -c public -v 2c 192.168.0.113 uid
0x05 snmapcheck
snmpcheck 獲得的信息可讀性會(huì)優(yōu)于snmapwalk。
? ~ snmpcheck -t hosts
可是使用snmpcheck -h查詢更多使用方式糯钙,