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

20242410

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

1. 基础知识

本实验围绕后门原理、反弹 Shell、持久化后门、缓冲区溢出漏洞(pwn)开展实验,核心知识点如下:

  1. 后门概念:后门是攻击者在目标主机植入的程序 / 代码,用于绕过身份验证,隐秘获取远程 Shell 控制权限。分为正向 Shell(主动开放端口等待连接)与反弹 Shell(目标主机主动向外发起连接,常可绕过防火墙出站策略)。
  2. netcat(nc)/socat:网络瑞士军刀,可实现端口监听、TCP/UDP 数据收发,实验用来构建反弹 Shell,也可作为文件传输工具。
  3. cron (Linux 定时任务):Linux 内置定时任务守护进程,可以按设定周期执行命令,本实验用于实现后门持久化,机器重启或会话断开后定时拉起反弹 Shell。Windows 对应的是任务计划程序。
  4. Metasploit Framework(MSF):知名渗透测试框架,msfvenom用于生成后门可执行文件与 shellcode,meterpreter 是其高级后门载荷,支持摄像头、麦克风、击键记录、音频采集、权限提升等后渗透功能。
  5. 缓冲区溢出原理:程序未严格校验输入长度,超长输入覆盖栈上返回地址,劫持程序执行流,注入 shellcode 执行任意代码;shellcode 是机器码指令,用于获取反弹 Shell,是二进制 Pwn 实验核心。
  6. 免杀基础概念:后门容易被杀毒软件、EDR 查杀,免杀通过编码、加密、加壳、代码混淆等手段规避安全软件特征码检测;实验环境下,直接编译的后门极易触发杀毒告警。

2. 实验内容

实验一共 5 个子任务,在隔离实验环境(Kali Linux 为攻击机,Windows/Linux 作为靶机)完成后门相关验证:

  1. 使用 netcat 获取主机操作 Shell,利用 cron 配置定时任务,实现反弹 Shell 持久化。
  2. 使用 socat 获取主机操作 Shell,配合系统任务计划程序实现后门自启动。
  3. 使用 MSF meterpreter 生成 Windows 后门可执行文件,通过 ncat/socat 传输后门到靶机,执行后门获取目标主机 Shell。
  4. 使用 MSF 生成具备音频、摄像头、击键记录功能的后门,在靶机运行,尝试进行权限提升。
  5. 使用 MSF 生成 shellcode,注入 pwn1 漏洞程序,利用缓冲区溢出漏洞,获取反弹连接 Shell。

3. 实验过程

任务 1 netcat + cron 反弹 Shell

alt text
alt text
alt text

  1. 在 Kali 攻击机开启端口监听nc -lvp 2410。
  2. 在 Linux 靶机配置 cron 定时任务,写入任务,定时执行 nc 反弹 shell 命令,目标连接 Kali 监听端口。
  3. cron 任务生效后,Kali 成功收到反弹 Shell,可执行系统命令,截图留存。
  4. 验证持久化:重启靶机后,等待定时任务触发,验证后门自动连接。

任务 2 socat + 任务计划程序获取 Shell

alt text
alt text

  1. Kali 监听端口,准备 socat 监听服务。
  2. 在 Windows 靶机部署 socat 客户端,编写命令建立反弹连接。
  3. Windows 任务计划程序创建任务,设置触发器,开机 / 定时自动执行 socat 反弹脚本。
  4. 触发任务,Kali 获取靶机 Shell,验证远程命令执行功能,截图保存操作界面。

任务 3 MSF 生成后门,传输并执行

alt text
alt text
alt text
alt text

  1. Kali 使用 msfvenom 生成 Windows 平台 meterpreter 后门 exe。
  2. 使用 ncat/socat 搭建文件传输通道,将后门文件传输到 Windows 靶机。
  3. 在靶机执行后门程序,攻击机 MSF 的 meterpreter 会话成功建立,获得靶机控制 Shell。
  4. 测试基础命令:查看系统信息、目录浏览等。

