• SNMP信息泄露漏洞


    SNMP协议简介


    名称:SNMP(Simple Network Management Protocol)简单网络管理协议
    端口:161
    协议:UDP
    用途:SNMP代理者以变量呈现管理资料。管理系统透过GET,GETNEXT和GETBULK协定指令取回资讯,或是代理者在没有被询问的情况下,使用TRAP或INFORM传送资料。管理系统也可以传送配置更新或控制的请求,透过SET协定指令达到主动管理系统的目的。配置和控制指令只有当网络基本结构需要改变的时候使用,而监控指令则通常是常态性的工作。

    SNMP使用方法简介


    "Mac、Linux、Unix下使用snmpget、snmpwalk等命令"
    #snmpwalk -v 2c -c 'public' 对端ip
    #snmpget -v 1 -c 'community' 对端ip OID号 
    
    "Windows下请下载snmputil.exe,安装后在CMD中使用"
    #snmputil walk 对端ip public OID号
    

    SNMP 弱口令导致的信息泄露威胁


    SNMP版本 SNMP弱口令
    V1 community
    V2c public

    上面是版本对应的弱口令表,利用这些弱口令可以获取到系统信息,甚至下发配置

    # -*- coding:utf-8 -*-
    
    
    #引入依赖的库、包、模块
    import sys
    import socket
    
    
    #定义全局变量
    snmpClient = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
    snmpData = """
        30260201 01 0406 7075626c6963 a1
        19 0204 424602fd 0201 00 0201 00
        300b 3009 0605 2b06010201 0500
    """
    
    #定义全局函数
    def str2Binary(content):
        """文本转二进制"""
        return content.replace(' ','').replace('
    ','').decode('hex')
    
    def snmpScan(ip):
        try:
            snmpClient.sendto(str2Binary(snmpData),(ip,161))
            recvData = snmpClient.recv(4096)
            if "\x00\x02\x01\x00" in str(repr(recvData)):
                print "Vulnerable"
            else:
                print "Safe"
        except Exception,reason:
            print "Safe"
    
    if __name__ == "__main__":
        snmpScan(sys.argv[1])
    
    
  • 相关阅读:
    ST3 插件和技巧
    博客园中 代码使用 sublime-text 的主题
    JavaScript中的 prototype 和 constructor
    JavaScript 代码小片段
    JavaScript 静态方法和实例方法
    JavaScript 闭包的例子
    关于linux 交叉编译器的安装
    scrapy 实现mysql 数据保存
    django 实现 内网访问 和 用花生壳进行内网穿透
    django 中从外界借助多个网站时 static 的存放和整理
  • 原文地址:https://www.cnblogs.com/KevinGeorge/p/8986325.html
Copyright © 2020-2023  润新知