配置snmp_多種設備基于 SNMP 協議的敏感信息泄露漏洞數據分析報告

f37a3ce35aa60ef50b9677a75c8e29dc.png

作者:知道創宇404實驗室

1. 更新情況

3e3b4f2cfe604a68a8a3666f96f20490.png

2. 事件概述

SNMP協議[1],即簡單網絡管理協議(SNMP,Simple Network Management Protocol),默認端口為 161/UDP,目前一共有3個版本:V1,V2c,V3。V3是最新的版本,在安全的設計上有了很大改進,不過目前廣泛應用的還是存在較多安全問題的V1和V2c版本。SNMP協議工作的原理簡單點來說就是管理主機向被管理的主機或設備發送一個請求,這個請求包含一個community和一個oid。oid就是一個代號,代表管理主機這個請求想要的信息。被管理的主機收到這個請求后,看請求community是否和自己保存的一致,如果一致,則把相應信息返回給管理主機。如果不一致,就不會返回任何信息。所以community相當與一個認證的口令。V1和V2c版本的SNMP協議都是明文傳輸數據的,所以可以通過抓包嗅探等手段獲取認證需要的community。

2018年12月25日,Seebug 平臺收錄了多個基于SNMP協議的敏感信息泄露漏洞[2]。在多種廠商提供的網關類設備中,可以使用任意 community非常容易地讀取SNMP提供的明文形式的的Web管理系統的用戶名和密碼、Wi-Fi憑證等信息。也可以使用任意community通過SET協議指令發送配置更新或控制請求,攻擊者可以注入惡意的配置,如在Cisco DPC3928SL通過注入SSID造成Web管理系統的XSS(CVE-2018-20379)。

該漏洞最早于 2017 年 4 月 4 日曝出,CVE編號為CVE-2017-5135,漏洞發現者將該漏洞稱之為 Stringbleed[3]。2018年12月22日,時隔一年多,漏洞發現者進行全球探測后提供了一個很全的漏洞影響列表,其中包含23個不同廠商78個不同型號的網關設備,同時申請了多個CVE編號(CVE-2018-20380~CVE-2018-20401)。關于漏洞的成因一直都在爭論之中,截止目前依然沒有最終定論[4]。該類設備一般由ISP提供,我們暫時沒有找到漏洞設備或固件對漏洞原理進行研究。根據社區的討論結果,產生該漏洞的原因可能有以下幾種情況:

  • 這些存在漏洞的設備使用了同一個存在邏輯缺陷的SNMP協議實現,該實現代碼沒有正確處理 community 字符串認證,導致任意 community 均可以通過認證,進一步導致敏感信息泄露。
  • ISP 配置錯誤,無效的訪問控制規則。

本文不包含漏洞分析,而是針對全球該類設備漏洞存在情況的數據分析報告。

3. 漏洞復現

直接使用 snmpget 命令發送 SNMP GET 請求即可, -c 選項指定任意字符串作為 community 均可通過認證。

snmpget -v 1 -c public $IP iso.3.6.1.2.1.1.1.0 snmpget -v 1 -c '#Stringbleed' $IP iso.3.6.1.4.1.4491.2.4.1.1.6.1.1.0 snmpget -v 1 -c '#Stringbleed' $IP iso.3.6.1.4.1.4491.2.4.1.1.6.1.2.0

復現結果如下:

00149b6b62af50a417c6b36664e2aa4d.png

如果目標設備開放了Web服務,則可使用泄露的用戶名和密碼登陸Web管理系統,如下:

4dc1e463b68e0531e9455902175f73f1.png

值得一提的是,用戶名和密碼存在為空的情況。

ad4f3d8d40f4b6dc23c60d21e0d925de.png

發送 SNMP SET 請求進行配置更新,-c 選項指定任意 community。如下所示,我們通過snmpset修改了 Web 系統用戶名。

497b8a7ee9db758580353cda87fe8d04.png

4. 漏洞影響范圍

我們通過提取漏洞設備相關的“關鍵詞”,在ZoomEye網絡空間搜索引擎[5]上共發現了1,241,510個 IP數據。

1a84614a841cd73e3babe8cb211659b6.png

