簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議或 SNMP 是最不為人所知的協(xié)議之一,但對(duì)于網(wǎng)絡(luò)的成功運(yùn)行至關(guān)重要。如果攻擊者能夠破壞 SNMP,他們可能能夠揭開(kāi)您加密的 VPN 通信的掩碼并查看并可能控制連接到您網(wǎng)絡(luò)的每臺(tái)設(shè)備。
簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議使用 UDP 端口 161 和 162 來(lái)管理網(wǎng)絡(luò)設(shè)備。網(wǎng)絡(luò)設(shè)備使用此協(xié)議相互通信,管理員可以使用它來(lái)管理設(shè)備。作為黑客,如果我們能夠訪問(wèn) SNMP 協(xié)議,我們就可以在目標(biāo)網(wǎng)絡(luò)上獲取大量信息資源,甚至可以禁用和更改這些設(shè)備上的設(shè)置。想象一下,通過(guò)更改路由器和交換機(jī)的設(shè)置可能造成的破壞!
SNMP 背景
簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議 (SNMP) 是 Internet 協(xié)議套件的一部分,旨在管理計(jì)算機(jī)和網(wǎng)絡(luò)設(shè)備。思科將其描述為“一種促進(jìn)網(wǎng)絡(luò)設(shè)備之間信息交換的應(yīng)用層協(xié)議”。簡(jiǎn)潔正確,但缺少SNMP也提供的管理功能。
SNMP 是一種無(wú)狀態(tài)的、面向數(shù)據(jù)報(bào)的協(xié)議。它涉及一臺(tái)或多臺(tái)稱(chēng)為管理器的管理計(jì)算機(jī)。這些管理器監(jiān)視和管理一組計(jì)算機(jī)。每臺(tái)受管計(jì)算機(jī)都安裝了一個(gè)與管理器通信的代理。請(qǐng)參見(jiàn)下圖了解 SNMP 如何運(yùn)行的示意圖。
受管計(jì)算機(jī)上的代理向管理計(jì)算機(jī)提供管理數(shù)據(jù)。管理者可以承擔(dān)管理任務(wù),包括修改和應(yīng)用新配置。
每臺(tái)受管機(jī)器上的代理公開(kāi)的管理數(shù)據(jù)存儲(chǔ)在稱(chēng)為管理信息庫(kù)或 MIB的分層數(shù)據(jù)庫(kù)中。我們將在這里尋找的正是 MIB 中的這些信息。此 MIB 包含有關(guān)網(wǎng)絡(luò)上每個(gè)設(shè)備的大量信息,包括用戶(hù)、安裝的軟件、操作系統(tǒng)、開(kāi)放端口等。所有這些信息對(duì)于開(kāi)發(fā)針對(duì)目標(biāo)的利用策略都是非常寶貴的。
SNMP 協(xié)議在 UDP 端口 161 上進(jìn)行通信。通信發(fā)生在協(xié)議數(shù)據(jù)單元或 PDU 上。這些 PDU 有七 (7) 種類(lèi)型。
1.獲取請(qǐng)求
2.設(shè)置請(qǐng)求
3.獲取下一個(gè)請(qǐng)求
4.獲取批量請(qǐng)求
5.回復(fù)
6.統(tǒng)計(jì)
7.通知請(qǐng)求
SNMP 具有三 (3) 個(gè)版本。
版本 1 或 SNMPv1,安全性很差??蛻?hù)端的身份驗(yàn)證以明文形式進(jìn)行,默認(rèn)情況下,使用設(shè)置為“ public ”的“community string ”。該字符串的操作類(lèi)似于密碼,并且對(duì)網(wǎng)絡(luò)上的每個(gè)節(jié)點(diǎn)都有效。經(jīng)身份驗(yàn)證也是一個(gè)管理名稱(chēng)字符串設(shè)置為“私人",默認(rèn)情況下。使用這些管理名稱(chēng)字符串,攻擊者可以從 MIB 中收集所有信息(使用公共管理名稱(chēng)字符串),甚至可以在設(shè)備上設(shè)置配置(使用私有管理名稱(chēng)字符串)。雖然它廣為人知并且了解到 SNMPv1 是不安全的,它仍然被廣泛使用(我最近在紐約一家主要銀行進(jìn)行了安全評(píng)估,他們?nèi)栽谑褂?SNMPv1)。即使網(wǎng)絡(luò)管理員更改了默認(rèn)的管理名稱(chēng)字符串,因?yàn)橥ㄐ攀敲魑牡?,攻擊者可以從網(wǎng)絡(luò)上嗅探身份驗(yàn)證字符串。
SNMPv2 在性能和安全性方面對(duì) SNMPv1 進(jìn)行了改進(jìn),但由于不能向后兼容 SNMPv1,因此沒(méi)有被廣泛采用。SNMPv3 比 SNMPv1 或 v2 安全得多。SNMPv3 增加了加密、消息完整性和身份驗(yàn)證,但仍未在所有網(wǎng)絡(luò)上使用。
SNMPv1的Wireshark分析
下面我們可以看到Wireshark通過(guò) LAN 捕獲的 SNMPv1 通信。
請(qǐng)注意上方窗口中的 Get-Request、Get-Respon 和 Get-Next-Request 以及下方窗口中的管理名稱(chēng)字符串。
濫用 SNMP 進(jìn)行信息收集
現(xiàn)在我們對(duì) SNMP 協(xié)議有了一些背景知識(shí),讓我們使用它來(lái)收集有關(guān)目標(biāo)的信息。打開(kāi) Kali 并轉(zhuǎn)到Applications --> Kali Linux -->Information Gathering --> SNMP Analysis -->snmpcheck,如下面的屏幕截圖所示。
當(dāng)您這樣做時(shí),您將看到如下所示的snmpcheck幫助屏幕。
Snmpcheck是一個(gè) Perl 腳本,用于查詢(xún) SNMP MIB 以獲取有關(guān)目標(biāo) IP 的信息。它的語(yǔ)法相當(dāng)簡(jiǎn)單;
kali >snmpcheck -t <目標(biāo)IP>
當(dāng)然,一些選項(xiàng)可用,例如管理名稱(chēng)字符串(默認(rèn)使用“public”)、SNMP 版本(默認(rèn)使用 1 或 2 是另一個(gè)選項(xiàng)。注意,它不適用于更安全的 SNMP v3 ) 和其他幾個(gè)。我們將在此處針對(duì)我們網(wǎng)絡(luò)上的 2003 服務(wù)器使用它,以查看 SNMP 可以為我們提供有關(guān)目標(biāo)的哪些信息。
正如您在下面的屏幕截圖中看到的,我們運(yùn)行了snmpcheck,它開(kāi)始從 MIB 中收集有關(guān)目標(biāo)的信息并將其顯示在我們的屏幕上。最初,它提供有關(guān)硬件的信息,然后是操作系統(tǒng)和正常運(yùn)行時(shí)間(正常運(yùn)行時(shí)間對(duì)于確定系統(tǒng)是否已打補(bǔ)丁非常有用)。
接下來(lái),它顯示設(shè)備信息。
其次,存儲(chǔ)信息。
然后,用戶(hù)帳戶(hù)(這在以后嘗試破解用戶(hù)密碼時(shí)很有用。它消除了猜測(cè)用戶(hù)帳戶(hù)名稱(chēng)的需要)。
最后,在系統(tǒng)上安裝軟件。當(dāng)我們開(kāi)始開(kāi)發(fā)利用策略時(shí),這可能特別有用,因?yàn)槔锰囟ㄓ趹?yīng)用程序及其版本。
破解 SNMP 符串
正如上面所看到的,如果我們可以訪問(wèn) SNMP,SNMP 可以為我們提供有關(guān)目標(biāo)的大量信息。我們假設(shè)管理員將管理名稱(chēng)字符串設(shè)置為“public”。如果管理員更加謹(jǐn)慎和安全并更改了管理名稱(chēng)字符串怎么辦?我們?nèi)绾握业焦芾砻Q(chēng)字符串?
Kali 內(nèi)置了一個(gè)名為oneixtyone的優(yōu)秀工具(大概以 SNMP 運(yùn)行的默認(rèn)端口命名)。本質(zhì)上,它是一個(gè) SNMP 管理名稱(chēng)字符串破解器。像大多數(shù)“密碼”破解者一樣,它依靠字典或詞表來(lái)嘗試對(duì)服務(wù)進(jìn)行攻擊,直到找到匹配項(xiàng)。
讓我們通過(guò)轉(zhuǎn)到Applications --> Kali Linux --> Information Gathering -->SNMP Analysis -->onesixtyone打開(kāi)onesixtyone。它應(yīng)該會(huì)打開(kāi)一個(gè)如下所示的幫助屏幕。
oneixtyone的語(yǔ)法非常簡(jiǎn)單明了。
kali >oneixtyone [options]
與基于字典的密碼破解程序一樣,與oneixtyone一起使用的字典至關(guān)重要。在oneixtyone的情況下,它有一個(gè)內(nèi)置的字典。它很小,但包含許多 SNMP 常用的字符串。如果您正在為 SNMP 破解創(chuàng)建自己的字典,這是一個(gè)很好的起點(diǎn),但您可能希望使用域名或公司名稱(chēng)的變體來(lái)擴(kuò)展它,因?yàn)榫W(wǎng)絡(luò)管理員通常不會(huì)花太多精力為 SNMP 創(chuàng)建復(fù)雜的字符串.. 例如,如果公司是 Microsoft,您可以嘗試懶惰的管理員可能使用的字符串,例如microsoft-public、microsoft-private、microsoft-snmp、microsoft-network 等。
讓我們通過(guò)鍵入來(lái)查看字典文件;kali>cat/usr/share/doc/onesixtone/dict.txt
它包含一個(gè)廣泛使用的 SMNP 管理名稱(chēng)字符串的簡(jiǎn)短列表。我們將使用這個(gè)簡(jiǎn)短的字典來(lái)查看是否可以在我們的網(wǎng)絡(luò)上找到該管理名稱(chēng)字符串,然后在snmpcheck中使用它來(lái)收集有關(guān)目標(biāo)的所有信息。
在我們的例子中,我們將在與以前相同的系統(tǒng)上使用它,所以我們的命令是;
kali>onesixtyone 192.168.1.102 -c /usr/share/doc/onesixtyone/dict.txt
正如您在上面的屏幕截圖中看到的,它能夠找到私有管理名稱(chēng)字符串(仍設(shè)置為默認(rèn)的“private”)和公共管理名稱(chēng)字符串(仍設(shè)置為默認(rèn)的“public”)。然后可以將這些管理名稱(chēng)字符串與snmpcheck一起使用,以從 MIB 中獲取有關(guān)目標(biāo)系統(tǒng)的信息。
NSA 利用 SNMP 來(lái)揭露 VPN 通信
我們知道 NSA 已經(jīng)利用 SNMP 從 Edward Snowden 發(fā)布的文件中揭露 VPN 通信。有關(guān)此NSA ExtraBacon 漏洞利用的教程,請(qǐng)單擊此處。盡管該漏洞已被 Cisco 修補(bǔ),但 NSA 很可能還有另一個(gè) SNMP 漏洞利用來(lái)查看加密通信。
結(jié)論
如果我們可以訪問(wèn)它,SNMP 可以成為目標(biāo)網(wǎng)絡(luò)上的豐富信息源。snmpcheck將從 MIB 中提取信息,oneixtyone幫助我們破解 SNMP“密碼”。兩者對(duì)于利用 SNMP 進(jìn)行偵察都至關(guān)重要。
本文發(fā)布于:2023-02-28 21:29:00,感謝您對(duì)本站的認(rèn)可!
本文鏈接:http://www.newhan.cn/zhishi/a/1677764128115048.html
版權(quán)聲明:本站內(nèi)容均來(lái)自互聯(lián)網(wǎng),僅供演示用,請(qǐng)勿用于商業(yè)和其他非法用途。如果侵犯了您的權(quán)益請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)刪除。
本文word下載地址:snmp協(xié)議(snmp協(xié)議端口號(hào)).doc
本文 PDF 下載地址:snmp協(xié)議(snmp協(xié)議端口號(hào)).pdf
| 留言與評(píng)論(共有 0 條評(píng)論) |