1.2 场景分析
上述场景可以概括为图1-1,下面将逐条对场景中涉及的技术知识点进行分析。
1.2.1 Whois查询
Whois是用来查询域名的IP以及所有者等信息的协议。简单说,Whois是一个用来查询域名是否已经被注册,以及注册域名详细信息的数据库(如域名所有人、域名注册商)。
早期的Whois查询多以命令接口存在,但是现在出现了一些网页接口简化的线上查询工具,可以一次向不同的数据库查询。网页接口的查询工具仍然依赖Whois协议向服务器发送查询请求,命令接口的工具仍然被系统管理员广泛使用。
Whois通常使用TCP的43端口。每个域名/IP的Whois信息由对应的管理机构保存。
图1-2是在某Whois查询站点中查询域名anquan1000.com的信息。
图1-1 “众里寻他千百度”场景示意
图1-2 在某Whois查询站点中查询域名anquan1000.com
1.2.2 DNS解析查询
域名解析系统(DNS)在因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便地访问Internet,而不用记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应IP地址的过程叫作域名解析(或主机名解析)。DNS协议运行在UDP之上,使用端口号53。
人们习惯记忆域名,但机器间互相只认IP地址,域名与IP地址之间是多对一的关系,一个IP地址不一定只对应一个域名,但一个域名只可以对应一个IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器完成,整个过程是自动进行的。
在Windows/Linux下,都可以使用命令nslookup[域名]进行DNS解析,找到目标域名对应的IP地址,但当目标服务器使用了CDN时,则不能解析到服务器真实的IP地址。
1.2.3 默认404页面信息泄露
HTTP 404或Not Found错误信息是HTTP的一种“标准回应信息”(HTTP状态码),此信息代表客户端在浏览网页时,服务器无法正常提供信息,或服务器无法回应且不知原因。
404默认页面一般显示详细的错误信息,以便站长进行调试和排错,但如果站长没有及时替换404默认页面,就可能会被黑客用于情报收集,搜集网站绝对路径、应用服务器版本等敏感信息。图1-3是某网站404默认页面。
图1-3 某网站404默认页面
1.2.4 HTTP状态码分类
HTTP状态码的分类及其描述如表1-1所示。
表1-1 HTTP状态码的分类及其描述
1.2.5 端口扫描
端口扫描是指入侵者发送一组端口扫描消息,试图以此入侵某台计算机,并了解其提供的计算机网络服务类型(这些网络服务均与端口号相关)。端口扫描是计算机解密高手喜欢的一种方式。攻击者可以通过它了解到从哪里可探寻到攻击弱点。实质上,端口扫描包括向每个端口发送消息(一次只发送一个消息)。接收到的回应类型表示是否在使用该端口并且可由此探寻弱点。
目前最常用的端口扫描工具是Nmap,其基本功能有3个:一是探测一组主机是否在线;二是扫描主机端口,嗅探所提供的网络服务;三是推断主机所用的操作系统。Nmap可用于扫描从仅有两个节点的网络,直至500个节点以上的网络。Nmap还允许用户定制扫描技巧。通常,一个简单的使用ICMP的ping操作可以满足一般需求;也可以深入探测UDP或者TCP端口,直至主机所使用的操作系统;还可以将所有探测结果记录到各种格式的日志中,供进一步分析操作。
以下为常用的命令实例。
①进行ping扫描,显示对扫描做出响应的主机,不做进一步测试(如端口扫描或者操作系统探测):nmap-sP 192.168.1.0/24。
②仅列出指定网络上的每台主机,不发送任何报文到目标主机:nmap-sL 192.168.1.0/24。
③探测目标主机开放的端口,可以指定一个以逗号分隔的端口列表(如-PS22,23,25,80):nmap-PS 192.168.1.234。
④使用UDP ping探测主机:nmap-PU 192.168.1.0/24。
⑤使用频率最高的扫描选项:SYN扫描,又称为半开放扫描,它不打开一个完全的TCP连接,执行很快:nmap-sS 192.168.1.0/24。
⑥当SYN扫描不能用时,TCP Connect()扫描就是默认的TCP扫描:nmap-sT 192.168.1.0/24。
⑦UDP扫描用-sU选项,UDP扫描发送空的(没有数据)UDP报头到每个目标端口:nmap-sU 192.168.1.0/24。
⑧确定目标机支持哪些IP协议(TCP、ICMP、IGMP等):nmap-sO 192.168.1.19。