基于 Anthropic-Cybersecurity-Skills 的恶意软件清除实战:从进程终止到持久化清理的完整命令参考 基于 Anthropic-Cybersecurity-Skills 的恶意软件清除实战从进程终止到持久化清理的完整命令参考【免费下载链接】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本文以 Anthropic-Cybersecurity-Skills 仓库中eradicating-malware-from-infected-systems技能为核心系统梳理恶意软件清除Malware Eradication阶段的关键操作命令与流程涵盖 Windows/Linux 双平台的进程终止、注册表与计划任务等持久化清理、文件隔离最佳实践、Autoruns 自动启动枚举以及基于 YARA 的残留痕迹扫描。读完本文你将获得一套可复制、可验证的清除工具箱并理解仓库提供的自动化脚本scripts/agent.py与scripts/process.py如何将这些命令沉淀为可审计的清除流水线为受感染系统恢复干净状态、防止二次感染提供保障。一、清除阶段的前提与定位恶意软件清除不是应急响应的第一步。在本仓库的技能定义中SKILL.md该技能明确要求仅在封控containment已生效、取证分析已识别全部持久化机制之后使用适用场景包括恶意软件感染已确认且处于封控状态取证调查已列出所有持久化机制注册表 Run 键、计划任务、WMI 订阅、服务、cron/init.d所有受影响主机与账号已完成识别和范围界定准备清除攻击者残留物并恢复干净状态。前置条件包括已完成的取证镜像、针对特定恶意软件家族的 YARA 规则、签名已更新的 EDR/AV、可用于恢复的干净系统镜像或已验证备份并且网络隔离在清除期间仍需保持生效。清除阶段还需要遵循框架对齐要求。根据 standards.md其对应 NIST SP 800-61 Rev. 3 的 RespondRS.MI-02——事件被消除且必须处理根因而非仅处理症状对应 SANS PICERL 流程的第四阶段在 NIST CSF 2.0 中映射到 RS.MA-01、RS.MA-02、RS.AN-03、RC.RP-01 等控制项。二、Windows 平台进程终止终止恶意进程是清除的第一步。API 参考文档api-reference.md给出了两套等价方案。2.1 taskkill按 PID 或映像名终止taskkill /F /PID 1234 # 按 PID 强制终止 taskkill /F /IM malware.exe # 按进程映像名终止 taskkill /F /T /PID 1234 # 终止整个进程树含子进程参数说明/F强制终止对无响应或守护型进程必要/IM按映像名Image Name匹配适用于批量清理同一恶意程序实例/T连带终止该进程及其派生的子进程树适合清除会繁衍子进程的后门。2.2 PowerShellStop-ProcessStop-Process -Id 1234 -Force Get-Process -Name malware | Stop-Process -ForceGet-Process -Name支持通配符可按名称批量匹配管道传入Stop-Process -Force可一次清除全部同名进程。在脚本化场景中建议先Get-Process输出确认匹配结果再执行终止避免误杀同名合法进程。2.3 源码中的实现对照仓库的自动化脚本将上述命令封装为跨平台函数。在 agent.py 中kill_malicious_process(pid)会根据sys.platform自动选择taskkill /F /PID pid或kill -9 pid并通过subprocess.check_output捕获执行结果返回结构化状态killed/failed。这体现了 API 参考命令在真实清除工具中的落地形态同一逻辑、双平台适配、结果可审计。三、Windows 平台持久化清理攻击者常通过多种持久化机制维持访问。根据 workflows.md 列出的常见持久化位置注册表、计划任务、服务是最高频的三种此外还有 WMI 事件订阅与启动文件夹。3.1 注册表 Run 键reg delete HKCU\Software\Microsoft\Windows\CurrentVersion\Run /v MalwareName /f reg delete HKLM\Software\Microsoft\Windows\CurrentVersion\Run /v MalwareName /f/v指定要删除的值名/f免确认强制删除。对应 MITRE ATTCK 的T1547.001注册表 Run 键 / 启动文件夹。完整排查时应扩展到以下全部 Run 相关键出自 workflows.md 的 Windows 持久化位置参考HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon (Shell、Userinit) HKLM\SYSTEM\CurrentControlSet\Services HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options同时检查启动文件夹%AppData%\Microsoft\Windows\Start Menu\Programs\Startup C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup C:\Windows\System32\Tasks\ C:\Windows\System32\drivers\agent.py 内置的PERSISTENCE_LOCATIONS_WINDOWS列表正是这些注册表位置的代码化版本其scan_persistence_windows()会逐个reg query并标记指向temp、AppData\Local\Temp、Public等可疑目录的启动值——这些目录是恶意软件回写的高发区。3.2 计划任务schtasks /Delete /TN MalwareTask /F schtasks /Query /FO CSV /V /NH/TN指定任务名/F强制删除/Query /FO CSV /V /NH以 CSV 格式输出含详细信息的全部任务/NH去除表头。对应 ATTCKT1053.005。为便于批量分析可先将查询结果重定向保存schtasks /query /fo CSV /v schtasks_all.csv。在 process.py 中remove_scheduled_task()正是以schtasks /delete /tn task /f子进程调用的方式实现删除其_scan_scheduled_tasks()还会以 CSV 解析任务动作将包含powershell、cmd /c、mshta、wscript、cscript、certutil、bitsadmin、temp、appdata、public等关键词的任务标记为高风险——这些关键词与常见横向工具与下载器行为吻合。3.3 服务sc stop MalwareService sc delete MalwareService sc query type all state all先stop再delete避免删除运行中的服务失败sc query type all state all枚举全部服务用于排查。对应 ATTCKT1543.003Windows Service。SKILL.md 的 Step 1 给出了服务排查的 PowerShell 等价写法Get-Service | Where-Object {$_.Status -eq Running} | Select-Object Name, DisplayName, BinaryPathNameprocess.py 中_scan_services()使用psutil.win_service_iter()枚举服务并将二进制路径不以C:\Windows\、C:\Program Files\开头的服务标记为可疑作为清除候选。3.4 WMI 事件订阅重要补充WMI 持久化ATTCKT1546.003是清除时极易遗漏的机制必须同时删除 Filter、Consumer 与 Binding 三件套SKILL.md Step 3Get-WMIObject -Namespace root\Subscription -Class __EventFilter -Filter NameMalFilter | Remove-WMIObject Get-WMIObject -Namespace root\Subscription -Class CommandLineEventConsumer -Filter NameMalConsumer | Remove-WMIObject定位阶段使用Step 1Get-WMIObject -Namespace root\Subscription -Class __EventFilter Get-WMIObject -Namespace root\Subscription -Class CommandLineEventConsumer Get-WMIObject -Namespace root\Subscription -Class __FilterToConsumerBinding其持久化位置位于root\Subscription命名空间workflows.md。process.py 的_scan_wmi_subscriptions()已实现自动化枚举并默认标记为高风险。四、Linux 平台持久化清理4.1 Crontabcrontab -l -u root # 列出 root 用户的 crontab crontab -r -u root # 清空指定用户全部 cron务必谨慎 ls -la /etc/cron.d/ ls -la /var/spool/cron/对应 ATTCKT1053.003。-r会删除该用户全部计划任务建议优先用crontab -e手动编辑、逐条删除恶意行。应同时检查系统级 cron 位置/etc/crontab、/etc/cron.d/、/etc/cron.daily/、/var/spool/cron/crontabs/workflows.md。process.py 的_scan_crontabs()会遍历这些路径并记录所有非注释行。4.2 Systemd 服务systemctl list-unit-files --typeservice systemctl disable malware.service systemctl stop malware.service rm /etc/systemd/system/malware.service systemctl daemon-reload对应 ATTCKT1543.002Systemd Service。正确顺序是先disable取消开机自启→stop停止运行→ 删除 unit 文件 →daemon-reload刷新 systemd 状态。Linux 侧其他持久化位置workflows.md还包括/etc/init.d/、/etc/rc.local、shell 配置文件~/.bashrc、~/.profile、~/.bash_profile、/etc/profile.d/、/etc/environment、SSH 授权密钥~/.ssh/authorized_keys、/etc/ld.so.preload与内核模块目录/lib/modules/。4.3 进程终止kill -9 pid pkill -f malware_patternkill -9强制杀死指定 PIDpkill -f按完整命令行模式匹配批量终止。-9SIGKILL不可被捕获适合对抗主动规避的进程但使用前务必确认 PID 归属。SKILL.md 的排查命令还包括systemctl list-unit-files --typeservice | grep enabled、cat /etc/rc.local、ls -la ~/.bashrc ~/.profile ~/.bash_profile。五、文件隔离Quarantine最佳实践清除不等于直接删除。API 参考文档api-reference.md给出了先哈希、后隔离的标准流程5.1 移动前计算哈希sha256sum /path/to/malware /quarantine/hash.txt哈希既是取证证据也是后续关联 IOC、比对恶意哈希库的依据。SKILL.md 的 Step 2 还演示了基于时间戳与哈希比对定位新出现恶意文件的方法find / -type f -newer /tmp/baseline_timestamp -exec sha256sum {} \; 2/dev/null | \ while read hash file; do grep -q $hash known_malicious_hashes.txt echo MALICIOUS: $file ($hash) done5.2 安全移动并锁死权限mv /path/to/malware /quarantine/sha256_filename.quarantine chmod 000 /quarantine/sha256_filename.quarantine以 SHA256 值命名隔离文件可天然去重并自带校验信息chmod 000使文件不可读不可执行防止误触发放置期间再次触发。此方案在 agent.py 中被实现为quarantine_file()函数先计算 SHA256再以{sha256}_{原文件名}.quarantine命名迁移文件并额外写入一份 JSON 元数据记录原始路径、SHA256、隔离时间、隔离路径默认隔离目录可通过环境变量QUARANTINE_DIR指定默认/tmp/quarantine——这一设计让隔离本身成为可审计、可恢复的取证操作。六、Autoruns全量自动启动枚举Sysinternals Autoruns 是枚举 Windows 全部自启动位置的权威工具。API 参考文档给出命令行形态autorunsc.exe -a * -c -h -s -v -vtSKILL.md 中推荐的输出保存形态为autorunsc.exe -accepteula -a * -c -h -s -v autoruns_report.csv参数含义-accepteula接受许可协议无人值守场景必需-a *枚举全部类别注册表、任务、服务、驱动、启动文件夹等-cCSV 输出便于导入分析工具-h显示哈希-s校验并显示 Microsoft 签名状态-v包含版本信息-vt查询 VirusTotal 检测结果。输出列含义api-reference.md列说明Entry自动启动条目名称Image Path二进制文件位置Signer代码签名信息VT DetectionVirusTotal 检测结果验证清除效果时可配合过滤autorunsc.exe -accepteula -a * -c -h -s -v | findstr /i unknown verifiedSKILL.md Step 6重点复查签名异常或 VT 检出条目。七、YARA残留痕迹扫描YARA 用于以自定义规则扫描恶意软件残留物是清除后验证的核心手段。7.1 扫描命令yara -r rules.yar /target/directory-r递归扫描子目录。SKILL.md 的 Step 2 与 Step 6 中使用-s显示匹配字符串提高诊断信息量yara -r -s malware_rules/specific_family.yar C:\ 2/dev/null7.2 规则示例rule Malware_Remnant { strings: $s1 malware_mutex ascii $s2 {4D 5A 90 00} condition: any of them }该规则同时匹配互斥体名字符串malware_mutex与 PE 文件头魔数4D 5A 90 00即 MZ 头 近跳指令any of them表示命中任一字符串即告警。针对特定家族的规则建议在 SKILL.md 的 Prerequisites 阶段即备好并在清除前定位、清除后验证各运行一次。7.3 配合多引擎与哈希比对清除前的全面定位还可结合 ClamAV 与哈希比对SKILL.md Step 2# ClamAV 只扫描不删除输出感染文件清单 clamscan -r --infected --removeno /mnt/infected_disk/ # 检查 Web ShellPHP 常见危险函数 find /var/www/ -name *.php -newer /tmp/baseline -exec grep -l eval\|base64_decode\|system\|passthru\|shell_exec {} \; # 检查未授权 SSH 密钥 find / -name authorized_keys -exec cat {} \; 2/dev/null八、清除流程编排与验证8.1 六步工作流SKILL.md 将清除编排为六个步骤映射全部持久化机制Autoruns、注册表 Run 键、计划任务、WMI 订阅、服务以及 Linux 的 cron、init.d、systemd、rc.local、shell 配置文件识别全部恶意工件YARA 家族规则扫描、ClamAV 多引擎扫描、恶意哈希比对、Web Shell 与 SSH 密钥排查移除恶意文件与工件删除文件、计划任务、WMI 持久化、注册表项、恶意服务、cron 条目与 SSH 密钥重置被攻陷凭据用户密码、KRBTGT金票场景重置两次、间隔 12 小时以上、服务账号密码、Azure AD 刷新令牌吊销、API 密钥轮换修补初始访问漏洞Windows Update /apt upgrade/yum update及应用层补丁并以Get-HotFix验证验证清除成功全盘 EDR 扫描、Autoruns 复查、异常进程与网络连接检查、再次运行 YARA 确认零残留。其中网络连接复查示例Step 6Get-NetTCPConnection -State Established | Where-Object {$_.RemoteAddress -notlike 10.* -and $_.RemoteAddress -notlike 172.16.*} | Select-Object LocalPort, RemoteAddress, RemotePort, OwningProcess8.2 协调式清除与 Clean vs Re-Image 决策workflows.md 强调两个关键决策协调式清除必须在所有受影响系统上同时执行清除动作防止攻击者在一台机器上感知到清理动作后转移或破坏其他系统的证据。就地清除 vs 重装镜像当工件有限、家族已知、无 rootkit/bootkit、时间紧迫时选择就地清除当检测到 rootkit/bootkit、内核级沦陷、域控沦陷、无法确认彻底清除或法律要求干净系统时必须重装Re-Image。8.3 自动化清除与审计报告仓库提供两套自动化脚本将上文命令沉淀为可重复执行的清除工具agent.py轻量级 Agent提供--scan-persistence扫描持久化、--kill-pid终止进程、--quarantine-file隔离文件、--quarantine-dir隔离目录与--outputJSON 报告参数每次操作都会写入结构化行动日志process.py功能更完整PersistenceScanner覆盖注册表 Run 键、计划任务、服务、启动文件夹、WMI 订阅、crontab、systemd、rc.local、shell 配置、SSH 授权密钥、LD_PRELOAD 共 11 类持久化扫描MalwareRemover提供文件删除、计划任务删除、注册表值删除且默认--dry-run模拟执行需显式加--execute才会真正删除process.py这一安全设计避免了误操作风险。两者均生成含时间戳、主机名、平台信息、按风险等级与类型聚合统计的 JSON 报告。清除完成后建议使用 assets/template.md 生成标准化的清除报告内容覆盖事件信息、已移除工件清单、凭据轮换清单含 KRBTGT 两次重置、根因修补与验证结果、可移交恢复阶段Recovery的系统清单及审批栏使清除阶段可审计、可交接。九、相关仓库资源技能主文档SKILL.mdAPI 参考api-reference.md标准与框架映射NIST / SANS PICERL / MITRE ATTCKstandards.md详细工作流与持久化位置清单workflows.md轻量清除 Agent 源码agent.py完整清除与扫描工具源码process.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),仅供参考