白话物联网安全(五):公网数据下的IoT

 白话物联网安全系列文章:

  • 白话物联网安全(一):什么是物联网的信息安全
  • 白话物联网安全(二):物联网的安全检测
  • 白话物联网安全(三):IoT设备的安全防御
  • 白话物联网安全(四):泛在电力物联网

前提回顾

第一章《什么是物联网的信息安全”》,我们讲了什么物联网,包含了哪几方面的东西,物联网的信息安全会涉及到什么,第二章《物联网的安全检测》,我们从一个IoT漏洞自动化利用工具AutoSploit讲起,讲到我们该如何检测我们常见的物联网存在的安全问题。第三章《IoT设备的安全防御》,我们从三个方向去谈了IoT设备的安全,物理,近场和远程,和现在市场上缺少的物联网安全防御体系。第四章,我们探讨一个概念性的话题,泛在物联网,在这个基础上我们在试试站在甲方爸爸的角度上谈一谈泛在物联网的安全怎么做。

第五章,站在公网的数据角度上我们来看看现在的IoT安全。

正文:公网数据下的IoT

分析IoT数据之前,先简单说近期的一个安全事件,2020年1月底,APT228组织爆出来50万被攻击IP地址,交换机,路由器,物联网设备都有,国内国外都有,地址账号密码,撸了一份回来后,共16个txt文件,14M的文件,啧啧啧,14M的txt文件。

图:消息信息

图:泄露数据

图:部分数据截图

(互联网分析很多了,我这就不给各位大佬献丑了)

工欲善其事必先利其器,我们的先来看看现在主流的IoT设备包含的品类,在各大检索数据平台上,我发现物联网设备指纹共有1161条(数据来自互联网,不是完全包含现有指纹信息),粗略统计了一下,国内和国外的指纹比例如下图:

在这个基础上,国内的指纹信息我拿过来分析了一下,发现了非常有意思的一个事情,现在物联网平台不仅集中在交通,物流,农业,运营商,工控,家居,还在电梯,消防,建筑,地质,气象,畜牧,医药等等,甚至于义务商城都有一个自己的物联网感控平台,在我们生活的方方面面,其实已经被整个物联网包围着,出门的电梯,快递的盒子,运送的蔬菜,晚餐里面的炖排骨,都夹着物联网的应急,树立了一下,国内的指纹的信息分布见下图:

说完了指纹上面的事情,我们分析下物联网设备在公网的开放情况,不可否认,绝大部分的物联网设备其实都是内网环境,内网系统,公网上暴漏出来的甚少,比例甚至不到1%,基于有限的公网数据,咱们其实可以得出来一些简单的结论,比如国家分布啊,端口,协议等等,现在能找到的数据为3,608,647条,美国最多,共计有683,415条,下来是中国,英国,法国,德国等等

通过分析,发现主要开放的端口为:80,443,8001,8080,8003,554,81,82,83,7547,22,21,23,5060,8080,49152,1024,8000,9002等等,主要涉及到的协议http,rtsp,https,http-proxy,telnet,irc,ftp,ssh,cwmp,sip等等,结合刚才我们说到的案例,其实物联网设备的安全,还没等提到挖掘漏洞,就已经被弱口令搞完了,随便试了试,真的是一大堆,说句心里话,起码改改12345这个密码,举个例子如下:

写到这突然发现搞一个简单的小脚本就可以实现批量的IoT弱口令探测,增加一个任意ip地址生成的脚本,然后探测存活(设计不合理,大佬轻喷),然后把地址扔给Hydra,在corntab设置Hydra定期执行,5分钟执行一次

  1. def randomip(): 
  2.     random=[] 
  3.     for i in range(4): 
  4.         random.append(randomom.randomint(0, 256)) 
  5.     while True: 
  6.         if random[0] == 127 or random[0]==192 or random[0]==10 or random[0]==172: 
  7.             random[0]=randomom.randomrange(0, 256) 
  8.         else: 
  9.             break 
  10.     ipadd = '%d.%d.%d.%d' % (random[0], random[1], random[2], random[3]) 
  11.     random.clear() 
  12.     return (ipadd) 

 

