snmp默认团体名/弱口令漏洞及安全加固

一、漏洞描述

SNMP(简单网络管理协议)被广泛用于计算机操作系统设备、网络设备等领域监测连接到网络上的设备是否有任何引起管理上关注的情况。在运行SNMP服务的设备上,若管理员配置不当运行默认团体名/弱口令访问,将导致敏感信息泄露。敏感不限于系统运行的进程、已安装的软件、系统存在的用户,运行的服务,端口情况等。通过这些信息,攻击者可以清晰的了解到设备整体情况,根据开放的端口和服务快速定位可入侵点,根据运行的进程名判断是否存在哪些防护软件,有什么bypass的方法。根据存在的用户名,可以大大提高爆破效率等等。

多操作系统或者网络设备的SNMP代理服务都存在默认口令。如果您没有修改这些默认口令或者口令为弱口令,远程攻击者就可以通过SNMP代理获取系统的很多细节信息。如果攻击者得到了可写口令,它甚至可以修改系统文件或者执行系统命令。snmp默认团体名属于snmp默认弱口令public/privicy。

危险级别:高危

漏洞编码:CVE-1999-0516、CVE-1999-0517

二、处理建议;

1)修改SNMP缺省口令或者禁止SNMP服务,或在防火墙上过滤掉对内部网络UDP 161端口(端口Linux中无法修改)的访问:

rpm -aq | grep snmp
vim /etc/snmp/snmpd.conf中,修改public默认团体名字符串
com2sec notConfigUser default public  //将public修改为复杂的字符串,将“default”改为你想哪台机器可以看到你 的snmp信息的ip
view mib2 included .iso.org.dod.internet.mgmt.mib-2 fc  //解注释
view all included .1 80  //查看全部
access notConfigGroup "" any noauth exact systemview none none  //修改为
access notConfigGroup "" any noauth exact mib2 none none
access notConfigGroup "" any noauth exact all none none //或
#完成后重启
/etc/rc.d/init.d/snmpd restart
#配置参考
rocommunity public

rwcommunity mysecret 127.0.0.1

com2sec notConfigUser default public

group notConfigGroup v2c notConfigUser
group notConfigGroup v1 notConfigUser

view systemview included .1
view systemview included .1.3.6.1.2.1.1
view systemview included .1.3.6.1.2.1.25.1.1
view all included .1 80

access notConfigGroup "" any noauth exact systemview none none

proc mountd
proc ntalkd 4
proc sendmail 10 1

disk / 10000000 
disk /boot 30%
disk /dev/shm
disk PATH [MIN=100000]
load 12 14 14
#设置用户鉴权
rouser ciesnmp2015 auth

#对于V3,可配置v3用户及密码鉴权
#创建用户和设置MD5 DES 加密,在/var/lib/net-snmp/snmpd.conf 新增
createUser snmpuser MD5 snmppasswd 3 DES snmppasswd
ciesnmp:用户名,即sercurity Name
#验证,通过snmpget获取内存大小
snmpget -v 3 -a MD5 -A snmpuser -u snmppasswd -l authPriv -x DES -X snmppasswd 127.0.0.1 1.3.6.1.4.1.2021.4.5.0

说明:

默认基本配置:
(1)首选是定义一个共同体名(community),这里是public,和可以访问这个public的用户名(sec name),这里是notConfigUser。Public相当于用户notConfigUser的密码:
(2)定义一个组名(groupName)这里是notConfigGroup,及组的安全级别,把notConfigGroup这个用户加到这个组中。
(3)定义一个可操作的范围(view)名,修改查看设备节点的权限,增加下面一行,表示可以查看.1节点下的所有设备信息:view all included .1 80
(4)定义notConfigUser这个组在all这个view范围内可做的操作,这时定义了notConfigUser组的成员可对.1这个范围做只读操作。

在Solaris系统下,修改/etc/snmp/conf/snmpd.conf
中缺省的口令,然后执行下列命令使之生效:

/etc/init.d/init.snmpdx stop
/etc/init.d/init.snmpdx start

在Solaris系统下,执行下列命令可以禁止SNMP服务:

/etc/init.d/init.snmpdx stop
mv /etc/rc3.d/S76snmpdx /etc/rc3.d/s76snmpdx

2)windows:

