Exp6 信息搜集与漏洞扫描
一、实践内容概述
1.实践目标
掌握信息搜集的最基础技能与常用工具的使用方法。
2.实践内容
(1)各种搜索技巧的应用
- 搜索网址目录结构
- 搜索特定类型的文件
- 搜索E-Mali
- IP路由侦查
(2)DNS IP注册信息的查询
- whois域名注册信息查询
- nslookup、dig域名查询
- IP2反域名查询
(3)基本的扫描技术
- 主机发现
- 端口扫描
- OS及服务版本探测
- 具体服务的查点
(4)漏洞扫描:会扫,会看报告,会查漏洞说明,会修补漏洞
二、实验过程
(一)各种搜索技巧的应用
1.搜索网址目录结构
- 自动化的工具:metasploit的brute_dirs,dir_listing,dir_scanner等辅助模块,主要是暴力猜解。暴力破解一般就是指穷举法,它的原理就是使用攻击者自己的用户名和密码字典,一个一个去枚举,尝试是否能够登录。因为理论上来说,只要字典足够庞大,枚举总是能够成功的。
msfconsole
,以下为三种文件目录扫描模块
(1)dir_scanner
模块
输入指令use auxiliary/scanner/http/dir_scanner
show options
set RHOSTS www.baidu.com
设置扫描路径
set THREADS 50
设置并发进程数量
exploit
(2)dir_listing
模块
输入指令use auxiliary/scanner/http/dir_listing
show options
set RHOSTS www.baidu.com
exploit
(3)brute_dirs
模块
输入指令use auxiliary/scanner/http/brute_dirs
show options
set RHOSTS www.baidu.com
set THREADS 100
exploit
2.搜索特定类型的文件
-
有些网站会链接通讯录,订单等敏感的文件,可以进行针对性的查找, 如Google,site:XXX.com filetype:xls。
-
filetype
能对搜索结果的文件类型进行限定,格式为“检索词 filetype:文件类型” -
-
能在检索结果中获取检索词的补集,格式为“检索词 -词语” -
site
能限制检索结果的来源,格式为“检索词 site:限制域名”(不要在“:”后的域名中输入“http:”和“www.”) -
inurl
能在网址中进行搜索,格式为“检索词inurl:检索词” -
|
表示布尔逻辑中的或者(or)关系,使用格式为“关键词1 | 关键词2” - 空格表示布尔逻辑中的交集(and)关系,使用格式为“关键词1 关键词2”
- 高级搜索界面,高级搜索界面的入口在搜索引擎首页右上角“设置”->“高级搜索”
-
打开浏览器后输入
filetype:xls site:edu.cn 六级
- 点击其中任何一个搜索结果,即可下载xls文件
3.搜索E-Mali
- metasploit中有search_email_collector,进行针对性的搜集。
输入指令set DOMAIN baidu.com
设置target
set SEARCH_GOOGLE false
set SEARCH_YAHOO false
set OUTFILE xyh0428.txt
exploit
4.IP路由侦查
- 工具:traceroute
原理:traceroute命令利用ICMP协议定位用户计算机和目标计算机之间的所有路由器。TTL值可以反映数据包经过的路由器或网关的数量,通过操纵独立ICMP呼叫报文的TTL值和观察该报文被抛弃的返回信息,traceroute命令能够遍历到数据包传输路径上的所有路由器。
在kail下输入
traceroute www.baidu.com
得知到达www.baidu.com经过30个路由器
- 在windows下命令行中输入
tracert www.baidu.com
,如下图- 第一列:生存时间,每途经一个路由器结点自增1
- 第二至四列:三次发送的ICMP包返回时间,单位为毫秒ms
- 第五列:途经路由器的IP地址,如果有主机名,还会包含主机名,带有*的信息表示该次ICMP包返回时间超时
(二)DNS IP注册信息的查询
1.whois域名注册信息查询
- 输入指令
msfconsole
msf > whois baidu.com
- 注意:进行whois查询时去掉www等前缀,因为注册域名时通常会注册一个上层域名,子域名由自身的域名服务器管理,在whois数据库中可能查询不到。
- 如下图,可查询到3R注册信息--注册人(Registrant) →注册商(Registrar) →官方注册局(Registry)
2.nslookup、dig域名查询
-
nslookup可以诊断域名系统(DNS) 基础结构的信息,但并不是一定准确的。
- 输入指令
msfconsole
nslookup
set type=A
baidu.com
- 输入指令
-
dig可以从官方DNS服务器上查询精确的结果
- 输入指令
msfconsole
dig @dns.baidu.com baidu.com
- 输入指令
dns.baidu.com为DNS服务器
- 除此之外,dig命令还有很多查询选项,每个查询选项被带前缀(+)的关键字标识。
+[no]search
:使用 [不使用] 搜索列表或 resolv.conf 中的域伪指令(如果有的话)定义的搜索列表。缺省情况不使用搜索列表。+[no]trace
:切换为待查询名称从根名称服务器开始的代理路径跟踪。缺省情况不使用跟踪。一旦启用跟踪,dig 使用迭代查询解析待查询名称。它将按照从根服务器的参照,显示来自每台使用解析查询的服务器的应答。+[no]identify
:当启用 +short 选项时,显示 [或不显示] 提供应答的 IP 地址和端口号。+[no]stats
:该查询选项设定显示统计信息:查询进行时,应答的大小等等。缺省显示查询统计信息。
3.IP2反域名查询
- 连宿舍网ping baidu
- 连自己热点ping baidu
- 进入网站通过IP反查到域名
(三)基本的扫描技术:主机发现、端口扫描、OS及服务版本探测、具体服务的查点
我的主机为扫描对象 10.1.1.175
1.主机扫描
(1)ping
ping命令可以发送ICMP数据包探测主机是否在线
在windows下输入
ping 10.1.1.175
(2)metasploit中的模块
位于
modules/auxiliary/scanner/discovery
主要有 arp_sweep, ipv6_multicast_ping, ipv6_neighbor, ipv6_neighbor_router_advertisement, udp_probe,udp_sweep。arp_sweep
使用ARP请求枚举本地局域网的活跃主机,即ARP扫描器,。
输入指令msfconsole
use auxiliary/scanner/discovery/arp_sweep
show options
set RHOSTS 192.168.56.0/24
set THREADS 100
run
-
udp_sweep
使用UDP数据包探测
输入指令msfconsole
use auxiliary/scanner/discovery/udp_sweep
show options
set RHOSTS 192.168.56.0/24
set THREADS 100
run
(3)nmap
-
nmap -sn 10.1.1.0/24
: 只进行主机发现,不进行端口扫描
2.端口扫描
(1)metasploit的端口扫描模块
use auxiliary/scanner/portscan/tcp
set RHOSTS 10.0.0.175
设置扫描地址
exploit
进行扫描
(2)Nmap端口扫描
-sS/sT/sA/sW/sM
:指定使用 TCP SYN/Connect()/ACK/Window/Maimon scans的方式来对目标主机进行扫描
-sU
: 指定使用UDP扫描方式确定目标主机的UDP端口状况
-sN/sF/sX
: 指定使用TCP Null, FIN, and Xmas scans秘密扫描方式来协助探测对方的TCP端口状态
--scanflags <flags>
: 定制TCP包的flags
-sI <zombiehost[:probeport]>
: 指定使用idle scan方式来扫描目标主机(前提需要找到合适的zombie host)
-sY/sZ
: 使用SCTP INIT/COOKIE-ECHO来扫描SCTP协议端口的开放的情况
-sO
: 使用IP protocol 扫描确定目标机支持的协议类型
-b <FTP relay host>
: 使用FTP bounce scan扫描方式
- 输入指令
nmap -sT -p 0-1024 10.0.0.175
表示使用TCP connect扫描0-1024的端口
3.OS及服务版本探测
(1)操作系统侦测
操作系统侦测用于检测目标主机运行的操作系统类型及设备类型等信息。
Nmap拥有丰富的系统数据库nmap-os-db,目前可以识别2600多种操作系统与设备类型
-
-O
: 指定Nmap进行OS侦测osscan-limit: 限制Nmap只对确定的主机的进行OS探测(至少需确知该主机分别有一个open和closed的端口)。
osscan-guess: 大胆猜测对方的主机的系统类型。由此准确性会下降不少,但会尽可能多为用户提供潜在的操作系统。
输入指令
nmap -O 10.1.1.175
(2)版本侦测
版本侦测,用于确定目标主机开放端口上运行的具体的应用程序及版本信息。
-
-sV
: 指定让Nmap进行版本侦测- version-intensity : 指定版本侦测强度(0-9),默认为7。数值越高,探测出的服务越准确,但是运行时间会比较长。
- version-light: 指定使用轻量侦测方式 (intensity 2)
- version-all: 尝试使用所有的probes进行侦测 (intensity 9)
- version-trace: 显示出详细的版本侦测过程信息。
输入指令
nmap -sV -Pn 10.0.0.175
4.具体服务及版本探测
- metasploit中有许多相关工具,大部分都在Scanner辅助模块,常以[service_name]_version(用以遍历主机,确定服务版本)和[service_name]_login(进行口令探测攻击)命名
(1)telent服务扫描
use auxiliary/scanner/telent/telent_version
show options
set RHOSTS 10.1.1.0/24
set THREADS 100
run
(2)SSH服务扫描
输入指令use auxiliary/scanner/ssh/ssh_version
set RHOSTS 10.1.1.0/24
set THREADS 100
run
(3)Oracle数据库服务查点
输入指令use auxiliary/scanner/oracle/tnslsnr_version
set RHOSTS 10.1.1.0/24
set THREADS 100
run
(4)开放代理探测--open_proxy模块
use auxiliary/scanner/http/open_proxy
set RHOSTS 10.1.1.0/24
set THREADS 100
run
(四)漏洞扫描:会扫,会看报告,会查漏洞说明,会修补漏洞
- 输入指令
openvas-start
启动OpenVAS,会自动弹出网页
- 输入用户名和密码成功登录
-
Scans
→Tasks
→点击左上角三个小图标中间紫色的那个→Task Wizard
- 输入主机IP
10.0.0.175
→Start Scans
开始扫描
- 查看并分析扫描结果
- 点击图中危险等级最高的漏洞
Fedora Local Security Checks
- 查看其中一个
Fedora Update for 389-ds-base
,给出的解决方法是安装更新包。
三.实验后回答问题
1.哪些组织负责DNS,IP的管理
-
全球根服务器:均由美国*授权的ICANN统一管理,负责全球的域名根服务器、DNS和IP地址管理。
- 地址支持组织(ASO)负责IP地址系统的管理
- 域名支持组织(DNSO)负责互联网上的域名系统(DNS)的管理
- 协议支持组织(PSO)负责涉及Internet协议的唯一参数的分配
- 全球根域名服务器:绝大多数在欧洲和北美(全球13台,用A~M编号),中国仅拥有镜像服务器(备份)。
- 全球一共有5个地区性注册机构
- ARIN主要负责北美地区业务
- RIPE主要负责欧洲地区业务
- APNIC主要负责亚太地区业务
- LACNIC主要负责拉丁美洲美洲业务
- AfriNIC负责非洲地区业务
2.什么是3R信息
- 注册人(Registrant) →注册商(Registrar) →官方注册局(Registry)
3.评价下扫描结果的准确性
见实验过程分析~