2018-2019 2 20165203 《网络对抗技术》Exp6 信息搜集与漏洞扫描
实践目标
掌握信息搜集的最基础技能与常用工具的使用方法。
实践内容
(1)各种搜索技巧的应用
(2)DNS IP注册信息的查询
(3)基本的扫描技术:主机发现、端口扫描、OS及服务版本探测、具体服务的查点(以自己主机为目标)
(4)漏洞扫描:会扫,会看报告,会查漏洞说明,会修补漏洞(以自己主机为目标)
大家做的时候可以根据个人兴趣有轻有重。
基础知识问答
(1)哪些组织负责DNS,IP的管理。
通过上网查资料发现:
*的管理者是ICANN,ICANN理事会是ICANN的核心权利机构,它设立三个支持组织:
- 地址支持组织(ASO)负责IP地址系统的管理。
- 域名支持组织(DNSO)负责互联网上的域名系统(DNS)的管理。
- 协议支持组织(PSO)负责涉及Internet协议的唯一参数的分配。
(2)什么是3R信息。
这应该是英文缩写吧,大概是含有
Registrant:注册人
Registrar:注册商
Registry:官方注册局的信息
(3)评价下扫描结果的准确性。
看一下实验过程就知道了。
实践过程记录
各种搜索技巧的应用
1. Google Hacking
Google Hacking属于通过搜索引擎进行信息收集功能的方式,提供了高级搜索功能。GHDB数据库中包含了大量使用Google从事渗透的搜索字符串。
- 我们可以登录https://www.exploit-db.com/,在左边的栏中选择
shellcode
,并选择相应的shellcode
。
2. 搜索网址目录结构
我们可以利用metaploit的dir_scanner辅助模块,暴力破解,获取网站目录结构。
- 我们可以打开
msfconsole
。 - 输入
use auxiliary/scanner/http/dir_scanner
使用dir_scanner
辅助模块。 - 我们该如何设置参数呢?根据我们前几次实验的经验,我们知道输入
show options
查看有哪些参数需要设置。
- 如图所示,我们看到需要设置的为
RHOSTS
,我们可以把它设为www.baidu.com
以便来查询百度网址,但是我们可以看到THREADS
参数的意义:为每分钟扫描线程的数量,默认为1,显然太少,我们可以设置一下来增加扫描的速度,此处,我把它设为50。所以,输入如下命令
set THREADS 50 //设置连接的线程数为50
set RHOSTS www.baidu.com //设置要搜索的地址为百度网址
- 输入
exploit
进行暴力破解,我们可以发现百度网站下的5个目录。
3. 检测特定类型的文件
有的网站会连接一些人员名单、成绩单或通讯录等一些敏感文件,可以进行有针对性的查找
- 我们可以搜索域名为
edu.cn
、文件类型为.xls
的文件,以此可以查到一些关于正在搜索网站的一些信息,我们可以输入site:edu.cn filetype:xls
可以查到很多文件格式为XLS/Microsoft Excel
的网址。
- 查到之后我们可以点击某个网址,直接下载该文件,下载后打开就可以获得某些信息了,如图所示,我下载的是浙江大学电气工程学院研究生助教、管、研岗位设置、中期考核汇总表相关信息。
- 如果我们想要搜索更具体的信息,我们可以增加更多的关键字,比如,我想要在以上基础上搜索有关大学或高校的相关信息,我的关键字可以变为
site:edu.cn filetype:xls 大学
。
4. 使用tracert命令进行路由侦查
之前,我们知道tracert
可用于对经过的路由进行侦查,我们可以利用这一点来进行跟踪,还是以www.baidu.com
为例。
- 输入命令
tracert www.baidu.com
DNS IP注册信息的查询
1. 使用whois
命令查询域名注册信息
- 输入命令
whois baidu.com
查询百度的域名注册信息。在此要注意,去掉www
等前缀,因为注册域名时通常会注册一个上层域名,子域名由自身的域名服务器管理,在whois
数据库中可能查询不到。
- 从图中可以得到3R信息,包括注册人的名字、组织、城市等信息。
2. 使用nslook
和dig
命令查询域名。
- 输入
nslookup
> set type=A
> baidu.com
- 我们可以看到,
nslook
可以得到DNS解析服务器保存的Cache的结果,但并不一定是准确的。
3. 使用dig
从官方DNS服务器上查询精确的结果
- 输入命令
dig @dns.baidu.com baidu.com
,其中dns.baidu.com
为DNS服务器
4. IP2Location地理位置查询
使用[www.maxmind.com](www.maxmind.com)根据IP来查询地理位置信息。
输入自己想查询的网站在自己的PC上对应的IP,我搜索的
baidu.com
。打开自己电脑的cmd,然后
ping
一下baidu.com
,如图所示,得到对应的IP为220.181.57.216
。
- 点击
搜索
,如图所示,出现相应的信息。
5. IP2反域名查询
我们可以利用shoden搜索引擎进行反域名查询,通过shoden,我们输入具体的IP,可以搜索到该IP的具体地理位置、服务所占的端口号,以及提供的服务类型等。
如图,输入之前www.baidu.com
对应的IP,出现如下结果。
基本的扫描技术:主机发现、端口扫描、OS及服务版本探测、具体服务的查点(以自己主机为目标)
主机发现
1. ping
- 原理:用ping命令发送ICMP报文的方法检测活跃主机。
- 方法:在终端输入命令
ping www.baidu.com
2. metasploit中ARP扫描器udp_sweep模块
- 原理:
arp_sweep
使用ARP请求枚举本地局域网的活跃主机,即ARP扫描器udp_sweep使用udp数据包探测。 - 方法:
msfconsole
msf> use auxiliary/discoverry/arp_sweep//进入arp_sweep模块
msf auxiliary(scanner/discovery/arp_sweep)> show options
msf auxiliary(scanner/discovery/arp_sweep)>set RHOSTS 192.168.1.0/24//用set进行hosts主机段设置
msf auxiliary(scanner/discovery/arp_sweep)>set THREADS 50//平均每分钟扫描50个线程,加快扫描速度
msf auxiliary(scanner/discovery/arp_sweep)>run//开始扫描
3. nmap -Sn
- 首先,了解一下nmap的相关参数。
-sS:TCP SYN扫描,可以穿透防火墙;
-sA:TCP ACK扫描。有时候由于防火墙会导致返回过滤/未过滤端口;
-sP:发送ICMP echo探测;
-sT:TCP connect扫描,最准确,但是很容易被IDS检测到,不推荐;
-sF/-sX/-sN:扫描特殊的标志位以避开设备或软件的监测;
-O:启用TCP/IP协议栈的指纹特征信息扫描以获取远程主机的操作系统信息;
-sV:获取开放服务的版本信息;
- 原理:nmap -sn参数可以用来探究某网段内活跃的主机
- 方法:输入
nmap -sn 192.168.1.0/24
- 如上图所示,扫描到了我的主机
192.168.1.110
端口扫描
4. nmap -PU
- 原理:nmap -PU是对UDP端口进行探测,与udp_sweep模块功能相同。
- 方法:输入
nmap -PU 192.168.1.0/24
OS及服务器版本探测
5. namp -O
- 原理:nmap -O参数让Nmap对目标的操作系统进行识别,获取目标机的操作系统和服务版本等信息
- 方法:输入
nmap -O 192.168.1.110(我的本机IP)
6. nmap -sV
- 原理:nmap -sV查看目标主机的详尽服务信息
- 方法:输入
nmap -sV-Pn 192.168.1.110(本机IP)
,其中-Pn
是在扫描之前,不发送ICMP echo请求测试目标
具体服务的查点
7. Telent服务扫描
- 原理:telent命令用于登录远程主机,对远程主机进行管理。
- 方法:
输入
msfconsole
msf> use auxiliary/scanner/telnet/telnet_version//进入telnet模块
msf auxiliary(telnet_version)>set RHOSTS 192.168.1.0/24//扫描192.168.1.0网段
msf auxiliary(telnet_version)> set THREADS 100//提高查询速度
msf auxiliary(telnet_version)>run
- SSH服务扫描
- 原理:原理:SSH(“安全外壳”)协议是用于从一个系统安全远程登录到另一个的方法。用户通过客户端 - 服务器架构格式的不安全网络使用安全通道,用于将SSH客户端与SSH服务器连接起来。
- 方法:
msfconsole
msf> use auxiliary/scanner/ssh/ssh_version
msf auxiliary(ssh_version)> show options
msf auxiliary(ssh_version)> set RHOSTS 192.168.1.0/24
msf auxiliary(ssh_version)> set THREADS 200
msf auxiliary(ssh_version)> run
- Oracle数据库服务查询点
- 方法:
msfconsole
msf> use auxiliary/scanner/oracle/tnlsnr_version
msf auxiliary(scanner/oracle/tnslsr_version)> show options
msf auxiliary(scanner/oracle/tnslsr_version)> set RHOSTS 192.168.1.0/24
msf auxiliary(scanner/oracle/tnslsr_version)> set THREADS 200
msf msf auxiliary(scanner/oracle/tnslsr_version)>run
漏洞扫描:会扫,会看报告,会查漏洞说明,会修补漏洞-------OpenVAS
OpenVAS是开放式漏洞评估系统,也可以说它是一个包含着相关工具的网络扫描器。其核心部件是一个服务器,包括一套网络漏洞测试程序,可以检测远程系统和应用程序中的安全问题。
用户需要一种自动测试的方法,并确保正在运行一种最恰当的最新测试。OpenVAS包括一个*服务器和一个图形化的前端。这个服务器准许用户运行 几种不同的网络漏洞测试(以Nessus攻击脚本语言编写),而且OpenVAS可以经常对其进行更新。OpenVAS所有的代码都符合GPL规范。
- openVAS的安装
- 输入如下指令
apt-get update
apt-get dist-upgrade
apt-get install openvas
openvas-setup
进行安装,安装完毕后会自动生成用户名和密码。
- 每次打开前都要使用
openvas-check-setup
,每次点击都会出现各种各样的问题,不要慌,下面的FIX
就是解决方法,根据解决方法直接做就OK,知道出现It seems like your OpenVAS-9 installation is OK.
,就可以输入openvas-start
开启。
- 登录
- 开启openvas,输入用户名和密码。
- 新建Target, 开始扫描
- 在菜单栏中选择
Scan
->Task
- 进入菜单栏后点击紫色烟花
Task Wizard
新建一个任务向导,在输入栏里输入待扫描的主机的IP地址192.168.1.110
,并点击Start Scans
确认,开始扫描。
- 查看并分析结果
- 打开该扫描结果的详细信息,并点击其中的
Full and fast
- 点击进入
Buffer overflow
查看详尽结果,其中标注了漏洞的危险等级。
- 点开一个危险等级较高的漏洞
详尽描述如下:
-
Summary
是对该漏洞的描述,意思是该主机正在运行SCTftpSvc Tftp服务器,容易出现缓冲区溢出漏洞。
-
-
Solution
是对该漏洞的解决方案:该漏洞至少一年内没有解决方案或修补程序。这个网站可能不会再提供解决方案了。一般解决方案是升级到一个较新的版本,禁用各自的功能,删除产品或更换产品的另一个。
-
实验中遇到的问题及解决方法
Q:在运行命令opensvas-check-setup
来检查openvas的安装情况时出现了如下问题:
A:在FIX
中已经给出了解决方案,我就试着输入greenbone-scapdata-sync
,然后就出现了以下画面,在网上查了一下,这样的情况能做的只有等待,我才不会告诉你我等了一个晚上,然后打开成功之后,继续输入opensvas-check-setup
,直到检查安装情况没有问题。
实验感想
通过本次实验,我学会了信息搜集、
扫描及漏洞的扫描及分析,学会了利用各种工具对主机、操作系统、网络服务进行扫描,掌握了漏洞扫描和分析的方法,这次实验还让我认识到英语的重要性,因为漏洞分析时还是要具备一定的英文水平的。
自己要多多动手实践,才能为接下来实战中的漏洞扫描打下基础。