During a Windows Forensics engagement, I occasionally find myself forgetting essential tasks or unintentionally skipping analyzing importants artifacts. Therefore, this checklist (along with cheatsheet) could help myself (or readers) and ensure that I adhere to a systematic workflow when conducting Windows Forensics.
Typical Forensic investigation flow
If you ask me the details on the acquisition and analysis part, here it is:
- Evidence acquisition ⇛ Disk, memory
- Live response, scanner and live forensics ⇛ Autoruns, process hacker, THOR or Loki, Inquisitor
- Memory forensics ⇛ MemProcFS, volatility
- Disk Image mounting ⇛ Mounting and Triage important artifact
- Persistence analysis ⇛ Autoruns location, registry, WMI, Scheduled Tasks
- Malware analysis ⇛ Static and Dynamic analysis
- Checking system information ⇛ Registry
- Root cause analysis ⇛ Logs, web, malware, file folder activity, exploit, email, executed file
- Lateral movement investigation ⇛ event log, executed file, registry, file system
- Timeline analysis ⇛ MFT, Logfile, UsnJ parsing
- File access artifacts ⇛ File sharing, MountPoints, USB
- Recovering deleted data ⇛ Recyclebin, MFT, VSS, File carving, Keyword search (Autopsy)
- Malware reverse engineering
- Writing report
Tools
Acquire artifact’s Tools
| Tools | Description |
|---|---|
| FTK Imager | Disk Imaging |
| Magnet RAM Capturer | Generate memory dump |
| KAPE | Triage only selected important artifacts instead of the whole disk image |
| Inquisitor / FastIR | Live analysis triage |
| Mandiant Redline | Collect live and file’s data and produce analysis |
| External Hard disk | To store the artifact acquisition |
| Velociraptor’s agent and server | Remote forensics framework |
| EDD | Check disk encryption |
Forensic analysis tools
| Tools | Description |
|---|---|
| Arsenal Image Mounter | Mounting image |
| Autopsy / FTK Imager | Disk forensics |
| KAPE | Triage artifact and parse artifact |
| Eric Zimmerman tools | Artifact parser and viewer |
| Regripper | Registry parser |
| Volatility Workbench / MemProcFS / MemProcFS-Analyzer | Memory analysis tools |
| Event log explorer | Event log viewer |
| Reg_hunter | Hunt for malicious registry in live forensics |
| Other open/close source tools | - |
OS / Linux Distros
- Windows
- SIFT Linux
- Tsurugi Linux
- REMnux
Acquire artifacts
- Check disk encryption using EDD
- Perform disk imaging using FTK Imager
- Perform memory dump activity using Magnet RAM Capturer for example.
- Save all files in the external harddisk
- Optional:
- Perform live analysis collection scanner such as Inquisitor
- Scan the compromised using scanner such as THOR
- Perform Registry scanner such as RegHunter
- Perform memory scanner such as hollows_hunter or moneta
- Perform persistent scanner such as PersistenceSniper or Trawler
KAPE cheatsheet
Basic command
# Target
.\kape.exe --tsource [DRIVE LETTER] --tdest [DESTINATION INCLUDE FOLDER NAME] --module [MODULE NAME] --gui
# Module
.\kape.exe --msource [DRIVE LETTER] --mdest [DESTINATION INCLUDE FOLDER NAME] --module [MODULE NAME] --gui
Target
KAPE target extraction
.\kape.exe --tsource E: --tdest D:\KAPE_cases\ --target KapeTriage,MessagingClients,RemoteAdmin,ServerTriage,WebBrowsers,WebServers,WSL,MemoryFiles --gui
Module: Live Response
Memory dump
.\kape.exe --msource C:\ --mdest D:\KAPE_cases\%m --module MagnetForensics_RAMCapture --gui
Live response command and scanner
.\kape.exe --msource E:\ --mdest D:\KAPE_cases\%m --module PowerShell_Get-InjectedThread,PowerShell_Get-NetworkConnection,PowerShell_Netscan,PowerShell_Signed,SIDR_WindowsIndexSearchParser,WIFIPassView,MagnetForensics_EDD,Nirsoft_BluetoothView,Nirsoft_LastActivityView,Nirsoft_OpenedFilesView,NirSoft_USBDeview,NirSoft_VideoCacheView,NirSoft_WebBrowserPassView,Nirsoft_WhatInStartup,Nirsoft_WifiHistoryView,Nirsoft_WirelessKeyView,SysInternals_Autoruns,SysInternals_Handle,SysInternals_PsFile,SysInternals_PsInfo,SysInternals_PsList,SysInternals_PsLoggedOn,SysInternals_PsService,SysInternals_PsTree,SysInternals_Tcpvcon,Powrshell_LiveResponse_SystemInfo,PowerShell_Arp_Cache_Extraction,PowerShell_Bitlocker_Key_Extraction,PowerShell_Bitlocker_Status,PowerShell_Defender_Exclusions,PowerShell_DLL_List,PowerShell_Dns_Cache,PowerShell_Local_Group_List,PowerShell_LocalAdmin,PowerShell_NamedPipes,PowerShell_NetUserAdministrators,PowerShell_Network_Configuration,PowerShell_Network_Connections_Status,PowerShell_Network_Share,PowerShell_Process_Cmdline,PowerShell_ProcessList_CimInstance,PowerShell_ProcessList_WMI,PowerShell_Services_List,PowerShell_SMBMapping,PowerShell_SMBOpenFile,PowerShell_SMBSession,PowerShell_Startup_Commands,PowerShell_User_List,PowerShell_WMIRepositoryAuditing,Windows_ARPCache,Windows_DNSCache,Windows_GpResult,Windows_IPConfig,Windows_MsInfo,Windows_nbtstat_NetBIOSCache,Windows_nbtstat_NetBIOSSessions,Windows_Net_Accounts,Windows_Net_File,Windows_Net_LocalGroup,Windows_Net_Session,Windows_Net_Share,Windows_Net_Start,Windows_Net_Use,Windows_Net_User,Windows_netsh_portproxy,Windows_NetStat,Windows_qwinsta_RDPSessions,Windows_RoutingTable,Windows_schtasks,Windows_SystemInfo,Reghunter,hasherezade_HollowsHunter --gui
.\kape.exe --msource E:\ --mdest D:\KAPE_cases\%m --module Thor-Lite_Upgrade,Thor-Lite_Scan --gui
.\kape.exe --msource E:\ --mdest D:\KAPE_cases\%m --module Loki_LiveResponse --gui
.\kape.exe --msource E:\ --mdest D:\KAPE_cases\%m --module hasherezade_HollowsHunter --gui
.\kape.exe --msource E:\ --mdest D:\KAPE_cases\%m --module MagnetForensics_RAMCapture --gui
Module: Parsing and scanning
All in one artifact parsing
Warning: Super slow!
.\kape.exe --msource E:\ --mdest D:\KAPE_cases\ --module Loki_Scan,DensityScout,BackstageParser,BitsParser,CCMRUAFinder_RecentlyUsedApps,Chainsaw,DeepblueCLI,DHParser,EvtxHussar,hasherezade_HollowsHunter,INDXRipper,LevelDBDumper,OneDriveExplorer,PowerShell_Get-ChainsawSigmaRules,TeamsParser,ThumbCacheViewer,WMI-Parser,Zircolite_Scan,Zircolite_Update,LogParser_ApacheAccessLogs,LogParser_DetailedNetworkShareAccess,LogParser_LogonLogoffEvents,LogParser_RDPUsageEvents,LogParser_SMBServerAnonymousLogons,Nirsoft_AlternateStreamView,NirSoft_BrowsingHistoryView,NirSoft_FullEventLogView_AllEventLogs,NirSoft_FullEventLogView_Application,NirSoft_FullEventLogView_PowerShell-Operational,NirSoft_FullEventLogView_PrintService-Operational,NirSoft_FullEventLogView_ScheduledTasks,NirSoft_FullEventLogView_Security,NirSoft_FullEventLogView_System,NirSoft_TurnedOnTimesView,NirSoft_WebBrowserDownloads,Nirsoft_WinLogonView,SysInternals_SigCheck,TZWorks_CAFAE_Registry_System,Events-Ripper,Hayabusa,LogParser,MFTECmd,NTFSLogTracker,RECmd_AllBatchFiles,Reghunter,RegRipper,AmcacheParser,AppCompatCacheParser,EvtxECmd,EvtxECmd_RDP,iisGeoLocate,JLECmd,LECmd,PECmd,RBCmd,RecentFileCacheParser,SBECmd,SQLECmd,SQLECmd_Hunt,SrumECmd,SumECmd,WxTCmd,Sync_EvtxECmd,Sync_KAPE,Sync_RECmd,Sync_SQLECmd,Windows_ManageBDE_BitLockerKeys,Windows_ManageBDE_BitLockerStatus --gui
Event log / log scanning and parsing
.\kape.exe --msource E:\ --mdest D:\KAPE_cases\ --module !!ToolSync,PowerShell_Get-ChainsawSigmaRule,Chainsaw,DeepblueCLI,EvtxHussar,Zircolite_Update,Zircolite_Scan,Events-Ripper,hayabusa_EventStatistics,hayabusa_OfflineEventLogs,hayabusa_OfflineLogonSummary,hayabusa_UpdateRules,EvtxECmd,EvtxECmd_RDP,LogParser,iisGeoLocate
Program Execution
.\kape.exe --msource E:\ --mdest D:\KAPE_cases\ --module CCMRUAFinder_RecentlyUsedApps,AmcacheParser,AppCompatCacheParser,PECmd,RecentFileCacheParser --gui
File folder activity
.\kape.exe --msource E:\ --mdest D:\KAPE_cases\ --module BackstageParser,OneDriveExplorer,ThumbCacheViewer,JLECmd,LECmd,RBCmd,SBECmd,WxTCmd --gui
NTFS and FileSystem parsing
.\kape.exe --msource E:\ --mdest D:\KAPE_cases\ --module !!ToolSync,INDXRipper,MFTECmd,NTFSLogTracker,RegRipper,RECmd_AllBatchFiles --gui
System activity
.\kape.exe --msource E:\ --mdest D:\KAPE_cases\ --module SRUMDump,WMI-Parser,RECmd_AllBatchFiles,SrumECmd,SumECmd --gui
Mounted image scanner
.\kape.exe --msource E:\ --mdest D:\KAPE_cases\ --module Loki_Scan --gui
.\kape.exe --msource E:\ --mdest D:\KAPE_cases\ --module DensityScout --gui
Analysis Findings
First, create a spreadsheet that will be the main documentation of your findings especially for Timeline. Include few relavant aspects in the spreadsheet such as:
- Artifact type
- Findings
- Location of artifact
- Created
- Accessed
- Modified
- Notes / Payload
Live Forensics
- Check all the results of the script collection (Inquisitor / Kansa / FastIR)
Memory analysis
- Tool used: Volatility, MemProcFS, MemProcFS-Analyzer
- Check network connection (netstat, netscan)
- Check process list (pslist, pstree, psscan, cmdline)
- Check injected process, dll injection (malfind, dlllist)
- Dump malicious process (dumpfiles –pid PID)
- Volatilit3 command:
python3 vol.py -f <memdump> <plugin name> - MemProcFS command:
memprocfs.exe -device D:\mem.raw -forensic 1 - MemProcFS-Analyzer:
.\MemProcFS-Analyzer.ps1
Disk analysis
Mount image
- Perform KAPE execution on the mounted drive using “KAPE triage” module to extract important artifacts.
- Run malware scanner on the mounted drive (Loki scanner, THOR scanner, AV scanner, Densityscout)
- Perform data recovery on the mounted drive using Photorec
- Check any shadow copy, view it in Shadow Explorer
Autopsy
- Attach disk in Autopsy
- Run ingest module “Recent activity” and “Keyword search”
- Check Data artifacts in Autopsy, record all interesting findings
- Check file and folder (Access time, and created time)
- View Timeline Analysis in Autopsy
- Search any interesting keywords
Windows event logs analysis
- Located at
C:\Windows\System32\winevt\Logs - Perform event log scanner
- Manually view in Event Log Explorer
Interesting log sources
| Log sources | Context |
|---|---|
| Security.evtx | Security-related events |
| System.evtx | Tracks system component events |
| Application.evtx | Logs application-specific events |
| Microsoft-Windows-Sysmon/Operational.evtx | Enhanced process, network, and file monitoring |
| Microsoft-Windows-PowerShell/4Operational.evtx | Records PowerShell activity |
| Microsoft-Windows-Windows Defender/Operational.evtx | Logs Windows Defender events |
| Microsoft-Windows-WMI-Activity/4Operational.evtx | Logs WMI events |
| Microsoft-Windows-TerminalServices-RemoteConnectionManager%4Operational.evtx | Logs RDP session events |
| Microsoft-Windows-TerminalServices-LocalSessionManager/Operational.evtx | Logs RDP session events |
| Microsoft-Windows-TaskScheduler/Operational.evtx | Logs Task Scheduler events |
| Microsoft-Windows-DNS-Server%4Operational.evtx | Active Directory Server Logs |
| Directory Service.evtx | Active Directory Server Logs |
| File Replication Service.evtx | Active Directory Server Logs |
| %SystemDrive%\inetpub\logs\LogFiles | IIS log |
| %SystemRoot%\System32\LogFiles\HTTPERR | IIS log |
| %ProgramFiles%\Microsoft\Exchange Server\V15\Logging | Exchange log |
| Panther*.log | Windows setup details |
| RPC Client Access*.log | Exchange Server, if applicable |
| Third party antivirus log | AV logs |
Event log scanner
| Tools | Commands |
|---|---|
| Hayabusa | hayabusa.exe update-rules and hayabusa.exe csv-timeline -d ..\Logs -p verbose -o results.csv |
| DeepBlueCLI | .\DeepBlue.ps1 -log security |
| Chainsaw | chainsaw.exe hunt evtx_logs/ -s sigma/ --mapping mappings/sigma-event-logs-all.yml -r rules/ --csv --output results |
| Zircolite | zircolite_win10.exe --evtx ../Logs |
| APT-Hunter | APT-Hunter.exe -p ..\Logs -o Foldername -allreport |
| EVTXHussar | EvtxHussar.exe C:\evtx_compromised_machine -o C:\evtxhussar_results |
| Rhaegal | rhaegal.exe -lp ..\Logs -rp rules -n 100 -o output.csv |
Important Security Event IDs
| IDs | Event log | Context |
|---|---|---|
| 4624 | Security | Successful Login |
| 4625 | Security | Failed Login |
| 4634/4647 | Security | User Initiated Logoff/An Account was Logged Off |
| 4648 | Security | A Logon was Attempted Using Explicit Credentials |
| 4662 | Security | An Operation was Performed on an Object |
| 4663 | Security | An Attempt was Made to Access an Object |
| 4672 | Security | Special Logon |
| 4688 | Security | Process Creation |
| 4689 | Security | Process Termination |
| 4697 | Security | Service Installed |
| 4698/4702/4700 | Security | Scheduled Task Created or Updated |
| 4699 | Security | Scheduled Task Deleted |
| 4701 | Security | Scheduled Task Enabled |
| 4702 | Security | Service Removed |
| 4720 | Security | A User Account was Created |
| 4722 | Security | A User Account was Enabled |
| 4723 | Security | An Attempt was Made to Change an Account’s Password |
| 4724 | Security | An Attempt was Made to Reset an Account’s Password |
| 4725 | Security | A User Account was Disabled |
| 4726 | Security | A User Account was Deleted |
| 4728 | Security | A Member was Added to a Security-Enabled Global Group |
| 4729 | Security | A Member was Removed from a Security-Enabled Global Group |
| 4732 | Security | A Security-Enabled Local Group was Created |
| 4733 | Security | A Security-Enabled Local Group was Changed |
| 4734 | Security | A Security-Enabled Local Group was Deleted |
| 4741 | Security | A Computer Account was Created |
| 4742 | Security | A Computer Account was Changed |
| 4768 | Security (DC) | Kerberos TGT request |
| 4769 | Security (DC) | Kerberos Service Ticket request |
| 4771 | Security | Locked Out Account |
| 4776 | Security | NTLM authentication |
| 4778 | Security | Session Reconnected |
| 4779 | Security | Session Disconnected by User |
| 4794 | Security | An Attempt was Made to Set the Directory Services Restore Mode Administrator Password |
| 5136 | Security | Directory Service Changes |
| 5140 | Security | A Network Share Object was Accessed |
| 5141 | Security | A Directory Service Object was Deleted |
| 5145 | Security | Network Share Object was Checked |
| 5376 | Security | Credential Manager Credentials Submitted |
| 5377 | Security | Credential Manager Credentials Auto-Logon |
| 1102 | Security | Event Log Cleared |
| 1100 | Security | Event Log Service Shutdown |
Logon type corresponding to Succesfull (4624) or Failed logins (4625)
| Logon Type | Explanation |
|---|---|
| 2 | Logon via console |
| 3 | Network Logon. A user or computer logged on to this computer from the network |
| 4 | Batch Logon (Task scheduler and AT) |
| 5 | Windows Service logon |
| 7 | Credentials used to unlock screen |
| 8 | Network logon sending credentials (cleartext) |
| 9 | Different credentials used than logon user |
| 10 | Remote Interactive logon (RDP) |
| 11 | Cached credentials used to logon |
| 12 | Cached remote interactive (RDP) |
| 13 | Cached Unlock (Similar to logon type 7) |
Other’s log important Event IDs
| IDs | Event log | Context |
|---|---|---|
| 7045 | System | Service installed |
| 7034 | System | The service terminated unexpectedly |
| 7035 | System | Service Control Manager |
| 7036 | System | Service State Change |
| 7040 | System | Service was changed from disabled to auto start. |
| 7001 | System | Service Start Failed |
| 1001 | System | BSOD |
| 6005 | System | Start-up time of the machine |
| 6006 | System | Shutdown time of the machine |
| 104 | System | Log cleared |
| 59 | MicrosoftWindows Bits Client/operational | Bits Jobs |
| 2004 | Microsoft-Windows-Windows Firewall with Advanced Security | Rule has been added to the Window Firewall exception list |
| 2006 | Microsoft-Windows-Windows Firewall with Advanced Security | Deleted firewall rule |
| 1116 | Microsoft Windows Windows Defender/Operational | Defender Antivirus has detected malware |
| 1117 | Microsoft Windows Windows Defender/Operational | Action taken |
| 1006 | Microsoft Windows Windows Defender/Operational | Scan result |
| 4103 | Microsoft Windows PowerShell/Operational | Module logging |
| 4104 | Microsoft Windows PowerShell/Operational | Script Block Logging |
| 4105 | Microsoft Windows PowerShell/Operational | Transcription Logging |
| 4688 | Microsoft Windows PowerShell/Operational | Process Creation (including PowerShell processes) |
| 400 | Windows PowerShell | Start of a PowerShell activity, whether local or remote. |
| 403 | Windows PowerShell | Completion of a PowerShell activity |
| 800 | Windows PowerShell | Pipeline execution |
| 1000 | Application | Application Error/crash |
| 1001 | Application | Application Error reporting |
| 1002 | Application | Application Hang |
| 1024 | Application | Software Installation |
| 1040 | Application | User Initiated Software Installation |
| 1033 | Application | Software installed |
| 1034 | Application | Windows Installer removed the product |
| 11707 | Application | Installation operation completed successfully |
| 11708 | Application | Installation failed |
| 11724 | Application | Installation completed successfully |
| 1 | Microsoft-Windows-Sysmon/Operational | Process Creation |
| 2 | Microsoft-Windows-Sysmon/Operational | A process changed a file creation time |
| 3 | Microsoft-Windows-Sysmon/Operational | Network connection detected |
| 6 | Microsoft-Windows-Sysmon/Operational | Driver Loaded |
| 7 | Microsoft-Windows-Sysmon/Operational | Image Loaded |
| 8 | Microsoft-Windows-Sysmon/Operational | CreateRemoteThread |
| 10 | Microsoft-Windows-Sysmon/Operational | ProcessAccess |
| 11 | Microsoft-Windows-Sysmon/Operational | FileCreate |
| 12 | Microsoft-Windows-Sysmon/Operational | RegistryEvent (Object create and delete) |
| 1149 | Microsoft-Windows-TerminalServices-RemoteConnectionManager%4Operational | RDP User authentication succeeded |
| 21 | Microsoft-Windows-TerminalServices-RemoteConnectionManager%4Operational | RDP Session logon succeeded |
| 24 | Microsoft-Windows-TerminalServices-RemoteConnectionManager%4Operational | RDP Session has been disconnected |
| 25 | Microsoft-Windows-TerminalServices-RemoteConnectionManager%4Operational | RDP Session reconnection succeeded |
| 131 | RDPCoreTS | RDP connection is first established |
| 106 | Task Scheduler | New scheduled task is created |
| 140 | Task Scheduler | New scheduled task is created |
| 141 | Task Scheduler | User deleted Task Scheduler task |
| 200 | Task Scheduler | Task executed |
| 201 | Task Scheduler | Task scheduler successfully completed the task |
| 5857 | WMI-Activity Operational | WMI activity is detected |
| 5858 | WMI-Activity Operational | WMI error |
| 5859 | WMI-Activity Operational | Subscription-based activity |
| 5860 | WMI-Activity Operational | Detailed subscription-based activity |
| 5861 | WMI-Activity Operational | Permanent subscription activity |
Event ID KB: https://system32.eventsentry.com/ and https://www.myeventlog.com/search/browse
Triage artifacts parsing and analysis
File Records
MFT Attributes:
- $STANDARD_INFORMATION ($SI)
- $FILE_NAME ($FN)
- $DATA
- $EA (Extended Attributes)
| Filesystem | Location | Tools or Commands |
|---|---|---|
| MFT | C:\ |
MFTECmd.exe -f "C:\Temp\SomeMFT" --csv "c:\temp\out" --csvf MyOutputFile.csv |
| UsnJrnl | C:\$Extend |
MFTECmd.exe -f "C:\Temp\SomeJ" --csv "c:\temp\out" --csvf MyOutputFile.csv |
Other useful tools:
- analyzeMFT.py: Parse $MFT files and summarize those information
- MFTRCRD: MFT record decoder for online filesystem
- Mft2Csv: Parse $MFT files and raw disk images. It can extract resident files from $MFT.
- Fte: Parse MFT and INDX
- MFTCarver: Can recover old MFT entries that are not listed in current MFT
- Bulk Extractor: Contains scanner plug-ins for records of $MFT, $LogFile, $UsnJrnl:$J, $INDEX_ALLOCATION, and utmp structure.
- NTFS Log Tracker: Parses $Logfile and $UsnJrnl:$J
- USN Analytics: Parse records of $UsnJrnl that were extracted by BE
- Indx2Csv: Parse for INDX
- INDXParse: Parses a single $I30
- IndxCarver: Can recover old INDX records to get information about deleted files and folders
Follow Windows Time Rules below:
Credit: SANS Windows Forensic Analysis Poster (digital-forensics.sans.org)
System and user Information (via Registry)
| Filesystem | Location | Tools or Commands |
|---|---|---|
| Operating System Version | SOFTWARE\Microsoft\Windows NT\CurrentVersion |
Registry Explorer |
| System Boot & Autostart Programs | Run registries | Registry Explorer |
| Computer Name | SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName |
Registry Explorer |
| System Last Shutdown Time | SYSTEM\CurrentControlSet\Control\Windows |
Registry Explorer |
| Cloud Account Details | SAM\Domains\Account\Users\<RID>\InternetUserName |
Registry Explorer |
| User Accounts | SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList |
Registry Explorer |
| Last Login and Password Change | SAM\Domains\Account\Users |
Registry Explorer |
Application Execution
| Filesystem | Location | Tools or Commands |
|---|---|---|
| Shimcache | SYSTEM\CurrentControlSet\Control\SessionManager\AppCompatCache |
RegRipper |
| Amcache.hve | C:\Windows\AppCompat\Programs\Amcache.hve |
Registry Explorer |
| UserAssist | NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\ |
Registry Explorer |
| Win10 Timeline | C:\%USERPROFILE%\AppData\Local\ConnectedDevicesPlatform\L.Administrator\ActivitiesCache.db |
WxTCmd.exe -f "ActivitiesCache.db" --csv D:\Hands-On |
| SRUM | C:\Windows\System32\sru\SRUDB.dat |
srum-dump |
| BAM / DAM | SYSTEM\ControlSet001\Services\bam\State\UserSettings\ |
Registry Explorer |
| Prefetch, MFT, USNJ | C:\Windows\prefetch |
PECmd.exe -d D:\Windows\Prefetch, MFT, USNJ--csv "D:\Hands-On" --csvf prefetch.csv or WinPrefetch, MFT, USNJ |
| Task Bar Feature Usage | NTUSER\Software\Microsoft\Windows\CurrentVersion\Explorer\FeatureUsage |
Registry Explorer |
| Jumplist | C:\%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations |
Jumplist Explorer |
| Last Visited MRU | NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\LastVisitedPidlMRU |
RegRipper |
| CapabilityAccessManager | NTUSER\Software\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore |
Registry Explorer |
| Commands Executed in the Run Dialog | NTUSER\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU |
Registry Explorer |
| Services | System\CurrentControlSet\Services |
Registry Explorer |
File and Folder Opening
| Filesystem | Location | Tools or Commands |
|---|---|---|
| Shellbag | NTUSER.dat\Software\Microsoft\Windows\Shell\Bags |
Shellbags Explorer |
| Open/Save MRU | NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSavePIDlMRU |
Registry Explorer |
| Shortcut (LNK) Files | %USERPROFILE%\AppData\Roaming\Microsoft\Windows|Office\Recent\ |
Autopsy |
| Jumplist | C:\%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations |
Jumplist Explorer |
| Recent Files | NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs |
Registry Explorer |
| Office Recent Files | NTUSER.DAT\Software\Microsoft\Office\<Version>\<AppName> |
Registry Explorer |
| Office Trust Records | NTUSER\Software\Microsoft\Offi ce\<Version>\<AppName>\Security\Trusted Documents\TrustRecords |
Registry Explorer |
| MS Word Reading Locations | NTUSER\Software\Microsoft\Offi ce\<Version>\Word\Reading Locations |
Registry Explorer |
| Office OAlerts | OAlerts.evtx | Event log explorer |
| Last Visited MRU | NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\LastVisitedPidlMRU |
Registry Explorer |
| Internet Explorer file:/// | %USERPROFILE%\AppData\Local\Microsoft\Windows\WebCache\WebCacheV*.dat |
Text Editor |
Deleted Items and File Existence
| Filesystem | Location | Tools or Commands |
|---|---|---|
| Recycle Bin | C:\$Recycle.Bin |
Recbin |
| Thumbcache | %USERPROFILE%\AppData\Local\Microsoft\Windows\Explorer |
Thumbcache Viewer |
| User Typed Paths | NTUSER\Software\Microsoft\Windows\CurrentVersion\Explorer\TypedPaths |
Registry Explorer |
| Search – WordWheelQuery | NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\WordWheelQuery |
Registry Explorer |
| Internet Explorer file:/// | %USERPROFILE%\AppData\Local\Microsoft\Windows\WebCache\WebCacheV*.dat |
Text Editor |
| Windows Search Database | C:\ProgramData\Microsoft\Search\Data\Applications\Windows\Windows.edb |
LostPassword’s Search Index Examiner |
Browser activity
| Filesystem | Location | Tools or Commands |
|---|---|---|
| Browser activity | C:\Users\%user%\AppData\Local\\Roaming\BrowserName |
DBBrowser |
Network Usage
| Filesystem | Location | Tools or Commands |
|---|---|---|
| Network History | SOFTWARE\Microsoft\Windows NT\CurrentVersion\Network* |
Registry Explorer |
| Timezone | SYSTEM\CurrentControlSet\Control\TimeZoneInformation |
Registry Explorer |
| WLAN Event Log | Microsoft-Windows-WLAN-AutoConfig Operational.evtx |
Event log viewer |
| Network Interfaces | SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces |
Registry Explorer |
| SRUM | C:\Windows\System32\sru\SRUDB.dat |
srum-dump |
USB Usage
| Filesystem | Location | Tools or Commands |
|---|---|---|
| USB Device Identification | SYSTEM\CurrentControlSet\Enum\* |
Registry Explorer |
| Drive Letter and Volume Name | SOFTWARE\Microsoft\Windows Portable Devices\Devices and SYSTEM\MountedDevices |
Registry Explorer |
| User Information | SYSTEM\MountedDevices and NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2 |
Registry Explorer |
| Connection Timestamps | SYSTEM\CurrentControlSet\Enum\USBSTOR\Disk&Ven_&Prod_\USBSerial |
Registry Explorer |
| Volume Serial Number (VSN) | SOFTWARE\Microsoft\WindowsNT\CurrentVersion\EMDMgmt |
Registry Explorer |
| Shortcut (LNK) Files | %USERPROFILE%\AppData\Roaming\Microsoft\Windows\\Office\Recent\ |
Autopsy |
| Event Logs | System.evtx |
Event log viewer |
AntiVirus logs
| Filesystem | Location |
|---|---|
| Avast | C:\ProgramData\Avast Software\ |
| AVG | C:\ProgramData\AVG\Antivirus\ |
| Avira | C:\ProgramData\Avira\Antivirus\LOGFILES\ |
| Bitdefender | C:\Program Files*\Bitdefender*\ |
| ESET | C:\ProgramData\ESET\ESET NOD32 Antivirus\Logs\ |
| F-Secure | C:\ProgramData\F-Secure\Log\ or C:\Users\%user%\AppData\Local\F-Secure\Log\ |
| McAfee | C:\ProgramData\McAfee\* |
| Sophos | C:\ProgramData\Sophos\Sophos *\Logs\ |
| Trend Micro | C:\ProgramData\Trend Micro\ or C:\Program Files*\Trend Micro\ |
| Symantec | C:\ProgramData\Symantec\ or C:\Users\%user%\AppData\Local\Symantec\ |
| WinDefender | C:\ProgramData\Microsoft\Windows Defender\* or C:\ProgramData\Microsoft\Microsoft AntiMalware\Support\ or MpCmdRun.log |
Another good reference: https://ruler-project.github.io/ruler-project/RULER/av/
Other Artifacts
| Filesystem | Location | Tools or Commands |
|---|---|---|
| Task Scheduler | SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tasks or \Windows\Tasks or Windows\System32\Tasks |
Registry Explorer |
| Startup folder | C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup |
Autopsy |
| Startup folder user | C:\%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup |
Autopsy |
| Shadow copy | - | Shadow Explorer |
| hiberfil.sys | C:\ |
Hibernation Recon |
| pagefile.sys | C:\ |
strings |
| Unalloc file | - | Autopsy |
| Anydesk | C:\Users\%user%\AppData\Roaming\AnyDesk\* or C:\ProgramData\AnyDesk\* |
Autopsy |
| WMI persistence | C:\WINDOWS\system32\wbem\Repository\OBJECTS.DATA |
WMI_Forensics |
| WMI persistence | C:\WINDOWS\system32\wbem\Repository\FS\OBJECTS.DATA |
WMI_Forensics |
| RDP Cache | C:\%USERPROFILE%\AppData/Local/Microsoft/Terminal Server Client/Cache |
BMC-Tools |
Other
- Command to parse all registry in a folder using Regripper
cd folder_containing_all_registries for /r %i in (*) do (C:\RegRipper3.0\rip.exe -r %i -a > %i.txt) - USB usage also can be investigate using “USB Detective Community Edition”
- Nirsoft software might have a good tool for viewing your artifacts
- Reghunter command on the live system:
reg_hunter --all -z --outfile reg_hunter_result.txt
Lateral Movement Detection and Investigation
Detail information refer: https://jpcertcc.github.io/ToolAnalysisResultSheet/#
Typically lateral movement will involve with (depend on the attacker TTP):
- Credential harvesting
- File sharing
- Remote login
- AD enumeration
- Remote execution
- Pass-the-hash/ticket
- Privilege Escalation
- Golden/Silver Ticket
- User creation
- Deleting evidence
Below list shows the sum up of the information in the above reference but focusing only on standard setting and configuration of Windows.
1. Credential harvesting
- Analysts can rely on the Prefetch, MFT, USNJartifact for standard settings on the host computer.
- Various password dump tools that utilize PowerShell can be found in:
Microsoft-Windows-PowerShell/OperationalC:\Users\[User Name]\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadline\ConsoleHost_history.txt
2. File sharing
Windows Admin share (net use)
Commonly for transfering their tools and malware. Or can be abuse for exfiltrate data.
| Event Log | Event ID | Computer |
|---|---|---|
| Security | 4648 | Source |
| SMBClient-Security | 31001 | Source |
| Security | 4624, 4672, 4776, 4768, 4769, 5140, 5145 | Destination |
| Filesystem | Location | Computer |
|---|---|---|
| Prefetch, MFT, USNJ | C:\Windows\Prefetch\net.EXE-RANDOM.pf and C:\Windows\Prefetch\net1.EXE-RANDOM.pf |
Source |
| Jumplist | C:\Users\USERNAME\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations\ |
Source |
| USNJ or MFT | Created file | Source |
| Registry | Findings | Computer |
|---|---|---|
| User Profile (NTUSER.DAT) | NTUSER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2 |
Source |
| USRCLASS.dat | Shellbags (Remote folders accessed) | Source |
| Shimcache (SYSTEM) | net.exe and net1.exe |
Source |
| BAM/DAM (SYSTEM) | Last time executed net.exe and net1.exe |
Source |
| Amcache.hve | First Execution time of net.exe and net1.exe |
Source |
3. Remote login
Attacker might utilizes the remote login feature such as RDP, VNC, external software or SSH to login remotely
RDP
| Event Log | Event ID | Computer |
|---|---|---|
| Security | 4648 | Source |
| RDPClient Operational | 1024, 1025, 1026, 1102 | Source |
| Security | 4624 (logon type 10 or 12), 4778, 4779 | Destination |
| RDPCoreTS Operational | 131, 98, 99 | Destination |
| RemoteConnection Manager Operational | 1149 | Destination |
| RemoteConnection Manager Admin | 1158 | Destination |
| LocalSession Manager Operational | 21, 23, 24, 25, 41 | Destination |
| Filesystem | Location | Computer |
|---|---|---|
| Prefetch, MFT, USNJ | C:\Windows\Prefetch\MSTSC.EXE-RANDOM.pf |
Source |
| Jumplist | C:\Users\USERNAME\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations\ (MSTSC-APPID-automaticDestinations-ms) |
Source |
| Bitmap Cache | C:\Users\USERNAME\AppData\Local\Microsoft\Terminal Server Client\Cache\* |
Source |
| Prefetch, MFT, USNJ | C:\Windows\Prefetch\rdpclip.exe-RANDOM.pf and C:\Windows\Prefetch\tstheme.exe-RANDOM.pf |
Destination |
| Registry | Findings | Computer |
|---|---|---|
| User Profile (NTUSER.DAT) | NTUSER\SOFTWARE\Microsoft\Terminal Server Client\Servers |
Source |
| Shimcache (SYSTEM) | mstsc.exe |
Source |
| BAM/DAM (SYSTEM) | Last Execution time of mstsc.exe |
Source |
| Amcache.hve | First Execution time of mstsc.exe |
Source |
| UserAssist (NTUSER.dat) | Last Execution time and Numbers of Times of mstsc.exe |
Source |
| RecentApps (NTUSER.DAT) | Last Execution time and Numbers of Times of mstsc.exe |
Source |
| ShimCache (SYSTEM) | rdpclip.exe and tstheme.exe |
Destination |
| AmCache.hve | rdpclip.exe and tstheme.exe |
Destination |
Remote tools software
- Check for any installation, files of remote tools or services
- List of remote administaration tool can be refer here: https://ruler-project.github.io/ruler-project/RULER/remote/ and https://docs.google.com/spreadsheets/d/1G_pJ1H2yJeoLUnki6kibujUJ9445M_2hRTEm3kUCf0M
- Identify the software installed and running processes. Oftenly it has agent running.
- Investigate the logs.
SSH
| Event Log | Event ID | Computer |
|---|---|---|
| Security | 4624,4625,4688, 5154 | Destination |
| System | 10016 | Destination |
| Filesystem | Location | Computer |
|---|---|---|
| Prefetch, MFT, USNJ | C:\Windows\Prefetch\[SSH executable].exe-RANDOM.pf |
Destination |
| Registry | Findings | Computer |
|---|---|---|
| User Profile (NTUSER.DAT) | Software\SimonTatham\PuTTY\SshHostKeys |
Destination |
Remote Execution
Pass-The-Hash-Ticket (WCE)
| Event Log | Event ID | Computer |
|---|---|---|
| System | 7045, 7036 (WCESERVICE) | Source |
| Security | 4624, 4634 | Destination |
| Security | 4776, 4771, 5156 | DC |
| Filesystem | Location | Computer |
|---|---|---|
| Prefetch, MFT, USNJ | C:\Windows\Prefetch\[Tool name].exe-RANDOM.pf |
Source |
| USNJ | wceaux.dll` | Source |
Pass-The-Hash-Ticket (Mimikatz)
| Event Log | Event ID | Computer |
|---|---|---|
| Security | 4624, 4672, 4634 | Destination |
| Security | 4776, 4771, 5156, 4769 | DC |
| Filesystem | Location | Computer |
|---|---|---|
| Prefetch, MFT, USNJ | C:\Windows\Prefetch\[Tool name].exe-RANDOM.pf |
Source |
| Prefetch, MFT, USNJ | C:\Windows\Prefetch\WMIC.EXE-[RANDOM].pf |
Source |
PsExec
| Event Log | Event ID | Computer |
|---|---|---|
| Security | 4648 | Source |
| Security | 4624 (Logon type 3 or 2), 4672, 5140 | Destination |
| System | 7045, 7036 | Destination |
| Filesystem | Location | Computer |
|---|---|---|
| Prefetch, MFT, USNJ | C:\Windows\Prefetch\[Executable File Name of Tool]-[RANDOM].pf |
Source |
| MFT, USNJ | psexec.exe executable | Source |
| Prefetch, MFT, USNJ | C:\Windows\Prefetch\PSEXESVC.EXE-RANDOM.pf |
Destination |
| C:\Windows | psexesvc.exe or renamed executable |
Destination |
| Registry | Findings | Computer |
|---|---|---|
| User Profile (NTUSER.DAT) | NTUSER\SOFTWARE\Sysinternals\PsExec\EulaAccepted |
Source |
| Shimcache (SYSTEM) | psexec.exe |
Source |
| BAM/DAM (SYSTEM) | Last execution time ofpsexec.exe |
Source |
| Amcache.hve | First Execution time of psexec.exe |
Source |
| SYSTEM | SYSTEM\CurrentControlSet\Services\PSEXESVC |
Destination |
| Shimcache (SYSTEM) | psexecsvc.exe |
Destination |
| Amcache.hve | First Execution time of psexecsvc.exe |
Destination |
Memory analysis, find this pipe in the processes:
\\X.X.X.X\pipe\PSEXESVC-<sourcehostname>-<PID>-stdin
\\X.X.X.X\pipe\PSEXESVC-<sourcehostname>-<PID>-stdout
\\X.X.X.X\pipe\PSEXESVC-<sourcehostname>-<PID>-stderr
Remote Services
| Event Log | Event ID | Computer |
|---|---|---|
| Security | 4624 (Logon type 3), 4697 | Destination |
| System | 7034, 7035, 7036, 7040, 7045 | Destination |
| Filesystem | Location | Computer |
|---|---|---|
| Prefetch, MFT, USNJ | C:\Windows\Prefetch\sc.exe-RANDOM.pf |
Source |
| Prefetch, MFT, USNJ | C:\Windows\Prefetch\evil.exe-RANDOM.pf |
Destination |
| File disk | Creation of evil.exe or dll | Destination |
| Registry | Findings | Computer |
|---|---|---|
| BAM/DAM (SYSTEM) | sc.exe |
Source |
| Shimcache (SYSTEM) | sc.exe |
Source |
| Amcache.hve | First Execution time of sc.exe |
Source |
| SYSTEM | \CurrentControlSet\Services\ |
Destination |
| Shimcache (SYSTEM) | evil.exe |
Destination |
| Amcache.hve | First Execution time of evil.exe |
Destination |
Scheduled Task
| Event Log | Event ID | Computer |
|---|---|---|
| Security | 4648 | Source |
| Security | 4672, 4624, 4698, 4702, 4699, 4700, 4701 | Destination |
| Task scheduler Operational | 106, 140, 141, 200, 201 | Destination |
| Filesystem | Location | Computer |
|---|---|---|
| Prefetch, MFT, USNJ | C:\Windows\Prefetch\SCHTASKS.EXE-[RANDOM].pf |
Source |
| Prefetch, MFT, USNJ | C:\Windows\Prefetch\at.EXE-[RANDOM].pf |
Source |
| Prefetch, MFT, USNJ | C:\Windows\Prefetch\TASKENG.EXE-[RANDOM].pf |
Destination |
| Prefetch, MFT, USNJ | C:\Windows\Prefetch\evil.EXE-[RANDOM].pf |
Destination |
| Job files | C:\Windows\Tasks |
Destination |
| Task files | C:\Wmdows\System32\Tasks |
Destination |
| Registry | Findings | Computer |
|---|---|---|
| BAM/DAM (SYSTEM) | at.exe and schtasks.exe |
Source |
| Shimcache (SYSTEM) | at.exe and schtasks.exe |
Source |
| Amcache.hve | at.exe and schtasks.exe |
Source |
| Shimcache (SYSTEM) | evil.exe |
Destination |
| Amcache.hve | First Execution time of evil.exe |
Destination |
| SYSTEM | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\* |
Destination |
WMIC
| Event Log | Event ID | Computer |
|---|---|---|
| Security | 4648 | Source |
| Security | 4624, 4672 | Destination |
| WMI Activity Operational | 5857,5860,5861 | Destination |
| Filesystem | Location | Computer |
|---|---|---|
| Prefetch, MFT, USNJ | C:\Windows\Prefetch\WMIC.EXE-[RANDOM].pf |
Source |
| Prefetch, MFT, USNJ | C:\Windows\Prefetch\evil.exe-[RANDOM].pf |
Destination |
| Prefetch, MFT, USNJ | C:\Windows\Prefetch\scrcons.exe-[RANDOM].pf |
Destination |
| Prefetch, MFT, USNJ | C:\Windows\Prefetch\mofcomp.exe-[RANDOM].pf |
Destination |
| Prefetch, MFT, USNJ | C:\Windows\Prefetch\wmiprvse.exe-[RANDOM].pf |
Destination |
| WMI repository | C:\Windows\System32\wbem\Repository |
Destination |
| File creation | evil.exe or evil.mof |
Destination |
| Registry | Findings | Computer |
|---|---|---|
| Shimcache (SYSTEM) | Wmic.exe |
Source |
| BAM/DAM (SYSTEM) | Wmic.exe |
Source |
| Amcache.hve | First Execution time of Wmic.exe |
Source |
| ShimCache (SYSTEM) | scrcons.exe, mofcomp.exe, wmiprvse.exe, evil.exe |
Destination |
| AmCache.hve | scrcons.exe, mofcomp.exe, wmiprvse.exe, evil.exe |
Destination |
WinRM and Powershell
| Event Log | Event ID | Computer |
|---|---|---|
| Security | 4648 | Source |
| WinRM Operational | 6,8,15,16,33 | Source |
| Powershell Operational | 40691, 40692, 8193, 8194, 8197 | Source |
| Security | 4624, 4672 | Destination |
| Powershell Operational | 4103, 4104, 53504 | Destination |
| Powershell | 400, 403, 800 | Destination |
| WinRM | 91, 168 | Destination |
| Filesystem | Location | Computer |
|---|---|---|
| Prefetch, MFT, USNJ | C:\Windows\Prefetch\powershell.exe-RANDOM.pf |
Source |
| Conmand history | C:\Users\USERNAME\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadline\ConsoleHost_history.txt |
Source |
| Prefetch, MFT, USNJ | C:\Windows\Prefetch\evil.exe-RANDOM.pf |
Destination |
| Prefetch, MFT, USNJ | C:\Windows\Prefetch\wsmprovhost.exe-RANDOM.pf |
Destination |
| Registry | Findings | Computer |
|---|---|---|
| Shimcache (SYSTEM) | Powershell.exe |
Source |
| BAM/DAM (SYSTEM) | Powershell.exe |
Source |
| Amcache.hve | First Execution time of Powershell.exe |
Source |
| ShimCache (SYSTEM) | wsmprovhost.exe and evil.exe |
Destination |
| SOFTWARE | Microsoft\PowerShell\1\ShellIds\Microsoft.Powershell\ExecutionPolicy |
Destination |
| AmCache.hve | wsmprovhost.exe and evil.exe |
Destination |
SMB
| Event Log | Event ID | Computer |
|---|---|---|
| Security | 4688,4624,4656,5140,5142,5143,5144,5145 | Source |
| SMB Server Operational | 4100,4103,4104,800,4104,40961,40962 | Source |
DCOM
| Event Log | Event ID | Computer |
|---|---|---|
| Security | 4624,4662, 4688, 4697, 4698, 4702 | Destination |
File Transfer
| Event Log | Event ID | Computer |
|---|---|---|
| Security | 4688 | Destination |
| Microsoft-Windows-PowerShell/ Operational | 4103, 4104 | Destination |