现在的位置: 首页 Web >正文

Windows任意文件下载的三个Tips

在群里面看到大家提出的两个思路,简单进行了一下测试,并附加一个新思路。

由于需要读取一些系统服务使用的文件或用户文件,一般来说需要SYSTEM或administrators权限。


0x01 WSearch服务

@Lz1y提出的思路,简单看了一下SearchIndexer的文件句柄,WSearch服务会将数据存放在%ProgramData%\Microsoft\Search\Data\Applications\Windows\Windows.edb中:

文件拓展名为edb,显然和ntds.dit相同,使用了EsentDB作为存储引擎。

所以只要下载回来还原即可 那是不可能的,注意ShareFlag一栏,SearchIndexer选择以独占方式打开数据库,其他进程无法进行读取。


那么关注一下其他目录或文件,%ProgramData%\Microsoft\Search\Data\Applications\Windows\GatherLogs\SystemIndex目录下存在一些Crwl与gthr文件,文件名类似SystemIndex.[数字序号].gthr。其中gthr文件中存在大量路径信息:

如图,刚刚打开服务后,微信访问的图片、聊天数据库即被记录,甚至还有一个我的Sid。


另外一个文件里面有一些我的ie访问历史:


虚拟机中则记录了复制到桌面的mimikatz:

如果安装了Outlook,甚至会有邮箱、附件名称、联系人等信息。

(这里没有图,请自行检查)


之后再注意和windows.edb同目录的文件,其中.jtx是可以被打开的。查询msdn可知,此文件为数据库的事务日志,文件名格式为edb[从00000-fffff的五位十六进制数].jtx。

研究过SqlServer的都应当知道,事务日志里面会保存未同步或未写入的数据,只要对文件内容进行分析即可。

实际上我们完全不需要去研究文件结构,windows下绝大部分情况下都以UTF16-LE编码进行保存,所以直接使用strings工具进行提取:

如果是一个常用机器,或者安装了outlook等,那么会有更多惊喜。

这种方式获取到的数据可能极为敏感,也可能完全没有,效果取决于人品,而且需要进行文件名爆破。不过好在根据自己几个环境的统计,数据量很可观,而且需要爆破的序号并不大。


0x02 EventLog服务

@某个名字中有emoji的老哥(抱歉打不出来)提出的思路,之前做测试时候一致认为是独占式,今天仔细一看发现被打脸:


日志文件存放于%systemroot%\System32\winevt\Logs,且允许共享读取。 真想打当时的我一顿

由于ETW文件名固定,我们直接根据已知列表进行下载即可:

