back to blog

DownUnderCTF 2025 — zeus (100 pts)

Description

Dear CSI,

To Zeus Maimaktes, Zeus who comes when the north wind blows, we offer our praise, we make you welcome!

Regards,
jzt

Attachments

Solution

This is a pretty easy challenge. We were given a binary file named zeus

jedi@aqua: /mnt/d/CTF/ductf/beginner
$ file zeus                                                                                                              
zeus: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=95542c1d888f30465172c1c77dd1eef1109b4c29, for GNU/Linux 3.2.0, not stripped

After that, we can try to open it with IDA

From the main function of the binary, we see that there is some data that is saved in several variable, and a function named xor, with the key is Maimaktes1337

There is also a conditional if that is checking 3 things : is there exist 3 arguments? is the second argument is “-invocation”? is the third argument is the string “To Zeus Maimaktes, Zeus who comes when the north wind blows, we offer our praise, we make you welcome!” ?

There are 2 ways to solve this

  1. Use the parameter invocation
  2. Xor the data manually

Because i wanna keep it simple, we can just use the run this to get the flag

./zeus -invocation 'To Zeus Maimaktes, Zeus who comes when the north wind blows, we offer our praise, we make you welcome!'

Flag

DUCTF{king_of_the_olympian_gods_and_god_of_the_sky}