Skip to content

Commit b0213c4

Browse files
committed
Updated READMEs
1 parent fb833a7 commit b0213c4

File tree

6 files changed

+55
-46
lines changed

6 files changed

+55
-46
lines changed

ARM32/README.md

+33-26
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,55 @@
11
# Shellcodes Linux ARMv7 (32 bits)
22

3-
Voici une collection de shellcodes pour Linux ARMv7, pour l'instant ceux-là sont disponibles j'en rajouterai sûrement à l'avenir.
3+
Linux ARMv7 shellcode collection without any nullbytes, spaces or newlines.
44

5-
### **[exit(0) (16 octets)](https://github.com/voydstack/shellcoding/tree/master/ARM32/exit)**
5+
### **[exit(0) (16 bytes)](https://github.com/voydstack/shellcoding/tree/master/ARM32/exit)**
66

7-
Sort du programme en cours d'exécution avec 0 en code de retour.
7+
Simply exits.
88

9-
### **[Hello, World (43 octets)](https://github.com/voydstack/shellcoding/tree/master/ARM32/hello)**
9+
### **[Hello, World (36 bytes)](https://github.com/voydstack/shellcoding/tree/master/ARM32/hello)**
1010

11-
Affiche "Hello, World !\n" puis quitte le programme.
11+
Displays "Hello,World!".
1212

13-
### **[/bin/sh (28 octets)](https://github.com/voydstack/shellcoding/tree/master/ARM32/shell)**
13+
### **[/bin/sh (28 bytes)](https://github.com/voydstack/shellcoding/tree/master/ARM32/shell)**
1414

15-
Ouvre un shell sans fixer les permissions.
15+
Executes `execve("/bin/sh", NULL, NULL)`.
1616

17-
### **[setreuid /bin/sh (40 octets)](https://github.com/voydstack/shellcoding/tree/master/ARM32/setreuid-shell)**
17+
### **[setreuid /bin/sh (40 bytes)](https://github.com/voydstack/shellcoding/tree/master/ARM32/setreuid-shell)**
1818

19-
Ouvre un shell en fixant les permissions avec setreuid(1000, 1000).
19+
Executes `setreuid(1000, 1000); execve("/bin/sh", NULL, NULL)`.
2020

21-
### **[bindshell (104 octets)](https://github.com/voydstack/shellcoding/tree/master/ARM32/bind-shell)**
21+
### **[bindshell (92 bytes)](https://github.com/voydstack/shellcoding/tree/master/ARM32/bind-shell)**
2222

23-
Attache un shell au port 1337.
23+
Runs a bind-shell on port 4444.
2424

25-
### **[reverse shell (84 octets)](https://github.com/voydstack/shellcoding/tree/master/ARM32/reverse-shell)**
25+
### **[reverse shell (72 bytes)](https://github.com/voydstack/shellcoding/tree/master/ARM32/reverse-shell)**
2626

27-
Se connecte en retour à l'adresse 192.168.1.64 au port 1337.
27+
Runs a reverse shell on 127.0.0.1:4444.
2828

29-
### **[read /etc/passwd (52 octets)](https://github.com/voydstack/shellcoding/tree/master/ARM32/readfile)**
29+
### **[read /etc/passwd (56 bytes)](https://github.com/voydstack/shellcoding/tree/master/ARM32/readfile)**
3030

31-
Lit un fichier (dans ce cas là /etc/passwd) et affiche son contenu sur stdout.
31+
Reads a file (/etc/passwd in the shellcode).
3232

33-
## Modifier et assembler un shellcode
33+
### **[read second stage (20 bytes)](https://github.com/voydstack/shellcoding/tree/master/ARM32/read-stage)**
3434

35-
Pour modifier les shellcodes présents ici, par exemple pour changer le numéro de port, il suffit de faire la modification directement dans le code du shellcode, puis de l'assembler avec la commande:
35+
Reads a second stage shellcode next to it.
3636

