3.1 网络踩点侦察
踩点,概括地说就是获取信息的过程。踩点是黑客实施攻击之前必须要做的工作之一,踩点过程中所获取的目标信息也决定着攻击是否成功。
绝招1:侦察对方是否存在
黑客在攻击之前,需要确定目标主机是否存在,目前确定目标主机是否存在最为常用的方法就是使用ping命令。ping命令常用于对固定IP地址的侦察,下面就以侦察某网站的IP地址为例,其具体的侦察步骤如下。
Step 01 在Windows 10系统界面中,右击“开始”按钮,在弹出的快捷菜单中选择“运行”菜单命令,打开“运行”对话框,在“打开”文本框中输入cmd,如下图所示。
Step 02 单击“确定”按钮,即可打开“命令提示符”窗口,在其中输入ping www.baidu.com命令,如下图所示。
Step 03 按Enter键,即可显示出ping百度网站的结果,如果ping通过了,将会显示该IP地址返回的byte、time和TTL的值,说明该目标主机一定存在于网络之中,这样就具有了进一步攻击的条件,而且time时间越短,表示响应的时间就越快,如下图所示。
Step 04 如果ping不通过,则会出现“无法访问目标主机”提示信息,这就表明对方要么不在网络中、要么没有开机、要么是对方存在,但是设置了ICMP数据包的过滤等。如下图所示就是ping IP地址为192.168.0.100不通过的结果。
注意:在ping没有通过,且计算机又存在网络中的情况下,要想攻击该目标主机,就比较容易被发现,达到攻击目的就比较难。
另外,在实际侦察对方是否存在的过程中,如果是一个IP地址一个IP地址地侦察,将会浪费很多精力和时间,那么有什么方法来解决这一问题呢?其实这个问题不难解决,因为目前网络上存在多种扫描工具,这些工具的功能非常强大,除了可以对一个IP地址进行侦察,还可以对一个IP地址范围内的主机进行侦察,从而得出目标主机是否存在、开放的端口和操作系统类型等,常用的工具有SuperScan、nmap等。
利用SuperScan扫描IP地址范围内的主机的操作步骤如下。
Step 01 双击下载的SuperScan可执行文件,打开SuperScan操作界面,在“扫描”选项卡的“IP地址”栏目中输入开始IP和结束IP,如下图所示。
Step 02 单击“扫描”按钮,即可进行扫描。在扫描完毕之后,即可在SuperScan操作界面中查看扫描到的结果,主要包括在该IP地址范围内哪些主机是存在的,非常方便直观,如下图所示。
绝招2:侦察对方的操作系统
黑客在入侵某台主机时,事先必须侦察出该计算机的操作系统类型,这样才能根据需要采取相应的攻击手段,以达到自己的攻击目的。常用侦察对方操作系统的方法为使用ping命令探知对方的操作系统。
一般情况下,不同的操作系统其对应的TTL返回值也不相同,Windows操作系统对应的TTL值一般为128;Linux操作系统的TTL值一般为64。因此,黑客在使用ping命令与目标主机相连接时,可以根据不同的TTL值来推测目标主机的操作系统类型,一般在128左右的数值是Windows系列,64左右的数值是Linux系列。这是因为不同的操作系统的机器对ICMP报文的处理与应答也有所不同,TTL的值是每过一个路由器就会减1。
在“运行”文本框中输入cmd,单击“确定”按钮,打开DOS窗口,在其中输入ping 192.168.0.135命令,然后按Enter键,即可返回ping到的数据信息,
分析上述操作代码结果,可以看到其返回TTL值为128,说明该主机的操作系统是Windows操作系统。
绝招3:确定可能开放的端口服务
确定目标主机可能开放的端口的方法有多种,常用的方法是使用扫描工具,如SuperScan等,还可以使用相关命令查看本机开启的端口,具体的操作步骤如下。
Step 01 在“命令提示符”窗口中输入netstat-a -n命令,按Enter键,即可查看本机开启的端口,在运行结果中可以看到以数字形式显示的TCP和UDP连接的端口号及其状态,如下图所示。
Step 02 启动SuperScan程序,然后切换到“主机和服务器扫描设置”选项卡,在其中对想要扫描的UDP和TCP端口进行设置,如下图所示。
Step 03 切换到“扫描”选项卡,在其中输入目标开始IP地址和结束IP地址,如下图所示。
Step 04 单击按钮,即可开始扫描地址,在扫描进程结束之后,SuperScan将提供一个主机列表,用于显示每台扫描过的主机被发现的开放端口信息,如下图所示。
Step 05 SuperScan还有选择以HTML格式显示信息的功能。单击“查看HTML结果”按钮,即可显示扫描了哪些主机和在每台主机上哪些端口是开放的,并生成一份HTML的报告,如下图所示。
绝招4:查询WHOIS和DNS
1. 查询WHOIS
一个网站制作完毕后,要想发布到互联网上,还需要向有关机构申请域名,而且申请到的域名信息将被保存到域名管理机构的数据库中,任何用户都可以进行查询,这就使黑客有机可乘了。因此,踩点流程中就少不了查询WHOIS,常用的查询WHOIS方法如下:
1)在中国互联网信息中心网页上查询
中国互联网信息中心是非常权威域名管理机构,在该机构的数据库中记录着所有以.cn为结尾的域名注册信息。查询WHOIS的具体操作步骤如下。
Step 01 在Microsoft Edge浏览器的地址栏中输入中国互联网信息中心的网址http://www.cnnic.net.cn/,即可打开查询页面,如下图所示。
Step 02 在其中的“查询”区域的文本框中输入要查询的中文域名,如这里输入“淘宝.cn”,然后输入验证码,如下图所示。
Step 03 单击“查询”按钮,打开“验证码”对话框,在“验证码”文本框中输入验证码,如下图所示。
Step 04 单击“确定”按钮,即可看到要查询域名的详细信息,如下图所示。
2)在中国万网网页上查询
中国万网是中国最大的域名和网站托管服务提供商,它提供.cn的域名注册信息,而且还可以查询.com等域名信息。查询WHOIS的操作步骤如下。
Step 01 在Microsoft Edge浏览器的地址栏中输入万网的网址https://wanwang.aliyun.com/,即可打开其查询页面,如下图所示。
Step 02 在打开页面的“域名”文本框中输入要查询的域名,然后单击“查询名”按钮,即可看到相关的域名信息,如下图所示。
2. 查询DNS
DNS即域名系统,是Internet的一项核心服务。简单地说,利用DNS服务系统可以将互联网上的域名与IP地址进行域名解析,因此,计算机只认识IP地址,不认识域名。该系统作为可以将域名和IP地址相互转换的一个分布式数据库,能够帮助用户更为方便地访问互联网,而不用记住被机器直接读取的IP地址。
目前,查询DNS的方法比较多,常用的方式是使用Windows系统自带的nslookup工具来查询DNS中的各种数据,下面介绍两种使用nslookup查看DNS的方法。
1)使用命令行方式
该方式主要是用来查询域名对方的IP地址,也即查询DNS的记录,通过该记录黑客可以查询该域名的主机所存放的服务器,其命令格式为nslookup 域名。
例如,想要查看www.baidu.com对应的IP信息,其具体的操作步骤如下。
Step 01 在“命令提示符”窗口中输入nslookup www.baidu.com命令,如下图所示。
Step 02 按Enter键,即可得到运行结果,在运行结果中可以看到“名称”和“地址”行分别对应域名和IP地址,而最后一行显示的是目标域名并注明别名,如下图所示。
2)交互式方式
可以使用nslookup的交互模式对域名进行查询,具体的操作步骤如下。
Step 01 在“命令提示符”窗口中输入nslookup命令,然后按Enter键,即可得到运行结果,如下图所示。
Step 02 在“命令提示符”窗口中输入set type=mx命令,然后按Enter键,进入命令运行状态,如下图所示。
Step 03 在“命令提示符”窗口中输入想要查看的网址(必须去掉www),如输入baidu.com,按Enter键,即可得到百度网站的相关DNS信息,即DNS的MX关联记录,如下图所示。
绝招5:侦察对方的网络结构
找到适合攻击的目标后,在正式实施入侵攻击之前,还需要了解目标主机的网络机构,只有弄清楚目标网络中防火墙、服务器地址之后,才可进行第一步入侵。可以使用tracert命令查看目标主机的网络结构,tracert命令用来显示数据包到达目标主机所经过的路径,并显示到达每个节点的时间。
tracert命令功能同ping类似,但所获得的信息要比ping命令详细得多,它把数据包所走的全部路径、节点的IP以及花费的时间都显示出来。该命令比较适用于大型网络。tracert命令的语法格式如下。
例如,要想了解自己计算机与目标主机www.baidu.com之间的详细路径传递信息,就可以在“命令提示符”窗口中输入tracert www.baidu.com命令进行查看,分析目标主机的网络结构,如下图所示。
绝招6:快速确定漏洞范围
黑客在找到攻击的目标主机后,在实施攻击之前,还需要查看目标主机的漏洞,确定目标主机的漏洞范围。黑客为了能够快速找到目标主机的漏洞范围,常常会利用一些扫描工具来快速确定漏洞的范围,扫描的内容包括端口、弱口令、系统漏洞以及主机服务程序等。
目前,黑客常用的扫描工具是X-Scan,它可以扫描出操作系统类型及版本、标准端口状态及端口BANNER信息、CGI漏洞、IIS漏洞、RPC漏洞、SQL-Server、FTP-Server、SMTP-Server、POP3-Server、NT-Server弱口令用户、NT服务器NetBIOS等信息。
1. 设置X-Scan扫描器
在使用X-Scan扫描器扫描系统之前,需要先对该工具的一些属性进行设置,例如扫描参数、检测范围等。设置和使用X-Scan的具体操作步骤如下。
Step 01 在X-Scan文件夹中双击X-Scan_gui.exe应用程序,打开“X-Scan v3.3 GUI”主窗口,在其中可以浏览此软件的功能简介、常见问题解答等信息,如下图所示。
Step 02 单击工具栏中的“扫描参数”按钮,打开“扫描参数”对话框,如下图所示。
Step 03 在左边的列表中单击“检测范围”选项卡,然后在“指定IP范围”文本框中输入要扫描的IP地址范围。若不知道输入的格式,则可以单击“示例”按钮,即可打开“示例”对话框,在其中即可看到各种有效格式和无效格式,如下图所示。
Step 04 切换到“全局设置”选项卡,并单击其中的“扫描模块”子项,在其中即可选择扫描过程中需要扫描的模块。在选择扫描模块的同时,还可在右侧窗格中查看选择模块的相关说明,如下图所示。
Step 05 由于X-Scan是一款多线程扫描工具,所以可以在“并发扫描”子项中设置扫描时的线程数量,如下图所示。
Step 06 切换到“扫描报告”子项,在其中可以设置扫描报告存放的路径和文件格式,如下图所示。
提示:如果需要保存自己设置的扫描IP地址范围,则可在选中“保存主机列表”复选框后,输入保存文件名称,这样,以后就可以直接调用这些IP地址范围;如果用户需要在扫描结束时自动生成报告文件并显示报告,则可选中“扫描完成后自动生成并显示报告”复选框。
Step 07 切换到“其他设置”子项,在其中可以设置扫描过程的其他属性,如设置扫描方式、显示详细进度等,如下图所示。
Step 08 切换到“插件设置”选项,并单击“端口相关设置”子选项,在其中即可设置扫描端口范围以及检测方式,如下图所示。X-Scan提供TCP和SYN两种扫描方式。若要扫描某主机的所有端口,则在“待检测端口”文本框中输入“1~65535”即可。
Step 09 切换到“SNMP相关设置”子项,选中相应的复选框来设置在扫描时获取SNMP信息的内容,如下图所示。
Step 10 切换到“NETBIOS相关设置”子项,在其中设置需要获取的NETBIOS信息类型,如下图所示。
Step 11 切换到“漏洞检测脚本设置”子项,取消选中“全选”复选框后,单击“选择脚本”按钮,打开“Select Script(选择脚本)”对话框,如下图所示。
Step 12 在选择检测的脚本文件之后,单击“确定”按钮,返回到“扫描参数”对话框中,分别设置脚本运行超时和网络读取超时等属性,如下图所示。
Step 13 在“CGI相关设置”子项下,即可设置扫描时需要使用的CGI选项,如下图所示。
Step 14 切换到“字典文件设置”子项,然后可以通过双击字典类型,打开“打开”对话框,如下图所示。
Step 15 在其中选择相应的字典文件后,单击“打开”按钮,返回到“扫描参数”对话框,即可完成字典类型所对应的字典文件名的设置,如下图所示。在设置好所有选项之后,单击“确定”按钮,即可完成设置。
2. 使用X-Scan进行扫描
在设置完X-Scan各个属性后,就可以利用该工具对指定IP地址范围内的主机进行扫描。具体的操作步骤如下。
Step 01 在“X-Scan v3.3 GUI”主窗口中单击“开始扫描”按钮,即可进行扫描,在扫描的同时显示扫描进程和扫描所得到的信息,如下图所示。
Step 02 扫描完成后,即可看到HTML格式的扫描报告,如下图所示。在其中即可看到活动主机IP地址、存在的系统漏洞和其他安全隐患,同时还提出了安全隐患的解决方案。
Step 03 在“X-Scan v3.3 GUI”主窗口中切换到“漏洞信息”选项卡,在其中即可看到存在漏洞的主机信息,如下图所示。