20242406《网络与系统攻防技术》实验二实验报告

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

一.基础知识

1.Shell:命令解释器。拿到目标 Shell = 在目标主机上执行命令。

  • 正向 Shell:目标机器监听端口,攻击机主动连接目标。
  • 反弹 Shell:攻击机监听端口,目标主动发起连接回连攻击机。

2. 后门:入侵后维持权限的程序 / 配置,目的:再次随时进入目标主机,不一定需要再次利用漏洞。

3. 持久化:让后门在目标重启之后依然能自动运行(Linux 用 cron、systemd;Windows 用注册表、服务、计划任务)。

4. Netcat(nc):网络瑞士军刀,读写 TCP/UDP 数据包,可做端口监听、端口转发、传输文件、获取 Shell。

5. Socat:增强版 nc,功能更强,支持更多数据流、SSL 加密,同样可监听、传文件、拿 Shell。

6. Metasploit Framework(MSF):渗透测试框架。

  • msfvenom:MSF 的载荷生成器,用来生成后门可执行程序、shellcode。
  • Meterpreter:MSF 高级后渗透载荷,运行在内存为主,落地文件少,自带大量后渗透功能(录音、摄像头、键盘记录、提权等)。

7. Shellcode:机器码(二进制指令),不依赖文件,直接注入进程内存执行,Pwn 漏洞利用中用来拿到反弹 shell。

二.实验内容

(1)使用netcat获取主机操作Shell,cron启动某项任务(任务自定)

PS:cron是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程

(2)使用socat获取主机操作Shell, 任务计划启动 

(3)使用MSF meterpreter(或其他软件)生成可执行文件(后门),利用ncat或socat传送到主机并运行获取主机Shell

(4)使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容的后门,并尝试提权

(5)使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell。

三.实验过程

任务一:使用netcat获取主机操作Shell,cron启动某项任务

1.关闭windows主机的防火墙和防病毒软件,下载netcat1.11。

2.监听获得虚拟机shell

监听成功。

在虚拟机中执行命令,让虚拟机主动连接到2406端口

连接成功,主机成功接管虚拟机shell。

3.配置cron定时启动任务

编辑 crontab 定时任务

添加定时反弹命令

配置成功

查看时程表情况,发现修改成功

验证成功,每隔一分钟就反弹一次shell

任务二:使用socat获取主机操作Shell, 任务计划启动

1.主机安装socat

启动监听 8888 端口,有连接时自动启动 cmd 交互终端

Kali 端连接,获取 Windows Shell,执行后终端会直接出现 Windows 的 cmd 提示符

2.配置任务计划启动

创建每分钟自动启动的定时任务:

等待一分钟后,再执行 netstat -an | findstr "8888",端口重新出现 LISTENING,说明任务计划自动启动了 socat。

再次用 Kali 执行连接命令,能正常拿到 Shell,任务计划启动的后门配置完成

任务三:使用MSF meterpreter生成可执行文件(后门),利用ncat或socat传送到主机并运行获取主机Shell

1. Kali 生成 Windows 后门可执行文件,执行命令

生成后门文件

Windows端启动监听

Kali端发送后门文件

新开一个 Kali 终端,启动 MSF 控制台:

依次输入命令配置监听

监听正常启动。

Powershell执行.\backdoor.exe

成功拿到 Meterpreter 会话:

任务四:使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容的后门,并尝试提权

1.在MSF框架的Meterpreter会话中输入常用的后渗透命令,进一步获取信息或实施监控

在对应目录下查看获取的文件:

2.尝试提权

通过命令getuid可查看初始用户名为:gxf02(我的姓名缩写)

执行内置命令getsystem尝试本地提权,利用命名管道模拟(Named Pipe Impersonation)方法成功获取权限;再次执行getuid验证,用户变为NT AUTHORITY\SYSTEM,提权成功,拥有系统最高权限:

任务五:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell

通过命令将一个Linux系统下的反向连接Meterpreter后门,注入到已有的合法程序/home/kali/pwn20242406,并生成一个新的、带有后门的可执行文件。

添加执行权限:

新开终端,启用msf监听:

在原shell中运行文件pwn_backdoor_20242406,在新shell中反弹连接建立:

四.问题及解决方案

问题1:已经关闭防火墙和防病毒软件,但是socat和netcat也无法正常启动

问题1解决方案:通过查看学长的实验报告得知,需要把文件夹和可执行文件全部放入防病毒软件的信任区后,才可正常使用。

问题2:任务三在传backdoor可执行文件时,传送成功后无法执行:

问题2解决方案:询问同学和ai工具,发现两个文件的哈希值不同,说明文件在传输过程中发生损毁,后续改用socat传输成功。

问题3:任务五正常捆绑后的 elf 大小应该和原程序差不多(原文件 7418 字节),你这里生成出来只有 123 bytes,说明 -x 模板捆绑失败,只输出了单独 payload,没有把原来的 pwn 程序打包进去,运行会直接报错。

问题3解决方案:询问同学和ai得知,msfvenom 使用 - x 嵌入模板时,无编码器情况下嵌入失败,仅输出独立 payload,没有把目标程序和后门合并,程序无法正常运行,这个是 Metasploit 本身的 bug。ai给出的解决方法是不使用模板捆绑-x,直接生成独立的 32 位 Linux 反弹 Meterpreter。

五.回答问题

(1)例举你能想到的一个后门进入到你系统中的可能方式?

打开钓鱼邮件里带恶意宏的 Office 文档,执行恶意代码,下载后门程序。

(2)例举你知道的后门如何启动起来(win及linux)的方式?

  • Windows:注册表自启动项、计划任务、服务、开机启动文件夹。
  • Linux:crontab 定时任务、systemd 自启动服务。

(3)Meterpreter有哪些给你映像深刻的功能?

  1. 反弹交互式 shell,远程操作被控主机。
  2. 屏幕截图、摄像头偷拍、记录键盘。

(4)如何发现自己有系统有没有被安装后门?

  1. 查看异常进程、陌生网络连接。
  2. 检查开机自启项、计划任务、陌生服务。
  3. 杀毒软件 / EDR 扫描。
  4. 查看系统日志,发现异常登录行为。

六.学习感悟思考

本次实验围绕后门与反弹 Shell 技术展开,我了解了 netcat 以及 meterpreter 的工作机制,掌握了后门载荷生成、监听配置、反弹连接的整套操作,借助反弹 Shell 实现对目标主机的基础远程命令控制,对后门攻击的实现流程形成直观认识。

实验期间也接连碰到不少故障,一开始没有留意载荷与系统架构的对应关系,选用 32 位 meterpreter 载荷后会话频繁断开,加上杀毒软件对后门文件进行拦截,多次尝试都无法成功建立连接。在不断排查、更换普通反弹 shell 载荷之后才顺利连通。排错的过程锻炼了我的问题分析能力,让我学会从环境、参数、安全防护多个角度定位故障。

总的来说,这次实验让我切身感受了后门与反弹 Shell 的攻防逻辑。实操和理论有不小差距,很多细节稍有疏忽就会失败。同时我也牢记,这类技术仅可在授权实验环境内学习使用。本次积累的调试经验,也会为之后的网络安全学习打下基础。

参考资料

0x13_MAL_使用netcat进行反弹链接的shellcode.md

0x12_MAL_Shellcode基础.md

posted @ 2026-10-18 15:04  好记的名字  阅读(3)  评论(0)    收藏  举报