Vigilant (chain) (hard)

port scan

Open 10.10.150.246:22
Open 10.10.150.246:80
Open 10.10.150.245:88
Open 10.10.150.245:135
Open 10.10.150.245:139
Open 10.10.150.245:389
Open 10.10.150.245:445
Open 10.10.150.245:464
Open 10.10.150.245:593
Open 10.10.150.245:636
Open 10.10.150.245:3268
Open 10.10.150.245:3269
Open 10.10.150.245:3389
Open 10.10.150.245:9200
Open 10.10.150.245:9389

service enumeartion

there have ITShare custom share folder

we found a encrypt pdf file

i will download all

decrypt pdf file

i will put ADAudit.dll into dnSpy, there have encrypt function

those c# code will encrypt file

i will write a decrypt c# code, the 6951 is just pdf file length

i will create a new decryptPDF project

change filePath

launch!

ok, we get decrypted password report pdf file!

the pdf show us some cred!

and a username list

i will use kerbrute to see someone who have not change there weak password

i see Pamela.Clark@vigilant.vl:Vigilant@Tech2024

i will create some custom wordlist try to crack

but not luck

ssh into srv

seems the Pamela user password expired

i will use smbpasswd change password to Vigilant@Tech2023

now i can use the new password login srv host

there have elastic

bruteforce elasticsearch

/etc/.scripts/setup.sh

the 9200 port open on dc, elasticsearch?

ok~

and elastic EDR o_O

yes, we login in with Pamela.Clark cred

and Pamela.Clark role is superuser

abuse Synthetics monitor script

there have Synthetics periodically checks the web page

the monitor script is Playwright, and the Playwright runs inside the Node.js, which mean we can write revershell in nodejs

but we can't add evil script on webpage

maybe we must use Synthetics CLI ?

https://www.elastic.co/guide/en/observability/current/synthetics-command-reference.html#elastic-synthetics-command

i will install https://github.com/elastic/synthetics

the monitor ID is da074d36-e1fe-461d-8ed7-56a00dd3b0e3

change url to http://localhost

add our reverse shell nodejs code. And delete other example journeys. at last, push our code into elastic

i will start journeys manually

ok...we have shell!!!!

root

docker break out via docker.sock

i will run ‎Deepce.sh

just like hackthebox extension box, the /var/run/docker.sock writeable

first, i will list useable docker images

i will create a container with reverse shell command to abuse docker.sock

after the containers, we can have a root reveseshell. And then, i will put my key into /root/.ssh/authorized_keys and dump machine hash

i will use linikatz, we really need some new cred

ok!, hashcat

ESC13 abuse

we can use CABRIEL user cred winrm into target, and he can enroll VIGILANTADMINS cert tempalte

some enumeration...

after read some adcs attack blog, i found the VIGILANTADMINS may Vulnerable to ESC13 abuse

https://posts.specterops.io/adcs-esc13-abuse-technique-fda4272fbd53

and i will run a quick check esc13 powershell script

https://github.com/JonasBK/Powershell/blob/master/Check-ADCSESC13.ps1

it say VIGILANTADMINS may be used to abtian Temporary admin permission

First get the certificate as usual

Then get tgt through the certificate.Please note that the tgt obtained at this time already has Temporary admin permissions

use kerberos auth dump all!

done!

Last updated