边界设备SNMP服务攻击思考

VSole2021-12-10 16:45:25

0x01 SNMP协议分析

1. 概述

网络设备越来越大,就需要实时去管理如此诸多的设备,SNMP应运而生。

SNMP协议,可以用来接收网络节点的通知消息和警告时间报告等,从而获知网络出现的问题。

SNMP协议版本

  • SNMP V1: SNMP协议最初版本(1998年)
  • SNMP V2: SNMP协议第二个版本,对比第一版,再性能、安全、机密性和管理者之间通信等方面进行了大量改进
  • SNMP V3: SNMP协议目前最新的版本(2004年),提升协议的安全性,增加了认证和密文传输功能。

代理在UDP的161端口接收NMS的读写请求消息

管理站在UDP的162端口接收代理的事件通告消息

2. SNMP架构组成

  1. 社区:同一个管理框架下的网络管理站和所有的节点的集合
  2. 网络管理站:一个管理控制台,也称为网络管理系统(NMS)
  3. 节点:网络上的设备(被管理的设备)

3. 工作原理

发现、查询和监视网络中其他设备的状态信息。

管理员通过NMS获取网关监控数据的工作流程,其中涉及了一些SNMP协议的关键信息

  • MIB(管理信息库): 任何一个被管理设备都表示成一个对象,并称为被管理对象。而MIB就是被管理对象的集合。定义了被管理对象的一系列属性,如对象的名称、对象的访问权限和对象的数据类型等。
  • SNMP代理: 是一种嵌入再设备中的网络管理软件模块,主要来控制本地机器的管理信息,负责将管理信息转换成SNMP兼容的格式,传递给NMS

工作流程步骤:

  1. 管理员查询被管理设备中的对象相关值时,通过网络管理站NMS中的MIB找到相关对象
  2. 网络管理站NMS向SNMP代理申请MIB中定义对象的相关值
  3. SNMP代理在自己的MIB库中进行查找
  4. SNMP代理将找到的对象相关值返回给网络管理站NMS

4. 通信方式

SNMP采用特殊的客户机/服务器模式进行通信。

客户端 —— 网络管理站NMS

服务器 —— SNMP代理

  • 网络管理站NMS向SNMP代理发出请求,询问一个MIB定义的信息的参数值
  • SNMP代理收到请求后,返回关于MIB定义信息的各种查询

5. 操作类型及命令

操作类型

  • get-request: NMS从SNMP Agent处提取一个或多个参数值
  • get-response:返回一个或多个参数的值
  • get-next-request: 网络管理站NMS从SNMP代理处提取一个或者多个参数的下一个参数值
  • set-request: 网络管理站NMS设置SNMP代理处获取MIB的相关参数值
  • trap: SNMP代理主动向网络管理站NMS发送报文消息
  • informRequest:SNMP代理主动向网络管理站NMS发送报文消息,NMS进行响应

操作命令

Get:管理站读取代理者处对象的值

Set:管理站设置代理者处对象的值

Trap:代理者主动向管理站通报重要事件

6. 报文分析

利用wireshark抓取报文

0x02 SNMP服务攻击

Cisco、H3C、华为等厂商生产的网络设备大多支持SNMP网管协议,可以通过SNMP设置设备的某个参数对设备配置进行备份或者更新。

1. MIB文件

鉴于每种设备MIB是不一样的,所对应能执行的操作也是不一样。

2. 敏感信息

GNS3 构造一个思科路由器环境

2.1 修改设备信息

修改思科路由器名字

条件: 获得SNMP可读写团体名

修改之前的名字

修改之后

查看命令

2.2 获取配置文件

获取思科路由器配置文件(模拟测试)

配置开启路由器snmp服务

Router>enable Router# configure terminal Router(config)# snmp-server community public RO //读Router(config)# snmp-server community private RW //写Router(config)# snmp-server host 192.168.32.2 host //指定客户端,可以设置任意主机Router(config)# snmp-server enable traps snmp

检测是否开启

下载路由器配置

使用msfconsole内置模块

攻击流程

查看配置文件(可以查看路由器的配置信息,如telnet密码、特权密码、路由、mac地址表等关键信息)

2.3 利用敏感信息获取设备权限

强网拟态的实战题—(如何获取设备权限)

1.端口扫描发现设备开启(161端口、22端口)

获取设备名称以及型号

确定设备为一台huawei路由器

2.是否能够获取ssh用户名

查询该设备MIB,定位到查询用户名的OID

查询该路由器用户名

3.尝试暴力破解(是否存在弱口令)

破解得到密码123456

4.登录设备

Huawei的命令行提供了诸如ping、traceroute、telnet等工具,这就意味着你可以对内网的其它主机进行探测,进行进一步的内网渗透。

snmp代理模式
本作品采用《CC 协议》,转载必须注明作者和本文链接
网络设备越来越大,就需要实时去管理如此诸多的设备,SNMP应运而生。
在渗透中,当我们拿下一台服务器作为跳板机进一步进行内网渗透时,往往需要通过主机存活探测和端口扫描来收集内网资
在渗透中,当我们拿下一台服务器作为跳板机进一步进行内网渗透时,往往需要通过主机存活探测和端口扫描来收集内网资产。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报 文发送之后,是无法得知其是否安全完整到达的。
工业互联网让3类企业、7大主体之间建立了9种方式的互联,工业互联网安全也在推动安全产品的更新换代。
例如,采集数据、分析显示、报警、简单故障自动处理等。Cacti通过snmpget检索数据并使用RRDtool进行绘图,但用户不需要知道RRDtool的复杂参数。NagiosNagios是一个企业级监控系统,可以监控服务运行状态和网络信息,监控指定的本地或远程主机参数和服务,并提供异常告警通知功能。
1Zabbix概述Zabbix是一个基于Web界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
信息搜集:开源情报信息收集、创建企业密码字典进入内网:基于企业弱账号漏洞、基于系统漏洞进入、网站应用程序渗透隐匿攻击:Command and Control、代理内网跨边界应用:内网跨边界转发、内网跨边界代理穿透、shell反弹等
管理员角色对于保护网络免受攻击至关重要,需要配备专门人员来保护网络上的设备、应用程序和信息。应在网络边界实施多层防御,以抵御外部威胁,监控和限制出入流量。在整个网络中部署多层下一代防火墙,限制出入流量,检查网络区域之间的所有内部活动。NAC方案可防止未授权物理连接,监控网络上已授权的物理连接。为防护这些漏洞,管理员应禁用所有不必要的功能,并对流向VPN网关的流量采用严格的流量过滤规则。
一个内网安全攻防的知识仓库
VSole
网络安全专家