序言
这一次实验主要为了掌握信息搜集的最基础技能与常用工具的使用方法。
信息收集技术
外围信息收集
-
DNS IP查询
-
搜索引擎与工具
-
其他:社交网络 专用网站
-
参考
https://www.exploit-db.com/google-hacking-database/
https://www.zoomeye.org/
https://www.shodan.io/
http://viewdns.info/
主机扫描
- 活跃主机扫描
- 操作系统识别
- 开放端口与服务版本
- 结果分析
服务查点:MSF-Aux
漏洞扫描
网络信息收集方式
网络踩点(Footprinting)
Web搜索与挖掘:ZoomEye
DNS和IP查询:
nslookup/dig
、ping
和WHOIS查询
网络拓扑侦察
Traceroute
网络查点( Enumeration)
旗标抓取
网络服务查点
网络扫描(Scanning)
主机扫描:
auxiliary/scanner/discovery
端口扫描:
auxiliary/scanner/portscan
系统类型探查:
nmap -O
漏洞扫描:OpenVAS漏洞扫描器
社会工程学
类似于被动信息收集,主要是针对人为错误,信息以打印输出、电话交谈、电子邮件等形式泄露
OpenVAS漏洞扫描器
服务器层组件
openvas-scanner(扫描器):负责调用各种漏洞检测插件,完成实际的扫描操作。
openvas-manager(管理器):负责分配扫描任务,并根据扫描结果生产评估报告。
openvas-administrator(管理者):负责管理配置信息,用户授权等相关工作。
客户层组件(任选其一即可)
penvas-cli(命令行接口):负责提供从命令行访问OpenVAS服务层程序。
greenbone-security-assistant(安装助手):负责提供访问OpenVAS服务层的Web接口,便于通过浏览器来建立扫描任务,是使用最简便的客户层组件。
Greenbone-Desktop-Suite(桌面套件):负责提供访问OpenVAS服务层的图形程序界面,主要允许在Windows客户机中。
一、实验内容
- 各种搜索技巧的应用
- DNS IP注册信息的查询
- 基本的扫描技术:主机发现、端口扫描、OS及服务版本探测、具体服务的查点(以自己主机为目标)
- 漏洞扫描:会扫,会看报告,会查漏洞说明,会修补漏洞(以自己主机为目标)
二、实验过程
2.1 各种搜索技巧的应用
2.1.1 通过搜索引擎进行信息搜集
Google Hacking
Google提供了高级搜索功能,GHDB数据库包含了大量使用Google从事渗透的搜索字符串,拥有很多常用的模块。
ZoomEye
ZoomEye是一款针对网络空间的搜索引擎,收录了互联网空间中的设备、网站及其使用的服务或组件等信息。
ZoomEye拥有两大探测引擎:Xmap 和 Wmap,分别针对网络空间中的设备及网站,通过 24 小时不间断的探测、识别,标识出互联网设备及网站所使用的服务及组件。研究人员可以通过 ZoomEye 方便的了解组件的普及率及漏洞的危害范围等信息。
查找中国地区的apache
app:Apache country:CN
查找中国的教育网站
site:edu.cn
2.1.2 搜索网址目录结构
手工测试一些常见的目录名
比如admin、login等目录
用Google查询
parent directory site:XXX.com
一般地
inc:可能包含网站的配置信息。
bak:通常是文本编辑器留下的备份文件。
txt or sql:包含网站运行的sql脚本。
自动化工具
利用metasploit的dir_scanner辅助模块,暴力猜测,获取网站目录结构,这里我们拿百度尝试一下
msfconsole
use auxiliary/scanner/http/dir_scanner
set THREADS 13
set RHOSTS www.baidu.com
exploit
搜索特定类型的文件
有一些网站会链接通讯录,订单,身份证这样的敏感文件,可以使用如下的表达式进行针对性的查找:
filetype
能对搜索结果的文件类型进行限定,格式为“检索词 filetype:文件类型”
-
能在检索结果中获取检索词的补集,格式为“检索词 -词语”
site能限制检索结果的来源,格式为“检索词 site:限制域名”(不要在“:”后的域名中输入“http:”和“www.”)
inurl能在网址中进行搜索,格式为“检索词inurl:检索词”
|
表示布尔逻辑中的或者(or)关系,使用格式为“关键词1 | 关键词2”
表示布尔逻辑中的交集(and)关系,使用格式为“关键词1 关键词2”
site:edu.cn filetype:xls 身份证号
现在应该已经对身份证的查询做屏蔽了,已经搜不到了
site:baidu.com filetype:xls 北京电子科技学院
路由侦查
traceroute www.baidu.com
- 记录序列号从1开始,每个记录是一跳 ,每一跳表示一个网关
- 每行有三个时间,单位是ms,是向每个网关发送三个数据包后,网关分别响应后返回的时间
- 很多行是以
* * *
表示,可能是由于防火墙的屏蔽,封了ICMP的返回信息,所以得不到任何返回数据
2.2 DNS IP注册信息的查询
2.2.1 whois查询域名注册信息
whois可以获得ip地址,域名信息,子域信息,服务器位置信息等
whois baidu.com
2.2.2 nslookup,dig域名查询
nslookup可以获取DNS解析服务器上保存的Cache的结果,但不一定准确
dig可以从官方DNS服务器上查询精确的结果
nslookup baidu.com
dig baidu.com
2.2.3 IP2Location 地理位置查询
进入<www.maxmind.com>
这里输入百度的ip地址进行查询
从上图可以看到这个ip的location在河北保定。
2.3 基本的扫描技术
2.3.1 主机发现
ping命令
这里的最后一个ip地址是学校的教务系统,应该是防火墙屏蔽了ICMP的数据包。
metasploit中的arp_sweep模块
首先要进入root模式,否则在运行时会出现这样的错误
在root模式下运行msfconsole
use auxiliary/scanner/discovery/arp_sweep
set RHOSTS 172.16.222.0/24
set THREADS 50
run
其中,我kali的ip地址是172.16.222.107
但是这里啥也没显示出来
于是我把网段改成了我主机的网段,主机的ip是172.16.217.137
成功找到了我的主机
2.3.2 端口扫描
metasploit中的udp_sweep模块
use auxiliary/scanner/discovery/udp_sweep
set RHOSTS 172.16.222.0/24
set THREADS 50
run
但是奇怪的是,还是什么也没扫出来,于是我又换成了主机所在的网段
成功找到了主机
Nmap参数使用
nmap -p 1-1024 -r 172.16.222.107
发现啥也探测不到,是由于防火墙的问题,于是我把主机的防火墙关闭
2.3.3 OS及服务版本探测
操作系统类型扫描
nmap -O 172.16.217.137
服务版本探测
nmap -sV -Pn 172.16.217.137
可以看到netbios服务是打开的。NetBIOS为局域网内Windows系统上的应用程序实现会话层之间的通信提供基本支持。metasploit中也有了相应功能的实现。
2.3.4 具体服务的查点
netbios服务扫描
root模式下进入msfconsole
use auxiliary/scanner/netbios/nbname
set RHOSTS 172.16.217.0/24
set THREADS 50
run
可以看到与前面扫描出来的结果是一致的
Telnet服务扫描
use auxiliary/scanner/telnet/telnet_version
set RHOSTS 172.16.217.137/24
set THREADS 50
run
这里扫描的所有主机的Telnet服务都没有开启
SSH服务扫描
use auxiliary/scanner/ssh/ssh_version
set RHOSTS 172.16.217.137/24
set THREADS 50
run
Oracle数据库服务扫描
use auxiliary/scanner/oracle/tnslsnr_version
set RHOSTS 172.16.217.137/24
set THREADS 50
run
2.4 漏洞扫描
OpenVAS(Open Vulnerability Assessment System)是开放式漏洞评估系统,其核心部分是一个服务器。该服务器包括一套网络漏洞测试程序,可以检测远程系统和应用程序中的安全问题。该工具是基于C/S(客户端/服务器),B/S(浏览器/服务器)架构进行工作,用户通过浏览器或者专用客户端程序来下达扫描任务,服务器端负载授权,执行扫描操作并提供扫描结果。在第十个版本时,OpenVAS被改名为GVM。
2.4.1 OpenVAS的安装与配置
sudo apt install gvm
//安装GVM软件包,时间较长,需要耐心等待
sudo gvm-setup
//初始化GVM
sudo gvm-check-setup
//检查初始化是否完成
runuser -u _gvm -- gvmd --user=admin --newpassword=admin
//修改GVM默认的账户和账户对应的初始密码
sudo gvm-stop
//停止运行GVM
sudo gvm-start
//启动GVM
2.4.2 OpenVAS的登入
这里的登入界面是https://127.0.0.1:9392
随后输入设置的账户:admin和密码:admin进入界面
2.4.3 新建Target,开始扫描
在菜单栏选择Scans
->Tasks
,进入后点击左上角问号右边的黑色星星棒,选择Task Wizard
新建任务向导,输入待扫描主机的ip地址172.16.217.137,并单击Start Scans
,开始扫描。
2.4.4 查看并分析扫描结果
点击左下方的Immediate scan of IP 172.16.217.137
可以查看报告
点击Full and fast
,选择Permisions
,我选择进入get_configs
的Admin
进行分析
进入Admin
中的Genaral Command Permissions
,可以看到它提示Everything
这个软件Has permission to run all commands
,当然这个软件是我主机里的一个搜索软件,我同意赋予权限给它的。
返回到Full and fast
页面,选择NVTFamilies
,我选择进入Databases
进行分析
但是点击饼图中的红色区域,并无任何反应,随后发现下面一行红色小字The SCAP database is required
,似乎是缺少一个名叫SCAP
的数据库。
这里参考了云班课中李新锐同学的方法。
先通过locate gvm | grep scap
定位到了scap-data
文件夹
cd /var/lib/gvm
进入目录后
sudo cp -r scap-data scap-data-bak
备份该文件夹
sudo su
greenbone-scapdata-sync
随后进入root模式,使用命令更新
cp -r scap-data scap-data-bak-1
结束后再一次备份一下
greenbone-scapdata-sync --refresh
再次更新
cp -r scap-data scap-data-bak-2
结束后再一次备份一下
greenbone-scapdata-sync --refresh -private
最后再一次下载
直至完成
三、回答一些问题
1. 哪些组织负责DNS,IP的管理
因特网技术协调机构ICANN负责全球的域名根服务器、DNS和IP地址管理。
- ASO: 地址支持组织,负责IP地址分配和管理
- GNSO: 基本名称支持组织,负责通用顶级域名分配
- CNNSO: 国家代码域名支持组织,负责国家顶级域名分配
2. 什么是3R信息
3R
- 注册人(Registrant)
- 注册商(Registrar)
- 官方注册局(Registry)
3R注册信息
- 分散在官方注册局或注册商各自维护数据库中,官方注册局一般会提供注册商和Referral URL信息,具体注册信息一般位于注册商数据库中。
3. 评价下扫描结果的准确性
目前的情况是,扫描无法准确判定具体的操作系统是什么,只能给出一个范围;扫描还算是比较准确的,比如扫描netbios是开放的,后面能进入metasploit中的netbios模块中去验证。