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 senderEXPN: verify Mailbox on localhostMAIL FROM: identify sender of the emailRCPT TOspecify the message recipientsSIZE: specify maximum supported sizeDATA: define dataRSET: reset connection and buffer of SMTPVRFY: verify the availability of Mail serverHELP: show helpQUIT: terminate session
Countermeasures(如何防御)
- Advanced security software 增强安全保护软件
- Updated version of protocols 更新协议版本
- Strong security protocols 增强协议的安全性通过一些方法(比如ssl科学上网的方法)
- Unique and difficult password 密码强化
- Strong encrypted communications 会话加密
- Disable unnecessary ports 关闭无用端口