37-
```sh
38-
as shellcode.s -o shellcode.o && ld shellcode.o -N -o shellcode
39-
objcopy -O binary shellcode shellcode.bin && rm shellcode.o shellcode
37+
38+
39+
### Assemble shellcodes
40+
41+
```
42+
arm-linux-gnueabihf-gcc shellcode.s -c && arm-linux-gnueabihf-ld shellcode.o -o shellcode
43+
arm-linux-gnueabihf-objcopy -O binary shellcode shellcode.bin && rm shellcode.o shellcode
44+
```
45+
46+
### Run shellcodes
47+
48+
```
49+
qemu-arm -L /usr/lib/arm-linux-gnueabihf/ ./executor < shellcode.bin
4050
```
4151

42-
Pour le tester, on peut utiliser le programme executor qui va mapper une zone mémoire exécutable puis l'exécuter avec notre shellcode à l'intérieur.
52+
### References
4353

44-
```sh
45-
cat shellcode.bin | ./executor
46-
# Ou encore
47-
./executor "$(cat shellcode.bin)"
48-
```
54+
- [https://azeria-labs.com/writing-arm-shellcode/](https://azeria-labs.com/writing-arm-shellcode/)
55+
- https://www.ic.unicamp.br/~ranido/mc404/docs/ARMv7-cheat-sheet.pdf

aarch64/README.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# Linux Shellcodes - aarch64 (ARM 64 bits)
1+
# Linux aarch64 Shellcodes (ARM 64 bits)
22

3-
Here is a aarch64 nullbyte-free shellcode collection.
3+
Linux aarch64 shellcode collection without any nullbytes, spaces or newlines.
44

55
### **[exit(0) (12 bytes)](https://github.com/voydstack/shellcoding/tree/master/aarch64/exit)**
66

@@ -41,7 +41,7 @@ aarch64-linux-gnu-as shellcode.s -o shellcode.o && aarch64-linux-gnu-ld shellcod
4141
aarch64-linux-gnu-objcopy -O binary shellcode shellcode.bin && rm shellcode.o shellcode
4242
```
4343

44-
Run shellcodes:
44+
### Run shellcodes:
4545

4646
```sh
4747
./executor [start offset] < shellcode.bin

mips32/README.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# Linux Shellcodes - MIPS (MIPS 32 bits, big endian)
1+
# Linux MIPS Shellcodes - (32 bits, big endian)
22

3-
MIPS shellcode collection without any nullbytes, spaces or newlines.
3+
Linux MIPS shellcode collection without any nullbytes, spaces or newlines.
44

55
### **[exit(0) (12 bytes)](https://github.com/voydstack/shellcoding/tree/master/mips32/exit)**
66

@@ -39,7 +39,7 @@ mips-linux-gnu-objcopy -O binary shellcode shellcode.bin && rm shellcode.o shell
3939
./assemble.sh
4040
```
4141

42-
Run shellcodes:
42+
### Run shellcodes:
4343

4444
```sh
4545
./executor [start offset] < shellcode.bin

risc-v/README.md

+8-5
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# Linux Shellcodes - MIPS (MIPS 32 bits, big endian)
1+
# Linux Shellcodes - RISC-V (64 bits)
22

3-
Here is a RISC-V space, newline and null-byte free shellcode collection.
3+
Linux RISC-V shellcode collection without any nullbytes, spaces or newlines.
44

55
### **[exit(0) (32 bytes)](https://github.com/voydstack/shellcoding/tree/master/risc-v/exit)**
66

@@ -32,7 +32,9 @@ Reads a file and displays its output to stdout.
3232

3333
### **[read second stage (38 bytes)](https://github.com/voydstack/shellcoding/tree/master/risc-v/read-stage)**
3434

35-
Reads a second-stage shellcode next to it (position independent)
35+
Reads a second-stage shellcode next to it (position independent).
36+
37+
3638

3739
## Assemble shellcodes
3840

@@ -41,7 +43,7 @@ riscv64-linux-gnu-gcc shellcode.s -c && riscv64-linux-gnu-ld shellcode.o -o shel
4143
riscv64-linux-gnu-objcopy -O binary shellcode shellcode.bin && rm shellcode.o shellcode
4244
```
4345

