20211317 李卓桐 Exp5 信息搜集与漏洞扫描 实验报告

Exp5 信息搜集与漏洞扫描 实验报告

1、实践目标

  • 掌握信息搜集的最基础技能与常用工具的使用方法。

2、实践内容

(1)各种搜索技巧的应用

(2)DNS IP注册信息的查询

(3)基本的扫描技术:主机发现、端口扫描、OS及服务版本探测、具体服务的查点(以自己主机为目标)

(4)漏洞扫描:会扫,会看报告,会查漏洞说明,会修补漏洞(以自己主机为目标)

3、报告内容

3.1实验后回答问题

  • 1.哪些组织负责DNS,IP的管理?
    答:全球根服务器均由美国政府授权的ICANN统一管理,负责全球的域名根服务器、DNS和IP地址管理。IANA 是 ICANN 的一个部门,负责分配全球唯一的IP地址、协议号、域名以及其他与互联网标识相关的参数。它是互联网标识符分配和管理的权威机构之一。
    RIRs 是负责分配和管理IP地址的地区性组织,其服务范围涵盖全球不同的地区。目前共有五个主要的 RIRs,分别是:
  • ARIN(American Registry for Internet Numbers):负责北美和一些加勒比地区。
  • RIPE NCC(Réseaux IP Européens Network Coordination Centre):负责欧洲、中东和一部分亚洲地区。
  • APNIC(Asia-Pacific Network Information Centre):负责亚洲和太平洋地区。
  • LACNIC(Latin America and Caribbean Network Information Centre):负责拉丁美洲和加勒比地区。
  • AfriNIC(African Network Information Centre):负责非洲地区。
    域名注册商是提供域名注册服务的公司或机构,它们通过与ICANN认证合作,向公众提供注册、续订和管理域名的服务。注册商可以是全球性的大型公司,也可以是地区性的小型公司。
    对于国家和地区顶级域名(例如 .cn, .us, .uk 等),各个国家或地区的特定组织负责其域名的注册和管理。在中国,这一角色由中国互联网络信息中心(CNNIC)承担。
  • 2.什么是3R信息?
  • 注册人(Registrant):指拥有并注册特定域名的个人、组织或实体。注册人的信息通常包括域名持有者的姓名、地址、电子邮件和联系方式等。
  • 注册商(Registrar):指提供域名注册服务的公司或机构。注册商负责向注册人提供注册、续订和管理域名的服务,并与官方注册局合作以实现域名的注册和管理。
  • 官方注册局(Registry):指负责管理特定顶级域名(TLD)的机构。官方注册局负责管理特定顶级域名的注册信息、域名服务器信息以及相关政策制定等工作。
  • 3.评价下扫描结果的准确性。
    扫描结果较为准确,说明电脑的漏洞还是很多的,容易受到攻击的风险。

3.2实验过程记录

(1)各种搜索技巧的应用

  • 第一种:使用不同的搜索引擎如百度、搜狗、必应、谷歌、360搜索、DuckDuckgo,当某一个搜索引擎搜不到想要的答案时可以换一个搜索引擎试试。这里推荐两款我平时会用到的两款搜索APP,自带不同搜索引擎进行切换,PP名为Via、可拓浏览器不同的浏览器。via自带多种搜索引擎,且可以加入拓展工具和脚本,可拓浏览器自带人工智能GPT“问答助手”。

    Via浏览器

    可拓浏览器
  • 第二种:其实在搜索引擎中搜索,相信大多数人和我一样,都是最烦最上面几条的广告了,那么有没有什么方法去广告呢?答案是有的。如果是火狐或者谷歌浏览器,可以选择使用油猴插件脚本,或者拓展程序,进行搜索优化,其中有成千上万的插件,如可以百度去广告、解除网页限制等,非常方便。
    百度搜索TamperMonkey并下载,或者在谷歌浏览器自带的拓展程序中也可以,具体参考超简单安装油猴(tampermonkey)脚本及使用教程

    谷歌自带拓展程序


    油猴(篡改猴)
    这里展示开启脚本前后百度搜索“饼干”的区别

这是开启脚本前搜索饼干后出现的内容


