Memulai audit kata sandi dengan Alat Audit Kata Sandi Domain (DPAT), NTDSUTIL, dan VSSADMIN

  • Whatsapp
Memulai audit kata sandi dengan Alat Audit Kata Sandi Domain (DPAT), NTDSUTIL, dan VSSADMIN
Memulai audit kata sandi dengan Alat Audit Kata Sandi Domain

[*]News.nextcloud.asia

Dalam posting ini, saya bertujuan untuk mempelajari lebih lanjut tentang Alat Audit Kata Sandi Domain (DPAT).

Menurut halaman GitHub DPAT, alat ini “adalah skrip python yang akan menghasilkan statistik penggunaan kata sandi dari hash kata sandi yang dibuang dari pengontrol domain dan file crack kata sandi seperti hashcat.potfile yang dihasilkan dari alat Hashcat selama peretasan kata sandi“.

Mempertimbangkan hal di atas, kita perlu mendapatkan kata sandi dari pengontrol domain dan memasukkannya ke hashcat atau dalam contoh saya John The Ripper (JTR) sebelum kita dapat memasukkan output ke DPAT.

Baiklah mari kita pergi.

Untuk mendapatkan akses ke file Windows NTDS.dit, kami akan terhubung dari jarak jauh ke Windows Server 2019 melalui PSRemoting. PSRemoting diaktifkan secara default di Windows Server. Atau, Anda dapat menggunakan “aktifkan-psremoting” melalui Powershell untuk mengaktifkannya.

Dari Windows Domain Controller, kita dapat memanfaatkan Test-Wsman untuk memverifikasi bahwa PS-Remoting diaktifkan. WSMAN adalah kependekan dari Protokol Manajemen Layanan Web.

PS C:UsersAdministrator> Test-WSMan -Verbose

wsmid           : http://schemas.dmtf.org/wbem/wsman/identity/1/wsmanidentity.xsd
ProtocolVersion : http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd
ProductVendor   : Microsoft Corporation
ProductVersion  : OS: 0.0.0 SP: 0.0 Stack: 3.0

Itu keren tapi kami ingin mengaksesnya dari jarak jauh. Mari kita coba sekarang dari perangkat Windows 10 saya yang terhubung ke domain securitynik.local.

PS C:usersSecurityNik> Test-WSMan -ComputerName secnik-2k19 -Authentication Default

wsmid           : http://schemas.dmtf.org/wbem/wsman/identity/1/wsmanidentity.xsd
ProtocolVersion : http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd
ProductVendor   : Microsoft Corporation
ProductVersion  : OS: 10.0.17763 SP: 0.0 Stack: 3.0

Mari kita transisi sekarang untuk menjalankan perintah “ntdsutil” untuk mengambil salinan database AD. Kami pertama-tama menggunakan perintah “Enter-PSSession” untuk terhubung ke server jauh. Setelah terhubung, kami menjalankan “hostname” untuk mengonfirmasi host yang telah kami sambungkan, diikuti oleh “whoami” untuk mengonfirmasi pengguna.

PS C:usersSecurityNik> Enter-PSSession -ComputerName secnik-2k19.securitynik.local -Authentication Default
[secnik-2k19.securitynik.local]: PS C:UserssecuritynikDocuments> hostname
secnik-2k19
[secnik-2k19.securitynik.local]: PS C:UserssecuritynikDocuments> whoami
securityniksecuritynik

Sekarang untuk “ntdsutil” mari kita cari contoh database yang saat ini ada.

[secnik-2k19.securitynik.local]: PS C:UserssecuritynikDocuments> ntdsutil "List Instances"
C:Windowssystem32ntdsutil.exe: List Instances

Instance Name:         NTDS
LDAP Port:             389
SSL Port:              636
Install folder:        C:WindowsNTDS
Database file:         C:WindowsNTDSntds.dit
Log folder:            C:WindowsNTDS
NTDS Mode    :         Active Directory Domain Controller Mode
C:Windowssystem32ntdsutil.exe:
[secnik-2k19.securitynik.local]: PS C:UserssecuritynikDocuments>

Sekarang mari kita aktifkan Instans “NTDS”.

