一次对SNMP服务的渗透测试
Hacking SNMP Service - The Post Exploitation :Attacking Network - Network Pentesting原文地址:
http://www.websecgeeks.com/2017/ ... ce-part-1-post.html
http://www.websecgeeks.com/2017/ ... ce-part-2-post.html
prison翻译整理,首发i春秋。
引言:
SNMP安全相关信息是需要各位安全开发人员,渗透测试工程师以及白帽子所需要关心的内容,在本篇文章中,作者通过对其漏洞的分析和实践直观的让读者对其相关内容进行了解。对入门学员可能会有所帮助。难度:三颗星

SNMP(SimpleNetwork Management Protocol)
关于SNMP的介绍大家可以很容易的从网络上找到相关介绍,在此不再赘述。
我们本次展示的是爆破SNMP服务字符串实现攻击。
注:以下所有“字符串”都为:Coummunity Strings
那么问题来了,为什么我们选择攻击SNMP字符串
SNMP只读类字符串类似于用户id或密码。它与每个SNMP get请求一起发送,并允许(或拒绝)访问路由器或其他设备的统计信息。如果字符串是正确的,设备将响应请求的信息。如果字符串不正确,设备就会忽略请求而不响应。
我们可以用Coummunty Strings做什么?
默认的字符串是“public”和“private”的,带有“ro”(只读)和“rw”(读和写)。
如你所见,只读意味着用户只能读取信息和读写,读和写意味着用户可以对SNMP中的信息进行写/更新。
什么是SNMP中的MIB
SNMP管理信息基础(MIB)是一个包含信息的数据库。
通常与网络管理有关。数据库像树一样组织起来,在那里
分支代表不同的组织或网络功能。树上的叶子
(最终的端点)对应于可以访问的特定变量值,以及
由外部用户探测。要了解更多关于MIB树的信息,请参阅下面的内容
。
http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp?topic=/com.ibm.aix.progcom/doc/progcomc/mib.htm
所以SNMP在UDP端口运行时还在网络中执行基于UDP的扫描。
A) Metasploit
用于SNMP auxiliary/scanner/snmp/snmp_login 
设置一下参数并运行,可以看到Metasploit成功运行,在Community String中显示”mike”
就我个人来说,我比较推荐攻击Community Strings使用Metasploit,因为和其他工具相比,它的运行速度相对来说比较快。
B) Medusa
因为这个软件的速度也非常快,所以它对于破解SNMP字符串也非常有用。
|
1
|
medusa -h 192.168.131.135 -u admin -P Desktop/demo/wordlist -M snmp |
Here no user of "-u admin" but Medusa required thisvalue so we are giving it fulfilled the requirement.
同样的,Medusa发现了值wei”mike”的字符串。.
C ) onesixtyone
|
1
2
|
[/size][size=4]onesixtyone – c password 192.168.131.135 |
Onesoxtyone工具,它还试图使用基于字典的尝试猜测/破解SNMP社区字符串。
正如我们在下面看到的,它已经确定了“mike”是有效的字符串。
查看图片
(二)
查看图片
我们已经通过Nmap扫描和爆破社区字符串值来识别Community字符串。
现在我们将看到,如何使用这些提取的Community字符串来进行后期开发。
我们将使用如下所示的各种工具。
例如,下面的MIB值对应于特定的MicrosoftWindows SNMP参数。
|
1
2
3
4
5
6
7
|
1.3.6.1.2.1.25.1.6.0系统进程1.3.6.1.2.1.25.4.2.1.2运行程序1.3.6.1.2.1.25.4.2.1.4流程路径1.3.6.1.2.1.25.2.3.1.4存储单元1.3.6.1.2.1.25.6.3.1.2软件名称1.3.6.1.4.1.77.1.2.25用户帐户1.3.6.1.2.1.6.13.1.3 TCP 本地端口 |
一)SNAMPWALK
我们已经将”mike”作为Community字符串了,现在我们将其传递给SNMPWALK工具,然后将目标IP作为目标。这将从SNMP服务中提取所有可能的信息。
|
1
|
snmpwalk -v1 -c mike 192.168.131.135 |
输出数据量非常大,所以我将输出重定向到一个文件中去。
|
1
|
snmpwalk -v1 -c mike 192.168.131.135 > snmpout.txt |
正如你在下面看到的,此时我们有很多MIB值输出。
我们可以在snmpwalk中使用MIB值来做一些特定的搜索:
|
1
|
snmpwalk-c:v1192.168.11.204。 |
在我们的案例中,Community字符串是-mike
|
01
02
03
04
05
06
07
08
09
10
|
提取Windows用户:snmpwalk -c mike -v1 192.168.131.135 1.3.6.1.4.1.77.1.2.25 提取Windows系统进程:snmpwalk ‐c mike ‐v1 192.168.131.135 1.3.6.1.2.1.25.4.2.1.2提取开放的TCP端口:snmpwalk ‐c mike ‐v1 192.168.131.135 1.3.6.1.2.1.6.13.1.3提取已安装的软件:snmpwalk ‐c mike ‐v1 192.168.131.135 1.3.6.1.2.1.25.6.3.1.2 |
现在,为了验证这个Community字符串是否可写,我们将使用另一个工具SNMPSET
snmpset -v1 -cmike 192.168.131.135 iso.3.6.1.2.1.1.5.0 s SomeOneWasHere
这里的“iso.3.6.1.1.1.5.0”为“bhati”的值,它是从snmpwalk输出文件中挑选出来的。
查看图片
这个snmpset -v1 -cmike 192.168.131.135 iso.3.6.1.2.1.1.5.0 s SomeOneWasHere命令将会继续,并将“bhati”的值更改为SNMP中的“SomeOneWasHere”。让我们试试这个。
我们的命令成功。
查看图片
现在,让我们使用SNMPWALK重新扫描我们的SNMP目标
如你所见,这个值已经被更改为“SomeOneWasHere”。
查看图片
现在我们确认,我们的社区字符串“mike”有写属性。现在,我们应该转向下一部分,从目标机器中搞一点事情。
B)SNMPCHECK
snmpcheck工具将使用我们发现的社区字符串“mike”来目标机器的重要信息。
snmpcheck.rb -c mike 192.168.131.135
如果在运行此命令时出现错误,请参见snmpcheck的帮助部分,后面是-h,您的版本可能是旧的或更新的。
查看图片
C)Metasploit
我们可以使用metasploit辅助设备实现同样的信息。
auxiliary/scanner/snmp/snmp_enum
填充所需的值。
查看图片
现在只要点击“运行”,你就会看到我们的目标机器上有大量的Meal出现。
一次对SNMP服务的渗透测试的更多相关文章
- 详述MSSQL服务在渗透测试中的利用(上篇)
前言: 致力于复现最实用的漏洞利用过程. 本文将带领大家学习以下内容: 学习使用`xp_cmdshell`扩展存储过程 学习调用`wscript.shell` 学习MSSQL写文件 学习沙盘模式提权 ...
- 详述MySQL服务在渗透测试中的利用
本文作者:i春秋签约作家——Binghe 致力于书写ichunqiu社区历史上最长篇最细致最真实的技术复现文章. 文章目录: MySQL之UDF提权 MySQL之MOF提权 MySQL之常规写启动项提 ...
- 详述MSSQL服务在渗透测试中的利用 (下篇)
part3 MSSQL写文件 步骤1 sp_makewebtask写文件 因为是`SA`权限,如果目标服务器是web服务器,我们也不用去备份了,可以直接写个一句话木马进去到web目录. 在不知道web ...
- 《Metasploit渗透测试魔鬼训练营》第一章读书笔记
第1章 魔鬼训练营--初识Metasploit 20135301 1.1 什么是渗透测试 1.1.1 渗透测试的起源与定义 如果大家对军事感兴趣,会知道各国军队每年都会组织一些军事演习来锻炼军队的攻防 ...
- 《metasploit渗透测试魔鬼训练营》学习笔记第五章--网络服务渗透攻击
三.网络服务渗透攻击 3.1 内存攻防技术 3.1.1 缓冲区溢出漏洞机理 缓冲区溢出是程序由于缺乏对缓冲区的边界条件检查而引起的一种异常行为. ...
- Kali linux渗透测试常用工具汇总1
1.ProxyChains 简介:代理工具.支持HTTP/SOCKS4/SOCK5的代理服务器,允许TCP/DNS通过代理隧道. 应用场景:通过代理服务器上网. 配置:/etc/proxychains ...
- Kali Linux Web 渗透测试视频教程— 第十三课-密码破解
Kali Linux Web 渗透测试— 第十三课-密码破解 文/玄魂 目录 Kali Linux Web 渗透测试— 第十三课-密码破解............................... ...
- Web渗透测试笔记(基础部分)
信息收集: dns信息收集 格式:dns... -参数 域名 -参数 示例: root@xxSec:~# dnsenum baidu.com root@xxSec:~# dnsenum -f dns. ...
- Kali Linux渗透测试实战 1.1 Kali Linux简介
1.1 Kali Linux简介 如果您之前使用过或者了解BackTrack系列Linux的话,那么我只需要简单的说,Kali是BackTrack的升级换代产品,从Kali开始,BackTrack将成 ...
随机推荐
- linux查看磁盘大小df命令
df -h https://www.cnblogs.com/sparkdev/p/9273094.html
- 判断文件的唯一性--MD5
JAVA中获取文件MD5值的四种方法 JAVA中获取文件MD5值的四种方法其实都很类似,因为核心都是通过JAVA自带的MessageDigest类来实现.获取文件MD5值主要分为三个步骤,第一步获 ...
- 1、detail页面 /items/detail/:id
<template> <div class="item_detail"> <van-swipe :autoplay="3000" ...
- redis在windows系统下的安装和两个问题
今天首次接触redis,遇到一些问题,查了一些资料,在这里汇总整理下. redis的安装看这个:http://www.runoob.com/redis/redis-install.html. 问题1: ...
- python--第十天总结(线程、进程和协程)
Python线程 Threading用于提供线程相关的操作,线程是应用程序中工作的最小单元. #!/usr/bin/env python # -*- coding:utf-8 -*- import t ...
- Win7上安装scapy
1.环境 操作环境:win7 python版本:python3.5 依赖模块:Npcap(推荐)或WinPcap 下载scapy 2.安装步骤 操作环境,python及依赖模块安装省略(一直点击下一步 ...
- c#命名规范(转载)
出处:脚本之家 链接:http://www.jb51.net/article/57163.htm 注重代码书写的程序员应该是一个比较有修养的人,下面这些命名规则不一定要绝对遵从,但值得参考.在应用规则 ...
- http://ctf.bugku.com/challenges#love:bugku--love
做了一道逆向题目,主要关联到base64编码的知识点.下面做一分析. 题目如下: 通过测试,可知它没有加壳.尝试使用IDA进行分析. 1.IDA分析文件 打开文件后,按[shift+F12 ...
- [leetcode]78. Subsets数组子集
Given a set of distinct integers, nums, return all possible subsets (the power set). Note: The solut ...
- faiss学习
faiss 学习 github wiki 介绍 Faiss:Facebook开源的相似性搜索类库 安装 在Mac系统编译安装Faiss faiss教程跟进--Makefile 编译 faiss安装 m ...