Application.evtx
ConnectionInfo.evtx
Error.evtx
HardwareEvents.evtx
Internet Explorer.evtx
Key Management Service.evtx
Media Center.evtx
Microsoft-Windows-API-Tracing%4Operational.evtx
Microsoft-Windows-AppID%4Operational.evtx
Microsoft-Windows-Application Server-Applications%4Admin.evtx
Microsoft-Windows-Application Server-Applications%4Operational.evtx
Microsoft-Windows-Application-Experience%4Problem-Steps-Recorder.evtx
Microsoft-Windows-Application-Experience%4Program-Compatibility-Assistant.evtx
Microsoft-Windows-Application-Experience%4Program-Compatibility-Troubleshooter.evtx
Microsoft-Windows-Application-Experience%4Program-Inventory.evtx
Microsoft-Windows-Application-Experience%4Program-Telemetry.evtx
Microsoft-Windows-AppLocker%4EXE and DLL.evtx
Microsoft-Windows-AppLocker%4MSI and Script.evtx
Microsoft-Windows-Audio%4CaptureMonitor.evtx
Microsoft-Windows-Audio%4Operational.evtx
Microsoft-Windows-Authentication User Interface%4Operational.evtx
Microsoft-Windows-Backup.evtx
Microsoft-Windows-BitLocker-DrivePreparationTool%4Admin.evtx
Microsoft-Windows-BitLocker-DrivePreparationTool%4Operational.evtx
Microsoft-Windows-Bits-Client%4Operational.evtx
Microsoft-Windows-Bluetooth-MTPEnum%4Operational.evtx
Microsoft-Windows-BranchCache%4Operational.evtx
Microsoft-Windows-BranchCacheSMB%4Operational.evtx
Microsoft-Windows-CAPI2%4Operational.evtx
Microsoft-Windows-CodeIntegrity%4Operational.evtx
Microsoft-Windows-Compat-Appraiser%4Operational.evtx
Microsoft-Windows-CorruptedFileRecovery-Client%4Operational.evtx
Microsoft-Windows-CorruptedFileRecovery-Server%4Operational.evtx
Microsoft-Windows-DateTimeControlPanel%4Operational.evtx
Microsoft-Windows-DeviceSync%4Operational.evtx
Microsoft-Windows-Dhcp-Client%4Admin.evtx
Microsoft-Windows-DhcpNap%4Admin.evtx
Microsoft-Windows-Dhcpv6-Client%4Admin.evtx
Microsoft-Windows-Diagnosis-DPS%4Operational.evtx
Microsoft-Windows-Diagnosis-PCW%4Operational.evtx
Microsoft-Windows-Diagnosis-PLA%4Operational.evtx
Microsoft-Windows-Diagnosis-Scheduled%4Operational.evtx
Microsoft-Windows-Diagnosis-Scripted%4Admin.evtx
Microsoft-Windows-Diagnosis-Scripted%4Operational.evtx
Microsoft-Windows-Diagnosis-ScriptedDiagnosticsProvider%4Operational.evtx
Microsoft-Windows-Diagnostics-Networking%4Operational.evtx
Microsoft-Windows-Diagnostics-Performance%4Operational.evtx
Microsoft-Windows-DiskDiagnostic%4Operational.evtx
Microsoft-Windows-DiskDiagnosticDataCollector%4Operational.evtx
Microsoft-Windows-DiskDiagnosticResolver%4Operational.evtx
Microsoft-Windows-DriverFrameworks-UserMode%4Operational.evtx
Microsoft-Windows-EapHost%4Operational.evtx
Microsoft-Windows-EventCollector%4Operational.evtx
Microsoft-Windows-Fault-Tolerant-Heap%4Operational.evtx
Microsoft-Windows-FMS%4Operational.evtx
Microsoft-Windows-Folder Redirection%4Operational.evtx
Microsoft-Windows-Forwarding%4Operational.evtx
Microsoft-Windows-GroupPolicy%4Operational.evtx
Microsoft-Windows-Help%4Operational.evtx
Microsoft-Windows-HomeGroup Control Panel%4Operational.evtx
Microsoft-Windows-HomeGroup Listener Service%4Operational.evtx
Microsoft-Windows-HomeGroup Provider Service%4Operational.evtx
Microsoft-Windows-IKE%4Operational.evtx
Microsoft-Windows-International%4Operational.evtx
Microsoft-Windows-International-RegionalOptionsControlPanel%4Operational.evtx
Microsoft-Windows-Iphlpsvc%4Operational.evtx
Microsoft-Windows-Kernel-EventTracing%4Admin.evtx
Microsoft-Windows-Kernel-Power%4Thermal-Operational.evtx
Microsoft-Windows-Kernel-StoreMgr%4Operational.evtx
Microsoft-Windows-Kernel-WDI%4Operational.evtx
Microsoft-Windows-Kernel-WHEA%4Errors.evtx
Microsoft-Windows-Kernel-WHEA%4Operational.evtx
Microsoft-Windows-Known Folders API Service.evtx
Microsoft-Windows-LanguagePackSetup%4Operational.evtx
Microsoft-Windows-MCT%4Operational.evtx
Microsoft-Windows-MemoryDiagnostics-Results%4Debug.evtx
Microsoft-Windows-MUI%4Admin.evtx
Microsoft-Windows-MUI%4Operational.evtx
Microsoft-Windows-NCSI%4Operational.evtx
Microsoft-Windows-NetworkAccessProtection%4Operational.evtx
Microsoft-Windows-NetworkAccessProtection%4WHC.evtx
Microsoft-Windows-NetworkLocationWizard%4Operational.evtx
Microsoft-Windows-NetworkProfile%4Operational.evtx
Microsoft-Windows-NlaSvc%4Operational.evtx
Microsoft-Windows-NTLM%4Operational.evtx
Microsoft-Windows-OfflineFiles%4Operational.evtx
Microsoft-Windows-ParentalControls%4Operational.evtx
Microsoft-Windows-PeopleNearMe%4Operational.evtx
Microsoft-Windows-PowerShell%4Operational.evtx
Microsoft-Windows-PrintService%4Admin.evtx
Microsoft-Windows-ReadyBoost%4Operational.evtx
Microsoft-Windows-ReadyBoostDriver%4Operational.evtx
Microsoft-Windows-Recovery%4Operational.evtx
Microsoft-Windows-ReliabilityAnalysisComponent%4Operational.evtx
Microsoft-Windows-RemoteApp and Desktop Connections%4Admin.evtx
Microsoft-Windows-RemoteApp and Desktop Connections%4Operational.evtx
Microsoft-Windows-RemoteAssistance%4Admin.evtx
Microsoft-Windows-RemoteAssistance%4Operational.evtx
Microsoft-Windows-RemoteDesktopServices-RdpCoreTS%4Admin.evtx
Microsoft-Windows-RemoteDesktopServices-RdpCoreTS%4Operational.evtx
microsoft-windows-RemoteDesktopServices-RemoteDesktopSessionManager%4Admin.evtx
Microsoft-Windows-Resource-Exhaustion-Detector%4Operational.evtx
Microsoft-Windows-Resource-Exhaustion-Resolver%4Operational.evtx
Microsoft-Windows-Resource-Leak-Diagnostic%4Operational.evtx
Microsoft-Windows-RestartManager%4Operational.evtx
Microsoft-Windows-Security-Audit-Configuration-Client%4Operational.evtx
Microsoft-Windows-SMBServer%4Audit.evtx
Microsoft-Windows-SMBServer%4Operational.evtx
Microsoft-Windows-TerminalServices-ClientUSBDevices%4Admin.evtx
Microsoft-Windows-TerminalServices-ClientUSBDevices%4Operational.evtx
Microsoft-Windows-TerminalServices-LocalSessionManager%4Admin.evtx
Microsoft-Windows-TerminalServices-LocalSessionManager%4Operational.evtx
Microsoft-Windows-TerminalServices-PnPDevices%4Admin.evtx
Microsoft-Windows-TerminalServices-PnPDevices%4Operational.evtx
Microsoft-Windows-TerminalServices-RDPClient%4Operational.evtx
Microsoft-Windows-TerminalServices-RemoteConnectionManager%4Admin.evtx
Microsoft-Windows-TerminalServices-RemoteConnectionManager%4Operational.evtx
Microsoft-Windows-TerminalServices-ServerUSBDevices%4Admin.evtx
Microsoft-Windows-TerminalServices-ServerUSBDevices%4Operational.evtx
Microsoft-Windows-TZUtil%4Operational.evtx
Microsoft-Windows-UAC%4Operational.evtx
Microsoft-Windows-UAC-FileVirtualization%4Operational.evtx
Microsoft-Windows-User Profile Service%4Operational.evtx
Microsoft-Windows-VDRVROOT%4Operational.evtx
Microsoft-Windows-VHDMP%4Operational.evtx
Microsoft-Windows-WebDeploy%4ConnectionInfo.evtx
Microsoft-Windows-WebDeploy%4Error.evtx
Microsoft-Windows-WER-Diag%4Operational.evtx
Microsoft-Windows-WFP%4Operational.evtx
Microsoft-Windows-Windows Defender%4Operational.evtx
Microsoft-Windows-Windows Defender%4WHC.evtx
Microsoft-Windows-Windows Firewall With Advanced Security%4ConnectionSecurity.evtx
Microsoft-Windows-Windows Firewall With Advanced Security%4Firewall.evtx
Microsoft-Windows-WindowsBackup%4ActionCenter.evtx
Microsoft-Windows-WindowsSystemAssessmentTool%4Operational.evtx
Microsoft-Windows-WindowsUpdateClient%4Operational.evtx
Microsoft-Windows-Winlogon%4Operational.evtx
Microsoft-Windows-WinRM%4Operational.evtx
Microsoft-Windows-Winsock-WS2HELP%4Operational.evtx
Microsoft-Windows-Wired-AutoConfig%4Operational.evtx
Microsoft-Windows-WLAN-AutoConfig%4Operational.evtx
Microsoft-Windows-WPD-ClassInstaller%4Operational.evtx
Microsoft-Windows-WPD-CompositeClassDriver%4Operational.evtx
Microsoft-Windows-WPD-MTPClassDriver%4Operational.evtx
OAlerts.evtx
PreEmptive.evtx
Security.evtx
Setup.evtx
System.evtx
Windows PowerShell.evtx