1> 开始—>程序—>管理工具—>服务—>SNMPService—>属性—>安全 在这个配置界面中,可以修改“社区名称”(community strings),也就是snmp密码。
在这里插入图片描述
如上图所示,也可以配置只允许某些安全主机访问SNMP服务。设置完成后在服务(SNMP Service)右键重启snmp服务
2> 直接修改注册表:开始- > 运行- > regedit 打开注册表,进入以下注册表路径修改名称:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SNMP\Parameters\ValidCommunities]

在这里插入图片描述
找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\SNMP\Parameters\PermittedManagers,设置只允许192.168.19.106访问snmp服务,完成后重启服务。

备注:windows修改snmp服务端口号,配置文件位于 C:\WINDOWS\system32\drivers\etc\,用记事本可以打开,修改下面一行:

snmp 161/udp #SNMP //161就是其端口号,修改成想要的即可,例如改成2012
snmp 2012/udp #SNMP

3)检测:
#弱口令检测
nmap –sU –p161 –script=snmp-brute ip //查找snmp弱口令
#弱口令利用
nmap -sU -p161 --script=snmp-netstat ip //获取网络端口状态文章来源站点
nmap –sU –p161 –script=snmp-sysdescr ip //获取系统信息
nmap -sU -p161 --script=snmp-win32-user ip //获取用户信息
snmputil walk ip public .1.3.6.1.2.1.25.4.2.1.2//列出系统进程
snmputil walk ip public.1.3.6.1.2.1.25.6.3.1.2 //列出安装的软件
snmputil walk ip public .1.3.6.1.2.1.1 //列出系统信息
snmputil get ip public .1.3.6.1.4.1.77.1.4.1.0 //列出域名
snmputil walk ip public.1.3.6.1.4.1.77.1.2.25.1.1 //列系统用户列表

4)验证

snmputil使用弱口令(团体名)public/privicy连接不成功,执行:

snmputil walk 127.0.0.1 new_community 1.3.6.1.4.1.77.1.2.25.1.1
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/28550.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

视频点播系统

服务端功能模块划分 数据管理模块:负责针对客户端上传的视频信息进行管理。 网络通信模块:搭建网络通信服务器,实现与客户端通信。 业务处理模块:针对客户端的各个请求进行对应业务处理并响应结果。 前端界面模块:…

RabbitMQ 安装

目录 一、安装RabbitMQ1、Linux 安装⑴、官网rpm包安装①、下载rpm安装包官网下载erlangrabbitmq packagecloud下载erlangrabbitmq ②、安装 erlang③、安装rabbitmq ⑵、packagecloud快速安装⑶、添加用户账号及权限并登陆⑷、卸载erlang与rabbitmq卸载rabbitmq卸载erlang 2、…

手把手教你实战TDD | 京东云技术团队

1. 前言 领域驱动设计,测试驱动开发。 我们在《手把手教你落地DDD》一文中介绍了领域驱动设计(DDD)的落地实战,本文将对测试驱动开发(TDD)进行探讨,主要内容有:TDD基本理解、TDD常…

了解D-Galactopyranose pentaacetate,CAS号25878-60-8的性质和应用

​ 中文名称:1,2,3,4,6-D-葡萄糖五乙酸酯 英文名称:D-Galactopyranose pentaacetate 规格标准:1g、5g、10g CAS:25878-60-8 分子式:C16H22O11 分子量:390.34 熔点:113C 沸点:451C 密…

MATLAB文化算法

目录 文化算法 主要代码 Sphere AdjustCulture 结果 文化算法 基本概念:优化算法 | 详解文化算法(附MATLAB代码) - 知乎 不同于遗传算法只有种群进化空间,文化算法包含信念空间、种群空间两个进化空间,因此&#…

ceph分布式存储实战

ceph分布式存储实战 分布式存储系统简介 性能与优势对比 虚拟机安装ceph集群 ceph存储系统简介 分布式存储概述 ceph基础 高可用ceph分布式存储系统部署 部署ceph集群 节点管理 ceph使用基础及数据存储案例 PG状态、数据读写流程及存储池操作 mon服务器的高可用: # apt in…

KaiwuDB 受邀亮相 IOTE 2023 第十九届国际物联网展

5月17日,IOTE 2023 第十九届国际物联网展在上海拉开序幕,全球超过 350 家参展企业到场展示先进的物联网技术和产品,行业专家、领军企业代表等人物齐聚一堂,共话 IoT 未来趋势。KaiwuDB 受邀亮相参展并就《工业物联网产业数字化转型…

