@LMAY75 Yea I tried my damnedest to not ask for help, but i had to ask taz too. makes me laugh when i imagine the day he must have on here, like a drill instructor walking through a field of shananagans:
“Code with two hands boy, this isn’t a rap concert. Private, why will your exploit not fire?..your magazine is upside down son! How did YOU end up on your own botnet?”
:lol: :lol: :love:
As a JROTC guy I find this especially funny
To round off the comedy, 15 years ago I was a basic training sergeant/instructor.
Finally got root. This one was really hard to me but mostly because I’m not very good on the vector needed for privesc. BTW, if anyone knows about good resources to work on that, please DM me.
Really struggling with the exploit, have the creds already, but can’t do anything from there. Anybody can pm or give a little hint?
This box is marked HARD. The flow seems a bit easy/classic but it cannot work out of the box otherwsie the box would be easy. So you may be onto the right thing but he usual functions and checks you’d expect to use will not work. Find alternative functions or google for alternative functions to what you’d expect to work, but which doesn’t work.
Also, not showing any output doesn’t mean it didn’t work.
The flow is rather classic but the path is tortuous (at least it was for me). I needed hints, thanks @TazWake.
For those who found @sparkla’s script useful, check this one out https://github.com/mxrch/webwrap (a wee bit better).
My 2cents (everything has been said!):
Foothold: if you want to get a shell, bypassing the restrictions in place is googleable.
User1: one function will help you do what you need to do to get access. You can land directly here without the foothold above.
User2: enum.
Root: quite a common backdoor.
FInally I managed to get root.
Thanks for great machine @D4nch3n. I learned something new especially about php backdoors. Also searching for compromise leftovers was something new for me - guess I wouldn’t be a good sysadmin
Many thanks @TazWake and @LMAY75 for your great hints along the way.
Umm, Hey guys just started the box today found the backup and an exploit for “l*** c***” but it requires the user credentials. Can someone help or if i am going down a rabbit hole please alert me!!
Umm, Hey guys just started the box today found the backup and an exploit for “l*** c***” but it requires the user credentials. Can someone help or if i am going down a rabbit hole please alert me!!
You are on the right track , enumerate through the backup… as other comments have mentioned it is very worthwhile learning grep,find,locate to help with your searching. Another helpful comment was pay attention to dates
User:Find correct vuln web to upload webshell and search some creds with webshell.
Root: think like a “heartbleed” It’s not about the heartbleed. Only exploitation type is similar.
Finally rooted after a few very long days! Thank you @gunroot and @LMAY75 for the nudges. Some of the tips one here are exactly what you need! Enumeration is a big part to the box. Information for user1 can be found in multiple places… once of which you have probably used already
Happy to help nudge if you need help, provide what you have done and where you are up to in a PM.
I can read files list directories but I am coming empty. I see couple of users that have bash in passwd but I am not finding info to compermise those users. Any hints would be appriciated
Real fun box, I got stuck at root, thanks to @LMAY75 for the nudge.
On a hindsight, it was obvious.
I loved scripting to own this box, this is my take on the “Not A Reverse Shell”, nothing new but since nobody posted something similar (having history, history search and emacs style special keys).
#!/usr/bin/env python3
import cmd
def execute(line):
import requests
target="http://YOURRCE"
r = requests.get(target, params={"YOURCMDARG":line})
if r.status_code == 200:
return r.text
else:
return f"{r.text}\r\nnars> ERROR: http response code was {r.status_code}"
class NotAReverseShell(cmd.Cmd):
prompt="nars> "
def do_help(self, line):
print("Not A Reverse Shell, a pseudo shell when you cannot have one.")
def default(self, line):
print(execute(line))
def do_EOF(self, line):
print()
return True
def do_exit(self, line):
return True
def do_quit(self, line):
return True
if __name__ == "__main__":
NotAReverseShell().cmdloop()