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

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. 学习感悟、思考

这次实验中,一开始遇到很多问题,根源都在于网络设置上,设置好网络是这次试验的先决条件,尽管设置好了有时候还是会断开,这时候多重启几次网络服务就好了。而想要检测到不同网段的靶机需要漫长的等待,我在用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

posted @ 2025-03-11 12:32  放放q  阅读(64)  评论(0)    收藏  举报