20241905 2024-2025-2 《网络攻防实践》 第2次作业

news/2025/3/12 15:33:04/文章来源:https://www.cnblogs.com/cassiefang/p/18764772

1. 实验内容

本次实验为网络信息收集技术,主要有以下五个任务

  1. 选择一个DNS域名进行查询获取信息
  2. 通过IP地址查询地理位置的信息
  3. 使用nmap扫描靶机环境
  4. 使用nessus扫描靶机环境
  5. 通过搜索引擎查询自己的隐私和信息泄露问题

结合实验内容阅读书本,总结知识如下:

  1. 网络踩点:攻击者通过对目标组织或个人进行信息收集,了解攻击目标的网络环境和安全状况,得到攻击目标完整剖析图的技术过程。

    DNS与IP查询:通过公开的互联网基础信息服务,找出目标组织域名、IP以及地理位置之间的映射关系,以及注册的详细信息,同时可利用DNS服务获取组织内部系统情况。

    DNS注册信息WHOIS查询:组织或个人申请DNS域名之后,注册信息会进入公开数据库,并向公众提供这些信息的WHOIS查询DNS注册信息是分散在各个数据库中的,需要按层级关系查找。目前WHOIS客户端程序实现了通过顶级域名管理机构寻找注册信息所在数据库,然后查询获取信息的功能。

  2. 网络扫描:通过探测目标网络,找出目标的各种信息。主机扫描找出目标网络中的活跃主机,基于端口扫描探测找出主机上开放的网络服务,操作系统/网络服务辨识识别主机所安装操作系统与开放网络服务的类型,漏洞扫描找出主机与网络服务上存在的安全漏洞。

2. 实验过程

2.1 DNS域名查询获取信息

2.1.1 DNS注册人及联系方式

从ICANN维护的WHOIS服务进行域名查询

链接为ICANN Lookup

打开后输入baidu.com,可以看到返回了域名信息、注册域ID

image-20250306095940295

ICANN还提供了联系信息,可以看到有行政方、注册方以及技术方的通讯地址,联系人url,其中注册方的主办单位为北京百度网通科技有限公司。

image-20250306102105115

通过联系url可以进入注册商的WHOIS网站。

image-20250306103238641

下拉ICANN页面可以看到注册商姓名为Markmonitor Inc.也就是前面提供的联系url。不管是通过ICANN还是Markmonitor都可以看到register的name和email以及phone。

image-20250306103321817

2.1.2 查询域名对应IP

通过nslookup命令查询baidu.com的IP映射,可以看到返回了两个IP地址

image-20250306103722748

2.1.3 查询IP地址注册人及联系方式

通过ICANN进行IP地址的查询

image-20250306104509177

下拉页面可以看到更多的联系信息,包括abuse、technical、registrant、administrative,并都附有联系方式

image-20250306104633614

2.1.4 查询IP地址所在国家、城市和具体地理位置