通過使用 zmap 對這 124 萬的IP數據進行存活檢測,發現約有 23 萬的IP 存活。進一步對存活的 23 萬IP進行漏洞存在檢驗,發現有15882 個目標設備存在該敏感信息泄露漏洞,涉及23個廠商的多個型號設備的多個固件版本。

對這 15882 個漏洞設備的信息進行聚合,得到廠商及版本等統計信息如下(各個型號的ZoomEye dork 為: Vendor +Model +相應型號,如搜索DPC3928SL的語法為:Vendor +Model +DPC3928SL)

fe10c6f6760dcbd58cc28cf0d0e1335f.png

842bf69925c3e35c86a05d031534f6b6.png

bb73e51807723415297be9889a12aba1.png

3ae0a46dc2aaa05b67869df70a65f7e4.png

漏洞設備的廠商分布餅圖如下(有一點需要說明的是,DPC3928SL網關設備屬于受此漏洞影響最嚴重的網絡設備之一,原來屬于Cisco公司, 現在屬于Technicolor。)

e5df8adaf4450a8554e7208c6c31cf6d.png

國家分布前十如下,主要分布在中國、泰國、韓國等國家。

8094b9456995286eb7513a2ab80a6479.png

中國存在漏洞的設備全部分布在廣東、臺灣兩個省份,呈現一定的地域性。其中廣東最多,為6318 臺。

5a8535fcc1a7e44a88077a7ea2e7dde5.png

進一步分析發現,在原全球124萬161/udp 端口的該類設備IP數據中,屬于中國的幾乎全部分布在廣東省和臺灣省,其他省份基本上沒有探測到公網上該類設備端口開放(運營商禁用了SNMP服務或者沒有使用同類設備?)。

a548172491efd3a6a39f5a4bcd289086.png

廣東省受影響的設備的ISP分布如下,98% 以上歸屬于 “珠江寬頻/聯通“ 這個ISP,存在漏洞的設備大部分為Technicolor CWA0101 Wireless Gateway ,version :gz5.0.2。

a5343d33b7ef2680b6034a5ac1595326.png

臺灣的181臺漏洞設備都歸屬于ISP:http://twmbroadband.com,存在漏洞的設備大部分為Ambit T60C926。結合以上數據分析,我們斷定中國存在該漏洞設備的地理分布和當地的ISP有很大關系。

針對所有存在該漏洞的設備,我們統計了憑證的使用情況,如下:

常用用戶名,主要包含admin、login、user、dlink等。

912a3eba38a7190a338d9dadd8cc6193.png

常用密碼,主要包含 admin、password、dream01、空、br0adband、gzcatvnet、user、Broadcom、dlink、ambit、root等,大部分為常見的弱密碼。

ca4fe64443547557a7a0045744552279.png

非常有意思的是,我們發現以下使用次數最多的用戶名密碼組合,和使用該憑證組合最多的漏洞設備,以及漏洞設備所在的國家,都存在一定的關聯性。

(如第一行記錄:中國所有含有該漏洞的設備中約有 5502 臺都使用了 admin:admin 憑證,且受影響設備型號數量最多的為 Technicolor/CWA0101。)

b46240e00f27f591a2bb82d27db1f9d3.png

5. 總結

基本可以肯定的是,這不是SNMP協議本身的問題,而是協議的實現代碼存在漏洞或者ISP配置錯誤。該漏洞影響廠商、設備型號非常多,且呈現出一定的區域性。

路由器、Modem、攝像頭等IoT設備的信息泄露漏洞層出不窮,對個人隱私造成極大的威脅,關閉非必要的端口或者使用防火墻限制非法訪問是個值得考慮的舉措。

系統的安全性往往取決于最短的那塊木板-“木桶效應”,通過SNMP協議泄露HTTP服務憑證很好的說明了這一點。

用戶可根據PoC自行驗證設備是否存在漏洞,如果存在漏洞可聯系相應的ISP尋求解決方案。

6. 相關鏈接

[1] SNMP 協議https://baike.baidu.com/item/SNMP/133378?fr=aladdin

[2] Seebug 漏洞收錄https://www.seebug.org/vuldb/ssvid-97741https://www.seebug.org/vuldb/ssvid-97742https://www.seebug.org/vuldb/ssvid-97736

[3] Stringbleed
https://stringbleed.github.io/#

