Exp6 信息搜集与漏洞扫描 Week9 - 20165201
Exp6 信息搜集与漏洞扫描 Week9 - 20165201
(由于图片比较大,看的时候需要关闭侧边栏~)
目录
学习目标
掌握信息搜集的最基础技能与常用工具的使用方法
(1)各种搜索技巧的应用
(2)DNS IP注册信息的查询
(3)基本的扫描技术:主机发现、端口扫描、OS及服务版本探测、具体服务的查点(以自己主机为目标)
(4)漏洞扫描:会扫,会看报告,会查漏洞说明,会修补漏洞(以自己主机为目标)
实验环境
- macOS Mojave
- Kali
- Windows XP
基础问题回答
(1)哪些组织负责DNS,IP的管理
- Internet域名与地址管理机构ICANN负责全球的域名根服务器、DNS和IP地址管理
- 全球根域名服务器:绝大多数在欧洲和北美(全球13台,用A~M编号),中国仅拥有镜像服务器(备份)
- 全球5个地区性注册机构:
- ARIN:北美地区
- RIPE:欧洲地区
- APNIC:亚太地区
- LACNIC:拉丁美洲地区
- AfriNIC:非洲地区
(2)什么是3R信息
- 注册人:Registrant
- 注册商:Registrar
- 官方注册局:Registry
(3)评价下扫描结果的准确性
实验步骤
一、各种搜索技巧的应用
百度搜索引擎查询技巧
- 在百度中输入
site:[域名] filetype:[文件类型]
就能指定查询,可以搜索到我们自己想要的域名中包含的相关文件类型的文件 - 不过这其中很可能包含敏感信息,比如下面的
路由查询
- 在命令行中输入
traceroute
就可以知道信息从你的计算机到互联网另一端的主机走的什么路由路径,每次数据包由同样的出发点(source)到达同样的目的地(destination)走的路径或许会不一样,但基本上所走的路由路径是相同的 - traceroute (Windows系统下是tracert) 命令利用ICMP 协议定位您的计算机和目标计算机之间的所有路由器。TTL值可以反映数据包经过的路由器或网关的数量,通过操纵独立ICMP呼叫报文的TTL值和观察该报文被抛弃的返回信息,traceroute命令能够遍历到数据包传输路径上的所有路由器。traceroute是一条缓慢的命令,因为每经过一台路由器都要花去大约10到15毫秒
- 参数如下
[-n]:显示的地址是用数字表示而不是符号
[-v]:长输出
[-p]:UDP端口设置(缺省为33434)
[-q]:设置TTL测试数目(缺省为3)
[-t]:设置测包的服务类型
- 对每个路由都会发送3个ICMP包,每行的3个时间表示的是ICMP包的返回时间,如果是
*
,就表示超时了
搜索网址目录结构
- 使用Kali中metasploit的dir_scanner模块
- Description:
This module identifies the existence of interesting directories in a
given directory path.
use auxiliary/scanner/http/dir_scanner
options //查看可选参数
set threads 40 //设置线程数为40
set rhosts www.baidu.com //设置对象为百度
exploit
- 可以看到3个目录:
cache
(缓存)、home
(主目录)和site
(站点)
强大的zoomeye
- ZoomEye 支持公网设备指纹检索和 Web 指纹检索,它收录了互联网空间中的设备、网站及其使用的服务或组件等信息
- 网站指纹包括应用名、版本、前端框架、后端框架、服务端语言、服务器操作系统、网站容器、内容管理系统和数据库等。设备指纹包括应用名、版本、开放端口、操作系统、服务名、地理位置等直接输入关键词即可开始检索。如果需要全词匹配,请使用引号闭合词组
- 我们试着搜索Apache服务
- 图中侧显示的是使用Apache服务的IP地址、使用的协议、开放的端口服务、所处的国家、城市、搜索时间
- 中间是使用HTTP协议版本信息、使用的组件名称、版本、以及服务器的类型、主机的系统信息
- 右侧是搜索类型(网站、设备数量)、年份、所处国家、WEB应用、WEB容器、组件、服务、设备、端口信息 (右侧下面信息太长的我就不截图了)
- 上面有四个选项:搜索结果、统计报告、全球视角、相关漏洞,我们上面看到的就是搜索结果
- 全球视角是个可视化的地球界面,更加直观
- 相关漏洞界面就比较有意思了,它给出各大组件、服务器系统等存在的历史性漏洞的描述文档
- 点击组件名称下方的漏洞描述链接可以直接来到对该漏洞的描述性文档
- 还可以查看某个组件的全部漏洞
- 可以看出zoomeye的功能非常强大,但要是被不怀好意的人利用了,后果也是相当可怕的
二、DNS IP注册信息的查询
使用whois
- 使用
whois
命令查询域名注册信息、子域信息、服务器位置信息,但是是从DNS的cache,也就是缓存中查询的,可能不够准确
- 从图中可以看到3R信息:
- 注册人:Registrant
- 注册商:Registrar
- 官方注册局:Registry
使用nslookup
- 使用
nslookup
命令,可以查看DNS服务器的IP地址
- 它还可以用来猜测子域名,比如:
使用nmap
- 用
nmap
命令可以查看目标IP地址的某些端口的情况,比如使用的服务,其实和上面的zoomeye的那个很类似
使用dig
- 而
dig
命令可以从官方DNS服务器上查询更加精确的结果
使用 IP2Location 地理位置查询
- 使用www.maxmind.com根据IP查询地理位置信息
- 我查询的是百度的一个IP
使用 IP2 进行反域名查询
- 可以通过https://www.ipaddress.com查询该IP地址的相关详细信息
- 或者国内的用http://www.7c.com/
三、基本的扫描技术
主机发现
1、ping
- 输入命令
ping www.baidu.com
,可以查看对方主机能不能连接,当然,这里面还有其他信息,比如TTL值可以大概判断出对方的主机是什么操作系统的
2、metasploit
- 在metasploit中,有许多辅助模块:
- arp_sweep
- ipv6_multicast_ping
- ipv6_neighbor
- ipv6_neighbor_router_advertisement
- udp_probe
- udp_sweep
- 我选用了
ipv6_neighbor
- 依次输入:
use auxiliary/scanner/discovery/ipv6_neighbor
options
set rhosts 192.168.0.105
set threads 20
exploit
3、nmap
- 或者使用
nmap -sn 192.168.0.105/24
,我自己是105,它能查询本网段的其他主机
端口扫描
1、TCP扫描
- 使用
nmap -sS 192.168.0.105
对主机进行TCP端口扫描
- 可能是由于我扫描的是本机,Mac有系统保护???只是猜测,所以没有端口能扫出来
- 那我再试一下别的,就用刚刚扫出来本网段的其他主机,
nmap -sS 192.168.0.106
- 成功!!可以看到上图红框中扫描出这个192.168.0.106的使用者是iPhone,有点意思哦
2、UDP扫描
- 使用
nmap -sU 192.168.0.105
对主机进行UDP端口扫描
- 图中的
zeroconf
又被叫做 IPv4 Link-Local (IPv4LL)和 Automatic Private IP Addressing (APIPA)。它是一个动态配置协议,系统可以通过它来连接到网络,很多Linux发行版都默认安装该服务,当系统无法连接DHCP server的时候,就会尝试通过zeroconf来获取IP
OS及服务版本探测
- 使用
sudo nmap -O 192.168.0.106
命令扫描iPhone,可以看到端口使用的服务
具体服务的查点(以自己主机为目标)
1、Telnet服务扫描
- telnet命令用于登录远程主机,对远程主机进行管理
- 依次输入:
use auxiliary/scanner/telnet/telnet_version
show options
set RHOSTS 192.168.0.105/24
set THREADS 30
run
2、SSH服务扫描
- SSH(安全外壳)协议是用于从一个系统安全远程登录到另一个的方法。用户通过客户端——服务器架构格式的不安全网络使用安全通道,用于将SSH客户端与SSH服务器连接起来
- 依次输入:
use auxiliary/scanner/ssh/ssh_version
show options
set RHOSTS 192.168.0.105/24
set THREADS 30
run
2、Oracle数据库服务扫描
- 依次输入:
use auxiliary/scanner/oracle/tnslsnr_version
show options
set RHOSTS 192.168.0.105/24
set THREADS 30
run
四、漏洞扫描
OPENVAS
-
OpenVAS是一款开放式的漏洞评估工具,主要用来检测目标网络或主机的安全性。与安全焦点的X-Scan工具类似,OpenVAS系统也采用了Nessus较早版本的一些开放插件。OpenVAS能够基于C/S(客户端/服务器),B/S(浏览器/服务器)架构进行工作,管理员通过浏览器或者专用客户端程序来下达扫描任务,服务器端负载授权,执行扫描操作并提供扫描结果
-
服务器层组件
- openvas-scanner(扫描器):负责调用各种漏洞检测插件,完成实际的扫描操作
- openvas-manager(管理器):负责分配扫描任务,并根据扫描结果生产评估报告
- openvas-administrator(管理者):负责管理配置信息,用户授权等相关工作
-
客户层组件
- openvas-cli(命令行接口):负责提供从命令行访问OpenVAS服务层程序
- greenbone-security-assistant(安装助手):负责提供访问OpenVAS服务层的web接口,便于通过浏览器来执行扫描任务,是使用最简便的客户层组件
- Greenbone-Desktop-Suite(桌面套件):负责提供访问OpenVAS服务层的图形程序界面,主要允许在Windows客户机中
安装过程
apt-get install openvas
安装OpenVASopenvas-setup
配置OpenVAS- 使用命令
openvasmd --user=admin --new-password=admin
添加admin用户 - 输入
openvas-start
启动OpenVAS
具体使用过程
- 输入用户名和密码,成功登陆
- 之后点击
Scans
、Tasks
,然后点击魔棒Task Wizard
用来新建任务,输入要扫描的目标主机的IP地址,开始进行扫描
- 我们就输入自己的主机IP试一下:
192.168.0.105
- 扫描过程特别特别特别慢!!!
- 终于好了!
- 扫描完成后先点击这份报告,然后点击
Full and fast
- 下面是漏洞组,也就是漏洞的集合,我用的是Mac,那么就看一下Mac的漏洞吧
- 这个是Mac的
- 可以看到许多不同的有关Mac的漏洞,右侧是安全威胁等级
- 我选择了
Apple Mac OS X Directory Service Remote Buffer Overflow Vulnerability
这个最高级安全威胁的漏洞进行查看
- 然后我来对上图进行分析:
- Summary(概述):这台主机的操作系统是MAC OS X,容易出现缓冲区溢出漏洞
- Affected Software/OS(收到影响的软件或操作系统):Apple Mac OS X version 10.6.8
- Vulnerability Scoring(脆弱性评分):10.0,也就是最高的级别了
- Vulnerability Insight(脆弱性分析):大体上就是对于网络消息和错误处理不当
- Vulnerability Detection Method(脆弱性检测方法):检查目标主机上是否存在易受攻击的版本
- Impact(影响/后果):成功的攻击将允许攻击者执行任意代码或者导致拒绝服务
- Solution(解决方案):应用Mac Security Update 2013-002
遇到的问题
无法使用nmap的扫描指令
- 解决办法:加上sudo
sudo nmap -sS 192.168.0.105
打不开openvas的网页
-
显示连接不安全
-
解决办法:点击
Advanced
,Add Exception