有時候,他的舉動就像系統裡那些被遺忘的檔案。
乍看毫不起眼,但只要輕敲一個 findstr
,
就會浮現幾個關鍵字—
像是一種靜靜閃爍的訊號,提醒我:這裡還有東西。
他沒有說出口,卻讓我忍不住猜想:
是不是有些話,他故意藏在縫隙裡,等我去發現。
在本機系統或者網路共享資料夾中,我們可能會發現許多其他類型的檔案,這些檔案可能包含憑證 or 額外資訊,可用於提升權限。
在 AD 環境中,我們可以使用 Snaffler 這類工具去爬網路共享磁碟,尋找特定的檔案副檔名,例如:.kdbx
、.vmdk
、.ppk
等。
透過這些方式,我們可能可以找到可掛載的虛擬硬碟,進而提取本地管理員密碼雜湊。
也有可能...
可以找到 SSH 私鑰,用於存取其他系統。
或者發現使用者將密碼存放在 Excel/Word 文件、OneNote 筆記本,甚至經典的 passwords.txt。
在滲透測試中,有時候會想要找到一個共享磁碟上的密碼檔,想辦法進行初始存取或權限提升。
如果有共享資料夾(如 FILE02 伺服器上的 users 資料夾,每個使用者一個子資料夾 ctf-boy),但若權限配置鬆散(例如所有 Domain Users 都能讀取所有使用者的資料夾)...
因為有時使用者會誤以為只有自己電腦能存取,把敏感資料存在這裡的情況就非常常見 XD
我們可以手動使用下列指令來搜尋本機或共享磁碟 ~
C:\lab> cd c:\Users\ctf-boy\Documents & findstr /SI /M "password" *.xml *.ini *.txt
找到:
ctf-boy.txt
接下來,我們可以試試!
C:\lab> findstr /si password *.xml *.ini *.txt *.config
結果:
ctf-boy.txt:password: l#oVYoU_2!
C:\lab> findstr /spin "password" *.*
結果:
ctf-boy.txt:1:password: l#oVYoU_2!
PS C:\lab> select-string -Path C:\Users\ctf-boy\Documents\*.txt -Pattern password
結果:
ctf-boy.txt:1:password: l#oVYoU_2!
C:\lab> dir /S /B *pass*.txt == *pass*.xml == *pass*.ini == *cred* == *vnc* == *.config*
找到:
c:\inetpub\wwwroot\web.config
C:\lab> where /R C:\ *.config
找到:
c:\inetpub\wwwroot\web.config
PS C:\lab> Get-ChildItem C:\ -Recurse -Include *.rdp, *.config, *.vnc, *.cred -ErrorAction Ignore
%SYSTEMDRIVE%\pagefile.sys
:交換檔 (Pagefile)。Windows 把記憶體資料暫存到硬碟裡,裡面可能殘留密碼、憑證、明文資料。
%WINDIR%\debug\NetSetup.log
:網域加入 (Domain Join) 的 Debug Log,有時候會看到網域帳號密碼或錯誤訊息。
%WINDIR%\repair\sam / system / software / security
:Windows 修復模式的備份註冊表 Hive
(Registry Hives),有時候裡面能取出 SAM 資料庫(本地使用者雜湊)、系統金鑰,進而做 hash dump。
%WINDIR%\iis6.log
:IIS Web Server 的日誌,可能看到登入帳號、查詢參數中的憑證。
%WINDIR%\system32\config\AppEvent.Evt / SecEvent.Evt
:舊版 Windows Event Log,可能記錄認證事件或系統帳號活動。
%WINDIR%\system32\config\*.sav
:Registry hive 的備份副本(default.sav、security.sav、software.sav、system.sav),同樣能被用來提取帳號資訊。
%WINDIR%\system32\CCM\logs\*.log
:SCCM(System Center Configuration Manager)的日誌,常含有安裝軟體或推送政策時留下的認證。
%USERPROFILE%\ntuser.dat
:每個使用者的個人註冊表檔案,可能含有應用程式存的密碼或 Proxy 設定。
%USERPROFILE%\LocalS~1\Tempor~1\Content.IE5\index.dat
:IE 的暫存瀏覽紀錄檔,可能含有 Cookie 或明文登入資訊。
%WINDIR%\System32\drivers\etc\hosts
:本地 Hosts 檔,雖然不是憑證,但可能有「偽造的 Domain」對應,被用來欺騙認證流量。
C:\ProgramData\Configs\*
:常被軟體放置明文設定檔的位置,裡面可能直接存帳密(例如 web.config、database.ini)。
C:\Program Files\Windows PowerShell\*
:有時候管理員或開發人員會把 Script 存這裡,腳本內可能硬編碼憑證(hard-coded credentials)。
雖然許多常見的提權枚舉腳本(如 winPEAS、Seatbelt、PowerUp)都會自動搜尋這些敏感檔案,但我們不能只依賴工具。
理解檔案用途:知道為什麼這些檔案可能包含憑證(例如 pagefile.sys 可能殘留記憶體密碼片段)。
手動搜尋:透過 findstr、select-string、strings 等指令,針對副檔名與內容搜尋。
客製化腳本:在遇到特殊環境(內部自製系統、特定應用程式)時,可能需要修改枚舉腳本,把新的檔案路徑或副檔名加入搜尋範圍。
比對上下文:不只看檔案,還要比對檔案時間、存取權限,判斷它是否真有利用價值。
# 在 Windows 系統與使用者環境中,往往存在許多潛在的敏感檔案,這些檔案可能蘊含帳號密碼、金鑰、憑證雜湊或應用程式設定。
# 雖然各類工具能自動協助搜尋,但仍需要具備手動檢查、判斷並擴充的能力,才能在提權與滲透測試的過程中更加靈活 ~
HTB Academy - Windows Privilege Escalation - Other Files: https://academy.hackthebox.com/module/67/section/639