[4] 關于該漏洞的討論https://www.reddit.com/r/netsec/comments/67qt6u/cve_20175135_snmp_authentication_bypass/

[5] ZoomEye網絡空間搜索引擎https://www.zoomeye.org/searchResult?q=MODEL%20%2BVENDOR%20%2Bport%3A%22161%22

[6] SNMP 歷史漏洞參考http://drops.the404.me/1033.html


本文由 Seebug Paper 發布,如需轉載請注明來源。

歡迎關注我和專欄,我將定期搬運技術文章~

也歡迎訪問我們:知道創宇云安全

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/529566.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/529566.shtml
英文地址,請注明出處:http://en.pswp.cn/news/529566.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

python 個人所得稅問題_Python實現的個人所得稅計算器

這篇文章主要介紹了Python實現的個人所得稅計算器,涉及Python條件判斷與數值運算相關操作技巧,需要的朋友可以參考下本文實例講述了Python實現的個人所得稅計算器。分享給大家供大家參考,具體如下:# -*- coding: utf-8 -*-"""Created on …

建立項目接口文檔_分享:一步一個腳印,vue入門之使用mockjs搭建vue項目測試服務器...

在以前的文檔中,我們構建了vue項目的整體架構,詳見vue入門:vue項目架構設計起步,現在我們主要對其中的mock server 進行完善。一、概述前后端分離的項目優點之一就是可以前后端并行開發,互不影響。那么在后端接口沒有完…

有效字符區域 獲取textview_Android編程開發之TextView文字顯示和修改方法(附TextView屬性介紹)...

本文實例講述了Android編程開發之TextView文字顯示和修改方法。分享給大家供大家參考,具體如下:一. 新建一個Activity 和 Layout首先在layout文件夾中新建一個activity_main.xml,在新建工程的時候一般默認會新建此xml文件,修改其代碼如下:activity_main.…

單機最大負載_電流互感器允許接入的實際最大二次負載(注電案例1865)

某國外水電站安裝的水輪發電機組,單機額定容量為 120MW,發電機額定電壓為 13.8kV,cosφ0.85。發電機、主變壓器采用發變組單元接線,未裝設發電機斷路器,主變高壓側三相短路時流過發電機的最大短路電流為 19.6kA。發電機…

vue怎么vw布局好用_vue cli3項目的pc自適應布局_vw

前言vw布局的頁面是等比改變的,比如我們在一個750px的屏幕寬度中使用了vw,當我們把屏幕寬度改為1920的時候,網頁的整個樣式包括字體都會等比放大.vw布局我用于大屏監控數據展示.下圖是750屏幕寬度下的頁面下圖是1920屏幕寬度下的頁面pc端配置1.安裝postcss-px-to-viewport插件,…

python做得怎么變成exe_Python如何生成exe文件?

