Autorev 1 writeup

Descripción

You think you can reverse engineer? Let’s test out your speed

Autorev 1 solución

Al lanzar la instancia nos podremos conectar a un servidor que nos proporcionará un binario y un tiempo límite de un segundo:

Welcome! I think I'm pretty good at reverse enginnering. There's NO WAY anyone's better than me. Wanna try? I have 20 binaries I'm going to send you and you have 1 second EACH to get the secret in each one. Good luck >:)
2147356125
Here's the next binary in bytes:

En este caso, el secreto es la cadena de números anterior al texto ‘Here’s the next binary in bytes:’. Sin embargo, no nos dará tiempo a copiar, pegar y enviar esta cadena 20 veces.

Para ello, tendremos que realizar un código en Python que devuelva esta cadena nada más la reciba 20 veces:

from pwn import *

HOST="mysterious-sea.picoctf.net"
PORT=59121

target_proc = remote(HOST, PORT) # Nos conectamos al servidor
target_proc.recvuntil(b'Good luck >:)\n') # Esperamos que el servidor nos devuelva 'Good luck >:)'

for i in range (20): # Iteramos 20 veces, dado que nos enviarán 20 binarios
  secret = target_proc.recvline() # Tomamos la primera línea
  target_proc.recvuntil(b'What\'s the secret?:') #E speramos hasta recibir 'What\'s the secret?:'
  target_proc.sendline(secret[0:-1]) # Enviamos el secreto sin el salto de línea
  print(target_proc.recvline()) # Imprimimos por consola el resultado

target_proc.interactive() #Paramos la automatización para ver qué más nos pide el CTF (en este caso nos da la Flag)

Al ejecutar el código obtendremos la flag:

Finalizando así este CTF.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *