Windows Related

Windows Related

Active Directory (AD)

有關AD的基本名詞,可以參考NTUSTISC - AD Note - 環境建置 & Background,包含 Directory Service, Active Directory, Active Directory Domain Service, LDAP, Organization Units(OU), Group Policy Object(GPO)

  • 可以把 AD 想像成一種 專門用於身份、權限、群組和資源管理的資料庫 + 服務。
  • LDAP是一種用來存取「目錄服務(Directory Service)」的網路協定,目錄服務可以理解為:一個專門存放組織資訊的資料庫,常見儲存內容:使用者帳號、密碼(hash)、email、部門、群組權限、電腦設備,很多企業內部系統的 登入驗證 都會透過 LDAP。常見實作包括:Microsoft Active Directory,所以既然這是一個database,就存在和database server溝通的場景,query command就可能存在injection的risk
  • LDAPS = LDAP + SSL/TLS: 在 LDAP 的基礎上加上 加密層 (SSL/TLS)。

  • NTDS.DIT(NT Directory Services Database): 是 Active Directory 的核心資料庫。在 Microsoft Windows Server 的 Domain Controller 上,幾乎所有 AD 資料都存放在這個檔案裡。

lsass.exe VS SAM

SAM只會存取本地用戶的NTLM Hash,而lsass.exe是只要有存取過目前電腦的使用者都會被記錄,例如domain admin或是其他使用者利用smb連過來也會被lsass紀錄

lsass

  • 作用:Local Security Authority Subsystem Service,Windows 核心安全服務。
  • 用途:管理 登入驗證、使用者 token 和安全政策。
  • 安全角度:是非常敏感的系統進程,攻擊者經常嘗試 dump LSASS memory 來竊取帳號密碼(尤其是 NTLM hashes)。

SAM(Security Account Manager)

  • 就是一個用於windows的數據庫文件,用於儲存用戶的密碼,並且對於本地端或遠端的使用者進行身分認證
  • C:\Windows\System32\config\SAM
項目 NTDS.DIT SAM LSASS
類型 AD 資料庫檔案 本機帳號資料庫 系統 process
範圍 Domain accounts Local accounts 記憶體中的 credential
位置 Domain Controller 每台 Windows 每台 Windows
儲存形式 database file registry hive process memory
是否包含 hash 有 (memory)

LM(LAN Manager)& NTLM(NT LAN Manager)

名稱 是什麼
LM 舊的 Windows password hash(非常不安全)
NTLM 新一代 hash + authentication protocol
  • LM 是非常早期的 Windows 密碼雜湊機制,來源於舊版 LAN Manager 網路系統。
  • NTLM 是 LM 的改進版,用於 Windows NT 系列。不只是 hash,它也是一種 challenge-response authentication protocol。
    • 雖然比 LM 好,但 NTLM 仍然有安全問題,因此在現代 AD 環境中,微軟推薦使用:Kerberos

WDigest

是一種 Windows 身分驗證機制(authentication protocol / package),它存在於 Windows 的 LSASS authentication packages 中,主要用途是支援 HTTP Digest Authentication。但在資安領域它更有名的原因是:它曾經會在記憶體中保存明文密碼(plaintext password)。

LAPS(本機系統管理員密碼解決方案)

是 Microsoft 提供的一種 管理 Windows 本機 Administrator 密碼的解決方案,LAPS = 自動為每台電腦設定不同的本機 Administrator 密碼,並把密碼安全地存到 Active Directory。

Prefetch

Windows 用來加速程式啟動的機制,但它同時會留下 程式執行痕跡。檔案位置在C:\Windows\Prefetch\,會紀錄以下info

資訊 說明
Executable name 執行檔名稱
Last run time 最近執行時間
Run count 執行次數
File accessed 程式使用的檔案
Volume information 磁碟資訊

Jump List

是 Microsoft Windows 的一個功能,用來顯示某個程式最近開啟過的檔案或常用項目。例如右鍵點擊 Word 可能會看到:

1
2
3
4
Recent
 ├─ report.docx
 ├─ thesis.docx
 └─ notes.docx

Software

  • 什麼是svchost.exe?

    svchost.exe被稱為服務主機,是一個軟體程式,是Windows操作系統的一部分,被許多Windows應用程式使用。一台計算機的svchost.exe應該位於系統文件夾中的’\windows\System32’。 在啟動時,服務控制管理器啟動svchost.exe,以管理從動態鏈接庫(DLLs)運行的系統服務。因此,對於每個正在運行的服務,都有一個svchost.exe的實例來管理它。 它通過確保各種服務和進程共享資源來幫助減少CPU負荷。動態鏈接庫有被各種軟體應用程式所利用的代碼。它們需要svchost.exe作為額外的軟體來確保運行這些不同服務的效率。這可以確保Windows或其他程式所需的DLL文件被有效加載。

  • dllhost.exe

    dllhost.exe是微軟Windows操作系統的一部分。dllhost.exe用於管理DLL應用,在任務管理器中可以找到,這個程序對是微軟Windows系統的正常運行是非常重要的。