6.5. 枚举

未匹配的标注

进行枚举

  • 枚举是从在扫描期间发现的入口和信息提取中有意义信息的过程。因为在这一步中会进行更深层的挖掘,收集用户名、主机名、共享名、服务、应用程序数据、组信息和其他更多信息。但此时,这些活动也会增加可见性,因而更需要关注被探测的可能性。因此,必须谨慎耐心以避免被发现。

  • 枚举要求主动打开到目标的连接以及提取有价值的信息。通过这些连接,可以执行用于获得更清晰的环境图景的查询和操作。当已经收集到充分的信息后,即可开展系统脆弱性评估。在此阶段收集到的信息一般可分为以下几类:

    • 网络资源和共享

    • 用户和组

    • 路由表

    • 审计和服务设置

    • 应用程序和banner

    • SNMP和DNS详情

有价值的端口

  • 当进入枚举阶段时,了解那些常用的端口和服务以及它们能提供给攻击者哪些类型的信息是很有好处的。回顾之前的扫描阶段,当在系统外部探索入口点时,会使用诸如nmap或其他端口扫描器之类的工具探测端口状态。在扫描期间可能会发现多个不同端口,而下列端口应密切注意:

    • TCP53 此端口用于DNS区域传输(DNS Zone Transfer),DNS系统通过该机制保证服务器持续更新数据或信息。

    • TCP135 此端口用于客户端/服务器应用程序之间的通信,例如使电子邮件客户端得以连接到电子邮件服务器。

    • TCP137 NetBIOS名称服务(NetBIOS Name Service,NBNS)是一种用于提供涉及NetBIOS协议的名称解析服务的机制。该服务使得NetBIOS能够将各个系统和服务的名称与IP地址关联起来。需要重点注意的是,对许多攻击者而言,该服务是一个易于攻击的目标。

    • TCP139 NetBIOS会话服务又称NetBIOS上的SMB(服务消息块),用于管理支持NetBIOS的客户端和应用程序之间的连接。NetBIOS使用该服务建立连接,并不再需要连接时断开。

    • TCP445 TCP上的SMB又称直连主机(Direct Host),是用于提升网络访问效能和旁路NetBIOS的服务。该服务仅在windows 2000及更高版本可用。

    • UDP161 简单网络管理协议(Simple Network Management Protocol,SNMP)是一种用于管理和监视网络设备与主机的协议。该协议设计用于实现消息传递、监视、审计和其他功能。SNMP实际上工作在161和162两个端口上,其中监听运行于161端口,而在162端口上接收trap报文。

    • TCP/UDP389 轻量级目录访问协议(Lightweight Directory Access Protocol,LDAP)用于许多应用程序和目录应用程序中,其中最常见的两种就是活动目录(Active Directory)和Exchange两者之一或其他类似产品。

    • TCP/UDP3368 全局目录服务(Global Catalog Service)与微软的活动目录服务相关联。该端口的存在并开启是存在活动目录服务的标志。

    • TCP25 SMTP用于通过电子邮件在网络上传递消息。

可以发现,以上列表中有一些关于活动目录(他是微软的一项网络管理产品)的项。建议花点时间对活动目录进行基本的了解,因为他在企业环境中是很常见的。

利用电子邮件ID

  • 该技术用于从电子邮件地址或ID中获取用户名和域名信息。观察任意的电子邮件地址,可以看到它包含两个部分:在@符号之前的部分是用户名,而在@符号之后的部分则是域名。这种格式在现下的环境中基本已成为标准,其中用户名大多是通过“名字.姓氏”或其某种变体生成的。

SMTP枚举

  • 使用SMTP是收集目标信息的一个有效方法。该协议用于在收发电子邮件的服务器之间传递消息。SMTP是一个常用的协议,是当前大多数电子邮件服务器与客户端所使用的标准。

  • 那么,如何使用该协议从服务器上收集信息?只要了解少数几个命令及其使用方法,该过程其实很简单。以下命令均在telnet以及其他方法连接服务器后使用。

    1. VRFY命令
    2. EXPN命令
    3. RCPT TO命令
尽管通过命令行执行这些攻击也并不是那么困难,但还是有其他可选方法可实现这些基于SMTP的攻击,例如NetScanTools Pro。