[secnik-2k19.securitynik.local]: PS C:UserssecuritynikDocuments> ntdsutil "Activate Instance NTDS"
C:Windowssystem32ntdsutil.exe: Activate Instance NTDS
Active instance set to "NTDS".
C:Windowssystem32ntdsutil.exe:

Selanjutnya, perpanjang perintah yang ada dengan memanfaatkan perintah “ifm” untuk membuat media instalasi lengkap dari instance NTDS dan simpan di folder “c:tmp” di server secnik-2k19.

[secnik-2k19.securitynik.local]: PS C:UserssecuritynikDocuments> ntdsutil "Activate Instance NTDS" "ifm" "create full c:tmp"
C:Windowssystem32ntdsutil.exe: Activate Instance NTDS
Active instance set to "NTDS".
C:Windowssystem32ntdsutil.exe: ifm
ifm: create full c:tmp
Creating snapshot...
Snapshot set {57102033-942a-43ef-841b-4b975fbe0c53} generated successfully.
Snapshot {cfb56d3b-7c27-4176-a6e4-e5b75610916c} mounted as C:$SNAP_202008031318_VOLUMEC$
Snapshot {cfb56d3b-7c27-4176-a6e4-e5b75610916c} is already mounted.
Initiating DEFRAGMENTATION mode...
     Source Database: C:$SNAP_202008031318_VOLUMEC$WindowsNTDSntds.dit
     Target Database: c:tmpActive Directoryntds.dit

                  Defragmentation  Status (omplete)

          0    10   20   30   40   50   60   70   80   90  100
          |----|----|----|----|----|----|----|----|----|----|
          ...................................................

Copying registry files...
Copying c:tmpregistrySYSTEM
Copying c:tmpregistrySECURITY
Snapshot {cfb56d3b-7c27-4176-a6e4-e5b75610916c} unmounted.
IFM media created successfully in c:tmp
ifm: C:Windowssystem32ntdsutil.exe:

Sekarang mari konfirmasikan isi direktori “c:tmp”.

[secnik-2k19.securitynik.local]: PS C:UserssecuritynikDocuments> dir C:tmp

[secnik-2k19.securitynik.local]: PS C:UserssecuritynikDocuments> dir C:tmp

    Directory: C:tmp

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----         8/3/2020   1:18 PM                Active Directory
d-----         8/3/2020   1:18 PM                registry

Bagus kami mendapat dua folder. Sekarang mari kita kompres ini menjadi satu file arsip menggunakan cmdlet “Compress-Archive” Powershell.

[secnik-2k19.securitynik.local]: PS C:UserssecuritynikDocuments> Compress-Archive -Path c:tmp* -DestinationPath c:tmpntds.zip -CompressionLevel Fast
est -Force -Verbose
VERBOSE: Preparing to compress...
VERBOSE: Performing the operation "Compress-Archive" on target "
C:tmpActive Directory
C:tmpregistry".
VERBOSE: Adding 'C:tmpActive Directoryntds.dit'.
VERBOSE: Adding 'C:tmpActive Directoryntds.jfm'.
VERBOSE: Adding 'C:tmpregistrySECURITY'.
VERBOSE: Adding 'C:tmpregistrySYSTEM'.
Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----         8/3/2020   1:18 PM                Active Directory
d-----         8/3/2020   1:18 PM                registry

Mengonfirmasi file berhasil dibuat.

[secnik-2k19.securitynik.local]: PS C:UserssecuritynikDocuments> dir C:tmpntds.zip

    Directory: C:tmp

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----         8/3/2020   1:25 PM        5497917 ntds.zip

Untuk mengeluarkan file “ntds.zip” dari sistem, mari gunakan perintah “net use” untuk memetakan drive dan menyalin file. Saat kami memetakan drive, kami melihat ini dilaporkan sebagai selesai dengan sukses.

D:TOOLS>net use M: \10.0.0.20C$ /user:[email protected]
Enter the password for '[email protected]' to connect to '10.0.0.20':
The command completed successfully.

Kami selanjutnya dapat menyesuaikan ini dengan menjalankan “penggunaan bersih” sekali lagi, tanpa argumen tambahan.

D:TOOLS>net use
New connections will not be remembered.

Status       Local     Remote                    Network
-------------------------------------------------------------------------------
OK           M:        \10.0.0.20C$            Microsoft Windows Network
The command completed successfully.

