2018-2019-2 网络对抗技术 20165230 Exp6 信息搜集与漏洞扫描
1.实验内容
- (1)各种搜索技巧的应用
- (2)DNS IP注册信息的查询
- (3)基本的扫描技术:主机发现、端口扫描、OS及服务版本探测、具体服务的查点
- (4)漏洞扫描:会扫,会看报告,会查漏洞说明,会修补漏洞
2.实验过程
- 外围信息搜集
- NMAP
- OpenVAS
任务一:各种搜索技巧的应用
通过搜索引擎进行信息搜集
使用Google Hacking
- Google提供了高级搜索功能。GHDB数据库包含了大量使用Google从事渗透的搜索字符串,许多我们之前用过的模块和代码网站上都有
搜索网址目录结构
- 使用暴力模块进行暴力猜解。以dir_scanner为例
msf > use auxiliary/scanner/http/dir_scanner
set rhosts www.cnblogs.com
set threads 30
exploit
使用IP路由侦查工具traceroute
-
输入命令
traceroute www.cnblogs.com
-
由于虚拟机使用的是nat连接,traceroute返回的TTL exceeded消息无法映射到源IP地址、源端口、目的IP地址、目的端口和协议,因此无法反向NAT将消息路由传递回来。显示都是*号
搜索特定类型的文件
> 有些网站会链接通讯录,订单等敏感的文件,可以进行针对性的查找
-
输入
site:edu.cn filetype:xls
-
但是这些xls文件下载下来在我的电脑里都打不开,会显示文件已损坏,用网页版html看一下博士上线名单
-
这个表直接暴露了具体博士姓名、地址、电话、具体报考信息
任务二:DNS IP注册信息的查询
(1)whois域名注册信息查询
- 可以在MSF终端使用whois命令进行查询。
whois baidu.com
- 包括注册人的姓名、组织和城市等信息。
注意:进行whois查询时去掉www等前缀,因为注册域名时通常会注册一个上层域名,子域名由自身的域名服务器管理,在whois数据库中可能查询不到。
- 还可以看组织、注册时间等等
(2)nslookup,dig域名查询
使用nslookup
nslookup baidu.com
可以看到服务器地址和注册地址可以得到DNS解析服务器保存的Cache的结果,但并不是一定准确的。
使用dig
-
dig可以从官方DNS服务器上查询精确的结果。
-
可以看到他的注册地址结果和nslookup一样
-
除此之外,dig命令还有很多查询选项,每个查询选项被带前缀(+)的关键字标识。例如:
- +[no]search:使用 [不使用] 搜索列表或 resolv.conf 中的域伪指令(如果有的话)定义的搜索列表。缺省情况不使用搜索列表。
- +[no]trace:切换为待查询名称从根名称服务器开始的代理路径跟踪。缺省情况不使用跟踪。一旦启用跟踪,dig 使用迭代查询解析待查询名称。它将按照从根服务器的参照,显示来自每台使用解析查询的服务器的应答。
- +[no]identify:当启用 +short 选项时,显示 [或不显示] 提供应答的 IP 地址和端口号。
- +[no]stats:该查询选项设定显示统计信息:查询进行时,应答的大小等等。缺省显示查询统计信息。
-
试着先使用+short再用+ifentify,看看结果, 可以看见提供应答的 IP 地址和端口号。
(3)IP2Location地理位置查询
(4)IP2反域名查询
-
输入主机ip会显示该地址为保留的私有地址,在网站里找到有一处是查本地IP,点击进去会看到主机IP变了,可能是用了NAT转换了地址才可以查到
-
在IP-address网站
里输入百度的IP:119.75.217.109
可以看到此IP对应的地理位置、编码(ASN)、互联网服务提供商(ISP)等信息
-
以上都是可用的前期搜集信息的方法,具体的操作中可以视情况选择。如第四个实验中对恶意代码的分析就可以使用IP2Location,它的中文界面能够友好地向我们展示IP所在地和机构信息等,这对我们排除可疑IP有很大帮助。
任务三:基本的扫描技术:主机发现、端口扫描、OS及服务版本探测、具体服务的查点
主机发现
ping
- 通过
ping www.baidu.com
命令发送ICMP报文的方法检测活跃主机
metasploit中的模块
-
位于modules/auxiliary/scanner/discovery 主要有
- arp_sweep
- ipv6_multicast_ping
- ipv6_neighbor
- ipv6_neighbor_router_advertise
- ment, udp_probe,udp_sweep
-
以
ipv6_neighbor
为例, 扫描UDP服务的主机use auxiliary/scanner/discovery/ipv6_neighbor show options set RHOSTS 10.1.1.207 set THREADS 30 exploit
使用nmap探索活跃主机
-
使用命令
nmap -sn 10.1.1.207/30
-
-sn参数可以用来探测某网段的活跃主机
-
可以看见在该网段里有4台主机活跃
端口扫描
-
使用MSF中的auxiliary模块
-
use auxiliary/scanner/portscan/tcp show options set RHOSTS 10.1.1.207/30 set THREADS 30 exploit
-
可以看见主机开放的端口有139、135、445、443等
-
使用nmap扫描端口
参数 功能 -sS/sT/sA/sW/sM 使用TCP SYN方式扫描TCP端口 -sU 指定使用UDP扫描方式确定目标主机的UDP端口状况 -sN/sF/sX 指定使用TCP Null, FIN, and Xmas scans秘密扫描方式来协助探测对方的TCP端口状态 -sO 使用IP protocol 扫描确定目标机支持的协议类型 -
使用
nmap -sS 10.1.1.207
可以看见开放的TCP端口与对应的服务
OS及服务版本探测
-
使用
nmap -sV 10.1.1.207
- -sV 检测目标主机的服务版本
- -sV 检测目标主机的服务版本
-
使用
nmap -O 10.1.1.207
检测Win10主机- -O选项启用远程操作系统检测
- -O选项启用远程操作系统检测
-
结果没有扫出来win10的,反而扫出了XP win7 win Server2012??这不是我上一个实验的靶机吗?怎么出了他们呢?
-
看了一下学长学姐们的博客,发现他们也没有出来win10。又去网上查了一下,网上说-O存在误报,看来确实不太准呀
具体服务的查点
- 服务扫描和查点 metasploit中有许多相关工具,大部分都在Scanner辅助模块,常以[service_name]_version(用以遍历主机,确定服务版本)和[service_name]_login(进行口令探测攻击)命名
- 可输入
search name:_version
查看所有服务查点模块
telnet
- telnet命令用于登录远程主机,对远程主机进行管理。
use auxiliary/scanner/telnet/telnet_version //进入telnet模块
set RHOSTS 10.1.1.207/30 //扫描10.1.1.207/30网段
set THREADS 30
run
SSH
- 扫描主机的ssh服务
use auxiliary/scanner/ssh/ssh_version //进入ssh模块
set RHOSTS 10.1.1.207/30 //扫描10.1.1.207/30网段
set THREADS 30
run
Oracle数据库服务查点
use auxiliary/scanner/oracle/tnslsnr_version//进入oracle模块
set RHOSTS 10.1.1.207/30 //扫描10.1.1.207/30网段
set THREADS 30
run
开放代理探测
use auxiliary/scanner/http/open_proxy //进入open_proxy模块
set RHOSTS 10.1.1.207/30 //扫描10.1.1.207/30网段
set THREADS 30
run
口令猜测与嗅探
SSH口令猜测
use auxiliary/scanner/ssh/ssh_login
set rhosts 10.1.1.207
set username root
set pass_file /home/tset.txt
set threads 50
run
psnuffle口令探测
psnuffle是目前Metasploit中唯一用于口令嗅探的工具,它的功能算不上强大,但是非常实用,可以使用它截获常见协议的身份认证过程,并将用户名和口令信息记录下来。
use auxiliary/sniffer/psnuffle
run
- 登录了QQ邮箱,会显示success.txt文件,由于这是https的访问,所以抓不到明文的口令包。要实现这个需要搭建FTP服务器
任务四:漏洞扫描:会扫,会看报告,会查漏洞说明,会修补漏洞
安装OpenVAS
- 安装OpenVAS
apt-get update
- 使用OpenVAS
openvas-check-setup
报错提示1
ERROR: The NVT collection is very small.
FIX: RUN A synchronization script like green-nvt-sync.
-
根据FIX的提示,更新nvt
sudo greenbone-nvt-sync
(这一步耗时比较长) -
接下来再
openvas-check-setup
报错提示2
ERROR: The SCAP collection is very small.
FIX: RUN A SCAP synchronization script like green-scapdata-sync.
-
根据FIX的提示,更新scap数据库
sudo greenbone-scapdata-sync
-
接下来再
openvas-check-setup
报错提示3
ERROR: The CERT collection is very small.
FIX: RUN a synchronization script like greenbone-certdata-sync
-
根据FIX的提示,更新cert数据库
sudo greenbone-certdata-sync
-
接下来再
openvas-check-setup
-
成功!
启动openVAS
-
使用命令
openvasmd --user=admin --new-password=admin
添加admin用户 -
启动OpenVAS:
openvas-start
自动打开主页https://127.0.0.1:9392
。
-
登录之后选择
Scans
、Tasks
点击小魔棒Task Wizard
新建任务,输入要扫描的目标主机的IP地址,开始扫描
-
扫描完成后点击
Full and fast
-
Databases
可以看到不同的漏洞危险等级不一样
-
选择FTP,看一个危险等级比较高的漏洞说明
-
翻译了一下这个漏洞的意思是:安装了3D FTP客户端,容易出现目录遍历漏洞。
-
可以看见解决方法是更新至9.03版本
-
再看一个vmware最新的漏洞介绍
-
大概的意思是:在SVGA中,ESXi存在堆缓冲区溢出和未初始化的堆栈内存使用。这些问题可能允许客户在主机上执行代码。
-
去网上搜了一下CVE-2017-4902,看见了不用翻译的介绍
-
解决方法: Apply the missing patch(es).应用缺失的补丁
-
通过漏洞扫描,我们能知道电脑上存在哪些安全隐患以及解决的办法,这样就能使我们的电脑更安全了。
< center> 问题:打开提示连接不安全 < /center>
- 解决:点击
Advanced
、Add Exception
将网址加入信任站点就可以了
3.基础问题回答
- 哪些组织负责DNS,IP的管理
- 全球一共有5个地区性注册机构:ARIN主要负责北美地区业务,RIPE主要负责欧洲地区业务,APNIC主要负责亚太地区业务,LACNIC主要负责拉丁美洲美洲业务,AfriNIC负责非洲地区业务。
- ICANN负责协调管理DNS各技术要素以确保普遍可解析性,使所有的互联网用户都能够找到有效的地址。
- 在ICANN下有三个支持机构
- 地址支持组织(ASO)负责IP地址系统的管理
- 域名支持组织(DNSO)负责互联网上的域名系统(DNS)的管理
- 协议支持组织(PSO):负责涉及Internet协议的唯一参数的分配。
- 什么是3R信息
- 注册人(Registrant)
- 注册商(Registrar)
- 官方注册局(Registry)
- 评价下扫描结果的准确性
- 就目前已知来看,扫描结果还是很准确的,对于曾经被攻击过的漏洞都检测出来了
4.离实战还缺些什么技术或步骤
要将扫描得到的结果进行整理,筛选出有用的信息并针对这些信息决定使用什么样的攻击手段。
5.实验总结
这次实验中学习了很多常用的信息收集方法,每一种都记录的是不同的方面,多种方法也就更能立体了解到相关信息了。唯一比较耗时的就是安装openvas。前前后后出了许多错误,但通过看学长学姐的博客都顺利解决了。网络的信息很多,关键在于信息的整合与利用,对于平常生活中经常用到的一些网站也可以进行有针对地信息搜集。
</font size>