EdgeChromium

Author: Chad Tilbury, Andrew Rathbun, Reece394, Yogesh Khatri

Microsoft Edge Chromium Artifacts

Paths

34 paths
Paths use Windows environment variable syntax
CyberChef recipes

Open in CyberChef to decode values extracted from this artifact.

References

Collection commands

# PowerShell Artifact Collection Script
# Target: EdgeChromium
# Run as Administrator

#Requires -RunAsAdministrator

$ErrorActionPreference = "Continue"
$SourceRoot = "C:"
$DestBase   = "D:\Evidence"
$Summary = @{ Copied = 0; Missed = 0; Errors = 0 }

function Collect-Artifact {
    param(
        [Parameter(Mandatory)][string]$SourceDir,
        [Parameter(Mandatory)][string]$FolderName,
        [string]$FileMask = "*"
    )
    # Expand wildcards in any path segment (e.g. 'Program Files*',
    # 'ScreenConnect Client*'). robocopy itself does not glob the source.
    $sources = @(Get-Item -Path $SourceDir -ErrorAction SilentlyContinue |
        Where-Object { $_.PSIsContainer })
    if ($sources.Count -eq 0) {
        $Summary.Missed++
        return
    }
    $FullDest = Join-Path -Path $DestBase -ChildPath $FolderName
    $null = New-Item -ItemType Directory -Force -Path $FullDest -ErrorAction SilentlyContinue
    foreach ($src in $sources) {
        robocopy $src.FullName "$FullDest" "$FileMask" /E /COPY:DAT /R:0 /W:0 /NP /NFL /NDL /NJH /NJS 2>$null | Out-Null
        if ($LASTEXITCODE -le 7) { $Summary.Copied++ } else { $Summary.Errors++ }
    }
}