Sekarang mari kita salin file “ntds.zip” ke sistem lokal kita dan konfirmasikan keberadaannya.

D:TOOLS>copy M:tmpntds.zip .
        1 file(s) copied.

D:TOOLS>dir ntds.zip
 Volume in drive D is Tools
 Volume Serial Number is F617-3FDD

 Directory of D:TOOLS

2020-08-03  04:25 PM         5,497,917 ntds.zip
               1 File(s)      5,497,917 bytes
               0 Dir(s)  108,181,012,480 bytes free

Barang bagus!! Pada titik ini, kami memiliki akses ke file “ntds.dit” yang menyimpan kredensial AD.

Sekarang mari kita beralih ke un-zip file “ntds.zip” dengan tujuan akhir untuk mendapatkan hash. Untuk mempermudah tugas ini, mari manfaatkan rangkaian skrip Python Impacket.

[email protected]:~$ unzip ntds.zip -d ntds
Archive:  ntds.zip
warning:  ntds.zip appears to use backslashes as path separators
  inflating: ntds/Active Directory/ntds.dit  
  inflating: ntds/Active Directory/ntds.jfm  
  inflating: ntds/registry/SECURITY  
  inflating: ntds/registry/SYSTEM

Setelah ekstraksi, Impacket untuk menyelamatkan.

[email protected]:~/ntds$ ~/impacket/examples/secretsdump.py -system registry/SYSTEM -ntds Active Directory/ntds.dit LOCAL -outputfile ntds.hashes -history
[email protected]:~/ntds$cat ntds.hashes
Impacket v0.9.22.dev1+20200728.230151.48a3124c - Copyright 2020 SecureAuth Corporation

[*] Target system bootKey: 0xd246c7f512f50bc6444d77d31b34ba98
[*] Dumping Domain Credentials (domainuid:rid:lmhash:nthash)
[*] Searching for pekList, be patient
[*] PEK # 0 found and decrypted: 21eb5b3777772c58c5e1bd65ad66e76b
[*] Reading and decrypting hashes from Active Directory/ntds.dit 
Administrator:500:aad3b435b51404eeaad3b435b51404ee:23e1d10001876b0078a9a779017fc026:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
SECNIK-2K19$:1000:aad3b435b51404eeaad3b435b51404ee:b7b7c33ea8994be1ebd4f47202c3a9b6:::
krbtgt:502:aad3b435b51404eeaad3b435b51404ee:46ab1a2346b3ac6693d72b17691d5f77:::
securitynik.localnik:1103:aad3b435b51404eeaad3b435b51404ee:23e1d10001876b0078a9a779017fc026:::
securitynik.localnakia:1104:aad3b435b51404eeaad3b435b51404ee:23e1d10001876b0078a9a779017fc026:::
... <TRUNCATED FOR BREVITY> ...
securitynik.localsecuritynik:des-cbc-md5:32450b15e026d6e9
SECURITYNIK-WIN$:aes256-cts-hmac-sha1-96:1e67390661aeb7fe7e7006a1002e98d8b1d9b67239a67c2d2de9e3ec85215632
SECURITYNIK-WIN$:aes128-cts-hmac-sha1-96:33e9b147797864ca6e5a8c94ebece17d
SECURITYNIK-WIN$:des-cbc-md5:613d9e34a468e343
[*] Cleaning up... 

Di antara file yang dibuat di atas, adalah “ntds.hashes.ntds”. File dengan hash ini sekarang dapat diberikan ke alat pilihan kami. Saya akan menggunakan John the Ripper. Namun, perhatikan DPAT juga mendukung Hashcat.

[email protected]:~/ntds$ sudo john ntds.hashes.ntds --format=nt
Using default input encoding: UTF-8
Loaded 26 password hashes with no different salts (NT [MD4 256/256 AVX2 8x3])
Warning: no OpenMP support for this hash type, consider --fork=2
Proceeding with single, rules:Single
Press 'q' or Ctrl-C to abort, almost any other key for status
Almost done: Processing the remaining buffered candidate passwords, if any.
Warning: Only 4 candidates buffered for the current salt, minimum 24 needed for performance.
Proceeding with wordlist:/usr/share/john/password.lst, rules:Wordlist
                 (Guest)
