20165223《网络对抗技术》Exp6 信息搜集与漏洞扫描
目录 —— 信息搜集与漏洞扫描
1.1 实践目标
掌握信息搜集的最基础技能与常用工具的使用方法。
1.2 基础知识问答
(1)哪些组织负责DNS,IP的管理?
- 全球根服务器均由美国政府授权的ICANN统一管理,负责全球的域名根服务器、DNS和IP地址管理。全球根域名服务器:绝大多数在欧洲和北美(全球13台,用A~M编号),中国仅拥有镜像服务器(备份)。
- 全球一共有5个地区性注册机构:ARIN主要负责北美地区业务,RIPE主要负责欧洲地区业务,APNIC主要负责亚太地区业务,LACNIC主要负责拉丁美洲美洲业务,AfriNIC负责非洲地区业务。
(2)什么是3R信息?
- 注册人(Registrant)、注册商(Registrar)、官方注册局(Registry)。
(3)评价下扫描结果的准确性。
- 还是挺准确的。
2.1 各种搜索技巧的应用
2.1.1 Google搜索引擎扫描——Google Hacking
Google Hacking是利用谷歌搜索引擎,配合一些语法,在互联网中实现开放式搜索,找到我们需要的信息。轻量级的搜索可以搜素出一些遗留后门,不想被发现的后台入口;中量级的搜索出一些用户信息泄露,源代码泄露,未授权访问等;重量级扫描则可能是mdb文件下载,CMS 未被锁定install页面,网站配置密码,php远程文件包含漏洞等重要信息。
-
参考博客:Google Hacking的用法
- 点击左侧的搜索图标,可以自主输入想要搜索的内容
2.1.2 msf搜索引擎扫描——搜索网址目录结构
方法是利用msf自动化的工具:例如metasploit的brute_dirs,dir_listing,dir_scanner等辅助模块,主要是暴力猜解。
dir_scanner
模块- kali中进入msf控制台,使用
metasploit
的辅助模块dir_scanner
进行暴力猜解,目的是获取目的网站的目录结构
use auxiliary/scanner/http/dir_scanner
info
set RHOST www.baidu.com
set THREADS 50
run
dir_listing
模块
use auxiliary/scanner/http/dir_listing
show options
set RHOSTS www.baidu.com
run
brute_dirs
模块
use auxiliary/scanner/http/dir_dirs
show options
set RHOSTS www.baidu.com
run
2.1.3 搜索特定类型的文件——结合Google搜索引擎语法的扫描
- 网页输入:
site:<域名> filetype:<文件类型> <检索信息>
- 扫描出互联网上该域名下符合条件的文件
- 打开下载文件,可以获得相应信息
2.1.4 搜索E-Mali
metasploit中有search_email_collector,进行针对性的搜集。
- 输入指令
use auxiliary/gather/search_email_collector
show options
set DOMAIN baidu.com
set OUTFILE 5223cn.txt
set SEARCH_GOOGLE false
set SEARCH_YAHOO false
run
2.1.5 IP路由侦查
traceroute命令利用ICMP协议定位用户计算机和目标计算机之间的所有路由器。TTL值可以反映数据包经过的路由器或网关的数量,通过操纵独立ICMP呼叫报文的TTL值和观察该报文被抛弃的返回信息,traceroute命令能够遍历到数据包传输路径上的所有路由器。
- 使用工具:traceroute
- kali中输入:
traceroute www.baidu.com
,可以跟踪到百度服务器经过的30个路由器的过程
- windows下cmd输入:
tracert www.baidu.com
,同样可以跟踪到信息- 第一列代表了“生存时间”(每途经一个路由器结点自增1)
- 第二至第四列表示“三次发送的ICMP包返回时间”(共计3个,单位为毫秒ms)
- 第五列表示“途经路由器的IP地址”(如果有主机名,还会包含主机名)
- 带有星号(*)的信息表示该次ICMP包返回时间超时。
2.2 DNS IP注册信息的查询
2.2.1 whois域名注册信息查询
通过whois命令查询,可以获得域名信息、子域信息、服务器位置信息、3R注册信息等内容
- 注意:进行whois查询时去掉www等前缀,因为注册域名时通常会注册一个上层域名,子域名由自身的域名服务器管理,在whois数据库中可能查询不到
2.2.2 nslookup,dig域名查询
nslookup可以得到DNS解析服务器保存的Cache的结果,但并不是一定准确的
- kali中进入msf控制台,输入:
nslookup
> set type=A
> baidu.com
dig可以从官方DNS服务器上查询精确的结果
- 进入msf控制台,输入:
dig @dns.baidu.com baidu.com
,其中dns.baidu.com
为DNS服务器
2.2.3 IP2反域名查询
- 联网ping了一下百度
- 进入IP-ADDRESS.COM,通过IP2反域名查询到主机
- 输入目的IP域名,可以看到此IP对应的地理位置、编码(ASN)、互联网服务提供商(ISP)等信息
2.2.4 IP2Location 地理位置查询
- 进入IP在线查询网站:Detect Online Fraud and Locate Online Visitors
- 输入想要查询的ip,即可查看到地理位置
2.3 基本的扫描技术
2.3.1 活跃主机扫描
(1)ping命令:ICMP查询
(2)metasploit中的模块扫描
- modules/auxiliary/scanner/discovery中的arp_sweep, ipv6_multicast_ping, ipv6_neighbor, ipv6_neighbor_router_advertisement, udp_probe,udp_sweep等
- arp_sweep扫描
2.3.2 端口扫描
(1)使用MSF中的auxiliary模块扫描自己的winXP主机
use auxiliary/scanner/portscan/tcp
show options
set RHOSTS 10.1.1.222/24
set THREADS 30
exploit
(2)使用nmap扫描目标主机winXP
- 使用
nmap -sS 10.1.1.222
可以看见开放的TCP端口与对应的服务 - emmmm其实本来应该看到开放的端口与服务的,但没有显示出来
- 检查了一下防火墙,发现没关,关闭防火墙后再尝试,成功
- 但是尝试扫描一下主机win10却失败了,防火墙也没有打开,不知道原因为何?
2.3.3 OS及服务版本探测
(1)使用nmap扫描自己的win10虚拟机
- 使用
nmap -O -Pn 10.1.1.126
获取目标机的操作系统和服务版本等信息
- 没扫描出来版本信息等消息
- 提示信息:Too many fingerprints match this host to give specific OS details
Filtered(过滤的):由于报文无法到达指定的端口,nmap不能够决定端口的开放状态,这主要是由于网络或者主机安装了一些防火墙所导致的。当nmap收到icmp报文主机不可达报文或者目标主机无应答,常常会将目标主机的状态设置为filtered
- 尝试加入-A扫描
- emmm还是扫不动,检查了一下防火墙,但在实验开始的时候我就已经关掉了防火墙,所以也不是这个问题。。。至今不知道原因出在哪里x
- 总觉得电脑有点问题所以赶紧又把防火墙开起来了。。
- 换成WinXP SP3虚拟机试试,没关防火墙时失败
- 关闭防火墙后,扫描出来了
(2)使用nmap -sV 10.1.1.222
查看目标主机的详细服务信息
2.3.4 具体服务的查点
每个具体服务的探测都对应一个msf模块,可以在modules/auxiliary/scanner中进行搜索
- 参考资料:Metasploit常见网络服务扫描
(1)Telnet服务扫描
Telnet先天缺乏安全性的网络服务,对于传输数据不进行加密,一般管理员大多使用SSH协议代替telnet。在渗透进入一个网络时,可以扫描一下是否有主机设备开启telnet服务。
- 进入msf控制台,输入以下命令:
use auxiliary/scanner/telnet/telnet_version //进入telnet模块
show options //查看设置信息
set RHOSTS 10.1.1.222/24 //扫描主机网段
set THREADS 50 //提高查询速度
run //扫描
- 可以看到开启了telnet服务的设备(大部分是关闭的)
(2)SSH服务扫描
SSH(“安全外壳”)协议是用于从一个系统安全远程登录到另一个的方法。用户通过客户端 - 服务器架构格式的不安全网络使用安全通道,用于将SSH客户端与SSH服务器连接起来。一般是linux系统上最常见的远程管理服务,SSH采用了安全的加密信息传输方式。如果管理员没有限制管理员登录的ip地址或mac地址,可获取服务器口令登录服务器,对网络中开发的SSH服务主机进行扫描。
- 同样进入msf控制台,输入命令:
use auxiliary/scanner/ssh/ssh_version //进入ssh模块
set RHOSTS 10.1.1.222/24 //扫描网段
set THREADS 50 //提高查询速度
run
- 没有扫描出可用服务器噢,尝试换一下网段
(3)Oracle数据库服务查点
use auxiliary/scanner/oracle/tnslsnr_version //进入oracle模块
set RHOSTS 10.1.1.222/24 //扫描10.1.1.207/30网段
set THREADS 50
run //运行
2.4 漏洞扫描
会扫,会看报告,会查漏洞说明,会修补漏洞(以自己主机为目标)windows
2.4.1 安装OpenVAS
apt-get update
apt-get dist-upgrade
apt-get install openvas
openvas-setup
- 其中遇到选择一路“Y”同意即可
- 安装完成后会自动生成默认的管理员账号和密码(可自己修改)
- 使用
openvas-check-setup
检查安装是否成功
2.4.2 使用OpenVAS进行漏洞扫描与分析
-
输入
openvas-start
启动OpenVAS
会自动弹出网页或者可以打开浏览器,在搜索栏输入
https://127.0.0.1:9392
进入网页 -
输入用户名和密码登录
- 新建任务
scan
→Tasks
→Task Wizard
- 输入扫描主机IP:
192.168.1.112
- 开始扫描:
Start Scans
- 扫描完成后点击
Full and fast
- 点击
Databases
查看所有漏洞
- 可以看到不同的漏洞危险等级不一样
- 选择一个危险等级比较高(红色)的看看漏洞说明
-
Summary描述该漏洞:"This host is running 3CTftpSvc TFTP Server and is prone to buffer overflow vulnerability",即说明该漏洞位于该主机运行3CTftpSvc TFTP的服务器中,容易出现缓冲区溢出漏洞。
-
Solution给出解决方法:"No known solution was made available for at least one year since the disclosure of this vulnerability. Likely none will be provided anymore. General solution options are to upgrade to a newer release, disable respective features, remove the product or replace the product by another one.",指明该漏洞至少一年没有提供任何已知的解决方案。很可能再也不会提供任何援助了。通用解决方案选项包括升级到新版本,禁用各自的特性,删除产品或是用另一个产品替换该产品。
-
换一个漏洞查看一下
- Summary描述该漏洞:"The host is running CoDesys and is prone to multiple vulerabilities",说明主机此刻正在运行CoDesys这个漏洞,并且容易派生出多个其他漏洞。
- Solution给出解决方法:"Upgrade to version 3.5 or higher or 2.3.9.32 or higher",升级到3.5版本或是更高版本。
- nmap扫描时发现没法扫描出端口或是无法探测版本信息
- 关闭靶机防火墙即可(或者把靶机虚拟机网络连接方式改为NAT模式)
- 本次实验其实没有什么很困难的点,主要在于学习并尝试使用了常用的信息收集、漏洞扫描等几种方式,很多方法之前在别的课程中有涉略到,但通过本次实验对漏洞扫描等的学习,能更直观的感受到扫描的结果以及其代表的含义,清楚地认识到扫描结果的意义。
- 此外就是在安装OpenVAS时由于校网过慢花了很长时间,后来改连4G热点才勉强下下来。。。