TryHackMe Crocc Crew Writeup

Shivam Taneja
6 min readNov 13, 2022

Crocc Crew Walkthrough

This is another one of those challenges I could test my Active Directory skills that I honed during OSEP. It was a tough challenge, and what made it tougher was the unusual way you get to the initial creds.

The room is called Crocc Crew, and is available at https://tryhackme.com/room/crocccrew.

Portscan

The first thing I did was a portscan:

PORT      STATE SERVICE       VERSION
53/tcp open domain Simple DNS Plus

80/tcp open http Microsoft IIS httpd 10.0

|_http-csrf: Couldn't find any CSRF vulnerabilities.

|_http-dombased-xss: Couldn't find any DOM based XSS.

|_http-server-header: Microsoft-IIS/10.0

|_http-stored-xss: Couldn't find any stored XSS vulnerabilities.

88/tcp open kerberos-sec Microsoft Windows Kerberos (server time: 2021-08-22 04:58:15Z)

135/tcp open msrpc Microsoft Windows RPC

139/tcp open netbios-ssn Microsoft Windows netbios-ssn

389/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: COOCTUS.CORP0., Site: Default-First-Site-Name)

|_sslv2-drown:

445/tcp open microsoft-ds?

464/tcp open kpasswd5?

593/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0

636/tcp open tcpwrapped

|_ssl-ccs-injection: No reply from server (TIMEOUT)

|_sslv2-drown:

3268/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: COOCTUS.CORP0., Site: Default-First-Site-Name)

|_sslv2-drown:

3269/tcp open tcpwrapped

|_ssl-ccs-injection: No reply from server (TIMEOUT)

|_sslv2-drown:

3389/tcp open ms-wbt-server Microsoft Terminal Services

|_sslv2-drown:

9389/tcp open mc-nmf .NET Message Framing

49666/tcp open msrpc Microsoft Windows RPC

49668/tcp open msrpc Microsoft Windows RPC

49672/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0

49674/tcp open msrpc Microsoft Windows RPC

49679/tcp open msrpc Microsoft Windows RPC

49711/tcp open msrpc Microsoft Windows RPC

49885/tcp open msrpc Microsoft Windows RPC

Service Info: Host: DC; OS: Windows; CPE: cpe:/o:microsoft:windows

We clearly have what looks like a domain controller here.

HTTP — Port 80

As per normal, we see port 80 open, and we immediately start throwing wordlists at it.

The first interesting thing we notice is a robots.txt file.

Awesome, looks interesting.

Wow, that was easy. We already have creds and the fuzzing is still running.

And this is where the hour long rabbit hole started.

I tried through crackmapexec at it, and it didn’t want to accept the credentials.

This led me to believe there might be other virtual hosts running here, and I kept throwing things at it. Nothing yielded results.

In the meantime the fuzzing didn’t turn up anything else, but a dead-end backdoor.php.

So what do we do when we get stuck? Try Harder… and enumerate more!

MSRPC — Port 135

The only thing I could get that showed anything interesting, were rpcdump.py and tcp_dcerpc_auditor.

The above output seemed promising, because I was at least getting something to work with.

Another few hours were wasted in this rabbit hole. The plus side is that I think I know RPC a little better now. I might have missed something here, and am looking forward to seeing other people’s solutions.

Also tried to see if I can pick up a IPv6 IP address.

Kerbrute — Port 88

I decided to through a wordlist are kerbrute, and see what interesting users I get.

After getting a valid user list, I already tried running it through crackmapexec with the password obtained from the earlier found db credentials. Nothing worked.

RDP — Port 3389

I turned my attention to RDP. I know rdesktop spits out some useful info while the connection is trying to establish, but besides a hostname which I already had, there wasn’t much.

I finally had a breakthrough, after giving up the night before, when I logged back into RDP. I think it happened by fluke, because I typed in the params wrong for rdesktop. It gave me an idea, and eventually I was presented with the following.

I recognised what looked like a username on the stickynote from my earlier enumeration. Immediately trying it using crackmapexec I had finally gotten somewhere.

SMB — Port 445

Using the found credentials, I circled back to doing all my initial enumeration again. But before that I logged into SMB to at least get my first flag.

Using enum4linux-ng I was able to get more users. A trimmed down version is below.

'1115':
username: mark

name: Mark

acb: '0x00020010'

description: (null)

'1121':

username: admCroccCrew

name: admCroccCrew

acb: '0x00000210'

description: (null)

'1124':

username: cryillic

name: cryillic

acb: '0x00000210'

description: (null)

'1129':

username: Varg

name: varg

acb: '0x00000210'

description: (null)

'1134':

username: password-reset

name: reset

acb: '0x00040210'

description: (null)

I turned my attention to ldapdomaindump, and was able to immediately spot something that looked familiar from my OSEP learning.

We had a user with TRUSTED_TO_AUTH_FOR_DELEGATION.

During the course we almost exclusively made use of Rubeus, and I decided to take this time to learn how to accomplish all this from my Kali box, using impacket.

It took me a while of trying different things, at failing at it, until I finally figured out what was going wrong. I needed the correct SPN.

I found this very cool writeup. http://blog.redxorblue.com/2019/12/no-shells-required-using-impacket-to.html

Making use of pywerview I got this user’s details.

Knowing what the SPN was, I as able to create a ticket that impersonates Administrator.

Using this ticket, I was able to dump hashes from the DC.

I immediately used the Administrator’s hash, and was able to get code execution.

Making use of the web_delivery module in msfconsole, I was able to get a meterpreter shell.

The flags!

I had gotten so tied up in getting the ticketing working, and doing privilege escalation, I had forgotten about the flags.

Once I was Administrator though, I was able to get all the flags.

This felt like cheating though… so I am sure there was a more intended way.

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

Shivam Taneja
Shivam Taneja

Written by Shivam Taneja

IT Security Consultant, Researcher, Penetration Tester & Hacker.

No responses yet

Write a response