小符的CEH考证之路肆 - 枚举与渗透测试

261 阅读6分钟

CEH - 职业道德黑客 关于 Enumberation 枚举

在footprinting(从外)到network scanning(从内)的探测行动之后,使用枚举的目的是进行更深层的对目标的挖掘。枚举要求主动打开到目标的连接以及提取有价值的信息(Initiates an active connection with the target)并从在扫描期间发现的入口和信息提取中有意义信息。这些有意义的枚举信息包括但不限于:

  • routing info 路由信息(路由表等)
  • SNMP info 简单网络管理协定信息(simple network management protocol)(用于管理监控设备的信息,一个很好简介关于SNMP- [About SNMP] www.youtube.com/watch?v=Lq7…), 这里插一个题外话关于子网掩码(subnet mask)和网关(gateway default)的介绍有一个很好的介绍,很适合初学者[8bits和255的故事] www.youtube.com/watch?v=s_N…
  • DNS info 网卡地址
  • machine name
  • user info
  • group info
  • application and banner(可以使用上一章的grabing banner扫描到哦)
  • network sharing info
  • network resources

枚举信息之 Email(user/group info)

通过观察,从电子邮件地址或 ID 中获取用户名和域名信息。就像快递一样,Email会把邮寄地址明确的贴在包裹上。

枚举信息之 Default password

默认的密码,比如root,admin盲打就是干

枚举信息之 Active Directory (AD) 目录服务

Active directory 在企业信息系统中扮演者记忆海马体角色。这是一个系统具有中心指令功能比如,域名user记录,电脑,打印机管理。类似于企业级的单点登录。常用query经常基于LDAP(lightweight directory access protocal)轻型目录访问协议来进行工业级访问。常用端口号是TCP / UDP 389。LDAP报文可以包含的信息包括用户名字,地址,credentials授权,privileges优先级info。

  • LDAP:看一段介绍, LDAP使得在 hierarchical(树状管理结构) and logical structure 中进行更好的维护和保存distruted diretory分布式目录(重要信息)。允许信息共享,比如user, system, network services等,在整个内网中。各种用户名和密码可以使用这个报文进行query。通过Directory System Agent (DSA)这个报文请求去开始LDAP的session。服务器和客户端通过Basic Encoding Rules (BER,一种编码规范)进行沟通。
  • Directory常用LDAP的类型:Active directory、Open directory、Oracle iPlanet、OpenLDAP

枚举信息之 SNMP

承接上文介绍所述,SNMP主要用于企业级devices(routes, servers)管理。主要用途在于管理网络系统,以及发现troubleshooting。属于application layer。

常用端口号:

  • UDP 161
  • UDP 162

SNMP包括三个元素:

  • SNMP Manager: software运行在management station 里,用于display collected infor
  • SNMP agent: software运行在network nodes,进行monitor(CPU,RAM等)
  • Management Information Base: 信息虚拟数据库(hierarchically orginze),两种形式:Scalar 单例模型,就一个object instance、Tabular 多主体,多个object instances组成。

枚举SNMP信息可以发现并利用默认的community string,基于攻击者对SNMP的了解,并可以使用猜的方式进行攻击。 可利用的默认的 community string 类型包括但不限于 被用于Authentication的only-read,read-write和trap。

其中trap指的是被agent初始化的一些信息,并用于报告issue的部分。这些可被利用的信息可以来自SNMP的host,devices,shares, network information部分。CEH 给出了三个version关于SNMP的版本。其中,SNMPV1不支持加密和hashing,并且使用plain text community string(可以理解为很好猜的)。

SNMPV2同样不支持加密和hashing,当时增加了一些功能比如从代理处批量获取信息等。

SNMPV3支持加密(DES加密)和hashing(MD5和SHA)。对于v3来讲,它包含三种模型。第一种是NoAuthNoPri模型, 就是该部分不用加密的模型。第二种是AuthNoPriv,仅用hashing不用加密。最后一种就是AuthPriv,双重加密hashing加加密。

枚举信息之 DNS Zone Transfer

先上连接 - 什么是DNS域传送漏洞。在组织中,会有很多的域名,每一群域名由组织需求进行DNS管理。比如hr部分的DNS含有zhaoping.com,payroll.xyz等等,会计部门有recievable.com,cost.xyz。例子中每个部门的DNS组合就叫做DNS Zone。所以可以利用的潜在漏洞就存在于每一个DNS zone的传输中。

常用端口号:

  • UDP 53 (DNS queries)
  • TCP 53 (DNS Zone Transfer)

DNS Zone 传输中可以exploit的信息包括:

  • Locating DNS server
  • DNS records
  • Hostname,IPaddress, Username等。

可用工具:linux的 nslookup功能, dig, host 例子:

host -t axfr zonetransfer.me nsztm1.digi.ninja.

枚举信息之 Network Basic Input/Output System (NetBIOS)

引用扫描与枚举中提到NetBIOS的描述。

攻入 Windows 系统获取立足点的起始步骤之一是利用 NetBIOS 的 API(应用程序编程接口)。该服务最初只是用于协助访问局域网资源Lan。他设计为使用 16 个字符串的名称,其中前 15 个字符串用于标识计算机,而最后一个字符代表该计算机自身上面的服务或项目。

NetBIOS针对windows系统。NetBIOS应用于session layer。 常用端口号

  • UDP 137 (name services)
  • UDP 138 (datagram services)
  • TCP 139 (session services)

可以从NetBIOS利用的信息包括:

  • domain下的machine list
  • 文件分享 File sharing,Print sharing
  • 具体信息 username,group info,passport,policies

NetBIOS可分一下几种类型:Unqiue,group,domain name,internet group,mutilhomed

枚举信息之 Network Time Protocol (NTP 网络时间协定)

该协议用来同步网络中主机的时间。由于很多服务依赖于时间同步,比如login等,所以在很多情况下组织会使用NTP协议管理时间(主要基于UTC)。NTP属于application layer协议。攻击者可以利用改变ntp里的时间戳timestamp去误导防御判断。对于V3以上的NTP协议,支持tranfer加密(cryptographic authentication technique)。但是如果legitimate server被停止了,攻击者可以伪造NTP server来代替真的。

常用端口号

  • UDP 123

可以从NetBIOS利用的信息包括:

  • Host information
  • Client information (IP, machine name, OS)
  • Network information

可用工具:

  • Windows: nbtstat
  • Linux: nbtscan

枚举信息之 Simple Mail Transfer Protocol (SMTP)

SMTP 邮件协议,属于应用层application layer。常见协议之一。可以使用telnet进行枚举。

常用端口号

  • TCP 25 (Unencrypted)
  • TCP 587 (TLS)

Telnet 枚举命令:

  • HELO: identify domain name of the sender
  • EXPN: verify Mailbox on localhost
  • MAIL FROM: identify sender of the email
  • RCPT TO specify the message recipients
  • SIZE: specify maximum supported size
  • DATA: define data
  • RSET: reset connection and buffer of SMTP
  • VRFY: verify the availability of Mail server
  • HELP: show help
  • QUIT: terminate session

Countermeasures(如何防御)

  • Advanced security software 增强安全保护软件
  • Updated version of protocols 更新协议版本
  • Strong security protocols 增强协议的安全性通过一些方法(比如ssl科学上网的方法)
  • Unique and difficult password 密码强化
  • Strong encrypted communications 会话加密
  • Disable unnecessary ports 关闭无用端口