Exp5 信息搜集与漏洞扫描——20175201张驰
一、实践内容概述
- 1.实践目标
- 掌握信息搜集的最基础技能与常用工具的使用方法。
- 2.实践内容
(1)各种搜索技巧的应用 - 搜索网址目录结构
- 搜索特定类型的文件
- 搜索E-Mail
- 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文件
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反域名查询
- 进入网站网站通过IP反查到域名
(三)基本的扫描技术:主机发现、端口扫描、OS及服务版本探测、具体服务的查点
1.主机扫描-我的主机为扫描对象 192.168.1.103
(1)nmap
nmap -sn 192.168.80.130/24
: 只进行主机发现,不进行端口扫描
(2)udp_sweep使用UDP数据包探测
输入指令msfconsole
use auxiliary/scanner/discovery/udp_sweep
show options
set RHOSTS 192.168.1.0/24
set THREADS 100
run
2.端口扫描
(1)metasploit的端口扫描模块
use auxiliary/scanner/portscan/tcp
set RHOSTS 192.168.1.103
设置扫描地址
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 192.168.1.103
表示使用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 192.168.1.103
(2)版本侦测
-
版本侦测,用于确定目标主机开放端口上运行的具体的应用程序及版本信息。
-
-sV
: 指定让Nmap进行版本侦测
version-intensity : 指定版本侦测强度(0-9),默认为7。数值越高,探测出的服务越准确,但是运行时间会比较长。
version-light: 指定使用轻量侦测方式 (intensity 2)
version-all: 尝试使用所有的probes进行侦测 (intensity 9)
version-trace: 显示出详细的版本侦测过程信息。 -
输入指令``nmap -sV -Pn 1192.168.1.103
4.具体服务及版本探测
metasploit
中有许多相关工具,大部分都在Scanner辅助模块,常以[service_name]_version(用以遍历主机,确定服务版本)和[service_name]_login(进行口令探测攻击)命名
(1)telent服务扫描
use auxiliary/scanner/telent/telent_version
show options
set RHOSTS 192.168.1.0/24
set THREADS 100
run
(2)SSH服务扫描
输入指令use auxiliary/scanner/ssh/ssh_version
set RHOSTS 192.168.1.0/24
set THREADS 100
run
(3)Oracle数据库服务查点
输入指令use auxiliary/scanner/oracle/tnslsnr_version
set RHOSTS 192.168.1.0/24
set THREADS 100
run
(4)开放代理探测--open_proxy模块
use auxiliary/scanner/http/open_proxy
set RHOSTS 192.168.1.0/24
set THREADS 100
run
(四)漏洞扫描:会扫,会看报告,会查漏洞说明,会修补漏洞
-
安装过程
apt-get install openvas
安装OpenVAS
openvas-setup
配置OpenVAS——极其 漫 长! -
使用命令
openvasmd --user=admin --new-password=admin
添加admin用户 -
输入
openvas-start
启动OpenVAS会自动弹出网页 -
输入用户名和密码成功登录
-
在菜单栏选择
Scans
中的Tasks
-
进入后点击
Task Wizard
新建任务向导。输入自己的主机IP:192.168.1.103
,扫描了自己的主机。(扫描过程很慢。。)
-
扫描完成后可以点击
full and fast
查看网络脆弱性测试族。
-
这个漏洞是Cisco ASA的VPN容易出现拒绝服务的脆弱性。通过百度了一下,查到它的危害是:未经认证的远程攻击者可以通过将目标的UDP数据包发送到目标系统来利用该漏洞。漏洞可能允许攻击者导致系统重新加载,从而导致DOS条件。
-
看看自己最高危10.0的漏洞
-
这个漏洞可以允许攻击者执行任意代码并获得系统的完全控制或导致受影响系统的重新加载
-
有解决方案,但貌似由于火狐浏览器版本过低查看不了。。
三.实验后回答问题
1.哪些组织负责DNS,IP的管理。
- 全球根服务器均由美国政府授权的ICANN统一管理,负责全球的域名根服务器、DNS和IP地址管理。
- 全球根域名服务器:绝大多数在欧洲和北美(全球13台,用A~M编号),中国仅拥有镜像服务器(备份)。
- 全球一共有5个地区性注册机构:ARIN主要负责北美地区业务,RIPE主要负责欧洲地区业务,APNIC主要负责亚太地区业务,LACNIC主要负责拉丁美洲美洲业务,AfriNIC负责非洲地区业务。
2.什么是3R信息。 - 3R即注册人(Registrant)、注册商(Registrar)、官方注册局(Registry)
- 3R注册信息分散在官方注册局或注册商各自维护数据库中,官方注册局一般会提供注册商和Referral URL信息,具体注册信息一般位于注册商数据库中。
四.实验体会及参考资料
OpenVes使用教程
openvas 搭建过程错误解决
实验完成了主机发现、端口扫描、服务版本探测、漏洞扫描等实践项目,还通过远程隐蔽地了解了计算机的基本信息以及系统漏洞。这使我认识到网络就像是一把双刃剑一样,有利有弊。我们能通过这些手段获取别人的信息,别人也能通过这些手段获取我们的信息,因此我们平时要及时更新自己的电脑,及时修复漏洞,这次实验可以说是收获良多。