Hack.lu CTF 2017 Indianer Write Up

This is a writeup of the Indianer challenge from Hack.lu 2017

The challenge was tagged Web/Pwn.

Initially, the challenge included a binary and a link to a regular website that had a "super secret" backdoor.

After downloading and unzipping, we noticed the .so file header on the binary, indicating that it was a shared object. This meant it was a small part of a code base that we did not have access to. There was also nothing that could be executed within the file meaning dynamic analysis was not a plausible strategy. Fortunately, after opening the file in Binary Ninja we uncovered a few key points that brought forth some clarity.

The binary was loaded before libc to overwrite the strlen function. Analyzing the control flow of strlen revealed the abnormality and exploit.

Disassembly