2019-2020-2 20175221『网络对抗技术』Exp5:信息收集与漏洞扫描
2019-2020-2 20175221『网络对抗技术』Exp5:信息收集与漏洞扫描
- 一、原理与实践说明
- 1.实践内容
- 2.基础问题
- 二、实践过程记录
- 1.信息收集
- 1.1通过DNS和IP挖掘目标网站的信息
- 1.2通过搜索引擎进行信息搜集
- 1.3活跃主机扫描
- 1.4nmap的使用
- 1.5网络服务扫描
- 2.漏洞扫描
- 1.信息收集
- 三、实践总结及体会
一、原理与实践说明
-
1.实践内容
-
- 各种搜索技巧的应用
- DNS IP注册信息的查询
- 基本的扫描技术:主机发现、端口扫描、OS及服务版本探测、具体服务的查点
- 漏洞扫描:会扫,会看报告,会查漏洞说明,会修补漏洞
-
2.基础问题
-
(1)哪些组织负责DNS,IP的管理。
-
- 全球根服务器均由美国政府授权的ICANN统一管理,负责全球的域名根服务器、DNS和IP地址管理。
- 地址支持组织(ASO)负责IP地址系统的管理
- 域名支持组织(DNSO)负责互联网上的域名系统(DNS)的管理
- 协议支持组织(PSO)负责涉及Internet协议的唯一参数的分配
- 全球根域名服务器:绝大多数在欧洲和北美(全球13台,用A~M编号),中国仅拥有镜像服务器(备份)。
- 全球一共有5个地区性注册机构:
- ARIN主要负责北美地区业务
- RIPE主要负责欧洲地区业务
- APNIC主要负责亚太地区业务
- LACNIC主要负责拉丁美洲美洲业务
- AfriNIC负责非洲地区业务
- 全球根服务器均由美国政府授权的ICANN统一管理,负责全球的域名根服务器、DNS和IP地址管理。
-
(2)什么是3R信息。
- 注册人(Registrant)、注册商(Registrar)、官方注册局(Registry)
-
(3)评价下扫描结果的准确性。
- 具体见实验过程。
实践过程记录
-
(1)各种搜索技巧的应用
-
利用metasploit的dir_scanner辅助模块,暴力猜解,获取网站目录结构:
- msfconsole
- msf > use auxiliary/scanner/http/dir_scanner
- msf auxiliary(scanner/http/dir_scanner) > set THREADS 30
- msf auxiliary(scanner/http/dir_scanner) > set RHOSTS www.baodu.com
- msf auxiliary(scanner/http/dir_scanner) > exploit
- 可以查询到网站的目录结构:
-
检测特定类型的文件
- filetype 能对搜索结果的文件类型进行限定,格式为 检索词 filetype:文件类型
- site 能限制检索结果的来源,格式为 检索词 site:限制域名
- 有些网站会含有如名单、号码等敏感内容的文件,可以进行针对性的查找
- 比如百度 site:edu.cn filetype:xls 研究生 :
- 打开下载的文档,显示信息如下(敏感信息已打码):
-
使用tracert命令进行路由侦查
- tracert可用于对经过的路由进行探测,在cmd中输入命令 tracert www.baidu.com :
- 从左到右的5条信息分别代表了“生存时间”(每经一个路由器自增1)、“ICMP包返回时间” x 3、“途经路由器的IP地址”。其中星号(*)表示该次ICMP包返回时间超时。
-
Google Hacking
- Google提供了高级搜索功能。GHDB数据库包含了大量使用Google从事渗透的搜索字符串。其中包含了很多常用的模块,之前使用过的各个平台下的shellcode,模块和代码,也可以从这里获取。
-
(2)DNS IP注册信息的查询
- 写博客以来接触最多的就是 www.cnblogs.com ,这次实验就以博客园作为例子。
- 要注意,进行whois查询时去掉www等前缀,因为注册域名时通常会注册一个上层域名,子域名由自身的域名服务器管理,在whois数据库中可能查询不到。
- whois cnblogs.com 查到注册地址和注册人姓名等信息:
- nslookup可以得到DNS解析服务器保存的Cache的结果,但并不是一定准确的:
- dig可以从官方DNS服务器上查询精确的结果:
-
除此之外,dig命令还有很多查询选项,每个查询选项被带前缀(+)的关键字标识。例如:
- +[no]search:使用 [不使用] 搜索列表或 resolv.conf 中的域伪指令(如果有的话)定义的搜索列表。缺省情况不使用搜索列表。
- +[no]trace:切换为待查询名称从根名称服务器开始的代理路径跟踪。缺省情况不使用跟踪。一旦启用跟踪,dig 使用迭代查询解析待查询名称。它将按照从根服务器的参照,显示来自每台使用解析查询的服务器的应答。
- +[no]identify:当启用 +short 选项时,显示 [或不显示] 提供应答的 IP 地址和端口号。
- +[no]stats: 该查询选项设定显示统计信息:查询进行时,应答的大小等等。缺省显示查询统计信息。
- 尝试下+trace查询选项:在终端输入 dig cnblogs.com +trace :
-
IP2Location 地理位置查询(下边都是以博客园的ip地址为例):
- www.maxmind.com 可以根据IP查询地理位置。
- 在 Kali 中利用
ping
的返回信息查看网站的IP地址,然后将ip输入到网站内查询结果。 -
www.ip-adress.com 可以查询到更详细的关于某共有IP的信息:
-
IP2反域名查询
- shodan搜索引擎可以进行反域名查询,可以搜索到该IP的地理位置、服务占用端口号,以及提供的服务类型:
活跃主机扫描
-
Ping
- 用 ping 命令用发送ICMP报文的方法检测活跃主机
-
metasploit中的arp_sweep模块和 udp_sweep 模块
- arp_sweep 和 udp_sweep 都是 metasploit 中位于modules/auxiliary/scanner/discovery中的模块。arp_sweep 使用ARP请求枚举本地局域网络中的所有活跃主机;udp_sweep 模块除了可以探测到存活主机之外,还可以获得主机名称信息
-
arp_sweep
- msfconsole
- use auxiliary/scanner/discovery/arp_sweep //进入arp_sweep 模块
- show options //查询模块参数
- set RHOSTS 10.10.10.0/24 //用set进行hosts主机段设置
- set THREADS 50 //加快扫描速度
- run //执行扫描
-
udp_sweep
-
- msfconsole
- use auxiliary/scanner/discovery/udp_sweep
- set RHOSTS 192.168.1.0/24
- set THREADS 50
- run
-
nmap -sn
- nmap 相关参数如下:
-
-sS:TCP SYN扫描,可以穿透防火墙; -sA:TCP ACK扫描。有时候由于防火墙会导致返回过滤/未过滤端口; -sP:发送ICMP echo探测; -sT:TCP connect扫描,最准确,但是很容易被IDS检测到,不推荐; -sF/-sX/-sN:扫描特殊的标志位以避开设备或软件的监测; -O:启用TCP/IP协议栈的指纹特征信息扫描以获取远程主机的操作系统信息; -sV:获取开放服务的版本信息;
- nmap -sn 可以用来探测某网段的活跃主机
-
nmap -PU
- nmap -PU 可以对UDP端口进行探测,与udp_sweep模块功能相同
-
nmap -O
- nmap -O 可以对目标的操作系统进行识别,获取目标机的操作系统和服务版本等信息
-
nmap -sS Pn
- nmap -sS是TCP SYN扫描,-Pn是在扫描之前,不发送ICMP echo请求测试目标:
-
nmap -sV Pn
- nmap -sV 查看目标主机的详细服务信息
- 这里我们以 Kali 为目标机试试
- 可以看到端口22是开放的,提供的是ssh握手服务
网络服务扫描
- Telnet服务扫描:
- telnet命令用于登录远程主机,对远程主机进行管理
-
msfconsole use auxiliary/scanner/telnet/telnet_version set RHOSTS 192.168.189.0/24 set THREADS 100 run
- SSH服务扫描:
- SSH(“安全外壳”)协议是用于从一个系统安全远程登录到另一个的方法。用户通过客户端 - 服务器架构格式的不安全网络使用安全通道,用于将SSH客户端与SSH服务器连接起来。
-
msfconsole use auxiliary/scanner/ssh/ssh_version set RHOSTS 192.168.189.0/24 set THREADS 100 run
-
Oracle数据库服务查点:
-
msfconsole use auxiliary/scanner/oracle/tnslsnr_version set RHOSTS 192.168.189.0/24 set THREADS 100 run
漏洞扫描:会扫,会看报告,会查漏洞说明,会修补漏洞
-
安装OpenVAS
- 输入指令: apt-get install openvas
- 安装完毕后, openvas-check-setup 检查发现错误:
- 按照 FIX 的指导输入命令就可以了:
-
openvas-check-setup openvasmd --migrate openvas-manage-certs -a -f openvasmd openvas-check-setup
- 使用 openvas-start 开启服务,会自动打开浏览器主页 https://127.0.0.1:9392 :
- 输入账号、密码登录即可
- 账号密码在这里可以看到:
- 第一次打开该主页,会提示
该链接不安全
之类,Advanced→
信任站点即可。 - 新建任务 scan→Tasks→Task Wizard
- 输入扫描主机IP: 192.168.43.240
- 开始扫描: 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.",指明该漏洞至少一年没有提供任何已知的解决方案。很可能再也不会提供任何援助了。通用解决方案选项包括升级到新版本,禁用各自的特性,删除产品或是用另一个产品替换该产品。
- 逐个点击可了解每一个漏洞的详细信息
实践总结及体会
- 本次实验学习使用了常用的信息收集、漏洞扫描等几种方式,如(DNS查询、搜索引擎利用、Nmap)。信息收集在渗透中起着至关重要的作用。只有收集了必要的信息,才能有目的地进行下一步攻击。
- 同时针对自己的主机,也可以借助漏洞扫描来检测自己主机是否被别人进行了攻击,有后门、木马等程序,进而修补漏洞。
- 顺带一说,使用Openvas跳主页时,那只绿色的小恐龙让我印象深刻