Testing1         (Administrator)
Testing1         (securitynik.localnik)
Testing1         (securitynik.localnakia)
Testing1         (securitynik.localneysa)
Testing1         (securitynik.localsaadia)
Testing1         (securitynik.localadmin)
Testing1         (securitynik.localsecuritynik)
Proceeding with incremental:ASCII
....

Setelah menjalankan “./dpat.py” dengan argumen yang relevan, kita mendapatkan:

[email protected]:~/DPAT$ sudo ./dpat.py --ntdsfile ../ntds/ntds.hashes.ntds --crackfile john.pot 
The Report has been written to the "_DomainPasswordAuditReport.html" file in the "DPAT Report" directory
Would you like to open the report now? [Y/n]N

Saya memilih “N” karena saya ingin melihat apa yang ada di direktori “Laporan DPAT”. Di bawah ini kami melihat konten yang tersedia untuk sistem saya.

[email protected]:~/DPAT/DPAT Report$ ls
 0length_usernames.html   3reuse_usernames.html             password_history.html        top_password_stats.html
 0reuse_usernames.html    4reuse_usernames.html             password_length_stats.html   users_only_cracked_through_lm.html
 1reuse_usernames.html   'all hashes.html'                  password_reuse_stats.html
 2reuse_usernames.html    _DomainPasswordAuditReport.html   report.css

Saatnya menggunakan Firefox untuk melihat file “_DomainPasswordAuditReport.html”.

[email protected]:~/DPAT/DPAT Report$ firefox _DomainPasswordAuditReport.html &

Di atas, kita melihat informasi ringkasan.

Jika kami bisa mendapatkan detail tentang hash kata sandi yang digunakan dengan mengklik “Detail” di samping hash kata sandi

Demikian pula, kita bisa mendapatkan informasi tentang statistik penggunaan kata sandi teratas, dll. Jangan ragu untuk mengklik “Detail” untuk mempelajari lebih lanjut.

Cara alternatif untuk mendapatkan kata sandi dengan VSSADMIN

PS C:Tools> Enter-PSSession -ComputerName secnik-2k19.securitynik.local -Authentication Default
[secnik-2k19.securitynik.local]: PS C:UserssecuritynikDocuments>

Pertama-tama mari kita gunakan “vssadmin” untuk melihat apakah ada salinan bayangan saat ini.

[secnik-2k19.securitynik.local]: PS C:UserssecuritynikDocuments> vssadmin list shadows
vssadmin 1.1 - Volume Shadow Copy Service administrative command-line tool
(C) Copyright 2001-2013 Microsoft Corp.

No items found that satisfy the query.

Selanjutnya mari kita daftar volumenya

[secnik-2k19.securitynik.local]: PS C:UserssecuritynikDocuments> vssadmin list volumes
vssadmin 1.1 - Volume Shadow Copy Service administrative command-line tool
(C) Copyright 2001-2013 Microsoft Corp.

Volume path: \?Volume{fd091226-0000-0000-0000-100000000000}
    Volume name: \?Volume{fd091226-0000-0000-0000-100000000000}
Volume path: C:

Mengambil puncak di penyedia

[secnik-2k19.securitynik.local]: PS C:UserssecuritynikDocuments> vssadmin list providers
vssadmin 1.1 - Volume Shadow Copy Service administrative command-line tool
(C) Copyright 2001-2013 Microsoft Corp.

Provider name: 'Microsoft File Share Shadow Copy provider'
   Provider type: Fileshare
   Provider Id: {89300202-3cec-4981-9171-19f59559e0f2}
   Version: 1.0.0.1

Provider name: 'Microsoft Software Shadow Copy provider 1.0'
   Provider type: System
   Provider Id: {b5946137-7b9f-4925-af80-51abd60b20d5}
   Version: 1.0.0.7

Pada titik ini tidak ada salinan yang dapat kita manfaatkan. Kira kita harus membuat sendiri.

Mari kita periksa status Layanan “VSS”

[secnik-2k19.securitynik.local]: PS C:UserssecuritynikDocuments> Get-Service VSS

Status   Name               DisplayName
------   ----               -----------
Stopped  VSS                Volume Shadow Copy

