Runtime Environment
Challenge Description
GO and try to solve this basic challenge.
FAQ: If you found the input leading to the challenge.txt you are on the right track
MD5 (gogogo.tar.gz) = 5515f1c3eee00e4042bf7aba84bbec5c
rootkid
Challenge Details
In this challenge, we are given a binary and an encoded file:
GvVf+fHWz1tlOkHXUk3kz3bqh4UcFFwgDJmUDWxdDTTGzklgIJ+fXfHUh739+BUEbrmMzGoQOyDIFIz4GvTw+j--
The challenge was evidently written in go as deduced from the challenge description and confirmed when running file
on it which shows it GO build id:

For this challenge, I used a set of IDA plugns found in this github repository which helps me identify go library functions and user-defined functions:
https://github.com/sibears/IDAGolangHelper
Upon running, the binary takes input from the user and prints out the encoded string:

Upon running it a few times with similar input as shown above, I realised that it feels like a base64 encoded string however, a normal base64 encoder says otherwise:

So i decided to look at the encoding function for the binary and found a 64 characters long string that have no repeating characters and a while loop that runs for 3 times and does it a final time after the loop:



This means that the challenge creator used a custom base64 string :NaRvJT1B/m6AOXL9VDFIbUGkC+sSnzh5jxQ273d4lHPg0wcEpYqruWyfZoM8itKe
and -
as the padding and ran the encoder 4 times!
Challenge Solution
Simply put the encoded chars through a base64 decoder 4 times using the custom base64 string and padding:




Flag: grey{B4s3d_G0Ph3r_r333333}
Last updated