通过IP2Location可以查询所在位置信息,链接为[IP Address to IP Location and Proxy Information | IP2Location](https://cz88.net/)。可以查到为中国,北京以及具体经纬度所在位置。

image-20250306105248271

2.2 通过IP地址查询地理位置的信息

通过qq软件与在江苏南京的对象进行文件的传输

  1. 打开任务管理器
  2. 打开资源监视器
  3. 选中QQ.exe
  4. 传送20mb的文件,关注网络一栏的接受字节,最多的就是发过来的IP地址
  5. 可以看到是36.155.244.75

image-20250306112308692

通过IP2Location查询IP所在地,成功查到处在江苏南京的对象所在经纬度地理位置信息

image-20250306112804511

2.3 使用nmap扫描靶机环境

2.3.1 查询靶机IP是否活跃

查看靶机IP

image-20250306214816186

image-20250306211335845

通过下面的命令查询靶机IP是否活跃,可以看到均处于活跃状态

nmap -sP 192.168.200.131
namp -sP 192.168.200.130

image-20250306214902330

2.3.2 查看靶机开放的TCP和UDP端口

通过下面的命令查看靶机开放的TCP和UDP端口

nmap -sS # TCP SYN扫描,半开放扫描,更隐蔽
namp -sU # UDP端口扫描

image-20250306215730871

image-20250306220121500

image-20250307105301924

image-20250307105547226

image-20250307214503972

2.3.3 靶机安装的操作系统和版本查询

通过下面的命令查看靶机安装的操作系统和版本

nmap -O xxx(IP)

可以看到metasploitable的操作系统为linux

image-20250307214314001

2.3.4 靶机安装的服务查询

通过下面的命令查询靶机安装的服务,可以看到metasploitable安装了ftp, ssh, telnet, smtp, domain, http, netbios-ssn, mysql ,postgresql, ajp13这些服务

nmap -sV xxx(IP)

image-20250307221317055

名称 说明
ftp 文件传输协议
ssh 提供远程访问的协议
telnet 提供远程登录的协议
smpt 电子邮件传输协议
domain 域名服务
http 超文本传输协议
netbios-ssn 一种网络服务,支持网络中的设备间通信
mysql 数据库
postgresql 数据库
ajp13 二进制协议,允许服务器和容器之间的TCP通信

2.4 使用nessus扫描靶机环境

2.4.1 nessus下载

下载链接为https://www.tenable.com/downloads/nessus?loginAttempted=true

选择图中的kali平台

image-20250308143417074

这里通过curl安装

image-20250308143603504

复制到终端进行下载

image-20250308143732721

通过下面的命令安装

dpkg -i Nessus-10.8.3-debian10_amd64.deb

image-20250308144653795

通过下面的命令start nessus

/bin/systemctl start nessusd.service

通过下面的命令查看Nessus启动状态

netstat -ntpl | grep nessus

image-20250308144856441

通过链接https://kali:8834/#/进入Nessus

image-20250308145109261

勾选register offline,按照参考资料4进行安装

初始化界面如下

image-20250308154417935

输入下面的命令获得code和网站地址

/opt/nessus/sbin/nessuscli fetch --challenge

image-20250308154620421

image-20250308155045324

image-20250308155152977

找到插件下载的文件夹并打开终端,输入下面的命令安装插件

cp nessus.license /opt/nessus/sbin
cp all-2.0.tar.gz /opt/nessus/sbin
cd /opt/nessus/sbin
./nessuscli fetch --register-offline nessus.license
./nessuscli update all-2.0.tar.gz
systemctl restart nessusd.service

image-20250308160048085

通过链接https://127.0.0.1:8834/#/进入Nessus,出现下图则为正在编译了,等编完就行。移动到红框处能查看编译进度。

image-20250308162115856

2.4.2 靶机开放端口查询

new scan后新建一个advanced scan

image-20250308164316688

输入要扫描的靶机

image-20250308164357074

扫描完成后可以看到报告,打开nessus SYN scanner可以看到开放的TCP端口

image-20250308185105153

image-20250308185135693

2.4.3 靶机端口安全漏洞查询

在报告中可以看到靶机存在的安全漏洞

image-20250308185319460

image-20250308190113679

汇总所有的漏洞有以下:

名称 级别 说明
SSL Version 2 and 3 Protocol Detection critical SSL版本2和3存在密码缺点
Debian OpenSSH/OpenSSL Package Random Number Generator Weakness critical 远程服务的密钥由于OpenSSL库的随机数生成器中包含错误而有漏洞
Debian OpenSSH/OpenSSL Package Random Number Generator Weakness (SSL check) critical 远程服务器的证书由于OpenSSL库的随机数生成器中包含错误而有漏洞
Samba Badlock Vulnerability high samba版本存在漏洞,攻击者可以通过中间人攻击强制降级身份验证级别,从而允许在被拦截用户的上下文中执行任意网络调用
SSL RC4 Cipher Suites Supported (Bar Mitzvah) high RC4不够安全
SSL Medium Strength Cipher Suites Supported (SWEET32) high 远程主机支持中等强度的SSL密码
SSL Certificate Cannot Be Trusted medium 服务器的X.509证书不可信
SSL Self-Signed Certificate medium 服务器的X.509证书不可信,可建立中间人攻击
SSL Certificate Expiry medium 插件存在到期问题
SSLv3 Padding Oracle On Downgraded Legacy Encryption Vulnerability (POODLE) low 远程主机受到 POODLE 中间人 (MitM) 信息泄露漏洞的影响
TLS Version 1.0 Protocol Detection medium TLS1.0含有加密设计缺陷
SMTP Service STARTTLS Plaintext Command Injection medium SMTP包含软件缺陷,可能允许未验证攻击者注入
SSH Weak Algorithms Supported medium 检测到SSH服务使用Arc流密码或根本不使用密码
SSH Server CBC Mode Ciphers Enabled low CBC加密不够安全
SSH Weak Key Exchange Algorithms Enabled low 允许弱密钥交换
SSH Weak MAC Algorithms Enabled low 使用弱算法MD5或96位MAC
SSL / TLS Renegotiation Handshakes MiTM Plaintext Data Injection medium TLS/SSL加密流量的方式允许客户端不安全的重新协商连接

2.4.4 攻陷靶机环境,获得系统访问权

通过第一个漏洞进行查看

image-20250308185641338

根据报告可以看到靶机使用的是SSL2.0/3.0加密的连接,这些版本的SLL存在安全漏洞:

  1. 使用CBC密码的不安全填充方案
  2. 不安全的会话重新协商和恢复方案

如果想要攻陷靶机,获得系统访问权,可以利用这个安全漏洞进行中间人攻击,从而解密受影响的服务与客户端之间的通信来进行攻击,进一步取得靶机的系统访问权

除此之外,从上面列举的漏洞中还可以进行的尝试汇总如下:

名称 攻击方式
Debian OpenSSH/OpenSSL Package Random Number Generator Weakness 攻击者可以预测密钥,从而破解加密连接。通过利用该漏洞,可以解密通信或伪造身份
Samba Badlock Vulnerability 攻击者可以通过中间人攻击强制降低身份验证级别,从而在受害者的上下文中执行任意网络调用
SSL RC4 Cipher Suites Supported 攻击者可以利用RC4的弱点进行加密流量分析,进而恢复加密内容
SSL Certificate Cannot Be Trusted 如果服务器的X.509证书不可信,攻击者可以进行中间人攻击(MITM),伪造或拦截通信
SSL Certificate Expiry 证书到期可能导致SSL连接无法建立,攻击者可能利用过期证书进行欺骗
TLS Version 1.0 Protocol Detection 攻击者可以通过破解TLS连接来获取敏感信息
SSH Weak Algorithms Supported 攻击者可以通过暴力破解弱算法进行攻击
SSH Server CBC Mode 攻击者可以利用CBC加密模式进行攻击
SSH Weak Key Exchange Algorithms Enabled 攻击者可以通过中间人攻击破解密钥交换过程
SSH Weak MAC Algorithms Enabled 攻击者可以通过伪造消息进行攻击

2.5 通过搜索引擎查询自己的隐私和信息泄露问题

搜索自己的名字可以看到出现的是其他同名者的信息

image-20250308190814778

比较相关的是北京电子科技学院的录取名单

image-20250308190851560

3. 学习中遇到的问题及解决

  • 问题1:在查询他人IP时,一开始使用微信,查到的IP所在地是广东的,与实际不符

  • 问题1解决方案:查找资料后发现,微信不是点对点传输,而是C-S-C模式,客户端之间的通信是由服务端交互转发的,所以查出来的是代理服务器的IP。后面通过qq传输20mb的图片文件成功查询到了,推测在qq上传输较大的图片文件则会建立点对点连接。

  • 问题2:nmap扫描时会显示操作时间,发现时间是EST时间,和主机时间不一样

  • 问题2解决方案:linux默认时间是格林威治时间,可以通过下面的命令修改为上海时间

    tzselect
    依次选择Asia - China - Beijing Time - Yes
    echo "ZONE=Asia/Shanghai" >> /etc/sysconfig
    rm -f /etc/localtime     # 链接到上海时区文件       
    ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    reboot
    
  • 问题3:nmap在kali机上扫不出两台靶机的udp端口,输入命令后会一直卡住,如图。

    image-20250307105842006

  • 问题3解决方案:一开始没找出这个问题的原因,但是只要换成用seed,先扫描整个网段的活跃主机,再输入namp命令扫两台靶机的udp端口就能扫出来。扫出来的结果是所有端口都open|filtered,也就是所有端口的返回不足以让nmap区分出其状态。后面调整好kali的网络问题,就能够扫出来udp端口,也还是所有端口都open|filtered。

  • 问题4:nmap在kali上查看靶机操作系统会查不出来,而且需要等待很久才有返回,如图。

    image-20250307203834801

  • 问题4解决方案:kali的网络问题,需要通过参考资料中的联网教程连接上网络。一定要在连上网的前提下,才能返回到正确的操作系统版本。在这一步如果使用seed会返回NAS设备,使用windows xp甚至会返回mac os。而且还得看运气,使用kali有时候会返回一系列猜测内容,把linux和win的各种系统都包括了,如图。

    image-20250307215805777

  • 问题5:群里的激活码显示已经使用。

  • 问题5解决方案:用自己的邮箱注册一个即可获得激活码。

  • 问题6:Nessus插件安装后还是显示没有插件。

  • 问题6解决方案:关闭Nessus服务,更新插件后重启,然后等待一会再去浏览器查看。这个过程我重复了三四遍,个人认为重点在于等待一会,因为最后一遍我出去上个卫生间回来就好了。

4. 学习感悟、思考

通过这次试验,我发现第一次实验能够ping通不同网段的靶机是因为网络时好时坏,运气好连上网了就能ping通。在这次实验中我设置好了网络问题,就能够一直ping通了,但还存在不时断开的情况,这时候多重启几次网络服务就好了。

这次实验中,想要检测到不同网段的靶机需要漫长的等待,我在用Nessus扫描漏洞的过程足足有四十五分钟。但是扫描出来了很多的安全漏洞,一个个去研究查询的过程很有意思,我了解到了关于SSL,TLS以及CBC加密模式,RC4加密等不安全的问题,很容易通过中间人攻击或者信息传输连接建立的过程中被破解,从而导致安全事故。

总的来说,这次实验让我对于网络安全工作的重要性有了更深的认识,很多时候我们只是使用网络,却不在意连接是怎样建立的,软件上的忽视是如此,硬件上就更不用说了。网络安全漏洞是信息化璀璨皇冠背后的阴影,网络安全工作也是大部分时候不为大众所重视的工作,但是作为这个领域深耕的我们,还是要打起十二分的精神,做默默奉献的守卫者。

参考资料

  1. Kali 时间修改 - Kevin.H - 博客园

  2. kali linux网络配置之NAT模式_kali的nat配置-CSDN博客

  3. 100%解决VMware虚拟机NAT上网方式,保姆教学_vmware虚拟机nat怎么联网-CSDN博客

  4. https://blog.csdn.net/m0_68472908/article/details/137255414

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/897197.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ubuntu 20.4安装.Net 9

20.4默认包时没有.Net 9 需要用脚本形式安装wget https://dot.net/v1/dotnet-install.sh -O dotnet-install.sh给执行权限chmod +x ./dotnet-install.sh可以通过 --channel 参数更改特定主要版本来指示特定版本。 以下命令安装 .NET 9.0 SDK。./dotnet-install.sh --channel 9.…

用DeepSeek+可灵AI+剪映制作哪吒2走T台秀AI视频 (保姆级教程)

内容首发周老师的付费社群,挑其中部分内容免费同步给公号读者今天给大家分享如何利用DeepSeek这类AI工具,制作哪吒2走T台秀视频,保姆级的制作方法,简单易懂,小白也能轻松上手。 关键操作,分为四步:1、用DeepSeek生成提示词 2、用AI生成图片 3、图生视频 4、视频剪辑合并…

修改Python的pip默认安装路径

修改Python的pip默认安装路径 修改site.py文件 查看pip下载位置 python -m site修改site.py文件内容 site.py文件位置在于python安装位置打开文件修改几处内容将ENABLE_USER_SITE=None改为ENABLE_USER_SITE=True修改USER_SITE和USER_BASEUSER_SITE修改的文件内容:USER_BASE修改…

Kubernetes 创建 Deployment 的完整流程解析

Kubernetes 创建 Deployment 的完整流程解析 当在 Kubernetes 中执行 kubectl apply -f deployment.yaml 时,背后发生了什么?本文将深入解析从 YAML 文件到运行 Pod 的完整流程。执行 kubectl apply -f deployment.yaml 后,涉及的组件和流程如下:apiVersion: apps/v1 kind:…

【设计模式】如何使用适配器模式让不兼容的类协同工作?

概述 如果去欧洲国家旅游的话,他们的插座如下图最左边,是欧洲标准。而我们使用的插头如下图最右边的。因此我们的笔记本电脑,手机在当地不能直接充电。所以就需要一个插座转换器,转换器第1面插入当地的插座,第2面供我们充电,这样使得我们的插头在当地能使用。生活中这样的…

一键部署QwQ-32B推理模型,2种方式简单、快速体验

QwQ-32B推理模型正式发布并开源,凭借其卓越的性能和广泛的应用场景,迅速在全球范围内获得了极高的关注度。基于阿里云函数计算 FC提供算力,Serverless+ AI 云原生应用开发平台 CAP现已提供模型服务、应用模板两种部署方式辅助您部署QwQ 32B系列模型。您选择一键部署应用模板…

No.53 ES6---Async函数

一、Async 函数ES2017 标准引入了 async 函数,使得异步操作变得更加方便。 async函数可以将异步操作变为同步操作。<script>function print(){//定时器是异步的setTimeout(()=>{console.log("定时器");},2000)console.log("hello")} print(); …

Redis--Lesson03--Redis基础

基础命令 Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,同时通过Redis Sentine…

Acunetix v25.3 发布,新增功能概览

Acunetix v25.3 发布,新增功能概览Acunetix v25.3 (Linux, Windows) - Web 应用程序安全测试 Acunetix | Web Application Security Scanner 请访问原文链接:https://sysin.org/blog/acunetix/ 查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org重要提示 Acunetix…

Linux系统离线安装Docker

某些时候需要使用Docker环境,但存在服务器无法联网或者其他情况,需要离线安装Dokcer,本次记录Oracle Linux 7环境下安装Docker: 1、下载Docker二进制文件 下载地址:https://download.docker.com/linux/static/stable/x86_64/ 选择需要安装的版本,如下载docker-27.2.1 2、使…

Windows和mac OS共用VMware虚拟机

在Windows下使用VMware Workstation Pro创建的虚拟机,是以文件夹形式存储在硬盘中的,在mac OS中对应的虚拟机产品是VMware Fusion,那么在Windows下创建的虚拟机怎么在mac OS中使用呢?在下图中我们可以看到,Windows 10是在Windows下创建的虚拟机。 选择该目录,按下enter(…

【第一篇】如何高效利用多功能调试器上的EEPROM

EEPROMEEPROM是一种带电可擦的可编程只读存储器,相较于FLASH来说,EEPROM的寿命更长,写入数据之前不需要先进行擦写操作。目前市面上常见的eeprom的型号多为at24cxx,其中有02,04,08,16,32等等。在多功能调试器上加入EEPROM的目的:主要是起一个学习作用,因为在多功能调…