背景圖來源:click斗魚直播間真實rtmp地址獲取(含工具類下載)?zhuanlan.zhihu.com最經典的Python爬蟲(圖片)案例?zhuanlan.zhihu.com寫在前面:之前用python生成過可執行的exe文件(斗魚推流地址exe ,圖片exe,芳兒小團子千人成像ex…

python mkl freebsd_freebsd下之簡單安裝python

先su到root帳戶進入/usr/ports/lang/python26然后直接make整個過程如圖所示,經過漫長的編譯之后...然后make install又是漫長的等待...出現Install them as needed.--------------------------------------------------------This package was built with the exper…

html video顯示進度條_使用 tqdm 在 Python 應用中顯示進度 | Linux 中國

如果你的程序需要一段時間才能顯示結果,可通過顯示它的進度來避免讓用戶感到沮喪。來源:https://linux.cn/article-12990-1.html作者:Moshe Zadka譯者:geekpi(本文字數:3093,閱讀時長大約&#…

課題開題報告范文樣本_成都汽車職業技術學校舉行 2020年省、市、區課題開題報告會...

01為深入貫徹落實國務院、省、市、區關于深化教育教學改革的重要精神,充分發揮教育科研的先導作用,明晰課題研究的思路并提高課題研究的針對性,1月12日,成都汽車職業技術學校舉行2020年省、市、區課題開題報告會。本次開題報告會邀…

vsftp日志查看_vsftp日志xferlog格式分析(示例代碼)

1、開始vsftp記錄日志。修改/etc/vsftpd/vsftpd.conf 如下:xferlog_enableYESxferlog_std_formatYESxferlog_file/var/log/xferlogFTP服務器的日志設置,可以通過修改主配置文件/etc/vsftpd.conf實現。主配置文件中與日志設置有關的選項包括xferlog_enabl…

安裝mysql5 1步驟_Linux系統安裝MySQL詳細步驟(mysql-5.1等)

第一步、查找以前是否安裝有mysql使用下面命令:rpm -qa|grep -i mysql如果顯示有包則說明已安裝mysql第二步、如果已安裝,則需要刪除已安裝的數據庫可按以下步驟刪除數據庫:刪除包命令:rpm -e --nodeps 【包名】rpm -e --nodeps …

mysql分頁查詢關鍵_MySQL優化教程之超大分頁查詢

背景基本上只要是做后臺開發,都會接觸到分頁這個需求或者功能吧。基本上大家都是會用MySQL的LIMIT來處理,而且我現在負責的項目也是這樣寫的。但是一旦數據量起來了,其實LIMIT的效率會極其的低,這一篇文章就來講一下LIMIT子句優化…

mysql r_R之RMySQL

linux,mysql和R的版本信息:Linux naci 3.19.0-16-generic #16-Ubuntu SMPServer version: 5.6.24-0ubuntu2 (Ubuntu)R version 3.1.2 (2014-10-31) -- "Pumpkin Helmet"mysql的linux安裝,參照上一篇關于liunx下安裝mysql的文章。1.…

mysql 字符轉換函數是_MySQL日期和字符串轉換函數

Mysql中to_char()和str_to_date()函數轉載路徑:https://blog.csdn.net/ricardo_mli/article/details/802175121.字符串轉換成日期格式str_to_date(date,’%Y-%m-%d’)----->相當于Oracle中的to_char();例子:INSERT INTOt_order(order_time)VALUES(str…

mysql數據加百分號_使用MySQL SELECT語句時,在每個值的末尾添加一個百分號(%)...

要在末尾添加百分號,請使用CONCAT()函數。讓我們首先創建一個表-mysql> create table DemoTable(StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,StudentName varchar(100),StudentScore int);使用插入命令在表中插入一些記錄-mysql> insert into DemoTa…

mysql 分頁 jdbc_JDBC調用MySQL分頁存儲過程實現(一)

DROP PROCEDURE IF EXISTS pro_pager;CREATE DEFINER root% PROCEDURE pro_pager(in p_pageNo int, /*當前頁*/in p_perPageCnt int, /*每頁記錄數*/in p_sql VARCHAR(2000), /*查詢sql語句*/out v_totalRowsCnt int, /*記錄總條數*/out v_totalPageCnt int) /*記錄總頁數*/BE…

mariadb mysql表_mysql/mariadb學習記錄——創建刪除數據庫、表的基本命令

查看已有的數據庫:mysql>show databases;--------------------| Database |--------------------| information_schema || test |--------------------2 rows in set (0.05 sec)新建數據庫語句:mysql>create database wzu;Query OK,1 row affected (0.05sec)m…

zabbix proxy mysql_zabbix proxy 配置

在監控大量服務器時,如果將所有的請求都發送到一個zabbix server上,將會對我們的zabbix server造成很大的壓力,我們在規劃多個區域或機房進行監控的時候,會考慮到使用zabbix proxy 來代理zabbix server 的部分功能。zabbix server…

mysql修改數據庫結構用哪一項_mysql alter修改數據庫表結構用法

1.alter操作表字段(1)增加字段alter table 表名 add 字段名 字段類型;alter table student add name varchar(10);(2)修改字段alter table 表名 change 舊字段名 新字段名 字段類型;alter table 表名 modify 字段名 字段類型;//修…

mvc mysql linq_MVC3+Linq to sql 顯示數據庫中數據表的數據

1:首先創建asp.net mvc3應用程序 2:創建項目完成后 找到controllers文件鼠標右擊選擇添加控制器 3 為models文件夾添加一個linq to sql類文件,然后把數據庫中的數據庫復制進來。如截圖操作 4:添加控制器好后會生成一個HomeControl…