44-
Run shellcodes:
46+
### Run shellcodes:
4547

4648
```sh
4749
qemu-riscv64 -L /usr/riscv64-linux-gnu/ ./executor < shellcode.bin
@@ -53,4 +55,5 @@ qemu-riscv64 -L /usr/riscv64-linux-gnu/ ./executor < shellcode.bin
5355
- [http://csl.snu.ac.kr/courses/4190.307/2020-1/riscv-user-isa.pdf](http://csl.snu.ac.kr/courses/4190.307/2020-1/riscv-user-isa.pdf)
5456
- [https://www.cs.sfu.ca/~ashriram/Courses/CS295/assets/notebooks/RISCV/RISCV_CARD.pdf](https://www.cs.sfu.ca/~ashriram/Courses/CS295/assets/notebooks/RISCV/RISCV_CARD.pdf)
5557
- [https://modexp.wordpress.com/2017/09/11/shellcode-linux-risc-v/](https://modexp.wordpress.com/2017/09/11/shellcode-linux-risc-v/)
56-
- [https://î.fr/riscv-alphanumeric-shellcoding/defcon27_riscv-alphanumeric-shellcoding.pdf](https://î.fr/riscv-alphanumeric-shellcoding/defcon27_riscv-alphanumeric-shellcoding.pdf)
58+
- [https://î.fr/riscv-alphanumeric-shellcoding/defcon27_riscv-alphanumeric-shellcoding.pdf](https://î.fr/riscv-alphanumeric-shellcoding/defcon27_riscv-alphanumeric-shellcoding.pdf)
59+

x64/README.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# Shellcodes Linux x64
1+
# Linux x64 Shellcodes
22

3-
x64 shellcode collection without any nullbytes, spaces or newlines.
3+
Linux x64 shellcode collection without any nullbytes, spaces or newlines.
44

55
### **[exit(0) (8 bytes)](https://github.com/voydstack/shellcoding/tree/master/x64/exit)**
66

@@ -34,15 +34,15 @@ Reads a file (/etc/passwd in the shellcode).
3434

3535
Reads a second stage shellcode next to it.
3636

37-
Assemble shellcodes:
37+
### Assemble shellcodes:
3838

3939
```sh
4040
./assemble.sh # Assembles every shellcodes in this directory
4141
# or
4242
nasm -f bin shellcode.asm -o shellcode.bin
4343
```
4444

45-
To test shellcodes:
45+
### Run shellcodes:
4646

4747
```sh
4848
./executor < shellcode.bin

x86/README.md

+4-5
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# Shellcodes Linux x86
1+
# Linux x86 Shellcodes
22

3-
x86 shellcode collection without any nullbytes, spaces or newlines.
3+
Linux x86 shellcode collection without any nullbytes, spaces or newlines.
44

55
### **[exit(0) (7 bytes)](https://github.com/voydstack/shellcoding/tree/master/x86/exit)**
66

@@ -34,16 +34,15 @@ Reads a file (/etc/passwd in the shellcode).
3434

3535
Reads a second stage shellcode next to it.
3636

37-
38-
Assemble shellcodes:
37+
### Assemble shellcodes:
3938

4039
```sh
4140
./assemble.sh # Assembles every shellcodes in this directory
4241
# or
4342
nasm -f bin shellcode.asm -o shellcode.bin
4443
```
4544

46-
To test shellcodes:
45+
### Run shellcodes:
4746

4847
```sh
4948
./executor < shellcode.bin

0 commit comments

Comments
 (0)