Safe

when i do pop rdi it goes into following instructions and it doesn’t return to my next call. Is there any other gadget to pass arguments? Can I get a hint?

Got User. I really liked the BOF part (easy if you speak x64 assembly and know a thing or two about gdb, ROP, and ASRL), don’t know why there’s so much hate in the reviews. Made use of two functions plus a rop gadget plus SometHing else and… voila! Now on the way to root.

Tip: You’d better stay away from bitterman, write4, etc. Everything you need is in the binary.

Type your comment> @Saranraja said:

Hey I got the root password from M********.K **x file I don’t know where to use that to login as root someone Ping me the hint

hey man, can I get some hints about cracking it?

Can anyone help, everytime I try to run gdb or rabin2 against the myapp I get issues. Rabin gives segmentation fault issue.

Have got user, working on root. Am playing around with h***t & j, is there any reason for using one tool over the other?

Can someone give a hint for foothold?
I can see special service, but throwing random stuff in it does not sounds fun. I checked for shellshocks, $(id) stuff - nothing.
I tried finding something on webserver (most of my requests get cancelled, even with 1 request for 1 second) i found only default apache stuff, no vhosts, nikto gave nothing. I am looking for something like backup, bruting dirs for .bak files, but… requests gets cancelled. Am i doing pointless stuff? Looks like web server odes not want me to brute him.

Check source

Type your comment> @rholas said:

Check source

That was painful, i always trusted default pages.

Wow in my opinion user for this box is HTB’s current “skid wall”…

PM me for user hints. You shouldn’t need hints for root if you got user

Type your comment> @2Lpk3zQ said:

I have found the source. However, gdb isn’t wanting to run the binary. Every time I use run it runs and then exits without user input

Type your comment> @rewks said:

User:

  • If people are struggling with running the binary with peda - peda sets follow-fork-mode to child whereas vanilla gdb has it as parent by default. You may wish to sed -i 's/follow-fork-mode child/follow-fork-mode parent/g' ~/peda/peda.py (or whever your peda is located).
1 Like

Edit: got user after 3 days of banging my head on the wall, cause it just didn’t wan’t to work like I expected mostly because of lack of experience in binexp
my 2 cents: pop_rdi was just enough.

Kudos to @rewks for:

User: … You may wish to sed -i 's/follow-fork-mode child/follow-fork-mode parent/g' ~/peda/peda.py (or whever your peda is located)…

Also kudos to @thedoc7or who gave links how to receive stdout/stdin with pwntools. After that everything worked out of the box. IMO This one was harder to understand than Ellingson (which rated hard), but great experience overall :slight_smile:

edit2: rooted

Got root, finally! It took me about a month to come back to this machine because I had never done binex or ROP before. So I’ve learned a lot doing this box, and enjoyed it in the end when I understood what was going on.

Tips-
User:

  • Find the source!
  • If you have no experience doing binex try some simple BOF tutorials, do some BOFs on your own machine and try to understand exactly what is going on. Then move on to simple ROP tutorials. Then finally apply what you’ve learned to the binary on your own machine.
  • All the things you need are contained within the binary

Root:

  • I used an old version of k***2j which confused me no end. Use the latest version
  • Use all 6 files
  • Let john rock out.
  • Once you have a password, doesn’t mean its the root password

PM me for any help.

rooted.
root was harder for me since certain application is new to me.

Anyways nice box.

Tips~
User: Just go basic, no need for advance ROP (ret2lib etc.). This is rated “easy” for a reason.

Root: Google + GPU + proper shell

pm for hints

Can’t get binary to run on my machine. Does it have to be x64 ?

Type your comment> @chiefgreek said:

Can’t get binary to run on my machine. Does it have to be x64 ?

Your Kali must be 64 bit

Just finished this one up and wanted to share my thoughts.

1st: I have no idea why this is an “easy” box. User is not an easy task and offers a steep learning curve for someone who has not done binary exploitation. It is doable but if this is your first time in a debugger, go and take a few tutorials and then take a crack at the reversing challenges here on HTB before you continue.

User: Everything is in the program! I used IDA to look at structure and then ROPgadget to find ROP gadgets. Don’t spend time working on bypassing ASLR, you don’t need to. NX is on, you cant execute on the stack - for those of you asking why you jump to your code and then it doesn’t work - this is likely the issue.

Root: Fun! Look around when you get a shell and then Google. This is a box on HTB, meaning if it isn’t there by default the authors put it there. Once you get your ducks in a row I recommend hashcat, but JTR works.

Hey can anyone DM me about user? I feel like I’ve got the bin exploit but still receive seg fault. Have a few questions about ROP

I have root pw but no idea where to use it… Looks that it is not working in ssh. Anyone can give me a hint about it, please? Thanks in advance.

EDIT: Got Root!

I would like to discuss the process to get user. I am generally familar with rop chains and re2libc but have a few questions.
Kindly asking for help.

Nice box to start learn this kind of exploits (user part)