这是开启脚本后搜索饼干出现的内容,会发现安装脚本后,去掉了百度自动推荐的广告

  • 第三种:使用相关百度搜索技巧:

+:强制包含关键词
-:消除无关性
|:并行搜索
“”:精确匹配
《》:精确匹配/电影或小说
『』:查找论坛版块
intitle:把搜索范围限定在网页标题中
inurl:把搜索范围限定在url链接中
site:把搜索范围限定在特定站点中
filetype:专业文档搜索

  • **第四种:tracert www.baidu.com

tracert是一种用于显示数据包到达目标主机所经过的路径,并显示到达每个节点所需时间的网络诊断工具。

以下是信息的简要分析:

每一行代表一个“跃点”或路由器,数据包在前往目的地过程中需经过这些路由器。

第1-5行:这是从您的本地设备开始,通过内部网络(如局域网)到达公网的路径,依次经过了172.30.7.254、172.30.255.1、172.16.125.254、192.168.254.25 和 192.168.254.1 这些IP地址,响应时间基本正常。

第6-8行:数据包继续向外网传输,经过了电信运营商的部分网络节点,例如124.65.227.169和221.216.106.165,但第8跳出现了较大的延迟(748ms),可能该节点存在一定的网络拥堵或者处理延迟。

第9-14行:在这几个跃点中,出现了多次请求超时的情况,意味着数据包未能成功到达这些路由器或者没有得到回应,可能是由于网络故障、防火墙拦截或者是目标路由器未开启ICMP回应等原因导致。

第10跳:数据包成功到达110.242.66.162,但响应时间较长(491ms、592ms、461ms),说明此节点可能存在延迟问题。

第11跳到达221.194.45.134,响应时间进一步增加,达到秒级,这表明此处可能存在严重网络瓶颈或拥塞。

最终,数据包在第16跳到达目标地址110.242.68.4,即www.baidu.com对应的服务器IP地址,此时的响应时间也非常长,反映出网络连接质量不佳。

(2)DNS IP注册信息的查询

  • 用这个网址查找IP地址定位IP归属地查询,这里我查一下我的IP地址和百度的IP地址。我的IP显示同一局域网,百度IP地址显示在河北保定。

  • 这里附上我2021年写的一篇博客,内容是探究python相关取证的内容,其中有IP地址定位这部分模块,大家可感兴趣的可以看一下。20211317李卓桐 Python取证相关模块

  • whois baidu.com
    进行whois查询时去掉www等前缀,因为注册域名时通常会注册一个上层域名,子域名由自身的域名服务器管理,在whois数据库中可能查询不到

可得到网站名称Domain Name:baidu.com,注册机构ID Registry Domain ID:11181110_DOMAIN_COM-VRSN,注册服务器Registrar WHOIS Server:whois.markmonitor.com等信息。

Domain Name: 域名
Registrar: 注册商(注意,有可能给你提供注册服务的不是顶级注册商,是使用了别人的域名接口,所以可能你看到的注册商和你的域名商不一致。)
Whois Server: whios的服务器
Referral URL:注册地址,就是为你提供注册域名的服务商网址
Name Server:解析该域名的DNS服务器
Status: clientDeleteProhibited (域名的状态)
Status: clientTransferProhibited(域名的状态)
Updated Date:已续费时间和域名操作更新时间
Creation Date: 注册时间
Expiration Date: 过期时间

  • nslookup baidu.com

Server : 返回的是自己的服务器
Address : 返回自己的IP
Non-authoritative answer : 未验证的回答
Name :目标域名
Addresses : 目标返回的Ip

  • dig baidu.com

可以看到得到的结果与nslookup的结果基本相同,另外还可提供带关键字的查询选项

+[no]search:使用 [不使用] 搜索列表或 resolv.conf 中的域伪指令(如果有的话)定义的搜索列表。缺省情况不使用搜索列表。
+[no]trace:切换为待查询名称从根名称服务器开始的代理路径跟踪。缺省情况不使用跟踪。一旦启用跟踪,dig 使用迭代查询解析待查询名称。它将按照从根服务器的参照,显示来自每台使用解析查询的服务器的应答。
+[no]short:当启用 +short 选项时,显示 [或不显示] 提供应答的 IP 地址和端口号。
+[no]stats:该查询选项设定显示统计信息:查询进行时,应答的大小等等。缺省显示查询统计信息。

(3)基本的扫描技术:主机发现、端口扫描、OS及服务版本探测、具体服务的查点(以自己主机为目标)

  • ping 命令可以用来发现目标主机域名的IP地址

  • metasploit中的arp_sweep模块
    arp_sweep,ipv6_multicast_ping,ipv6_neighbor, ipv6_neighbor_router_advertisement, udp_probe和udp_sweep都是metasploit中位于modules/auxiliary/scanner/discovery中的模块,arp_sweep使用ARP请求枚举本地局域网络中的所有活跃主机,udp_sweep模块除了可以探测到存活主机之外,还可以获得主机名称信息

msfconsole
use auxiliary/scanner/discovery/arp_sweep 
set RHOSTS 172.30.7.222/24 //24表示子网掩码的位数
set THREADS 100
run

  • metasploit中udp_sweep模块

udp_sweep模块除了可以探测到存活主机之外,还可以获得主机名称信息

msfconsole
use auxiliary/scanner/discovery/udp_sweep 
set RHOSTS 172.30.7.222/24
set THREADS 10
run

  • nmap -sn

使用nmap -sn 172.30.7.222/24扫描本地局域网络中的所有活跃主机

  • nmap指令

扫描类型:
-sT:TCP connect扫描
-sS:TCP syn扫描
-sF/-sX/-sN:通过发送一些标志位以避开设备或软件的检测
-sP:ICMP扫描
-sU:探测目标主机开放了哪些UDP端口
-sA:TCP ACk扫描
扫描选项:
-Pn:在扫描之前,不发送ICMP echo请求测试目标是否活跃
-O:辨识操作系统等信息
-F:快速扫描模式
-p<端口范围>:指定端口扫描范围

  • msf 中的 portscan 模块

主要可以扫描以下几种端口:

ack:通过ACK扫描的方式对防火墙上未被屏蔽的端口进行探测
ftpbounce:通过FTP BOUNCE攻击的原理对TCP服务进行枚举
syn:使用发送TCP SYN标志的方式探测开放的端口
tcp:通过一次完整的TCP链接来判断端口是否开放
xmas:一种更为隐蔽的扫描方式,通过发送FIN,PSH,URG标志能够躲避一些TCP标记检测器的过滤
对TCP端口进行探测

msfconsole
use auxiliary/scanner/portscan/tcp 
set RHOSTS 172.30.7.222/24 
set THREADS 100 
set PORTS 1-1024 
run

  • OS及服务版本探测
    nmap -O
    可以通过nmap -O 192.168.29.1对操作系统进行识别,获取目标机的操作系统和服务版本等信息

nmap -sV
可以通过nmap -sV 192.168.29.1查看操作系统详细信息

  • Telnet服务扫描

telnet命令用于登录远程主机,对远程主机进行管理。

利用scanner进行Telent服务扫描

msfconsole
use auxiliary/scanner/telnet/telnet_version
set RHOSTS 172.30.7.222/24 
set THREADS 100
run

  • SSH服务

SSH(“安全外壳”)协议是用于从一个系统安全远程登录到另一个的方法。用户通过客户端 - 服务器架构格式的不安全网络使用安全通道,用于将SSH客户端与SSH服务器连接起来

use auxiliary/scanner/ssh/ssh_version 
set RHOSTS 172.30.7.222/24 
set THREADS 100
run

  • Oracle数据库服务查点
use auxiliary/scanner/oracle/tnslsnr_version
set RHOSTS 172.30.7.222/24
set THREADS 100
run

(4)漏洞扫描:会扫,会看报告,会查漏洞说明,会修补漏洞(以自己主机为目标)

  • 安装gvm虚拟机
    下载好所需镜像文件后,打开VMWare,选择打开虚拟机
    选择下好的ovf文件,注意不要用这个镜像文件原来所属的文件夹。不然会提示报错,可以自己创一个文件夹。我创建了文件夹gvm在D盘。并等待导入成功。
    打开导入完成的虚拟机,输入用户名admin和密码123456,并记录ip 这里我的ip地址为192.168.149.130
  • 登录绿骨网站,并扫描主机ip地址
    在主机中打开刚才的IP地址,无视提示继续连接
    输入用户名和密码,我这里默认为admin和123456。(每次登录gvm虚拟机会有询问是否更改密码的环节,如果想改了一直ok下去就会到达更改密码的界面)
    点击scan->Tasks,找到Task Wizard
    输入win11主机的ip地址,我的主机ip地址是172.30.5.133,输入完毕后点击start scan


  • 扫描结束,查看报告信息

