zoukankan      html  css  js  c++  java
  • 基于SNMP的交换机入侵的内网渗透

    前言:局域网在管理中常常使用SNMP协议来进行设备的管理和监控,而SNMP的弱点也成为了我们此次渗透的关键。
    使用SNMP管理设备只需要一个community string,而这个所谓的密码经常采用默认public/private或者弱口令,而且对SNMP口令进行爆破或字典猜解比较容易。这为我们扫描交换机并对他们进行管理提供了方便。

    首先我们要搞定一个在内网的服务器作为跳板,通过观察和扫描其所在的网段可以大致发现局域网的网络结构,但这可能只是冰山一角。我们可以抓住几个交换机来进行顺藤摸瓜。首先我们扫描一个网段的SNMP开启状况和弱口令存在情况。

    1

    (点击图片查看大图)

    成功找到一只弱口令的交换机。目测是C段的三层交换。

    这样我们就可以对它进行MIB walk和browser抓到一些重要信息。
    比如它的ip路由表和端口列表甚至Vlan分配表
    2

    3 4

    (点击图片查看大图)

    我们从IP表和端口表里发现了他的上联网段。10.0.0.X 再次对此网段进行SNMP扫描

    5

    (点击图片查看大图)

    啪啪啪。扫到了很多弱口令。当然public是只读community string,但是这对我们的渗透已经足够用了。同时我们也发现了顶层的出口路由和出口交换机的地址,可以针对其进行渗透。

    P.s.其实可以通过暴力或者字典猜解来破解出交换机的读写权限的community string。这样就可以对交换机进行完整的管理。比如down掉某个端口造成全部断网甚至关掉整个交换机(warning:操作核心交换机可能造成重大影响,请谨慎操作)。
    6

    (点击图片查看大图)

    接上,拿到了这些交换机的SNMP读取权限以后。我们就可以顺藤摸瓜的把整个网络的结构和各网段的IP分配以及作用摸得清清楚楚了。剩下的就是针对某个IP段或者某项功能进行局部渗透了。比如监控网段,门禁网段,会计系统,办公网段,对外的服务器段等。

    整体来说 我总结的交换机入侵经验是顺藤摸瓜 先逆流而上,找到主干,然后顺流而下,找到每个分支,分辨其作用,形成一个整体的系统网络。整个局域网就在你的掌控之中了。

    当然交换机入侵也可以采用TELNET的方法,但是爆破时间较长,而且一般交换机都有三次试错机会,对破解造成了不小的困扰。我们其实不需要telnet这么高的权限就可以对交换机进行管理。本文就是个例子。
    大约四年前用这方法曾经拿下过省级边界出口交换机。同样国外的交换机也存在这个问题。三层交换的SNMP管理弱点是必然的。即使是一些安全性较高的地方,爆破和猜解也很容易,估计唯一解决方法就是干掉SNMP功能或者设置超长超变态SNMP密码。

    后记:本文旨在提供一种基于SNMP的交换机入侵的内网渗透方法和思路,以及做的一些简单测试,具体利用手段和方法也欢迎大家一起讨论。我相信这种方法在中大型局域网里面是很有用武之地的。

    [via@90sec]

  • 相关阅读:
    第三方接口开发规范
    项目经理、技术经理、team leader
    ibatis #和$符号的区别,传入字符串而不加引号
    WindowManager.LayoutParams详解
    AIDL 编译报can be an out parameter, so you must declare it as in, out or inout原因探究
    map里的keyset()和entryset()方法.
    android 使用代码实现 RelativeLayout布局
    Android中的Selector
    intentfilter 之 data 「scheme, host, port, mimeType, path, pathPrefix, pathPattern」
    找信息的方法
  • 原文地址:https://www.cnblogs.com/dongchi/p/4393110.html
Copyright © 2011-2022 走看看