常被利用的服务

  • 对Windows操作系统的关注在用户和攻击者当中都很普遍,这是有多种原因的,但我们在此只聚焦于攻击者及其利用的目标。
  • Windows操作系统长期以来都是默认运行多个服务,其中每个服务都会给防御者带来一堆麻烦,而给攻击者提供一个充满机会的目标。系统中的每个服务都用于为系统提供额外的特性和能力,例如文件共享、域名解析、网络管理等。总之,默认情况下Windows可运行大约30个服务,其中还不包括独立应用程序可能安装的服务。有些服务还有可能有多个实例,使安全管理员更加难以识别
  • NetBIOS是Windows系统中最易受攻击的服务之一,下文将对其进行详细分析。

NetBIOS

  • 攻入Windows系统获取立足点的起始步骤之一是利用NetBIOS的API(应用程序编程接口)。该服务最初只是用于协助访问局域网资源。他设计为使用16个字符串的名称,其中前15个字符串用于标识计算机,而最后一个字符代表该计算机自身上面的服务或项目。由此可见,NetBIOS是把双刃剑!
  • 攻击前需要扫描目标是否打开139端口,下一步则证明该连接是否可提取信息。

使用nbtstat工具

  • 按下列方式运行nbstart命令,返回远程系统中的名称列表:
nbtstat.exe -A <远程系统的NetBIOS名称>
如果拥有目标系统的IP地址,则使用以下命令:
nbtstat -A <目标IP地址>
其他的nbtstat命令功能:
  • -a (适配器状态) 列出指定名称的远程机器的名称表

  • -A (适配器状态) 列出指定 IP 地址的远程机器的名称表。

  • -c (缓存) 列出远程[计算机]名称及其 IP 地址的 NBT 缓存

  • -n (名称) 列出本地 NetBIOS 名称。

  • -r (已解析) 列出通过广播和经由 WINS 解析的名称

  • -R (重新加载) 清除和重新加载远程缓存名称表

  • -S (会话) 列出具有目标 IP 地址的会话表

  • -s (会话) 列出将目标 IP 地址转换成计算机 NETBIOS 名称的会话表。

  • -RR (释放刷新) 将名称释放包发送到 WINS,然后启动刷新

  • RemoteName 远程主机计算机名。

  • IP address 用点分隔的十进制表示的 IP 地址。

  • interval 重新显示选定的统计、每次显示之间暂停的间隔秒数。

  • 按 Ctrl+C 停止重新显示统计。

空会话

通过NetBIOS启用的另一个功能和潜在缺陷是空会话。该功能可能令客户端或连接的端点通过网络访问确定类型的信息。空会话并非什么新事物,实际上它成为Windows操作系统的一部分已经有很长时间了,用于完全合法的途径,但问题是他们也是潜在的滥用源头。空会话可能泄露大量信息
  • 在接入Windows系统而未提供凭据(用户名和密码)时,就会产生一个空会话。这种会话只能向一个被称为进程间通信(IPV)的特殊位置发起,该位置是一个用于管理的共享。在正常情况下,空会话设计用于在网络系统间建立连接,以实现系统之间的进程枚举和共享。可能在此过程中获得的信息包括:

    • 用户和组列表
    • 计算机列表
    • 共享列表
    • 用户和主机SID
空会话允许使用一个称为NULL用户的特殊账户访问系统,该特殊账户可用于显示与系统共享或用户账户相关的信息,而不需要使用用户名和密码。
利用空会话是一个简单的任务,只需要寥寥几条命令。例如,假设某计算机主机名是samus,这就意味着可以使用以下命令连接系统,其中主机名是目标系统的IP地址或名称:
net use \\samus\ipc$ "/user:"
要查看特定系统上可用的共享资源,在运行命令连接到目标系统上的$ipc共享之后运行以下命令
net view \\samus
这将显示系统上的共享列表。当然,如果系统中没有其他共享资源可用,则不会显示任何内容。
攻击者获取该共享列表后,下一步即可连接到某个共享并查看其中存在的数据。使用如下的net use s: \samus(shared folder name)
现在应该可以浏览映射的S:驱动器,查看共享文件夹的内容。

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~