资讯动态

Anthropic-Cybersecurity-Skills 实战指南:LNK 文件与 Jump List 三大取证工作流

发布时间:2026/9/10 6:17:32 来源:尧图企业网站定制
Anthropic-Cybersecurity-Skills 实战指南LNK 文件与 Jump List 三大取证工作流【免费下载链接】Anthropic-Cybersecurity-Skills817 structured cybersecurity skills for AI agents · Mapped to 6 frameworks: MITRE ATTCK, NIST CSF 2.0, MITRE ATLAS, D3FEND, NIST AI RMF MITRE F3 (Fight Fraud) · agentskills.io standard · Works with Claude Code, GitHub Copilot, Codex CLI, Cursor, Gemini CLI 20 platforms · 29 security domains · Apache 2.0项目地址: https://gitcode.com/GitHub_Trending/an/Anthropic-Cybersecurity-SkillsWindows 的 LNK快捷方式文件与 Jump List跳转列表是数字取证中重建用户行为时间线的核心证据即使目标文件已被删除这些工件仍会留存目标路径、时间戳、卷序列号、NetBIOS 名称乃至主机 MAC 地址。本文以 Anthropic-Cybersecurity-Skills 仓库中analyzing-lnk-file-and-jump-list-artifacts技能的 workflows.md 为骨架完整展开其三大取证工作流——用户文件访问调查、跳转列表应用活动分析、可移动介质使用追踪并结合技能内的 LECmd/JLECmd 命令、Shell Link 二进制格式解析与 Python 脚本实现给出可直接复制的实战方案。读完本文你将掌握用 LECmd/JLECmd 解析工件、用 Python 脚本自动提取证据并据此构建用户-设备-文件访问时间线的完整能力。工件背景为什么 LNK 与 Jump List 是取证金矿当用户通过 Windows 资源管理器或打开/保存对话框访问文件时Windows 会自动创建 LNK 文件记录目标文件的原始路径、时间戳、卷序列号、NetBIOS 名称和主机 MAC 地址。Jump List 自 Windows 7 引入进一步按应用程序维护最近访问与常用文件的列表。这些工件在目标文件被删除后依然存在使其成为证明用户在特定时间访问过特定文件的不可替代证据。该技能在 SKILL.md 中定义了适用场景调查安全事件、为该领域构建检测规则或威胁狩猎查询、为 SOC 分析师提供结构化分析流程、以及验证相关攻击技术的安全监控覆盖。技能元数据将其映射到 NIST CSF 的 RS.AN-03、DE.AE-02、RS.MA-01 及 MITRE ATTCK 的 T1547.009快捷方式修改、T1204.002用户执行恶意文件、T1059.001PowerShell等战术层面。环境准备与工件采集位置开始分析前需要准备以下工具与环境依据 SKILL.md 的 PrerequisitesLECmdEric Zimmerman— LNK 文件解析器JLECmdEric Zimmerman— Jump List 解析器Python 3.8安装pylnk3或LnkParse3库来自 Windows 系统的取证镜像或三线采集triage collectionTimeline Explorer用于 CSV 结果分析各工件的标准采集位置如下表位置说明%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Recent\最近访问的文件%USERPROFILE%\Desktop\用户创建的快捷方式%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\开始菜单快捷方式%USERPROFILE%\AppData\Roaming\Microsoft\Office\Recent\Office 最近文档%APPDATA%\Microsoft\Windows\Recent\AutomaticDestinations\自动跳转列表Jump List%APPDATA%\Microsoft\Windows\Recent\CustomDestinations\自定义跳转列表LNK 文件结构从 76 字节 Shell Link 头开始理解 LNK 证据价值的前提是掌握其二进制结构。每个 LNK 文件都以 76 字节的 Shell Link Header 开头符合微软开放规范 MS-SHLLINKShell Link Binary File FormatSKILL.md 给出了完整字段布局偏移大小字段0x004HeaderSize恒为 0x0000004C0x0416LinkCLSID恒为 00021401-0000-0000-C000-0000000000460x144LinkFlags0x184FileAttributes0x1C8CreationTimeFILETIME0x248AccessTimeFILETIME0x2C8WriteTimeFILETIME0x344目标文件 FileSize0x384IconIndex0x3C4ShowCommand0x402HotKey其中对取证最重要的字段Key Forensic Fields包括目标文件时间戳被引用文件的创建、访问、修改时间卷信息卷序列号、驱动器类型、卷标网络共享信息UNC 路径、共享名机器标识来自 TrackerDataBlock 的 NetBIOS 名称与 MAC 地址分布式链接跟踪Machine ID 与对象 GUID注意 FILETIME 是自 1601-01-01 起 100 纳秒间隔的 64 位整数解析时需转换为标准时间格式详见后文 Python 实现。工作流一用户文件访问调查User File Access Investigation这是 workflows.md 中定义的第一个标准流程用于回答该用户是否访问过某个文件Collect LNK files from Recent directory | Parse with LECmd to CSV | Filter by target path for specific files/locations | Extract timestamps, volume serial, NetBIOS name | Correlate with MFT and Event Log timestamps | Document file access timeline第一步采集 Recent 目录 LNK从取证镜像中提取目标用户AppData\Roaming\Microsoft\Windows\Recent目录下全部.lnk文件。注意该目录仅记录通过资源管理器/对话框访问的文件命令行直接操作的文件不会在此生成 LNK。第二步用 LECmd 解析为 CSV# 批量解析 Recent 目录下所有 LNK输出 CSV LECmd.exe -d C:\Evidence\Users\suspect\AppData\Roaming\Microsoft\Windows\Recent --csv C:\Output --csvf lnk_analysis.csv # 解析单个 LNK 并输出完整 JSON 详情 LECmd.exe -f C:\Evidence\Users\suspect\Desktop\Confidential.docx.lnk --json C:\Output # 带附加细节级别批量解析 LECmd.exe -d C:\Evidence\Users\suspect\AppData\Roaming\Microsoft\Windows\Recent --csv C:\Output --csvf lnk_all.csv --allLECmd 输出的关键字段见 api-reference.md 的 Output Fields 表包括SourceFileLNK 路径、TargetCreated/TargetModified/TargetAccessed目标文件三时间戳、FileSize、RelativePath、WorkingDirectory、Arguments命令行参数、LocalPath、VolumeSerialNumber、DriveTypeFixed/Removable/Network、MachineIDNetBIOS 名、MacAddress来自分布式跟踪块。DriveType与VolumeSerialNumber是后续可移动介质分析的关键桥梁。第三步按目标路径过滤在 Timeline Explorer 或任意表格工具中按LocalPath/TargetAccessed过滤锁定与案件相关的文件如机密文档、可疑可执行文件。例如筛选C:\Users\jsmith\Downloads\Q4_Report.xlsm即可得到该文件被打开的确切时间。第四步交叉关联 MFT 与事件日志将 LNK 时间戳与 $MFT 记录文件自身时间线和 USN Journal / 事件日志比对可以验证 LNK 声称的访问时间与文件系统记录是否一致发现时间戳不一致的痕迹如被删文件、时间操纵建立用户在何时、从哪台机器、访问了哪个文件的完整证据链。第五步输出文件访问时间线结合 template.md 报告模板记录 LNK 文件、目标路径、目标创建/修改时间、卷序列号、Machine ID形成可提交的取证时间线文档。工作流二Jump List 应用活动调查Jump List Application ActivityJump List 的优势在于按应用维度组织证据能还原特定程序浏览器、办公软件、远程工具访问过的文件Collect AutomaticDestinations and CustomDestinations | Parse with JLECmd to CSV | Map AppID hashes to applications | Extract embedded LNK entries per application | Build per-application file access timeline | Identify removable media and network paths第一步采集两种跳转列表AutomaticDestinations与CustomDestinations位于%APPDATA%\Microsoft\Windows\Recent\下Automatic Destinations*.automaticDestinations-msOLE 复合文档结构化存储文件名以 AppID 哈希标识应用Custom Destinations*.customDestinations-ms用户主动固定Pin到跳转列表的项目文件内包含连续的 LNK 条目。第二步用 JLECmd 解析为 CSV# 解析自动跳转列表 JLECmd.exe -d C:\Evidence\Users\suspect\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations --csv C:\Output --csvf jumplists_auto.csv # 解析自定义跳转列表 JLECmd.exe -d C:\Evidence\Users\suspect\AppData\Roaming\Microsoft\Windows\Recent\CustomDestinations --csv C:\Output --csvf jumplists_custom.csv # 解析全部跳转列表并输出完整 LNK 详情 JLECmd.exe -d C:\Evidence\Users\suspect\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations --csv C:\Output --csvf jumplists_auto.csv --ld--ld参数会输出每条记录嵌入的 LNK 完整详情--fdFull Details与--dumpTo dir导出内嵌 LNK 文件是 api-reference.md 中列出的进阶选项。第三步将 AppID 哈希映射到应用AutomaticDestinations 文件名前半部分是 AppID 哈希SKILL.md 提供了一份常用映射表节选AppID 哈希应用程序5f7b5f1e01b83767Windows Explorer 固定/常用1b4dd67f29cb1962Windows Explorer 最近9b9cdc69c1c24e2bNotepada7bd71699cd38d1cNotepad12dc1ea8e34b5a6Microsoft Paint7e4dca80246863e3控制面板1cf97c38a5881255Microsoft Edgef01b4d95cf55d32aWindows Explorer9d1f905ce5044aeeMicrosoft Excela4a5324453625195Microsoft Wordd00655d2aa12ff6dMicrosoft PowerPointbc03160ee1a59fc1Outlookapi-reference.md 补充了更多映射5d696d521de238c3Google Chrome、ecd21b58c2f65a4fFirefox、1bc392b8e104a00e远程桌面mstsc、b8ab77100df80ab2Word、cfb56c56fa0f0478PuTTY、b74736c2bd8cc8a5WinSCP。仓库的 agent.py 内置了 21 条 AppID 映射含 WinRAR、Acrobat Reader DC、Snipping Tool、Windows Media Player 等可作为自动化的映射字典。第四步提取每应用内嵌 LNK 条目每条跳转列表记录内嵌一个 LNK 对象包含目标文件完整路径、时间戳、卷信息。用JLECmd.exe --dumpTo dir可将这些内嵌 LNK 导出为独立文件再用 LECmd 逐一深挖。第五步构建按应用的时间线并识别可移动介质与网络路径汇总后即可生成某应用在某时间段访问了哪些文件的时间线并特别标注E:\、F:\等可移动盘路径与\\server\share网络路径——这两类目标在数据外泄调查中往往是关键信号参考前文 JLECmd 输出示例中E:\Backup\与\\FILESERV01\Finance\Budget_2024.xlsx的命中。工作流三可移动介质使用调查Removable Media UsageUSB 取证是数据泄露案件的高频需求LNK 工件可以在设备已格式化甚至物理消失后仍留下使用证据Filter LNK files for drive letters (E:, F:, G:) | Extract volume serial numbers | Match with SYSTEM registry USBSTOR entries | Identify specific USB devices accessed | Build user-device-file timeline第一步按盘符过滤LNK 的LocalPath或VolumeDosDevice中引用E:、F:、G:等盘符的条目即表明存在可移动介质访问。先在全部解析结果中筛选DriveType Removable或盘符匹配的记录。第二步提取卷序列号从 LNK 的VolumeSerialNumber字段提取卷序列号。该序列号是设备级指纹——同一 U 盘在不同机器上序列号一致可用于跨主机关联同一物理设备的访问记录。第三步与注册表 USBSTOR 条目比对将卷序列号与SYSTEM配置单元的USBSTOREnum\USBSTOR与MountedDevices项比对可关联到具体 USB 设备的 Vendor ID、Product ID 与 Serial Number从而确认是哪一款、哪一台 U 盘被使用过。第四步识别具体被访问的设备文件结合前两步结果列出该 USB 设备上被访问过的具体文件路径。第五步构建用户-设备-文件时间线最终输出包含用户来自 Recent 目录归属与 Machine ID、设备卷序列号 USBSTOR、文件LNK 目标路径与时间三时间戳的四维时间线直接对应 template.md 中的 Removable Media References 表格。自动化辅助仓库自带的 Python 实现除 EZ Tools 外仓库提供了两层 Python 支持可在 Linux/跨平台取证工作站上直接使用1. 纯标准库解析器 process.py该脚本不依赖第三方库仅用struct手工解析 76 字节头部非常适合无法安装二进制工具的取证环境FILETIME_EPOCH datetime(1601, 1, 1) def filetime_to_datetime(ft_bytes: bytes): Convert Windows FILETIME to datetime. ft struct.unpack(Q, ft_bytes)[0] if ft 0: return None return FILETIME_EPOCH timedelta(microsecondsft // 10) def parse_lnk_file(filepath: str) - dict: with open(filepath, rb) as f: data f.read() if len(data) 76: return {error: File too small for LNK header} header_size struct.unpack(I, data[0:4])[0] if header_size ! 0x4C: return {error: Invalid LNK header signature} link_flags struct.unpack(I, data[0x14:0x18])[0] ...关键实现要点与 SKILL.md 的 Python 示例一致filetime_to_datetime以 1601-01-01 为纪元ft // 10微秒转换ft 0返回NoneLinkFlags位域解码0x01HasLinkTargetIDList、0x02HasLinkInfo、0x04HasName、0x08HasRelativePath、0x10HasWorkingDir、0x20HasArguments、0x40HasIconLocationFileAttributes位域0x01只读、0x02隐藏、0x04系统、0x10目录、0x20存档。脚本以python process.py lnk_directory output_dir运行会递归扫描目录下所有.lnk文件生成含分析时间、源目录、文件总数与逐条解析结果的lnk_analysis_report.json。2. 功能完整的取证代理 agent.pyagent.py 优先使用LnkParse3pip install LnkParse3解析未安装时回退到原始字节解析。它额外提供LnkParse3 深解析get_json()提取datarelative_path、command_line_arguments、icon_location、header三时间戳、link_infolocal_base_path、volume_serial_number、volume_label、drive_type与extra中DISTRIBUTED_LINK_TRACKER_BLOCK的machine_id、mac_address、droid_volume_identifier可疑 LNK 自动检测detect_suspicious_lnk正则匹配powershell、cmd.exe /c、mshta、certutil.*-decode、bitsadmin.*transfer、regsvr32.*scrobj、wscript|cscript、UNC 指向 IP 的路径\\\\\d\.\d\.\d\.\d\\、参数中的 URL、Base64 编码 PowerShell-enc ...并标记DRIVE_REMOTE网络盘目标Jump List 扫描scan_jump_lists同时匹配*.automaticDestinations-ms与*.customDestinations-ms按文件名提取 AppID 并映射到应用名输出文件大小与修改时间SHA-256 哈希对每个 LNK 计算哈希便于后续 YARA/情报库比对。用法python agent.py file.lnk # 分析单个 LNK python agent.py directory # 扫描目录中的 LNK 与 JumpList典型输出会打印 SHA-256、LNK 属性、可疑指示器列表以及 Jump Lists 的应用名/类型/AppID 汇总——覆盖了工作流一、二的核心自动化环节。调查用例速查文件访问、可移动介质与网络共享综合 SKILL.md 的 Investigation Use Cases可归纳三类高频场景文件访问证据解析 Recent 目录 LNK 识别被访问文档 → 与 MFT 时间戳及 USN Journal 交叉验证 → 注意 LNK 在目标文件被删除后依然存在可移动介质访问E:/F:/G:盘符 LNK 指向可移动介质使用 → 卷序列号锁定具体设备 → TrackerDataBlock 中 MAC 地址锁定来源机器网络共享活动UNC 路径\\server\shareLNK 表明网络文件访问 → NetBIOS 名称识别远程服务器 → 时间戳确定访问时刻。同时api-reference.md 提供了恶意 LNK 的速查特征表狩猎时应重点排查参数中含 PowerShell、target 含cmd.exe /c、指向 IP 的 UNC 路径、Base64 编码参数、mshta/wscript目标living-off-the-land 执行。这些与 agent.py 的检测正则一一对应。Windows 10 与 Windows 11 的差异注意事项SKILL.md 指出依据 2025 年研究Windows 11 产生的 LNK 与 Jump List 工件存在差异分析时需注意特定文件类型生成的自动 LNK 数量更少现代应用的 Jump List 行为有所改变UWP/MSIX 应用可能不再生成传统 Jump ListWindows 11 的 Quick Access 取代了部分 Recent 功能。这意味着针对 Windows 11 主机的调查应结合其他工件如$UsnJrnl、Search数据库、浏览器历史补充证据不能仅依赖 LNK/Jump List 得出结论。标准与框架映射依据 standards.md本分析流程遵循MS-SHLLINKShell Link 二进制格式规范、NIST SP 800-86法证技术集成指南、SWGDE 计算机取证最佳实践。在 MITRE ATTCK 层面该技能覆盖 T1547.009快捷方式修改与 T1204.002用户执行恶意文件技能级映射还关联 NIST CSF 的 RS.AN-03分析、DE.AE-02异常事件分析与 RS.MA-01缓解。工具链方面除 LECmd/JLECmd/LnkParse3 外Magnet AXIOM 等商业工具也原生支持这两类工件。总结三个工作流形成递进关系工作流一解决访问了哪个文件工作流二解决哪个应用在什么时间活动工作流三解决哪台 USB 设备被用于搬运数据。配合 LECmd/JLECmd 的 CSV 输出、process.py 的跨平台解析、agent.py 的可疑检测与 template.md 的报告结构即可形成采集 → 解析 → 关联 → 时间线 → 报告的完整取证链路为事件响应与威胁狩猎提供坚实的用户活动证据。【免费下载链接】Anthropic-Cybersecurity-Skills817 structured cybersecurity skills for AI agents · Mapped to 6 frameworks: MITRE ATTCK, NIST CSF 2.0, MITRE ATLAS, D3FEND, NIST AI RMF MITRE F3 (Fight Fraud) · agentskills.io standard · Works with Claude Code, GitHub Copilot, Codex CLI, Cursor, Gemini CLI 20 platforms · 29 security domains · Apache 2.0项目地址: https://gitcode.com/GitHub_Trending/an/Anthropic-Cybersecurity-Skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价