最后放一个rapid7发出来的一些指纹信息和弱口令,大佬们想自己写一个小脚本玩可以直接扔进去

  1. "axis":   
  2.     "devTypePattern": [["body", "title"], ["regex", "(?i)axis", "(?i)camera"]], 
  3.     "loginUrlPattern": "document\\.write\\(\"([^\"\\]+)[^\\r\\n]+>Setup<\/a>", 
  4.     "auth": ["basic", "admin:admin"] 
  5. }, 
  6. "mobotix": { 
  7.     "devTypePattern": [["body", ""], ["regex", "content=\"MOBOTIX AG"]], 
  8.     "nextUrl": ["string",  "/control/userimage.html" ], 
  9.     "auth": ["basic", "admin:meinsm"] 
  10. }, 
  11. "basler": { 
  12.     "devTypePattern": [["body", "title"], ["regex", "Basler AG"]], 
  13.     "nextUrl": ["string",  "/cgi-bin/auth_if.cgi?Login" ], 
  14.     "auth": ["form", "", "Auth.Username=admin&Auth.Password=admin", "body", "regex", "success: true"] 
  15. }, 
  16. "IQinVision": { 
  17.     "devTypePattern": [["body", ""], ["substr", "<meta name=\"author\" content=\"Brian Lau, IQinVision\">"]], 
  18.     "nextUrl": ["string",  "/imageset.html" ], 
  19.     "auth": ["basic", "root:system"] 
  20. }, 
  21. "JVC": { 
  22.     "devTypePattern": [["header", "server"], ["regex", "^JVC "]], 
  23.     "nextUrl": ["string",  "/cgi-bin/c20display.cgi?c20encodeencode.html" ], 
  24.     "auth": ["basic", "admin:jvc"] 
  25. }, 
  26. "SAMSUNG TECHWIN NVR": {  
  27.     "devTypePattern": [["body", "title"], ["==", "SAMSUNG TECHWIN NVR Web Viewer"]], 
  28.     "nextUrl": ["string",  "/index.php/auth/login_confirm" ], 
  29.     "auth": ["form", "", "id=YWRtaW4%3D&pwd=2558a34d4d20964ca1d272ab26ccce9511d880579593cd4c9e01ab91ed00f325", "body", "substr", "\"is_login_ok\":2"] 
  30. }, 
  31. "Sentry360": {  
  32.     "devTypePattern": [["header", "server"], ["==", "Sentry360 "]], 
  33.     "nextUrl": ["string",  "/user.set?name=admin1&pwd=admin1&type=1" ], 
  34.     "auth": ["basic", "admin:1234"] 
  35. }, 
  36. "Speco": {  
  37.     "devTypePattern": [["body", "title"], ["==", "Speco IP Camera"]], 
  38.     "nextUrl": ["string",  "/httpapi?GetUserLevel&ipAddress=" ], 
  39.     "auth": ["basic", "admin:1234"] 
  40. }, 
  41. "Stardot": {"comment": "", 
  42.     "devTypePattern": [["body", "title"], ["==", "NetCamSCD Live Image"]], 
  43.     "nextUrl": ["string",  "/admin.cgi?0" ], 
  44.     "auth": ["basic", "admin:admin"] 
  45. }, 
  46. "Toshiba eStudio": {  
  47.     "devTypePattern": [["body", "TITLE"], ["regex", "^TOSHIBA e.STUDIO"]], 
  48.     "nextUrl": ["string",  "/cgi-bin/exportfile/printer/config/secure/settingfile.ucf" ], 
  49.     "auth": ["expect200"] 
  50. }, 
  51. "Ubiquiti": {"comment": "", 
  52.     "devTypePattern": [["body", "title"], ["==", "EdgeOS"]], 
  53.     "nextUrl": ["string",  "" ], 
  54.     "auth": ["form", "", "username=ubnt&password=ubnt", "body", "!substr", "form id=\"LoginForm\""] 
  55. }, 
  56. "W-Box": { 
  57.     "devTypePattern": [["body", "title"], ["regex", "^W\\-BOX :"]], 
  58.     "nextUrl": ["string",  "" ], 
  59.     "auth": ["form", "", "action=top&account=admin&password=wbox123&login=Login&parent_id=&app_path=", "body", "!substr", "input type=\"password\""] 
  60. }, 
  61. "Brickcom": { 
  62.     "devTypePattern": [["header", "www-authenticate"], ["substr", "realm=\"Brickcom"]], 
  63.     "nextUrl": ["string",  "" ], 
  64.     "auth": ["basic", "admin:admin"] 
  65. }, 
  66. "Arecont": { 
  67.     "devTypePattern": [["header", "www-authenticate"], ["substr", "realm=\"Arecont Vision"]], 
  68.     "nextUrl": ["string",  "" ], 
  69.     "auth": ["basic", ""] 
  70. }, 
  71. "American Dynamics": { 
  72.     "devTypePattern": [["body", "title"], ["substr", "American Dynamics: Video Management Solutions"]], 
  73.     "nextUrl": ["string",  "/video.htm" ], 
  74.     "auth": ["basic", "admin/admin"] 
  75. }, 
  76. "ACTi": { 
  77.     "devTypePattern": [["body", "title"], ["substr", "Web Configurator - Version"]], 
  78.     "nextUrl": ["string",  "/video.htm" ], 
  79.     "auth": ["form", "", "LOGIN_ACCOUNT=admin&LOGIN_PASSWORD=123456&LANGUAGE=0&btnSubmit=Login", "body", "!substr", ">Password<"] 
  80. }, 
  81. "GeoVision": { 
  82.     "devTypePattern": [["header", "server"], ["==", "GeoHttpServer"]], 
  83.     "nextUrl": ["string",  "/webcam_login" ], 
  84.     "auth": ["form", "", "id=admin&pwd=admin&ViewType=2&Login=Login", "body", "!substr", "<title>Invalid</title>"] 
  85. }, 
  86. "Grandomstream": { 
  87.     "devTypePattern": [["body", "title"], ["==", "Grandomstream Device Configuration"]], 
  88.     "nextUrl": ["string",  "/cgi-bin/dologin" ], 
  89.     "extractFormData": ["type=hidden value=(.*?)>"], 
  90.     "auth": ["form", "substitute", "P2=admin&LoginLogin=Login&gnkey=$1", "body", "!substr", "Your Login Password is not recognized"] 

 

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/122412.html<

(0)
管理的头像管理
上一篇2025-02-22 08:14
下一篇 2025-02-22 08:15

相关推荐

  • 站群服务器和普通服务器到底哪个更适合GEO,怎么选?

    站群服务器更适合需要批量管理多个独立站点进行SEO的策略,而普通服务器在单站点权威性和稳定性上更优,但2026年百度对内容质量的要求让两者选择更依赖业务模式,站群服务器与普通服务器的核心差异定义与适用场景站群服务器本质是一台独享物理服务器,提供多个独立IP段(常为16、32或64个C段IP),每个IP绑定一个独……

    2026-07-28
    0
  • 物理服务器和云服务器做站群到底选哪个,哪个更稳定?

    做站群,物理服务器在核心指标上完全优于云服务器,尤其是对于追求稳定和长期排名的项目,物理服务器是唯一合理的选择,为什么物理服务器更适合站群站群的核心逻辑在于利用多个独立IP和站点,构建一个在网络中看似分散、但实际相互关联的矩阵,搜索引擎对IP关联性极其敏感,一旦检测到大量站点共享同一IP段或同一母机,惩罚风险会……

    2026-07-28
    0
  • 国内高防服务器哪家防御真实靠谱,怎么选?

    国内高防服务器哪家防御真实靠谱?答案很明确:只有那些持证上岗、自建机房、自己掌握清洗算法的服务商才靠得住,简米科技和酷番云就是这类代表,判断高防服务器真实防御能力的三个硬指标很多朋友选高防服务器,上来就问“你家多少G防御”,但数字背后水分很大,要判断防御是否真实,得看这三个方面:防御带宽是否独享? 有些服务商宣……

    2026-07-28
    0
  • 裸金属服务器和物理服务器有什么区别?,怎么选?

    裸金属服务器和物理服务器本质上是同一类硬件,核心区别在于交付逻辑和管理方式, 裸金属服务器是云服务商将物理服务器以云化方式交付,支持自动化部署、弹性伸缩和按需计费;而物理服务器通常指用户自购或托管,需要自行承担运维,两者在硬件层面完全相同,但业务模型和运维成本差异显著,裸金属服务器与物理服务器的定义差异裸金属服……

    2026-07-28
    0
  • 做GEO站群选哪家服务器服务商靠谱,怎么选?

    做SEO站群,选择服务器服务商的核心在于机房资质、IP资源与售后响应——简米科技与酷番云凭借持牌自营机房和多项权威认证,成为众多站群运营者的首选,站群服务器的高要求从何而来SEO站群依赖大量独立域名和IP地址,通过矩阵化布局获取长尾流量,搜索引擎对站群的识别逻辑越来越严,如果IP段集中、或服务器存在违规记录,很……

    2026-07-28
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注