第章5 网络攻防技术 5.网络信息收集 1 孙子兵法云:“ 知己知彼,百战不殆;不知彼而知己,一胜一负;不知彼,每战必殆。”网络 攻防也是如此。 在现实世界中,只要不是太蠢的窃贼,都懂得在实施盗窃计划之前,必须观察和收集目 标房屋的相关信息,如主人作息时间、门锁类型、是否安装远程报警系统等安防设备,甚至邻 里关系、物业管理水平、小区安保措施、得手后的逃跑路线等。 对于网络攻击者而言,如果想要不留痕迹地入侵远程目标系统,那么在入侵系统之前, 他们也必须了解目标系统可能存在的漏洞与缺陷信息,这些信息包括但不限于:系统在管 理上的安全缺陷和漏洞、使用的网络协议安全缺陷与漏洞、使用的操作系统安全缺陷与漏 洞、部署的数据库管理系统的安全缺陷和漏洞;而且在入侵实施过程中,攻击者还需要进一 步掌握更多信息,如目标网络内部拓扑结构、目标网络与外部网络的连接方式与链路路径、 防火墙的端口过滤与访问控制配置、使用的身份认证与访问控制机制等。一旦攻击者完全 掌握了这些信息,目标系统就彻底暴露在攻击者面前了。 实际上,攻击者只要有足够的耐心和灵活的思路,结合各种黑客工具和技巧,他们可以 从公开渠道收集到目标系统的各类信息,绝对会让人大吃一惊。 对于防御者而言,如果防御者能从攻击者的视觉了解到他们想要看到什么,他们能看到 什么,他们能利用这些情报做到什么,那防御者就会知道自己所维护的系统可能存在哪些潜 在的安全威胁,以及如何去解决和防范这些安全威胁。 应该指出的是,网络信息收集和入侵并不具有明显界限的先后次序关系,信息收集是融 入整个入侵过程中,攻击者收集的信息越全面细致,就越有利于入侵攻击的实施,而随着入 侵攻击的深入,攻击者就能获得更多目标系统的安全细节。 本节将从网络踩点、网络扫描、网络查点这3方面介绍对网络攻防双方都适用的最为基 础的网络信息收集技术,并给出防范这些攻击技术的简单而有效的防御措施。 5.1 网络踩点 1. 网络踩点是指黑客通过因特网有计划有步骤地信息收集,了解攻击目标的隐私信息、网 络环境和信息安全状况,根据踩点结果,攻击者将寻找出攻击目标可能存在的薄弱环节,为 进一步的攻击行动提供指引。 下面,我们对最为流行与常见的网络踩点手段GoogleHacking、Whois服务和DNS查 询进行介绍。 GoogleHacking是指通过Web搜索引擎查找特定安全漏洞或私密信息的方法,其会 利用各个常用的搜索引擎,以及流行的Gog客户端软件Atha、Wio、 SiteDigger。 ogleHackinenkt 能否利用搜索引擎在Web中找到所需要的信息,关键在于能否合理地提取搜索的关键 字。我们可以利用表5.2的搜索引擎操 1列出的这些常见的搜索引擎高级搜索语法和表5. 作符结合,生成搜索关键字 。 表5.搜索引擎高级搜索语法 1 网络空间安全概论 搜索引擎高级搜索语法 intext intitle cache define filetype info inurl link site 说明 把网页中的正文内容中的某个字符作为搜索条件。例如在搜索引擎里输入int(“) ext:网络空间安全概论”,将返回所有在网页正文部分包含“网络空间安 全概论”的网页,alintext使用方法和intext类似 搜索网页标题中是否有我们所要找的字符。例如搜索“e:网络空间安 ititl 全”,将返回所有网页标题中包含“网络空间安全”的网页,(n) 同理,alintitle也 同intitle类似 搜索搜索引擎里关于某些内容的缓存 搜索某个词语的定义,搜索“define:hacker”,将返回关于hacker的定义 搜索指定类型的文件。例如输入“e:”,将返回所有以dc结尾的文 filetypdoco 件URL 查找指定站点的一些基本信息 搜索我们指定的字符是否存在于URL中。例如输入“l:a”,将返回 inurdmin N个类似于这样的链接:htp://www.xcxx/dmin,用来找管理员登 xx.om/xa 录的URL 。alinurl也同inurl类似,可指定多个字符 搜索与给定网页存在链接的页面,例如搜索“nziusu.,可 lik:www.hhihcom” 以返回所有和www.iusu.om做了链接的URL zhhihc 仅搜索特定网站或域名范围,例如搜索“sie:www.hhihcom ”,将返回所 tziusu. 有与www.iusu.om这个网址相关的URL zhhihc 表5.搜索引擎操作符 2 搜索引擎操作符 + - “” | · * 说明 把搜索引擎可能忽略的关键字列入查询范围 查询结果中排除含有这个检索关键字的页面 查询结果精确匹配双引号部分包含完整搜索关键字 查询结果包含输入的多个关键字中任意一个即可匹配 单一的通配符 通配符,代表多个字母 例如,使用“site:orgfiletype:xl这样的关键字,1所示 s身份证号” 可能搜索到如图5. 的包含个人身份信息的数据表,而类似“e:l:g” 能找到如图5.sitorginurloin的关键字,2所 以使得攻击者得以进行进一步攻击测试。 示的网站登录页面, 第 章网络攻防技术 图5. 1 搜索引擎搜索到的包含身份证号的文档 图5. 2 搜索引擎搜索到的网站登录页面 如果说使用搜索引擎还需要手工设置搜索关键字,而且从成百上千个搜索结果中找到 目标网站也需要具备一定的专业知识,这对攻击者而言多少有点效率低下。那么诸如 Katnhs://gtucann--ea/Kaaa)、能快速识别系统弱点和敏感数据 aa( tpihb.om/daeXtbbtn 的工具集项目GoogleHackingDiggityProject(htps://resources.bishopfox.com/ resources/tools/google-hacking-diggity/)等较为知名的自动化工具,可以自动执行Google Hacking搜索出大量的安全漏洞、错误、配置缺陷、应用程序独有的旗标信息等安防细节,即 使是一位初出茅庐的黑客小子,也能很轻易地使用这些工具从世界各地的Web网站中找到 目标。 那么,如何避免让我们成为网络攻击者的目标呢? 防范GoogleHacking应该做到以下 几点 ( 。 1)将不希望被别人搜索到的敏感信息从论坛、微博、微信等公共媒体上删除干净。 网络空间安全概论 (2)发现存在非预期泄露的敏感信息后,应采取行动进行清除。 (3)发布信息时,尽量不要出现真实个人信息。例如,不要轻易相信各种微店、拼团、网 络抽奖活动,因为这些活动往往要求提供个人电话号码、社交媒体账号甚至身份证号码等个 人隐私信息。 (4)作为网络管理员,不要轻易在讨论组或技术论坛上发布求助技术帖,因为那样往往 会将单位内部网络拓扑结构或路由器配置信息泄露给他人。 (5)关注中国国家漏洞库CNNVD等安全漏洞信息库发布的技术信息,及时更新软件 或操作系统补丁。 网络踩点的第二个技巧是使用WHOIS查询。WHOIS查询包括DNS注册信息查询 服务和IPWHOIS查询。什么是DNS和IP呢? 在真实世界中,有多种方式来标识一个人类。例如,身份证号码、户口本或出生证书上 的名字、学生证上的学号或者工作证上的工号等,但在某些特定环境下,某种识别方法可能 比别的方法更合适些。例如,在日常生活中,我们更愿意以户口本上的姓名而非身份证号码 来记忆某个特定的人,因为前者更容易被记住。 Inent上的主机和人类一样, 使用www.zeu.n tre也使用多种方式进行标识。例如, fu.dc 这种域名形式来标识一部提供Web服务的服务器,使用EA-F8-D7-AC-49-2E以太网硬件 地址,或220.38.v或FE80:20FF:C782这类IP6地址对 181.148这种IP4地址, A00:FE01:v 主机进行标识,这些不同的主机标识形式,是互联网中联络特定网络或主机所必需的关键信 息。对人类而言,更喜欢域名这种便于记忆的主机标识,而作为通信枢纽的路由器,使用定 长且有着层次结构的IP地址标识目标主机,显然更便于快速寻址。 为了折中上述这些标识的不同应用场景,t需要能提供一种域名到IP地址转换 Interne 的服务,这就是域名系统(omanNameSytDNS) 如图5. Disem,的主要任务,3所示。DNS 包括:①一个由分层的DNS服务器实现的分布式数据库;②一个使得主机能够查询分布 式数据库的应用层协议。 图5. 3 DNS服务器的部分层次结构 一个组织或个人申请DNS域名时,会以注册人身份,通过商业运营的注册商,例如国内 比较知名的万网,确认所选择的域名是否未被他人注册;接着,注册商向官方注册局申请分 配此域名。域名注册成功后,官方注册局(Registry)信息、注册商(Registrar)信息、注册人 (Registrant)的详细域名注册信息(域名登记人信息、联系方式、域名注册时间和更新时间、 权威域名服务器的IP地址等),会进入官方注册局或注册商维护的公开数据库中,并向公众 提供DNS注册信息的WHOIS查询。 因此,垃圾邮件制造者和其他类型的网络攻击者,通常会利用这些公开资源,查询他们 所感兴趣的目标组织或个人的DNS注册信息、网络位置(及真实地理位置等信息。 IP地址) t是谁在负责维护如此庞大的DNS/IP信息库呢? 第 那么,当今的In terne 答案是ICANN (pg互联网名称与数字地址分配机 InternetCororationforAsinedNamesandNumbers, 构)。该机构位于DNS/IP层次化管理结构的顶层,目前主要负责协调以下几类标识符的分 配工作。 (1)Internet域名 。 (2)IP地址 。 (3)网络通信协议的参数和端口号码。 ICANN有很多下属分支机构,但与DNS/IP注册和分配相关的机构主要有3个: ASO 、GNSO 、CNNSO, 4所示。 如图5. 章网络攻防技术 图5. 4ICANN与DNS/IP管理分支机构的层次结构图 (1)ASO(AddresSupportingOrganization,地址支持组织),主要听取、审查与IP地 址分配政策有关的意见,并向ICANN董事会提出建议,负责把IP地址块统一分配给负责 各自辖区内公共Internet号码资源管理、分配和注册事务的五大洲际Internet注册管理机 构(RegionalInternetRegistry,RIR )。这些RIR再把IP地址分配给企事业单位、Internet 接入服务提供商(InternetServiceProvider,ISP)或者国家Internet注册机构(National InternetRegistry,NIR)或者本地Internet注册机构(LocalInternetRegistry,LIR): htp:ao.cnog。 //www.sian.r(2)GNSO(GenericNameSupportingOrganization,通用名称支持组织),负责听取、审 c.eed.rg.n 查与通用顶级域域名(如.om 、nt、.u、o、ifo等)分配政策有关的各种意见,并向 网络空间安全概论 ICANN董事会提出建议:htp://www.sian.r。 gno.cnog(3)CNNSO(CountryCodeDomainNameSupportingOrganization,国家代码域名支 持组织),负责听取、审查与国家代码顶级域域名(如.n、jp 、.s、.k等)分配有关的各种意 c.uu 见,并向ICANN董事会提出建议:htp://www.nsian.rg。 cno.cno 因此,ICANN是所有WHOIS查询的最佳出发点。例如,如图5. 5所示为ICANN官 网查询得到的www.iu.om的域名注册信息。 badc 图5.biu.omWHOIS查询结果部分截图 5 www.adc 综上所述,DNSWHOIS查询的一般思路是:在www.n.rg得到某个提供WHOIS iaao 查询服务的权威机构,进一步查询得到目标组织的域名注册商,再从域名注册商查询得到目 标组织的域名注册细节。 此外,以下这些一站式WHOIS信息查询机构也能提供DNS查询服务。 tp:osaa.rg或hnennt。 .h//whiinotp://www.itric.e .htp:whoi.com或htp://www.oscom 。.l(.) //wwwasuwhi. .h//www.nencntoshml。 tp:itri.e/whi.t .站长之家:whoshnzcom 。 icia. 那么,IP注册信息的(.) WHOIS查询如何实现呢? 现在已经知道IP分配事务是由 ICANN的地址管理组织ASO总体负责,而具体IP网段分配记录和注册者信息都存储于 各个洲际互联网管理局RIR的数据库中。因此,任意一个RIR都可以作为IP注册信息查 询的出发点。 以下是59.60这个IP地址通过APNIC的WHOIS查询得知该IP地址为福州 77. 231. 大学所有及其他详细注册信息,查询结果如图5.由于IPWHOIS查询有时效性, 例仅供参考)。 6所示( 图 第 章网络攻防技术 图5.77.60的查询结果 6 APNIC对IP地址59.231. 虽然管理联系人、已注册的网络地址块、正式的名字服务器等这些信息都必须向注册机 构提供,且允许互联网上的其他用户公开获得。但用户还是可以采取一些安防措施不让攻 击者轻易得手。 (1)及时更新负责管理、技术和缴费等事务的联系人信息,并及时通知域名注册机构。 (2)为了防止社会工程学攻击,最好使用不在本单位电话交换机范围内的号码作为联 系电话,还可以使用虚构的人名来作为管理性事务的联系人,这样,一旦某位员工受到了来 自这个虚构联系人的电子邮件或电话,该单位的信息安全部门就能很快发现黑客对本单位 的攻击企图。 (3)可以使用域名注册商提供的私密注册服务,确保敏感信息如组织的实际物理地址、 电话号码、电子邮箱等信息不被公开。 除了DNS/IPWHOIS查询可能导致信息泄露,如果DNS配置得不够安全,同样有可 能泄露组织的敏感信息。由于DNS是一个能把主机名映射为IP地址或者把IP地址映射 网络空间安全概论 为主机名的分布式数据库系统,所以对于一名网络管理员来说,允许不受信任的Internet用 户执行DNS区域传送是后果极为严重的错误配置。 DNS区域传送是指一台辅助DNS服务器使用来自主服务器的数据刷新自己的ZONE 数据库,原本目的是为了实现DNS服务的冗余备份。本来DNS区域传送的操作请求只能 来自于辅助DNS服务器,但现在许多DNS服务器被错误配置成只要有人发出请求,就会向 对方提供一个区域数据库的拷贝。设想一下,如果一个组织没有使用公用/私用DNS机制 来分割外部公用DNS信息和内部私用DNS信息,则区域传送将把一个组织内部网络的完 整导航图全都暴露在攻击者面前。这将使得攻击者可以: (1)搜集到目标的重要信息。 (2)作为跳板,攻击那些仅通过DNS传送才暴露的目标。 尽管令人难以置信,现实是仍然有不少网络管理员允许不受限制的DNS区域传送。一 个简单而粗暴的解决方案是:对外的DNS服务器配置为禁止DNS区域传送,且该服务器 不能包含内部网络相关主机的敏感信息。 1.网络扫描 5.2 如果说网络踩点相当于实施盗窃之前侦查外围环境以确定目标大楼,那么网络扫描就 是从中寻找有人居住的房间,并找出所有可供潜入的门窗。网络攻击者可以通过网络扫描 技术和自动化扫描工具,确定目标网络内活跃的主机列表,以及这些主机开放的通信端口、 操作系统类型等敏感信息。 表5. 常见的网络扫描类型包括主机扫描、端口扫描、操作系统/网络服务辨识、漏洞扫描,见 3。 表5.网络扫描类型和目的 3 网络扫描类型网络扫描目的对比的入室盗窃 主机扫描找出网段内活跃主机确定目标:找出大楼中有人居住的房间 端口扫描找出主机上所开放的网络服务寻找门窗:找出可进入房间的门窗位置 操作系统/网络服务 辨识 识别主机安装的操作系统类型与开放 网络服务类型,以选择不同渗透攻击 代码及配置 识别房间、门窗等差值的类型,针对不同 材质结构选择不同破解工具 漏洞扫描 找出主机/网络服务上存在的安全漏 洞,作为破解通道 缝隙/漏洞搜索:进一步发现门窗中可撬 开的缝隙、锁眼 1.主机扫描 主机扫描是指向目标系统发出特定的数据包,并分析目标系统返回的响应结果(或者没 有任何结果)的行为。 典型的主机扫描常常使用ICMP(RFC792)实现。ICMP可提供与IP协议层配置和IP 数据包处置相关的诊断和控制信息的通信协议。因其能提供丰富的网络诊断信息,所以可 被用于实现主机扫描。常用于主机扫描的ICMP报文如表5. 4所示。 表5.常用于主机扫描的ICMP报文 4 第 名称 ICMPDestinationUnreachable(目标不可达) ICMPSourceQuench(源抑制) ICMPRedirection(重定向) ICMPTimestampRequest/Reply(时间戳) ICMPAddresMaskRequest/Reply(子网掩码) ICMPTimeExceded(超时) ICMPParameterProblem(参数有错) ICMPEchoRequest/Reply(响应请求/应答) 类型 3 4 5 13/14 17/18 11 章网络攻防技术 12 8/0 例如,经典的PING程序(操作系统自带)使用ICMPEchoRequest/Reply(响应请求/ 响应)报文,攻击者可用ping来确认目标主机是否在线。而使用ICMP地址掩码请求/答复 (ICMPAddresMaskRequest/Reply)消息,攻击者可以获得目标设备的子网掩码,据此, 攻击者还能进一步找出目标网络的各个子网,并获得默认网关和广播地址信息,进而攻击默 认网关或对目标网络发起“拒绝式”服务攻击。 所以有安全意识的网络管理员,往往会在他们的网络边界路由器或防火墙设置规则阻 塞ICMP报文,因为从上面的两个例子不难看出,如果允许ICMP通信不受限制地进入网络 边界路由器,会给网络攻击者们留下发动攻击的可乘之机。 由于ICMP报文可能被防火墙过滤,所以除了ICMPPing扫描,网络攻击者也经常使 用TCP或UDP,结合端口扫描技术来发现活动主机。例如,大多数网络都允许80端口的 通信穿过自己的网络边界路由器到达内部非军事区,甚至大多数无状态防火墙产品如Cisco IOS系列,通常还会放行80端口的TCPACK数据包;同理,选择SMTP的25端口、POP 的110端口、IMAP的143端口等知名的网络服务支持端口进行ping扫描,通常也都能获 得满意的扫描结果。 较为常见的基于开放端口的主机扫描如图5.从上到下分别是TCPACKping 扫描、TCPSYNping扫描、UDPping扫描。 7所示, 常见的主机扫描工具包括ping扫描和Namp扫描,前者通过向目标网络发出IMCP EchoRequest数据包,并分析目标网络返回的响应结果来判断目标网络内的主机是否存 活,UNIX典型的ping工具为fping,Windows典型的ping工具是SuperScan。Nmap工具 则集合了ICMP/SYN/ACK/UDPping功能,是一个功能强大的跨平台扫描工具。 如何防范主机扫描呢? 首先利用诸如snort之类的入侵检测系统,监测主机扫描活动。 其次,根据业务需求,对允许放行哪些ICMP通信报文进入网络或特定系统做出细致评估。 例如,使用访问控制列表将外来ICMP通信限制在外部网络,以及在不妨碍正常通信的前提 下,只允许指定的ICMP数据包到达特定主机等措施,如只允许ECHO_REPLY 、TIME_ EXCEEDED 、HOST_UNREACHABE进入DMZ网络,而限制TIMESTAMP 、ADDRESS MASK的进入。 网络空间安全概论 图5. 7 基于ICMP/TCP/UDP的主机扫描 2.端口扫描 Internet上主机间的通信总是通过端口发生的,因此当网络攻击者通过主机扫描确定 活跃主机之后,活跃主机的开放端口就是他们入侵目标系统的绝佳通道。端口扫描是指网 络攻击者通过连接到远程目标系统的TCP/UDP端口,以确定哪些服务正在运行,或者正 处于监听状态。打个比方,处于监听状态的活跃服务相当于你家的大门和窗户,它们都是外 人窥探你私人领地的通道,这些通道或者可以使外人窥探你的私密信息,或者当通道损坏时 (网络服务存在安全漏洞), 5列出了常见的网络 外人可以在非授权情况下侵入你家。表5. 服务及对应的默认开放端口。 表5.常见的网络服务及默认开放端口 5 默认端口 21 22 23 25 53 67 68 69 79 80/8080 110 对应的网络服务 FTP文件传输服务 SSH安全登录服务 Telnet远程登录服务 SMTP简单邮件传输服务 DNS域名解析服务 BooTP/DHCP(BootstrapProtocolServer,引导程序协议服务器端 ) BooTP/DHCP(BootstrapProtocolClient,引导程序协议客户端 ) TFTP简单文件传输服务(UDP) Finger服务开放,用于查询远程主机在线用户、操作系统类型以及是否缓冲区溢出等用 户 详细信息 HTTP超文本传输服务 POP3邮件服务