2018-2019-2 20165315《网络攻防技术》Exp6 信息搜集与漏洞扫描
目录
一、实验内容
二、实验步骤
1、各种搜索技巧的应用
3、基本的扫描技术
四、实验总结
1、实验后回答问题
一、实验内容
- 各种搜索技巧的应用
- DNS IP注册信息的查询
- 基本的扫描技术:主机发现、端口扫描、OS及服务版本探测、具体服务的查点(以自己主机为目标)
- 漏洞扫描:会扫,会看报告,会查漏洞说明,会修补漏洞(以自己主机为目标)
二、实验步骤
1、各种搜索技巧的应用
(1)使用搜索引擎搜索特殊字段
有些网站(实验中以百度为例)会链接通讯录,订单等敏感的文件,可以进行针对性的查找
- 在百度搜索栏内输入形如
site:edu.cn filetype:xls 学生
的搜索语句,即可搜索到域名以edu.cn
为结尾,文件形式为xls
且文件中包含学生
数据的数据表。
(2)使用GHDB(Google Hacking Database)
GHDB是Google提供的高级搜索功能,GHDB数据库包含了大量使用Google从事渗透的搜索字符串,可以找到上面第一个例子用来搜索敏感信息的特殊字符串,比如site:www.test.com login一般可以查到后台登陆界面,然后用sql注入扫描即可
(3)使用暴力模块进行暴力猜解
暴力破解一般就是指穷举法,它的原理就是使用攻击者自己的用户名和密码字典,一个一个去枚举,尝试是否能够登录。因为理论上来说,只要字典足够庞大,枚举总是能够成功的!(本实验以dir_scanner模块为例)
- 登陆msf控制台
- 输入如下指令
# use auxiliary/scanner/http/dir_scanner
# set RHOSTS www.baidu.com //设置破解目标
# set THREADS 30
# run
- 控制台可以查看到百度的几个目录
(4)使用IP路由侦查工具traceroute
traceroute命令利用ICMP协议定位用户计算机和目标计算机之间的所有路由器。TTL值可以反映数据包经过的路由器或网关的数量,通过操纵独立ICMP呼叫报文的TTL值和观察该报文被抛弃的返回信息,traceroute命令能够遍历到数据包传输路径上的所有路由器。本实验以侦查百度为例。
- 输入
traceroute www.baidu.com
指令 - 可以查看到kali连到百度经过的路由器和TTL值
2、DNS IP注册信息的查询
(1)使用whois
指令
whois是用来查询域名的IP以及所有者等信息的传输协议。本实验以查询www.cnblogs.com为例。
- 在命令行输入
whois cnblogs.com
- 可以查看到博客园的域名、注册表域ID、注册商WHOIS服务器、注册商网址等信息
(2)使用nslookup
指令
nslookup可以指定查询的类型。可以查到DNS记录的生存时间还可以指定使用哪个DNS服务器进行解释。
- 在命令行输入
nslookup cnblogs.com
- 可以查询到博客园的DNS服务器、地址、非权威性答案、域名名称及地址
(3)使用dig
指令
dig命令是常用的域名查询工具,可以用来测试域名系统工作是否正常。本实验以查询www.cnblogs.com为例。
- 在命令行输入
dig cnblogs.com
- 可以分析查看到的结果(参考Aaronguo的博客)
- 1-4行显示了dig的基本设置信息
- 5-6行显示了查询内容,这里查询的是域名cnblogs.com的A记录
- 7-8行显示了查询结果,域名cnblogs.com的A记录是42.121.252.58(A记录是用来指定主机名(或域名)对应的IP地址)
- 9-13行显示统计信息,比如查找花费的时间、查找的时间等等
(4)登陆IP-ADDRESS查询域名对应的IP地址
- 在搜索框中输入
www.cnblogs.com
- 可以搜索到IP地址、域名服务器位置(包括经纬度)、网络服务提供者(ISP)以及查询时间等等
3、基本的扫描技术
(1)主机发现
a)使用ping
指令
ping命令用发送ICMP报文的方法检测活跃主机
b)使用arp_sweep
和udp_sweep
模块
arp_sweep和udp_sweep都是metasploit中位于modules/auxiliary/scanner/discovery中的模块,其中arp_sweep使用ARP请求枚举本地局域网络中的所有活跃主机;udp_sweep模块除了可以探测到存活主机之外,还可以获得主机名称信息
该模块中还有ipv6_multicast_ping,ipv6_neighbor,ipv6_neighbor_router_advertisement, udp_probe,udp_sweep
- 在msf控制台中输入:
# use auxiliary/scanner/discovery/arp_sweep
# set RHOSTS 10.1.1.0/24 //进行hosts主机段设置
# set THREADS 30 //设置线程数
# run
- 使用
arp_sweep
找到了同一局域网中的活跃主机的IP地址
- 在msf控制台中输入:
# use auxiliary/scanner/discovery/udp_sweep
# set RHOSTS 10.1.1.0/24 //进行hosts主机段设置
# set THREADS 30 //设置线程数
# run
- 使用
udp_sweep
找到了同一局域网中活跃主机的详细信息,包括主机名等
c)使用nmap
指令探索活跃主机
- 输入指令
nmap -sn 10.1.1.1/24
- 可以查看到活跃主机的IP地址、主机名等信息
(2)端口扫描
a)使用nmap
指令扫描端口
相关参数如下:
-sS:TCP SYN扫描,可以穿透防火墙;
-sA:TCP ACK扫描。有时候由于防火墙会导致返回过滤/未过滤端口;
-sP:发送ICMP echo探测;
-sT:TCP connect扫描,最准确,但是很容易被IDS检测到,不推荐;
-sF/-sX/-sN:扫描特殊的标志位以避开设备或软件的监测;
-O:启用TCP/IP协议栈的指纹特征信息扫描以获取远程主机的操作系统信息;
-sV:获取开放服务的版本信息;
- 输入指令
nmap –sS 10.1.1.165
- 可以看到有一个端口开放,并可以看到目标主机名
b)使用辅助模块中的portscan/tcp
模块
- 在msf控制台中输入以下指令:
# use auxiliary/scanner/portscan/tcp
# set RHOSTS 10.1.1.165
# set THREADS 30
# exploit
- 可以看到开放的端口
(3)OS及服务版本探测
使用nmap
指令
- 检测目标主机的OS
- 输入指令
nmap -O 10.1.1.165
- 可以看到目标主机的操作系统信息
- 输入指令
- 检测目标主机的服务版本(换了Win7虚拟机试试)
- 输入指令
nmap -sV 10.1.1.243
- 可以看到目标主机的服务版本
- 输入指令
(4)具体服务的查点
metasploit中有许多相关工具,大部分都在Scanner辅助模块,常以[service_name]_version(用以遍历主机,确定服务版本)和[service_name]_login(进行口令探测攻击)命名。
下面我使用了telnet_version和ssh_version两种服务
a)Telnet服务扫描
Telnet协议是TCP/IP协议族中的一员,是Internet远程登录服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。Telnet是常用的远程控制Web服务器的方法。
- 进入msf控制台,输入如下指令:
# use auxiliary/scanner/telnet/telnet_version # set RHOSTS 10.1.1.165 //扫描本机
# set THREADS 50
# run
- 扫描本机被拒绝了,于是扫描整个网段,显示无法登陆
b)SSH服务扫描
SSH(“安全外壳”)协议是用于从一个系统安全远程登录到另一个的方法。用户通过客户端 - 服务器架构格式的不安全网络使用安全通道,用于将SSH客户端与SSH服务器连接起来。
- 进入msf控制台,输入如下指令:
# use use auxiliary/scanner/ssh/ssh_version
# set RHOSTS 10.1.1.165 //扫描本机
# set THREADS 50
# run
4、漏洞扫描
要求:会扫,会看报告,会查漏洞说明,会修补漏洞
- 安装OpenVAS,输入如下指令:
# apt-get update
# apt-get dist-upgrade
# apt-get install openvas
# openvas-setup
- 过程非常漫...长...长...长,耐心等待...待...待
- 输入
openvas-check-setup
检查是否安装成功
- 输入
openvas-start
启动OpenVAS,会自动弹出网页https://127.0.0.1:9392/login/login.html
- 按安装时默认设置的用户名和密码登录后,依次点击页面上
scan
->Tasks
->左上角紫色魔法棒图标
->Task Wizard
,新建任务
- 输入要扫描的目标主机的IP地址,开始扫描
- 扫描完成后点击扫描结果中的
Full and fast
- 选择一个漏洞族查看详情,以
Brute force attacks
(蛮力攻击)为例
- 可以看到列出了以蛮力攻击为攻击方法的漏洞信息,包括漏洞名称、标识符、危险系数等,选择一个漏洞查看具体信息,以
VNC Brute Force Login
(VNC暴力登录)为例
- 详细信息中可以分析出:
- 该漏洞的描述摘要为
Try to log in with given passwords via VNC protocol
,即尝试通过VNC协议使用给定的密码登录
- 漏洞评分为9.0(危险)
- 漏洞详情为
此脚本尝试使用密码首选项中设置的密码向VNC服务器进行身份验证,如果根本不需要身份验证/密码,它还将测试并报告
- 修补方法为
将密码更改为难以猜测或完全启用密码保护的密码
- ... ...
- 该漏洞的描述摘要为
三、实验中遇到的问题
- 在用nmap进行端口扫描时,发现端口全部关闭
解决过程:
我使用的目标IP地址是kali本机的,大概是因为kali本机没有进程在端口监听,换成了mac主机或者Win7虚拟机就好了
四、实验总结
1、实验后回答问题
- 哪些组织负责DNS,IP的管理
全球根服务器均由美国*授权的ICANN统一管理,负责全球的域名根服务器、DNS和IP地址管理。ICANN负责协调管理DNS各技术要素以确保普遍可解析性,使所有的互联网用户都能够找到有效的地址。
在ICANN下有三个支持机构:
(1)地址支持组织(ASO):负责IP地址系统的管理;
(2)域名支持组织(DNSO):负责互联网上的域名系统(DNS)的管理;
(3)协议支持组织(PSO):负责涉及Internet协议的唯一参数的分配。
全球一共有5个地区性注册机构:ARIN主要负责北美地区业务,RIPE主要负责欧洲地区业务,APNIC主要负责亚太地区业务,LACNIC主要负责拉丁美洲美洲业务,AfriNIC负责非洲地区业务。
- 什么是3R信息
注册人(Registrant)
注册商(Registrar)
官方注册局(Registry)
- 评价下扫描结果的准确性
结果还是比较准确的,扫出了许多漏洞
2、实验感想
本次实验主要学习并尝试使用了常用的信息收集、漏洞扫描等几种方式。网络是开放的,信息很多,关键在于信息的整合与利用。信息收集作为渗透测试的第一步,往往起到了至关重要的奠基性作用。这些准备工作是必不可少的,只有收集了必要的信息,才能进行下一步攻击。而对于自己的主机,漏洞扫描也非常重要,能让我们更深入了解自己主机存在的可能被人利用的缺陷,从而进行漏洞的修补。
实验过程中查询了大量的资料,在惊叹于方法之多和信息收集角度之全面之外,也感受到了潜在的危险。也许自己主机的信息正在不为人知的时候悄悄被他人窃取......细思极恐QAQ