实验目的
掌握信息搜集的最基础技能与常用工具的使用方法
实验内容
(1)各种搜索技巧的应用
(2)DNS IP注册信息的查询
(3)基本的扫描技术:主机发现、端口扫描、OS及服务版本探测、具体服务的查点
(4)漏洞扫描:会扫,会看报告,会查漏洞说明,会修补漏洞
基础知识
-
间接搜集
-
直接信息搜集
- 主机扫描:
auxiliary/scanner/discovery
- 端口扫描:
auxiliary/scanner/portscan
- 版本探测:
/usr/share/metasploit-framework/modules/auxiliary/scanner
msf下支持的版本探测和服务枚举模块 - nmap :网络连接端扫描软件
- 基本信息扫描:
nmap targethosts
- 对主机全面扫描:
nmap –T4 –A –v targethost
-
- vv
设置对结果详细输出 -
-p
设置扫描的端口号/端口范围 -
- sP
设置扫描方式为ping扫描 -
- sU
设置扫描方式为udp扫描 -
--traceroute
设置路由追踪 -
-O
探测主机所运行的操作系统类型 -
--exclude ip
扫描时排除某个ip地址 -
-n
不进行DNS解析 -
-R
总是进行DNS解析
- 基本信息扫描:
- 主机扫描:
实验步骤
(一)各种搜索技巧的应用
Google Hacking
GHDB (谷歌黑客数据库)包含了大量使用Google从事渗透的搜索字符串,拥有很多常用的模块,还有我们之前使用过的各个平台下的shellcode,也可以从这里获取。
可以用过左侧的模块栏,搜索想要的信息类型
搜索网址目录结构
利用
metasploit
的dir_scanner
辅助模块,暴力猜解,获取网站目录结构进入msf控制台后输入以下命令
use auxiliary/scanner/http/dir_scanner //进入该辅助模块
info //查看需配置的信息
set THREADS 30
set RHOSTS www.baidu.com
exploit
- 查询到网站的目录结构
搜索特定类型的文件
- 有些网站会链接通讯录,订单等敏感的文件,可以进行针对性的查找
- 在浏览器中输入
site:域名 filetype:文件类型
进行搜索
路由侦查
原理:traceroute命令利用ICMP协议定位用户计算机和目标计算机之间的所有路由器。TTL值可以反映数据包经过的路由器或网关的数量,通过操纵独立ICMP呼叫报文的TTL值和观察该报文被抛弃的返回信息,traceroute命令能够遍历到数据包传输路径上的所有路由器
方法:在cmd中输入命令tracert www.baidu.com
- 分析
- 第一列代表了“生存时间”(每途经一个路由器结点自增1)
- 第二至第四列表示“三次发送的ICMP包返回时间”(共计3个,单位为毫秒ms)
- 第五列表示“途经路由器的IP地址”(如果有主机名,还会包含主机名)
- 带有星号(*)的信息表示该次ICMP包返回时间超时。
(二)DNS IP注册信息的查询
whois域名注册信息查询
- 可以在MSF终端使用
whois
命令进行查询 - 可以获得域名信息、子域信息、服务器位置信息、3R注册信息等内容
注意:进行whois查询时去掉www等前缀,因为注册域名时通常会注册一个上层域名,子域名由自身的域名服务器管理,在whois数据库中可能查询不到。
nslookup,dig域名查询
- nslookup可以得到DNS解析服务器保存的Cache的结果,但并不是一定准确的。dig可以从官方DNS服务器上查询精确的结果
- kali终端输入:
nslookup gitee.com
- kali终端输入:
dig gitee.com
除此之外,dig命令还有很多查询选项,每个查询选项被带前缀(+)的关键字标识。例如:
-
+[no]search
:使用 [不使用] 搜索列表或 resolv.conf 中的域伪指令(如果有的话)定义的搜索列表。缺省情况不使用搜索列表。 -
+[no]trace
:切换为待查询名称从根名称服务器开始的代理路径跟踪。缺省情况不使用跟踪。一旦启用跟踪,dig 使用迭代查询解析待查询名称。它将按照从根服务器的参照,显示来自每台使用解析查询的服务器的应答。 -
+[no]identify
:当启用 +short 选项时,显示 [或不显示] 提供应答的 IP 地址和端口号。 -
+[no]stats
:该查询选项设定显示统计信息:查询进行时,应答的大小等等。缺省显示查询统计信息。
IP2Location 地理位置查询
- 进入
https://www.maxmind.com
后输入想要查询的ip,即可查看到地理位置
IP2反域名查询
在IP-address里输入目的IP,就可以看到此IP对应的地理位置、编码(ASN)、互联网服务提供商(ISP)等信息
(三)基本的扫描技术:主机发现、端口扫描、OS及服务版本探测、具体服务的查点
主机扫描
1、ping
- 输入命令
ping www.baidu.com
2、metasploit中的模块
- 位于
modules/auxiliary/scanner/discovery
主要有 arp_sweep, ipv6_multicast_ping, ipv6_neighbor, ipv6_neighbor_router_advertisement, udp_probe,udp_sweep. - 使用
arp_sweep
,即用ARP请求枚举本地局域网的活跃主机 - 进入msfconsole输入以以下命令
use auxiliary/scanner/discovery/arp_sweep //进入arp_sweep 模块
show options //查看设置参数信息
set RHOSTS 192.168.1.144/24 //设置主机段
set THREADS 50 //设置并发扫描数
run //扫描
3、使用nmap探索活跃主机
- 在Linux下使用
nmap -sn 192.168.1.144/24
寻找该网段下的活跃主机
端口扫描
1、使用MSF中的auxiliary模块
- 进入msf控制台后输入以下命令
use auxiliary/scanner/portscan/tcp
show options
set RHOSTS 192.168.1.144/24
set THREADS 30
exploit
2、Nmap端口扫描
使用nmap -sS 192.168.1.239
可以看见开放的TCP端口与对应的服务
OS及服务版本探测
1、nmap -O
- 使用
nmap -O 192.168.1.239
获取目标机的操作系统和服务版本等信息
- 扫描win10主机,结果却显示是Windows 2008,该命令的准确度还是有待提高
2、nmap -sV
- 使用
nmap -sV 192.168.1.239
查看目标主机的详细服务信息
具体服务的查点
每个具体服务的探测都对应一个msf模块,可以在modules/auxiliary/scanner
中进行搜索
1、Telnet服务扫描
- telnet命令用于登录远程主机,对远程主机进行管理
- 进入msfconsole输入以下命令
use auxiliary/scanner/telnet/telnet_version //进入telnet模块
show options //查看设置信息
set RHOSTS 192.168.1.144/24 //扫描主机网段
set THREADS 50 //提高查询速度
run //扫描
2、SSH服务
SSH(“安全外壳”)协议是用于从一个系统安全远程登录到另一个的方法。用户通过客户端 - 服务器架构格式的不安全网络使用安全通道,用于将SSH客户端与SSH服务器连接起来。
进入msfconsole输入以下命令
use auxiliary/scanner/ssh/ssh_version //进入ssh模块
set RHOSTS 192.168.1.144/24 //扫描网段
set THREADS 50 //提高查询速度
run
3、Oracle数据库服务查点
- 进入msfconsole输入以下命令
use auxiliary/scanner/oracle/tnslsnr_version//进入oracle模块
set RHOSTS 192.168.1.144/24 //扫描10.1.1.207/30网段
set THREADS 50
run
(四)漏洞扫描:会扫,会看报告,会查漏洞说明,会修补漏洞
- 输入
openvas-start
启动OpenVAS,会自动弹出网页 - 输入用户名和密码登录
- 新建任务
scan
->Tasks
->Task Wizard
- 输入扫描主机IP
192.168.1.239
开始扫描
- 扫描完成后点击
Full and fast
- 点击
Databases
可以看到不同的漏洞危险等级不一样
- 选择一个危险等级比较高的看看漏洞说明
分析:由Summary可知主机正在运行IBM DB2,容易遭受权限漏洞的攻击,Solution中给出解决方法即升级到IBM DB2 9.5 Fix Pack 9版本
实验后问题回答
(1)哪些组织负责DNS,IP的管理
- 全球一共有5个地区性注册机构:ARIN主要负责北美地区业务,RIPE主要负责欧洲地区业务,APNIC主要负责亚太地区业务,LACNIC主要负责拉丁美洲美洲业务,AfriNIC负责非洲地区业务
- 全球根服务器均由美国*授权的ICANN统一管理,负责全球的域名根服务器、DNS和IP地址管理
- 在ICANN下有三个支持机构
- 地址支持组织(ASO)负责IP地址系统的管理
- 域名支持组织(DNSO)负责互联网上的域名系统(DNS)的管理
- 协议支持组织(PSO):负责涉及Internet协议的唯一参数的分配。
(2)什么是3R信息
- 注册人(Registrant)
- 注册商(Registrar)
- 官方注册局(Registry)
(3)评价下扫描结果的准确性
除nmap -O命令获取目标机的操作系统结果有误,其余扫描结果相对准确的,详细内容可见过程记录
实验总结与体会
本次实验主要学习并尝试使用了常用的信息收集、漏洞扫描等几种方式,很多方法之前在别的课程中有涉略到,但通过本学期对漏洞的学习,能更清楚地认识到扫描结果的意义。