任务 4 多功能 meterpreter 后门,后渗透与提权

alt text
alt text
alt text

  1. 重新生成包含摄像头、录音、键盘记录功能的 meterpreter 后门。
  2. 将后门传到靶机,运行建立 meterpreter 会话。
  3. 使用 meterpreter 内置命令:开启摄像头拍摄、音频录制、记录键盘击键记录。
  4. 执行提权相关命令,尝试提升当前会话权限,记录权限提升成功 / 失败结果。

任务 5 shellcode 注入 pwn1,缓冲区溢出获取反弹 Shell

alt text
alt text
alt text
alt text
alt text

  1. 利用 MSF 生成 Linux 下 shellcode,计算缓冲区溢出偏移量,确定覆盖返回地址的字节长度。
  2. 构造 payload:缓冲区填充数据 + shellcode,输入给存在缓冲区溢出漏洞的 pwn1 程序。
  3. 运行 pwn1,触发溢出漏洞,劫持程序执行流,执行 shellcode。
  4. Kali 开启监听,成功收到 pwn1 反弹 Shell,完成截图记录。

4. 问题及解决方案

  • 问题 1:netcat 反弹 shell,cron 任务执行后 Kali 没有收到 shell 连接。
  • 问题 1 解决方案:①检查靶机与攻击机网络连通性,确认 IP、端口正确;②cron 环境变量受限,命令写全绝对路径;③检查防火墙放行端口,关闭虚拟机防火墙限制;④增加日志输出查看 cron 执行报错。
  • 问题 2:socat 连接提示 Connection reset by peer,建立连接失败。alt text
  • 问题 2 解决方案:①确认两端 socat 版本一致;②更换可用端口,确认端口没有被占用;③检查 Windows 防火墙出站策略;②改用简化测试命令,排查网络丢包问题。
  • 问题 3:MSF 生成的后门文件传到 Windows 靶机,被杀毒软件直接删除 / 隔离。
  • 问题 3 解决方案:实验环境下临时关闭 Windows Defender 实时保护;学习免杀基础原理,简单编码 / 加密载荷规避特征码查杀;仅在隔离虚拟机实验环境测试,禁止在真实主机运行后门程序。
  • 问题 4:pwn1 缓冲区溢出实验,输入 pattern 字符串,rip 寄存器的值仍然是程序原始代码地址,无法覆盖返回地址。
  • 问题 4 解决方案:①使用file ./pwn1_liuyu_20242410确认程序是 32/64 位架构,匹配对应 payload;②增大 pattern 字符串长度,保证输入长度足够覆盖栈上返回地址;③在 gdb 内分步调试,单步跟踪栈内存,观察栈上数据覆盖情况。

5. 学习感悟、思考等

通过本次后门原理与缓冲区溢出实验,直观理解了反弹 Shell、持久化后门和缓冲区溢出漏洞的底层工作机制。
实验发现后门攻击的核心,是利用程序漏洞或定时任务实现代码持久化执行,反弹 Shell 相比正向 Shell 更容易穿透防火墙。同时也认识到:后门、漏洞利用工具威力强大,一旦被恶意使用会造成严重安全危害,这类工具只能在授权隔离的实验环境使用,严禁用于未授权主机。

实验过程中遇到了网络连通、端口监听、栈溢出偏移计算等各类问题,排查过程锻炼了调试、排错思路。缓冲区溢出让我明白程序输入校验的重要性,缺少输入长度检查极易被劫持程序流。
同时了解到免杀技术是攻防对抗的持续博弈,杀毒软件通过特征码识别恶意程序,攻击者不断修改代码规避检测,攻防双方持续对抗。本次实验让我对网络安全攻防的对立统一有了更深体会,攻防技术是一把双刃剑,必须严格遵守法律法规,仅用于学习和授权安全测试。

posted @ 2026-10-18 21:28  终极无敌暴龙战士  阅读(1)  评论(0)    收藏  举报