CRF条件随机场的原理、例子、公式推导和应用

转子:https://zhuanlan.zhihu.com/p/148813079 条件随机场(Conditional Random Field,CRF)是自然语言处理的基础模型,广泛应用于中文分词、命名实体识别、词性标注等标注场景。 条件随机场CRF与深度学习结合&#xf…

如何使用Github搭建个人博客

介绍 在本文中,我将介绍如何使用GitHub搭建个人博客(免费)。GitHub是一个功能强大的版本控制和协作平台,它也可以用来托管和发布静态网页。通过将你的个人博客托管在GitHub上,你可以享受到版本控制的好处,…

抖音自动生成视频、字幕、自动上传发布

dy-auto ✨ 抖音自动生成视频、字幕、自动上传发布✨ 项目地址 点击进入https://github.com/Richard0403/dy-auto 录屏效果 https://github.com/Richard0403/dy-auto/assets/14147304/21400a42-9296-4956-9517-ced8d8bf4737 技术架构 名称功能ffmpeg处理视频的生成&…

大模型LLM领域,有哪些可以作为学术研究方向?

清湛人工智能研究院 2023-05-31 09:23 发表于江苏 编者:本文转载了清华大学计算机系刘知远教授对大模型的一些思索,以飨读者。 刘知远 CCF 高级会员,CCCF 前编委。清华大学计算机系副教授、博士生导师。已在ACL、IJCAI、AAAI等人工智能领域…

【sentinel】Sentinel规则的持久化

Sentinel规则的推送有下面三种模式: 推送模式说明优点缺点原始模式API将规则推送至客户端并直接更新到内存中简单,无任何依赖不保证一致性;规则保存在内存中,重启即消失。严重不建议用于生产环境Pull模式扩展写数据源(WritableDa…

初学Nginx要掌握哪些概念

文章目录 为什么要使用Nginx?什么是Nginx?Nginx的作用?反向代理负载均衡动静分离 为什么要使用Nginx? 小公司项目刚刚上线的时候,并发量小,用户使用的少,所以在低并发的情况下,一个…

【链表复习】C++ 链表复习及题目解析 (2)

目录 牛客 CM11 链表分割 牛客 OR36 之链表的回文结构 Leetcode 160. 相交链表 LeetCode 141. 环形链表 LeetCode 138. 复制带随机指针的链表 本文继续延续前文,为大家带来几道经典的链表中等难度的题目。 牛客 CM11 链表分割 现有一链表的头指针 ListNode* p…

GUT|IF30+的联合分析文章:宏基因加代谢组

● 代谢组学是基于LC-MS/MS液质联用技术对生物样本中的小分子代谢物进行定性和相对定量分析; ● 宏基因组-代谢组的联合分析可以用来解释差异菌群与差异代谢物的关联性; ● 从而帮助建立微生物-代谢物-表型之间的逻辑关系。 凌恩生物的宏基因组学引入了…

JDK21要来了,并发编程更加丝滑了

大家好,我是风筝,公众号「古时的风筝」,专注于 Java技术 及周边生态。 我的个人网站:古时的风筝 目前 Java 的最新稳定版是 JDK 20,但这是个过渡版,JDK21就是 LTS 版的了,也快要发布了&#xff…

经典文献阅读之--A Review of Motion Planning(轨迹规划回顾)

0. 简介 对于自动驾驶以及机器人而言,除了SLAM以外,另一个比较重要的部分就是轨迹规划了。而最近作者看到了几篇比较好的文章,分别为《A Review of Motion Planning Techniques for Automated Vehicle》、《A review of motion planning alg…

Python中处理无效数据的详细教程(附案例实战)

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

IDEA全局设置JDK、Maven、编码格式

本机已安装JDK版本: 本机已安装Maven版本: 一、IDEA设置全局JDK设置 File---->New Projects Settings---->Structure for New Projects... 先将本地安装的JDK添加到SDK 将项目SDK设置为刚刚添加的本地JDK版本 File---->New Projects Settings-…

8分钟让你完全掌握代理IP基础知识和实际应用

概念 代理IP可以理解为一个中转服务器,将用户和目标服务器之间的请求和响应进行转发和代理。使用代理IP的主要目的是隐藏用户的真实IP地址、访问被限制的内容、提高网络连接速度和保护用户隐私。 目录 概念 一、代理IP的工作原理 二、代理IP的类型 三、为什么…