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.
Consultor de ciberseguridad especializado en continuidad de negocio y respuesta ante incidentes. Interesado en analizar tecnologías desde una perspectiva de seguridad y descubrir su comportamiento real.
