2019-2020-2 20175113完瑞 《网络对抗技术》Exp5 信息搜集与漏洞扫描
Exp5 信息搜集与漏洞扫描
一、实践目标
掌握信息搜集的最基础技能与常用工具的使用方法。
二、实践内容
(1)各种搜索技巧的应用
(2)DNS IP注册信息的查询
(3)基本的扫描技术:主机发现、端口扫描、OS及服务版本探测、具体服务的查点(以自己主机为目标)
(4)漏洞扫描:会扫,会看报告,会查漏洞说明,会修补漏洞(以自己主机为目标)
三、实验具体步骤
1.各种搜索技巧的应用
(一)使用搜索引擎
Google Hacking
- GHDB (又名谷歌黑客数据库)使用的先进的JavaScript技术搜索黑客所需的信息,它包含了大量使用Google从事渗透的搜索字符串,拥有很多常用的模块,还有我们之前使用过的各个平台下的shellcode,也可以从这里获取。
- 在侧边栏选中SHELLCODES即可看到一些发布的shellcode
(二)搜索网址目录结构
- 利用 metasploit 的 dir_scanner 辅助模块,暴力猜解,获取网站目录结构
- 打开 msfconsole 输入以下命令
use auxiliary/scanner/http/dir_scanner //进入该辅助模块 info //查看需配置的信息 set THREADS 50 //设置扫描速度 set RHOSTS www.baidu.com exploit
- 可以查询到网站的目录结构
-
- 可以看到百度的这几个隐藏目录
- 其中返回代码302表示服务器找不到请求的网页
- 返回代码200表示成功处理了请求
- 其他状态码意义可参考这里
(三)检测特定类型的文件
- 有些网站会链接通讯录,订单等敏感的文件,可以进行针对性的查找, 如 Google , site:XXX.com filetype:xls
- 我们在百度搜索框输入 site:edu.cn filetype:xls
出现如上一堆文件格式为XLS/Microsoft Excel的网址
- 也可以加入关键字搜索,如 site:edu.cn filetype:xls 大学 搜索与大学有关的XLS文件
- 下载上面看到的 上海大学硕士学位论文答辩申请表.xls 文件可看到其中信息
(四)路由侦查
tracert命令进行路由侦查
- tracert可用于对经过的路由进行探测
- Windows打开cmd,输入命令: tracert www.baidu.com
- 这里出现的 www.a.shifen.com 是百度防止黑客恶意攻击的一个手段,这个 shifen 就是baidu的竞价排名系统,名字就叫"十分系统" ,据说因为最早的时候每一下的点击率可以赚取10分钱,另外就是如果ping的时候不加www的话(即ping baidu.com)回显就不会变化,显示为pinging baidu.com[220.181.5.97] with 32 bytes of data。
- 说明:
- 第一列代表了“生存时间”(每途经一个路由器结点自增1)
- 第二至第四列表示“三次发送的ICMP包返回时间”(共计3个,单位为毫秒ms)
- 第五列表示“途经路由器的IP地址”(如果有主机名,还会包含主机名)
- 带有星号(*)的信息表示该次ICMP包返回时间超时。
- traceroute命令进行路由侦查
- kali 下输入 traceroute www.baidu.com 对经过的路由进行探测
- 说明:
- 记录按序列号从1开始,每个纪录就是一跳 ,每跳表示一个网关,
- 每行有三个时间,单位是ms,是探测数据包向每个网关发送三个数据包后,网关响应后返回的时间
- 有一些行是以
*
表示,可能是防火墙封掉了ICMP的返回信息,所以我们得不到什么相关的数据包返回数据
2. DNS IP注册信息的查询
(一)whois查询域名注册信息
- 通过whois查询可以获得它的ip地址,域名信息,子域信息,服务器位置信息等
- 打开终端输入:
whois baidu.com
(注意:进行whois查询时去掉www等前缀,因为注册域名时通常会注册一个上层域名,子域名由自身的域名服务器管理,在whois数据库中可能查询不到)
- 可以查询到3R信息
(二)nslookup,dig域名查询
- nslookup可以得到DNS解析服务器保存的Cache的结果,但并不是一定准确的。dig可以从官方DNS服务器上查询精确的结果
- kali终端输入: nslookup gitee.com
- kali终端输入: dig gitee.com
- 说明:
- 1~8:显示了dig的基本设置信息,e.g. java -version
- 9~10:显示了查询内容,这里查询的是域名gitee.com的A记录
- 11~12:显示了查询结果,域名 gitee 的A记录是 212.64.62.174(A(Address)记录是用来指定主机名(或域名)对应的IP地址)
- 13~15:授权信息,域名 gitee.cpm 的NS(nameserver)是yundunddos的域名服务器
- 16~19:统计信息
- 更多用法可参考dig常用命令
(三)IP2Location 地理位置查询
- IP2反域名查询
- 通过IP-ADDRESS网站,查询更详细的关于某共有IP的信息
- 在shodan进行反域名查询
- 通过shodan可以搜索到该IP的地理位置、服务占用端口号,以及提供的服务类型
- 如查询百度:
3. 基本的扫描技术:主机发现、端口扫描、OS及服务版本探测、具体服务的查点
(一)活跃主机扫描
- ICMP ping命令
- 利用 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 模块
set RHOSTS 192.168.81.0/24 //设置主机段
set THREADS 50 //加快扫描速度
run //扫描
- nmap -sn 探测某网段的活跃主机: nmap -sn 192.168.81.0/24
(二)端口扫描
- 利用msf中的udp_sweep模块对UDP端口进行探测
use auxiliary/scanner/discovery/udp_sweep //进入udp_sweep 模块
set RHOSTS 192.168.81.0/24 //设置主机段
set THREADS 50 //加快扫描速度
run //扫描
- 对指定主机TCP端口进行探测: nmap -sT -p 1-1024 192.168.2.233(-p参数设置端口范围)
- 利用 msf 中的 portscan 模块对TCP端口进行探测
use auxiliary/scanner/discovery/tcp //进入tcp_sweep 模块
set RHOSTS 192.168.81.0/24 //设置主机段
set THREADS 50 //加快扫描速度
set PORTS 1-1024 //设置端口范围
run //扫描
- 也可使用 nmap -sU 对UDP端口进行探测
(三)OS扫描及服务版本探测
- 获取目标机的操作系统等信息: nmap -O 192.168.2.233
- TCP SYN扫描:nmap -sS -Pn 192.168.2.233
(-sS表示TCP SYN扫描,-Pn表示在扫描之前,不发送ICMP echo请求测试目标 )
- 查看目标机的详细服务信息: nmap -sV -Pn 192.168.2.233 ( -sV 用来查看目标机子的详细服务信息)
(四)具体服务的查点
- Telnet服务扫描:
use auxiliary/scanner/telnet/telnet_version //进入telnet模块
set RHOSTS 192.168.2.0/24 //扫描主机网段
set THREADS 100 //提高查询速度
run //扫描
- SMB网络服务扫描
use auxiliary/scanner/smb/smb_version //进入模块
set RHOSTS 192.168.2.0/24 //扫描主机网段
set THREADS 100 //提高查询速度
run //扫描
- NetBios网络服务扫描
use auxiliary/scanner/netbios/nbname //进入模块
set RHOSTS 192.168.2.0/24 //扫描主机网段
set THREADS 100 //提高查询速度
run //扫描
- 口令猜测与嗅探
use auxiliary/scanner/ssh/ssh_login //进入ssh_login模块
set RHOSTS 192.168.2.0/24 //扫描主机网段
set USERNAME root //设置目标系统的管理员账号
set PASS_FILE /root/password.txt //设置破解的字典
set THREADS 200 //提高查询速度
run //扫描
4. 漏洞扫描:会扫,会看报告,会查漏洞说明,会修补漏洞
(一)配置OpenVAS
- 因为Kali 2.0系统中已经不默认安装OpenVAS,使用 openvas-check-setup 检查状态会提示
没有此命令
- 更新软件包列表: apt-get update
- 获取到最新的软件包: apt-get dist-upgrade (不建议时间很长!)
- 安装OpenVAS工具: apt-get install openvas
- 重复多次运行 openvas-check-setup 检查状态,一般会有不同的报错,一一进行修复
- 错误1: The NVT collection is very small.
- 解决:按提示运行 sudo greenbone-nvt-sync 同步漏洞库
-
- 错误2: No users found
- 解决:按提示运行 openvasmd --create-user=admin --role=Admin && openvasmd --user=admin --new-password=123456 //创建用户和密码
- 错误3: The number of NVTs in the OpenVAS Manager database is too low
- 解决:按提示运行 openvasmd --rebuild 生成数据库
- 错误4: No OpenVAS SCAP database found
- 解决:运行 greenbone-scapdata-sync 同步SCAP数据
(二)扫描操作
- 开启服务: openvas-start ,自动打开浏览器主页
https://127.0.0.1:9392
,点击 Login 进入
- 新建任务扫描
- 点击 Scan - Tasks
- 进入后点击左上角处 紫色的烟花 ,选择 Task Wizard 新建一个任务向导。
- 在弹框中输入待扫描主机的IP地址 192.168.2.233 ,点击 Start Scans 开始扫描。
- 等待扫描完成
- 点击 Name 下 Immediate scan of IP 192.168.2.233 ,查看扫描的详细信息
- 点击 Full and fast
- 选取 Buffer overflow 分析
- 进入后会发现每个漏洞都标有危险等级,我们选择一个危险等级较高的漏洞: 3CTftpSvc TFTP Server Long Mode Buffer Overflow Vulnerability
- 在 Summary 处位该漏洞的描述
- 更详细的漏洞可在微软技术中心中查看
四、实验问题回答
(1)哪些组织负责DNS,IP的管理。
- 全球根服务器均由美国政府授权的ICANN统一管理,负责全球的域名根服务器、DNS和IP地址管理。
- 全球一共有5个地区性注册机构:
- ARIN主要负责北美地区业务
- RIPE主要负责欧洲地区业务
- APNIC主要负责亚太地区业务
- LACNIC主要负责拉丁美洲美洲业务
- AfriNIC负责非洲地区业务。
(2)什么是3R信息。
- 3R指
注册人(Registrant)
、注册商(Registrar)
、官方注册局(Registry)
- 3R注册信息:分散在官方注册局或注册商各自维护数据库中
(3)评价下扫描结果的准确性。
总的来看,扫描结果比较准确。在探测一台主机上开放的tcp端口(0~1024),但我使用msf和nmap扫描出的结果有些差异,可见不同的扫描方式还是有些许区别。
五、实验总结与体会
这次的实验难度不大但是内容较多,不过自由度较高,可以选择很多不同的工具进行尝试。在实验过程中最大的问题就是openvas的安装,下载速度贼慢而且要更新的内容太多了,建议大家先安装Openvas再进行其他项目。在实验过程中,结合信息安全技术的课程与实验,感觉自己对信息安全有了更深入的了解与体会。