Craft

Finally rooted!

Spent a good amount of time down a hole trying to crack the j*t - finding the vuln was fast but my god crafting was slow! Thanks @frazvan and @Angel235

Root was fun and all in the docs.

Fun box!

Spoiler Removed

Despite I got the foothold on the machine (limited shell), I couldn’t to get the user shell. Any small hints would be helpful.

Rooted!

Getting user is so much fun and a bit hard for root. Reading document is the way. Feel free to PM me if you need.

I`m an idiot. Tried to use 0.0.0.0 at last step… Then switched to 127… and it worked like a charm.

Type your comment> @abuyv said:

Despite I got the foothold on the machine (limited shell), I couldn’t to get the user shell. Any small hints would be helpful.

Note the tools used for the app. Some tool(s) is/are very good for enumerating purposes and tweaking some files may help you with that (not a good idea to do it in jail tho :confused: ). PM me if you need more help. Best of luck!

Finally got root!

Quick tip: don’t over-think it, everything you need is right there in front of you. Read the code!

Thanks to @lolxD for the help!

Rooted!
Really nice box, I very much enjoyed it!
For user, as The voice once said: the jailer is the key :wink:

Can anyone nudge me in the direction of the correct escaping/syntax on the RCE? I’m pretty sure I know the payloads(s) I can use, to verify command execution and a shell, but I don’t get anything back and only see the 500 error.

root@craft:~#

Wow, what a ride!
Don’t have enough words to describe this masterpiece! Well designed environment with actual cloud technologies and real life scenario with nudges left behind by the “developers”.
Thank you @rotarydrone !

It’s my 2nd favourite box !

Quick tips:

  1. Read the source code (leakage).
  2. Use python3 (requests) to automate 2 things. Strange responses ? Take into account the boolean logic :wink:
  3. Inside: enumerate with python3 (8 lines of code).
  4. Use the data from 3. Don’t overthink!
  5. Grab user.txt
  6. Enumerate, use the documentation, login as root, grab root.txt !

I Finally rooted it!
That was such a cool, realistic and interesting box.

The hints are all here in the forum already, but feel free to PM for nudges!

@S7uXN37 i’v sent you a PM

Type your comment> @laszlo said:

  1. Inside: enumerate with python3 (8 lines of code).

@laszlo can you recommend anything to read? Googling “enumerate with python” spits out nothing helpful…

https://netsec.ws/?p=309 - can’t get the tools inside the d…-c… could do enumeration by hand though… can su to two different users, but since I’m “root” already…

Is it possible to escalate privileges and escaping from a Docker container? - Information Security Stack Exchange…-c…

Spoiler Removed

Type your comment> @gorg said:

Type your comment> @laszlo said:

  1. Inside: enumerate with python3 (8 lines of code).

@laszlo can you recommend anything to read? Googling “enumerate with python” spits out nothing helpful…

Where the application stores data ? What binary is not available inside the docker ? Please check settings.py :wink:

Took me about 12 actual hours of work to fully root and mostly thanks to everyone who suggested hints in the forums.

User was interesting, ended up building my own server app to test the payload. Root was straightforward but that is to be expected in the real world as well.

Root took 10 seconds after getting user… perhaps it’s because I thought learning the tool was required for getting user since I didn’t see the *** key right away in the repo…

can someone throw me a hint on the RCE syntax for the initial foothold? I’m able to authenticate and verify that I can create new entries. I’ve even setup a local script to make sure my syntax was right and that an rshell inside the e*l function works locally but whenever I try to apply it to the box I either get that my abv is too high or an unhandled exception.

I’ve tried doing it through c**l, b*p and a py script none work and i’m beginning to lose my mind -_-’

@laszlo said:

Where the application stores data ? What binary is not available inside the docker ? Please check settings.py :wink:

autsch… this is my third machine, but with each one I get more and more the impression that the most important thing is to go through every file (shell) and page (web) very closely…

so far most things have been just right in front of me