域用户组成员 导出_隐私安全,黑客利用Mimikatz提取Windows用户凭证
一、前言一.mimikatz簡介 是法國人Gentil Kiwi編寫的一款windows平臺下的神器,它具備很多功能,其中最亮的功能是直接從 lsass.exe 進程里獲取windows處于active狀態賬號的明文密碼。mimikatz的功能不僅如此,它還可以提升進程權限,注入進程,讀取進程內存等等,mimikatz包含了很多本地模塊,更像是一個輕量級的調試器。
二、Mimikatz提取用戶憑證
Mimikatz提取用戶憑證功能,其主要集中在sekurlsa模塊,該模塊又包含很多子模塊,如msv,wdigest,kerberos等,使用這些子模塊可以提取相應的用戶憑證,如sekurlsa::wdigest提取用戶密碼明文,sekurlsa::kerberos提取域賬戶憑證,sekurlsa::msv提取ntlm hash憑證,在kuhl_m_c_sekurlsa這個數組里面有各個子模塊功能的注釋,如下:
Mimikatz使用了一個的框架,來處理對內存的操作。以wdigest子模塊為例,如果在目標機器上運行mimikatz,會跨進程讀取讀取lsass.exe進程的wdigest.dll模塊的數據,如果是用dump文件方式提取密碼則是直接打開文件。
2.1獲取用戶憑證信息
通過遍歷加載的DLL模塊名稱,來初始化Mimikatz關注的一些DLL的統計信息結構體。
重點是第二步和第三步。
第二步調用了kuhl_m_sekurlsa_utils_search繼而調用kuhl_m_sekurlsa_utils_search_generic如下,
搜索的是LsaSrv.dll的特征碼,結合偏移量找到所有的登錄會話信息。
最后打印出來的會話信息
2.2獲取加密用戶密碼的密鑰
第三步調用了lsassLocalHelper->AcquireKeys(&cLsass, &lsassPackages[0]->Module.Informations);,實際對于NT6系統實際調用的是kuhl_m_sekurlsa_nt6_acquireKeys
用PTRN_WALL_LsaInitializeProtectedMemory_KEY作為特征碼進行搜索
獲取初始化向量和密鑰本身
2.3解密賬戶密碼
基于2.1得到的登錄會話信息(包含加密后的用戶密碼)和2.2得到的加密密鑰和初始化向量,mimikatz的wdigest子模塊便可以提取用戶密碼明文。
kuhl_m_sekurlsa_genericCredsOutput實際調用kuhl_m_sekurlsa_nt6_LsaEncryptMemory進行密碼的密文解密。
最后根據密文長度是否是8的倍數,來調用Aes解密和Des解密(BCryptDecrypt)。
三、總結
Mimikatz的提取密碼流程主要分為三步1、獲取登錄會話的信息,包含了用戶密碼的加密后密文;2、提取用于加密的密鑰值,3、調用Windows導出函數BCryptDecrypt進行解密。由于提取會話信息和密鑰都用的是特征碼,因此這些特征碼作為殺毒軟件和edr產品的特征值會非常合適,而攻擊者也會采用動態加載的方式防止這種特征的靜態掃描。由于水平有限,歡迎大家指出文中的錯誤和交流指教。
總結
以上是生活随笔為你收集整理的域用户组成员 导出_隐私安全,黑客利用Mimikatz提取Windows用户凭证的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: plsql job执行多个存储过程_在K
- 下一篇: python必须连网开发吗_Python