There is not so much open ports so let's enumerate the HTTP port. It is the default page of apache2
framework. I use feroxbuster tool for fuzzing, and I found an interesting directory.
Exploitation
In /app I found the main website folder /pluck-4.7.13. If you search on exploit-db you will find an exploit to get a shell.
Next step is to enumerate this machine and get access as a user. In /opt I found 2 interesting files -> getDreams.py and test.py where I found the password for lucien
In the home directory you will find the first flag.
When I login as a user with a password first thing I use sudo -l command to see if that user can run commands as root.
It seems that when I run the script in home directory of death user it will print out a name and for each name a desire. I remember that I see this file name in /opt, so I can see the code behind this output.
In this script it is a issue. Selects the dreamer and dream columns and will execute the query.
So we need to put a backdoor in database and execute the python code and we will obtain a shell as death
The password for database is not the same as ssh connection. After a lot of enumeration I found the password in .bash_history file.
In home directory of death user you can get the second flag.
After a lot of enumeration I need some help to get the next flag. I see in the home directory of morpheus user a python code that imports copy2 from shutil module. Finally I see that the death user can edit /usr/lib/python3.8/shutil.py file.
Put a backdoor in this file and get a reverse shell.
Open a listener and you will get a shell. In the home directory of morpheus you will found the flag.