Kami sekarang harus memulai layanan “VSS”, setelah itu kami memverifikasi itu berjalan.

[secnik-2k19.securitynik.local]: PS C:UserssecuritynikDocuments> Start-Service vss
[secnik-2k19.securitynik.local]: PS C:UserssecuritynikDocuments> Get-Service VSS

Status   Name               DisplayName
------   ----               -----------
Running  VSS                Volume Shadow Copy

Sekarang setelah layanan berjalan, mari buat salinan bayangan.

[secnik-2k19.securitynik.local]: PS C:UserssecuritynikDocuments> vssadmin create shadow /for=C:
vssadmin 1.1 - Volume Shadow Copy Service administrative command-line tool
(C) Copyright 2001-2013 Microsoft Corp.

Successfully created shadow copy for 'C:'
    Shadow Copy ID: {d93157d0-53e5-4f1b-b378-dc10ed0fb468}
    Shadow Copy Volume Name: \?GLOBALROOTDeviceHarddiskVolumeShadowCopy3

Di atas, kami melihat ini berhasil. Selain itu, kami dapat mengonfirmasi salinan ini ada dengan mencantumkan bayangan seperti yang dilakukan di atas.

[secnik-2k19.securitynik.local]: PS C:UserssecuritynikDocuments> vssadmin list shadows
vssadmin 1.1 - Volume Shadow Copy Service administrative command-line tool
(C) Copyright 2001-2013 Microsoft Corp.

Contents of shadow copy set ID: {80bcd232-f7b0-4378-884d-8344436a3bd8}
   Contained 1 shadow copies at creation time: 8/6/2020 8:27:56 PM
      Shadow Copy ID: {d93157d0-53e5-4f1b-b378-dc10ed0fb468}
         Original Volume: (C:)\?Volume{fd091226-0000-0000-0000-602200000000}
         Shadow Copy Volume: \?GLOBALROOTDeviceHarddiskVolumeShadowCopy3
         Originating Machine: secnik-2k19.securitynik.local
         Service Machine: secnik-2k19.securitynik.local
         Provider: 'Microsoft Software Shadow Copy provider 1.0'
         Type: ClientAccessible
         Attributes: Persistent, Client-accessible, No auto release, No writers, Differential

Sekarang mari kita akses file NTDS.dit pada salinan bayangan dengan menyalinnya ke folder “c:tmp”.

[secnik-2k19.securitynik.local]: PS C:tmp> cmd.exe /c "copy \?GLOBALROOTDeviceHarddiskVolumeShadowCopy3Windows
NTDSntds.dit c:tmpntds.dit"
        1 file(s) copied.
[secnik-2k19.securitynik.local]: PS C:tmp> dir c:tmp


    Directory: C:tmp


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----         8/3/2020   1:18 PM                Active Directory
d-----         8/3/2020   1:18 PM                registry
-a----         8/3/2020   1:04 PM       18874368 ntds.dit
-a----         8/3/2020   1:25 PM        5497917 ntds.zip

Sekarang file berada di direktori “c:tmp”, kita dapat mengaksesnya seperti yang kita lakukan di atas. Sebelum menutup, mari kita nonaktifkan layanan VSS.

[secnik-2k19.securitynik.local]: PS C:tmp> Stop-Service vss
[secnik-2k19.securitynik.local]: PS C:tmp> Get-Service vss

Status   Name               DisplayName
------   ----               -----------
Stopped  vss                Volume Shadow Copy

Sekarang mari kita hapus salinan bayangan yang kita buat dan pastikan tidak ada salinan bayangan.

[secnik-2k19.securitynik.local]: PS C:UserssecuritynikDocuments> vssadmin delete shadows /for=C: /quiet
vssadmin 1.1 - Volume Shadow Copy Service administrative command-line tool
(C) Copyright 2001-2013 Microsoft Corp.

[secnik-2k19.securitynik.local]: PS C:UserssecuritynikDocuments> vssadmin list shadows
vssadmin 1.1 - Volume Shadow Copy Service administrative command-line tool
(C) Copyright 2001-2013 Microsoft Corp.

No items found that satisfy the query.

Nah itu saja untuk postingan kali ini.

Referensi:

Pos terkait

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan.