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等)向下分配给各国的网络服务提供商。这一认知加深了我对互联网基础设施运作机制的理解,也使我意识到这些组织在保障网络安全、维护网络秩序中的重要作用。在漏洞扫描时,我体验了从扫描执行、报告解读、漏洞查询到漏洞修复的完整流程,让我感受到计算机确实存在不少漏洞,在平时我们更要多注重修补。