# Iterate every user profile under the source drive
Get-ChildItem "$SourceRoot\Users" -Directory -ErrorAction SilentlyContinue |
    Where-Object { $_.Name -notin @('All Users', 'Default', 'Default User', 'Public') } |
    ForEach-Object {
        $UserName = $_.Name
        # Edge Collections
        $UserPath = "$($_.FullName)\AppData\Local\Microsoft\Edge\User Data\*\Collections"
        Collect-Artifact -SourceDir $UserPath -FileMask "collectionsSQLite*" -FolderName "Edge_Collections_$UserName"
        # Edge Bookmarks
        $UserPath = "$($_.FullName)\AppData\Local\Microsoft\Edge\User Data\*"
        Collect-Artifact -SourceDir $UserPath -FileMask "Bookmarks*" -FolderName "Edge_Bookmarks_$UserName"
        # Edge Cookies
        $UserPath = "$($_.FullName)\AppData\Local\Microsoft\Edge\User Data\*\Network"
        Collect-Artifact -SourceDir $UserPath -FileMask "Cookies*" -FolderName "Edge_Cookies_$UserName"
        # Edge Current Session
        $UserPath = "$($_.FullName)\AppData\Local\Microsoft\Edge\User Data\*"
        Collect-Artifact -SourceDir $UserPath -FileMask "Current Session" -FolderName "Edge_Current_Session_$UserName"
        # Edge Current Tabs
        $UserPath = "$($_.FullName)\AppData\Local\Microsoft\Edge\User Data\*"
        Collect-Artifact -SourceDir $UserPath -FileMask "Current Tabs" -FolderName "Edge_Current_Tabs_$UserName"
        # Edge Extension Cookies
        $UserPath = "$($_.FullName)\AppData\Local\Microsoft\Edge\User Data\*"
        Collect-Artifact -SourceDir $UserPath -FileMask "Extension Cookies*" -FolderName "Edge_Extension_Cookies_$UserName"
        # Edge Favicons
        $UserPath = "$($_.FullName)\AppData\Local\Microsoft\Edge\User Data\*"
        Collect-Artifact -SourceDir $UserPath -FileMask "Favicons*" -FolderName "Edge_Favicons_$UserName"
        # Edge History
        $UserPath = "$($_.FullName)\AppData\Local\Microsoft\Edge\User Data\*"
        Collect-Artifact -SourceDir $UserPath -FileMask "History*" -FolderName "Edge_History_$UserName"
        # Edge Last Session
        $UserPath = "$($_.FullName)\AppData\Local\Microsoft\Edge\User Data\*"
        Collect-Artifact -SourceDir $UserPath -FileMask "Last Session" -FolderName "Edge_Last_Session_$UserName"
        # Edge Last Tabs
        $UserPath = "$($_.FullName)\AppData\Local\Microsoft\Edge\User Data\*"
        Collect-Artifact -SourceDir $UserPath -FileMask "Last Tabs" -FolderName "Edge_Last_Tabs_$UserName"
        # Edge Sessions Folder
        $UserPath = "$($_.FullName)\AppData\Local\Microsoft\Edge\User Data\*\Sessions"
        Collect-Artifact -SourceDir $UserPath -FolderName "Edge_Sessions_Folder_$UserName"
        # Edge Login Data
        $UserPath = "$($_.FullName)\AppData\Local\Microsoft\Edge\User Data\*"
        Collect-Artifact -SourceDir $UserPath -FileMask "Login Data*" -FolderName "Edge_Login_Data_$UserName"
        # Edge Media History
        $UserPath = "$($_.FullName)\AppData\Local\Microsoft\Edge\User Data\*"
        Collect-Artifact -SourceDir $UserPath -FileMask "Media History*" -FolderName "Edge_Media_History_$UserName"
        # Edge Network Action Predictor
        $UserPath = "$($_.FullName)\AppData\Local\Microsoft\Edge\User Data\*"
        Collect-Artifact -SourceDir $UserPath -FileMask "Network Action Predictor*" -FolderName "Edge_Network_Action_Predictor_$UserName"
        # Edge Network Persistent State
        $UserPath = "$($_.FullName)\AppData\Local\Microsoft\Edge\User Data\*"
        Collect-Artifact -SourceDir $UserPath -FileMask "Network Persistent State" -FolderName "Edge_Network_Persistent_State_$UserName"
        # Edge Network Persistent State
        $UserPath = "$($_.FullName)\AppData\Local\Microsoft\Edge\User Data\*\Network"
        Collect-Artifact -SourceDir $UserPath -FileMask "Network Persistent State" -FolderName "Edge_Network_Persistent_State_$UserName"
        # Edge Preferences
        $UserPath = "$($_.FullName)\AppData\Local\Microsoft\Edge\User Data\*"
        Collect-Artifact -SourceDir $UserPath -FileMask "Preferences" -FolderName "Edge_Preferences_$UserName"
        # Edge Secure Preferences
        $UserPath = "$($_.FullName)\AppData\Local\Microsoft\Edge\User Data\*"
        Collect-Artifact -SourceDir $UserPath -FileMask "Secure Preferences" -FolderName "Edge_Secure_Preferences_$UserName"
        # Edge Quota Manager
        $UserPath = "$($_.FullName)\AppData\Local\Microsoft\Edge\User Data\*"
        Collect-Artifact -SourceDir $UserPath -FileMask "QuotaManager*" -FolderName "Edge_Quota_Manager_$UserName"
        # Edge Quota Manager
        $UserPath = "$($_.FullName)\AppData\Local\Microsoft\Edge\User Data\*\WebStorage"
        Collect-Artifact -SourceDir $UserPath -FileMask "QuotaManager*" -FolderName "Edge_Quota_Manager_$UserName"
        # Edge Reporting and NEL
        $UserPath = "$($_.FullName)\AppData\Local\Microsoft\Edge\User Data\*"
        Collect-Artifact -SourceDir $UserPath -FileMask "Reporting and NEL*" -FolderName "Edge_Reporting_and_NEL_$UserName"
        # Edge Reporting and NEL
        $UserPath = "$($_.FullName)\AppData\Local\Microsoft\Edge\User Data\*\Network"
        Collect-Artifact -SourceDir $UserPath -FileMask "Reporting and NEL*" -FolderName "Edge_Reporting_and_NEL_$UserName"
        # Edge Shortcuts
        $UserPath = "$($_.FullName)\AppData\Local\Microsoft\Edge\User Data\*"
        Collect-Artifact -SourceDir $UserPath -FileMask "Shortcuts*" -FolderName "Edge_Shortcuts_$UserName"
        # Edge Top Sites
        $UserPath = "$($_.FullName)\AppData\Local\Microsoft\Edge\User Data\*"
        Collect-Artifact -SourceDir $UserPath -FileMask "Top Sites*" -FolderName "Edge_Top_Sites_$UserName"
        # Edge Trust Tokens
        $UserPath = "$($_.FullName)\AppData\Local\Microsoft\Edge\User Data\*"
        Collect-Artifact -SourceDir $UserPath -FileMask "Trust Tokens*" -FolderName "Edge_Trust_Tokens_$UserName"
        # Edge Trust Tokens
        $UserPath = "$($_.FullName)\AppData\Local\Microsoft\Edge\User Data\*\Network"
        Collect-Artifact -SourceDir $UserPath -FileMask "Trust Tokens*" -FolderName "Edge_Trust_Tokens_$UserName"
        # Edge SyncData Database
        $UserPath = "$($_.FullName)\AppData\Local\Microsoft\Edge\User Data\*\Sync Data"
        Collect-Artifact -SourceDir $UserPath -FileMask "SyncData.sqlite3" -FolderName "Edge_SyncData_Database_$UserName"
        # Edge Visited Links
        $UserPath = "$($_.FullName)\AppData\Local\Microsoft\Edge\User Data\*"
        Collect-Artifact -SourceDir $UserPath -FileMask "Visited Links" -FolderName "Edge_Visited_Links_$UserName"
        # Edge Web Data
        $UserPath = "$($_.FullName)\AppData\Local\Microsoft\Edge\User Data\*"
        Collect-Artifact -SourceDir $UserPath -FileMask "Web Data*" -FolderName "Edge_Web_Data_$UserName"
        # Edge IndexedDB
        $UserPath = "$($_.FullName)\AppData\Local\Microsoft\Edge\User Data\*\IndexedDB"
        Collect-Artifact -SourceDir $UserPath -FolderName "Edge_IndexedDB_$UserName"
        # Edge Local Storage
        $UserPath = "$($_.FullName)\AppData\Local\Microsoft\Edge\User Data\*\Local Storage\leveldb"
        Collect-Artifact -SourceDir $UserPath -FolderName "Edge_Local_Storage_$UserName"
        # Edge WebAssistDatabase
        $UserPath = "$($_.FullName)\AppData\Local\Microsoft\Edge\User Data\*"
        Collect-Artifact -SourceDir $UserPath -FileMask "WebAssistDatabase*" -FolderName "Edge_WebAssistDatabase_$UserName"
        # Windows Protect Folder
        $UserPath = "$($_.FullName)\AppData\Roaming\Microsoft\Protect\*"
        Collect-Artifact -SourceDir $UserPath -FolderName "Windows_Protect_Folder_$UserName"
        # Edge Snapshots Folder
        $UserPath = "$($_.FullName)\AppData\Local\Microsoft\Edge\User Data\Snapshots\*"
        Collect-Artifact -SourceDir $UserPath -FolderName "Edge_Snapshots_Folder_$UserName"
    }

Write-Host ("Collection complete. Copied: {0}  Missed: {1}  Errors: {2}" -f $Summary.Copied, $Summary.Missed, $Summary.Errors) -ForegroundColor Green

Save as .ps1 and run as Administrator. Use: powershell -ExecutionPolicy Bypass -File script.ps1

Included in collections: SANS_TriageKapeTriageWebBrowsers