(注意安装某些服务后可能会有更多日志,需要自行收集。)

之后直接用事件查看器打开即可:

后续操作就各显神通了,例如Application里面的错误信息包含异常退出程序的全路径;Powershell日志包含执行的命令行;Security日志包含登陆信息;System日志可能包含某些杀软的信息等等。


0x03 PowerShell命令历史记录

类似.bash_history,高版本Powershell会将历史记录保存在%userprofile%\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadline\ConsoleHost_history.txt中,里面可能包含一些敏感信息:

(图来自google)

美中不足的是需要爆破用户名,所以需要结合某些手段获取一些用户名--例如ETW日志中的登录信息,或是WSearch服务数据库中的信息等等。


0x04 小结

成年人了,放个论文式结尾总结没有意义,谈一谈过程中的体会。

技术是有连贯性的,不仅仅局限在某个操作系统领域,某些看似毫不相关的领域可能会碰撞出奇妙的交集。

例如WSearch服务获取信息的思路实际上就是文件取证;ETW思路的后续则更类似安服应急溯源,可能有不少自动化工具可用;PowerShell历史记录则可以和linux信息搜集形成类比。这些知识点综合起来,会让人有种莫名的爽快感。

再次回到本文主题,或许可以顺着这种思路问一下取证的朋友与安服的朋友,看看有没有什么其他可行的方案。找到领域咨询专业人员实际上是比自己研究靠谱得多的,虽然最终结果还是做渗透的事。


全文PDF:         Windows任意文件下载的三个Tips.pdf