I first ran the binary in order to see what it does.
$ ./babysthird
Enter your password:
Using the checksec utility, I saw the security properties of the file.
$ checksec babysthird
[*] '/home/hacker/csaw23/babysThird/babysthird'
Arch: amd64-64-little
RELRO: Full RELRO
Stack: Canary found
NX: NX enabled
PIE: PIE enabled
There's two important properties here:
NX enabled: This means that the stack is not executable. Therefore we cannot use a shellcode injection.
PIE enabled: This means that the executable is positionally independent. So the code and memory regions will have the same address every time we run it.
Before disassembling the executable, I opened the readme.txt file and saw an interesting line.
Most notably, binutils includes `objdump` and `strings`. One of those are what you need to solve this challenge...
So, then I used the strings utility to see if the flag was stored somewhere in plaintext.