Leviathan is a wargame that has been rescued from the demise of intruded.net, previously hosted on leviathan.intruded.net. ~ OverTheWire
Recommended reading material:
Level 0
- Description: The password is present on the website.
Level 1
- Description: The password is present in the hidden directory
.backupinside thebookmarks.htmlfile. Recommending the use ofgrep -r passfor a recursive grep.
Level 2
- Description:
r2 analyse mainAnalyse themain()function using radare2 and look for it in the disassembled code.
Level 3
- Description: Use
ltraceto trace library calls. Examine spaces properly and see which part is extracted to check for permission. Then use a symlink to the password file.
Level 4
- Description: Just
ltracethe binary to see which string its being compared with usingstrcmp().
Level 5
- Description: Run the binary present in the
.trashdirectory and and convert the output to ASCII chars. Beautiful Python one liner:print(''.join([ chr(int(i,2)) for i in "00110000 01100100 01111001 01111000 01010100 00110111 01000110 00110100 01010001 01000100 00001010".split() ])).
Level 6
- Description: The
/tmp/file.logshould be a symlink to the password file, and should be read quickly before its deleted.
Level 7
- Description: Inspect the binary with
radare2and find the number that’s in a specific variable. Convert that to decimal and use it as the 4 digit code.