《Nmap渗透测试指南》—第9章9.10节SNMP安全审计

    xiaoxiao2024-03-07  150

    本节书摘来自异步社区《Nmap渗透测试指南》一书中的第9章9.10节SNMP安全审计,作者 商广明,更多章节内容可以访问云栖社区“异步社区”公众号查看。

    9.10 SNMP安全审计表9.11所示为本章节所需Nmap命令表,表中加粗命令为本小节所需命令——SNMP服务安全审计。

    简单网络管理协议(SNMP)由一组网络管理的标准组成,包含一个应用层协议(application layer protocol)、数据库模型(database schema)和一组资源对象。该协议能够支持网络管理系统,用以监测连接到网络上的设备是否有任何引起管理上关注的情况。该协议是互联网工程工作小组(Internet Engineering Task Force,IETF)定义的Internet协议簇的一部分。SNMP的目标是管理互联网Internet上众多厂家生产的软硬件平台,因此SNMP受Internet标准网络管理框架的影响也很大。SNMP已经出到第三个版本的协议,其功能较以前已经大大地加强和改进了。

    Nmap的snmp-netstat脚本可以识别并自动添加新的目标进行扫描,通过该脚本可以查询SNMP协议,可以获取目标主机的网络状态。

    操作步骤使用命令“nmap -sU -p 161 --script=snmp-netstat 目标”即可获取目标主机网络连接状态。

    root@Wing:~# nmap -sU -p 161 --script=snmp-netstat 192.168.121.3 Starting Nmap 6.47 ( http://nmap.org ) at 2015-06-28 20:55 CST Nmap scan report for 192.168.121.3 (192.168.121.3) Host is up (0.000068s latency). PORT  STATE SERVICE 161/udp open  snmp | snmp-netstat: |  TCP 0.0.0.0:21      0.0.0.0:2256 |  TCP 0.0.0.0:80      0.0.0.0:8218 |  TCP 0.0.0.0:135     0.0.0.0:53285 |  TCP 0.0.0.0:389     0.0.0.0:38990 |  TCP 0.0.0.0:445     0.0.0.0:49158 |  TCP 192.168.121.3:389  192.168.121.1:1045 |  TCP 192.168.121.3:389  192.168.121.1:1048 |  UDP 192.168.121.3:137   *:* |  UDP 192.168.121.3:138   *:* |  UDP 192.168.121.3:389   *:* |_ UDP 192.168.121.3:464   *:* Nmap done: 1 IP address (1 host up) scanned in 0.12 seconds root@Wing:~#

    分析从以上信息可以看到目标主机192.168.121.3的网络连接情况,目标主机192.168.121.3通过389端口与主机192.168.121.1的1045端口建立了TCP连接。

    进程是指在系统中正在运行的一个应用程序,线程是系统分配处理器时间资源的基本单元,或者说进程之内独立执行的一个单元。对于操作系统而言,其调度单元是线程。一个进程至少包括一个线程,通常将该线程称为主线程。一个进程从主线程的执行开始进而创建一个或多个附加线程,就是所谓基于多线程的多任务,如果结束掉一个进程则相对应的程序也会被强制关闭。在Nmap中snmp-processes脚本可以通过SNMP服务协议枚举运行的系统进程。

    root@Wing:~# nmap -sU -p 161 --script=snmp-processes 192.168.121.1 Starting Nmap 6.47 ( http://nmap.org ) at 2015-06-28 21:03 CST Nmap scan report for 192.168.121.1 Host is up (0.0018s latency). PORT  STATE SERVICE 161/udp open  snmp | snmp-processes: |  1: |   Name: System Idle Process |  4: |   Name: System |  256: |   Name: smss.exe |   Path: \SystemRoot\System32\ |  308: |   Name: csrss.exe |   Path: C:\WINDOWS\system32\ |   Params: ObjectDirectory=\Windows SharedSection=1024,3072,512 Windows=On SubSystemType=Windows ServerDll=basesrv,1 ServerDll=winsrv:UserS |  332: |   Name: winlogon.exe |  380: |   Name: services.exe |   Path: C:\WINDOWS\system32\ |  392: |   Name: lsass.exe |_  Path: C:\WINDOWS\system32\ Nmap done: 1 IP address (1 host up) scanned in 0.08 seconds root@Wing:~#

    从以上信息可以得知目标主机运行的进程名称、进程号、进程路径等信息。获得信息的多少取决于目标系统运行程序的多少。Nmap中的snmp-win32-services脚本可以获得Windows服务器的服务。

    root@Wing:~# nmap -sU -p 161 --script=snmp-win32-services 192.168.121.1 Starting Nmap 6.47 ( http://nmap.org ) at 2015-06-28 21:09 CST Nmap scan report for 192.168.121.1 Host is up (0.0013s latency). PORT  STATE SERVICE 161/udp open  snmp | snmp-win32-services: |  Apache Tomcat |  Application Experience Lookup Service |  Application Layer Gateway Service |  Automatic Updates |  COM+ Event System |  COM+ System Application |  Computer Browser |  Cryptographic Services |  DB2 - DB2COPY1 - DB2 |  DB2 Management Service (DB2COPY1) |  DB2 Remote Command Server (DB2COPY1) |  DB2DAS - DB2DAS00 |_ DCOM Server Process Launcher Nmap done: 1 IP address (1 host up) scanned in 0.08 seconds root@Wing:~#

    Snmp服务的密码一旦被破解对服务器的威胁是非常大的,如何避免这种情况的产生?Nmap中的snmp-brute的脚本可以对目标服务器的Snmp服务进行口令审计。

    root@Wing:~# nmap -sU -p 161 --script snmp-brute 192.168.121.1 Starting Nmap 6.47 ( http://nmap.org ) at 2015-06-28 21:14 CST Nmap scan report for 192.168.121.1 Host is up (0.0013s latency). PORT  STATE SERVICE 161/udp open  snmp | snmp-brute: |_ admin - Valid credentials Nmap done: 1 IP address (1 host up) scanned in 0.09 seconds root@Wing:~#

    从输出的结果得知目标服务器Snmp服务的密码为admin。若没有得到满意的结果还可以使用snmp-brute.communitiesdb选项指定一个字典进行破解。

    本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。

    相关资源:Nmap渗透测试指南.pdf
    最新回复(0)