扫描结束后会显示Done

我们查看一下详细信息,选择CVE的
NVT Families是漏洞库,我们可以看到,扫描win11主机后,有61个漏洞,我们选择Buffer Overflow缓冲区溢出漏洞进行分析

  • 我们可以看到在这个漏洞族中有很多漏洞,且漏洞的危险等级不一样,我们选择一个危险等级比较高(红色)的看看漏洞说明

  • 翻译成中文如下
    摘要 MacOS X会在使用“Finder”浏览过的每个目录中创建一个隐藏文件“.DS_Store”。此文件包含目录内容的列表,从而向攻击者泄露有关您网站结构和内容的信息。
    评分 CVSS基准 5.0(中等) CVSS基准向量 AV:N/AC:L/Au:N/C:P/I:N/A:N
    检测方法 检测质量:远程分析(70%)
    解决方案 解决方案类型: 临时解决办法 在您的web服务器配置中阻止对以点开头的隐藏文件的访问
    家族 Web应用程序滥用
    参考文献 CVE CVE-2016-1776 CVE-2018-6470
    BID 3316 3324 85054
    CERT DFN-CERT-2016-0489 CB-K16/0450
    其他 https://www.securityfocus.com/bid/3316 https://www.securityfocus.com/bid/3324 https://www.securityfocus.com/bid/85054 https://helpx.adobe.com/dreamweaver/kb/remove-ds-store-files-mac.html https://support.apple.com/en-us/HT1629

  • 修补漏洞方法

  • 阻止Web服务器公开隐藏文件 在您的Web服务器配置文件中(如Apache的httpd.conf或Nginx的nginx.conf),添加相应的规则以禁止对外公开以点(.)开头的隐藏文件,包括.DS_Store。

  • 定期清理.DS_Store文件 为了避免.DS_Store文件意外上传到Web服务器,可以在开发和部署过程中采取以下措施:

    • 本地清理:在MacOS系统中,定期使用以下命令清理项目目录中的.DS_Store文件:
    Bash
    find . -type f -name ".DS_Store" -delete
    
    • 自动化脚本:将上述清理命令集成到自动化构建或部署脚本中,确保在上传代码前清除所有.DS_Store文件。

    • 版本控制忽略:在项目的.gitignore、.hgignore或其他版本控制系统对应的忽略文件中添加.DS_Store,防止此类文件被纳入版本控制并无意间上传。

  • 使用文件同步工具的过滤选项 如果您使用文件同步工具(如rsync、FTP客户端等)将本地文件上传到Web服务器,确保启用隐藏文件过滤选项,避免同步.DS_Store文件。

3.3实验总结与体会

本次实验中我学习并运用了多种高级搜索语法,如精确匹配、排除关键词、指定网站内搜索、搜索特定文件类型等,极大地提升了信息检索的效率和精准度。通过实践,我还了解到DNS(Domain Name System)的管理和维护主要由全球分布的DNS根服务器、顶级域名注册商(如ICANN)以及各地的域名注册服务机构共同承担。而IP地址的分配则由国际互联网编号分配机构(IANA)负责全球范围的分配,随后通过区域互联网注册管理机构(如ARIN、RIPE NCC等)向下分配给各国的网络服务提供商。这一认知加深了我对互联网基础设施运作机制的理解,也使我意识到这些组织在保障网络安全、维护网络秩序中的重要作用。在漏洞扫描时,我体验了从扫描执行、报告解读、漏洞查询到漏洞修复的完整流程,让我感受到计算机确实存在不少漏洞,在平时我们更要多注重修补。

posted @ 2024-04-25 22:37  LLLZTTT  阅读(27)  评论(0编辑  收藏  举报
$