Rapid7 Vulnerability & Exploit Database

Serve DLL via webdav server

Back to Search

Serve DLL via webdav server



This module simplifies the rundll32.exe Application Whitelisting Bypass technique. The module creates a webdav server that hosts a dll file. When the user types the provided rundll32 command on a system, rundll32 will load the dll remotly and execute the provided export function. The export function needs to be valid, but the default meterpreter function can be anything. The process does write the dll to C:\Windows\ServiceProfiles\LocalService\AppData\Local\Temp\TfsStore\Tfs_DAV but does not load the dll from that location. This file should be removed after execution. The extension can be anything you'd like, but you don't have to use one. Two files will be written to disk. One named the requested name and one with a dll extension attached.


  • Ryan Hanson <ryan.hanson@optiv.com>
  • James Cook <james.cook@optiv.com>




x86, x64


Module Options

To display the available options, load the module within the Metasploit console and run the commands 'show options' or 'show advanced':

msf > use exploit/windows/misc/webdav_delivery
msf exploit(webdav_delivery) > show targets
msf exploit(webdav_delivery) > set TARGET < target-id >
msf exploit(webdav_delivery) > show options
    ...show and set options...
msf exploit(webdav_delivery) > exploit

Time is precious, so I don’t want to do something manually that I can automate. Leveraging the Metasploit Framework when automating any task keeps us from having to re-create the wheel as we can use the existing libraries and focus our efforts where it matters.

– Jim O’Gorman | President, Offensive Security