[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71G8J906X3DRSTJ37745KY6":3,"skill-same:01M71G8J906X3DRSTJ37745KY6":93},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":66,"commitSha":67,"skillDirectory":68,"forksCount":14,"repositoryHtmlUrl":69,"repositoryHomepageUrl":6,"ownerHtmlUrl":70,"ownerBlogUrl":6,"ownerDescription":71,"updatedAt":72,"install":73,"resources":86},"01M71G8J906X3DRSTJ37745KY6","recovery-backup-recover",null,"Validate backup integrity through cryptographic hash verification, automated restore testing, corruption detection, and recoverability checks to ensure backups are reliable for disaster recovery and ransomware response scenarios.","DCx7C5\u002Fai-marketplace","DCx7C5","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F42419559?v=4","01M71C01G2AZV3NTNGWAWSHJPP","DC","01M71C01GQW6G50S2BYMS7PP3E",0,"MIT","https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fsoc\u002Frecovery\u002Fbackup\u002Frecover\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"recovery","recovery backup recover","backup","validate","disaster recovery","t1059","restore","for","restore-testing","sonnet","ransomware response","integrity","read","disaster-recovery","verification","Bash","ransomware","cybersecurity","testing","incident","2026-11-10 10:12:30",false,"---\nname: recovery-backup-recover\ndescription: Validate backup integrity through cryptographic hash verification, automated restore testing, corruption detection, and recoverability checks to ensure backups are reliable for disaster recovery and ransomware response scenarios.\ndomain: cybersecurity\nsubdomain: incident-response\ntags:\n- incident-response\n- backup\n- integrity\n- hash-verification\n- restore-testing\n- disaster-recovery\nnist_csf:\n- RS.MA-01\n- RS.MA-02\n- RS.AN-03\n- RC.RP-01\nmodel: sonnet\nmaxTurns: 20\ntools: [Read, Bash, Glob, Grep]\nmitre_attack:\n- T1059\n- T1486\ncapec: []\n---\n\n# Validating Backup Integrity for Recovery\n\n## When to Use\n\nUse this skill when:\n- Verifying backup integrity before relying on backups for ransomware recovery\n- Building automated backup validation pipelines that run after each backup job\n- Auditing backup infrastructure to confirm recoverability for compliance (SOC 2, ISO 27001, NIST CSF RC.RP-03)\n- Detecting silent data corruption (bit rot) in backup storage before a disaster occurs\n- Validating that immutable or air-gapped backups have not been tampered with\n\n**Do not use** for initial backup configuration or scheduling. This skill focuses on post-backup validation.\n\n## Prerequisites\n\n- Access to backup storage (local, NAS, S3, Azure Blob, GCS)\n- Python 3.9+ with `hashlib` (standard library)\n- Backup manifests or baseline hash files for comparison\n- Isolated restore environment for restore testing\n- Backup tool CLI access (restic, borgbackup, rclone, or vendor-specific)\n\n## Workflow\n\n### Step 1: Generate Baseline Hash Manifest\n\nCreate a cryptographic fingerprint of every file at backup time:\n\n```bash\n# Generate SHA-256 manifest for a directory\nfind \u002Fdata\u002Fproduction -type f -exec sha256sum {} \\; > \u002Fmanifests\u002Fprod_baseline_$(date +%Y%m%d).sha256\n\n# Verify manifest format\nhead -5 \u002Fmanifests\u002Fprod_baseline_20260319.sha256\n# e3b0c44298fc1c149afbf4c8996fb924...  \u002Fdata\u002Fproduction\u002Fconfig.yaml\n# a7ffc6f8bf1ed76651c14756a061d662...  \u002Fdata\u002Fproduction\u002Fdatabase.sql\n```\n\n### Step 2: Verify Backup Archive Integrity\n\nCheck that the backup archive itself is not corrupted:\n\n```bash\n# Restic: verify backup repository integrity\nrestic -r s3:s3.amazonaws.com\u002Fbackup-bucket check --read-data\n\n# Borg: verify backup archive\nborg check --verify-data \u002Fbackup\u002Frepo::archive-2026-03-19\n\n# Tar with gzip: verify archive integrity\ngzip -t backup_20260319.tar.gz && echo \"Archive OK\" || echo \"Archive CORRUPTED\"\n\n# AWS S3: verify object checksums\naws s3api head-object --bucket backup-bucket --key daily\u002F2026-03-19.tar.gz \\\n  --checksum-mode ENABLED\n```\n\n### Step 3: Perform Restore Test to Isolated Environment\n\n```bash\n# Restore to isolated test directory\nrestic -r s3:s3.amazonaws.com\u002Fbackup-bucket restore latest --target \u002Frestore-test\u002F\n\n# Generate hash manifest of restored data\nfind \u002Frestore-test -type f -exec sha256sum {} \\; > \u002Fmanifests\u002Frestored_$(date +%Y%m%d).sha256\n\n# Compare baseline and restored manifests\ndiff \u003C(sort \u002Fmanifests\u002Fprod_baseline_20260319.sha256) \\\n     \u003C(sort \u002Fmanifests\u002Frestored_20260319.sha256)\n```\n\n### Step 4: Validate Data Completeness\n\n```bash\n# Count files in original vs restored\necho \"Original: $(find \u002Fdata\u002Fproduction -type f | wc -l) files\"\necho \"Restored: $(find \u002Frestore-test -type f | wc -l) files\"\n\n# Check total size\necho \"Original: $(du -sh \u002Fdata\u002Fproduction | cut -f1)\"\necho \"Restored: $(du -sh \u002Frestore-test | cut -f1)\"\n\n# Database consistency check after restore\npg_restore --list backup.dump | wc -l  # Count objects in dump\npsql -c \"SELECT schemaname, tablename FROM pg_tables WHERE schemaname='public';\" restored_db\n```\n\n### Step 5: Detect Ransomware Artifacts in Backups\n\nBefore trusting a backup for recovery, scan for ransomware indicators:\n\n```bash\n# Check for common ransomware file extensions\nfind \u002Frestore-test -type f \\( \\\n  -name \"*.encrypted\" -o -name \"*.locked\" -o -name \"*.crypt\" \\\n  -o -name \"*.ransom\" -o -name \"*.pay\" -o -name \"*.wncry\" \\\n  -o -name \"*.cerber\" -o -name \"*.locky\" -o -name \"*.zepto\" \\\n\\) -print\n\n# Check for ransom notes\nfind \u002Frestore-test -type f \\( \\\n  -name \"README_TO_DECRYPT*\" -o -name \"HOW_TO_RECOVER*\" \\\n  -o -name \"DECRYPT_INSTRUCTIONS*\" -o -name \"HELP_DECRYPT*\" \\\n\\) -print\n\n# Check file entropy (high entropy = possible encryption)\n# Files with entropy > 7.9 out of 8.0 are likely encrypted\npython agent.py --entropy-scan \u002Frestore-test\n```\n\n### Step 6: Automate and Schedule Validation\n\n```yaml\n# cron-based validation schedule\n# Run nightly after backup window\n0 4 * * * \u002Fopt\u002Fbackup-validator\u002Fagent.py --validate-latest --notify-on-failure\n# Weekly full restore test\n0 6 * * 0 \u002Fopt\u002Fbackup-validator\u002Fagent.py --full-restore-test --config \u002Fetc\u002Fbackup-validator\u002Fconfig.json\n```\n\n## Key Concepts\n\n| Term | Definition |\n|------|-----------|\n| **Hash Manifest** | File containing cryptographic hashes (SHA-256) for every file in a dataset, used as integrity baseline |\n| **Bit Rot** | Gradual data corruption on storage media that silently alters file contents |\n| **Immutable Backup** | Backup that cannot be modified or deleted for a defined retention period |\n| **Restore Test** | Process of recovering data from backup to an isolated environment to verify recoverability |\n| **File Entropy** | Measure of randomness in file contents; encrypted files have entropy near 8.0 bits\u002Fbyte |\n| **3-2-1 Rule** | Keep 3 copies of data, on 2 different media types, with 1 offsite copy |\n| **Backup Chain** | Sequence of full and incremental backups that must all be intact for recovery |\n\n## Tools & Systems\n\n| Tool | Purpose |\n|------|---------|\n| Restic | Encrypted, deduplicated backup with built-in integrity verification |\n| BorgBackup | Deduplicating backup with archive verification |\n| Rclone | Cloud storage sync with checksum verification |\n| AWS S3 Object Lock | Immutable backup storage with WORM compliance |\n| Azure Immutable Blob | Tamper-proof backup storage for compliance |\n| sha256sum | Standard hash computation for file integrity |\n| pg_restore | PostgreSQL backup validation and restore testing |\n\n## Common Pitfalls\n\n- **Never testing restores**: The most common failure mode. Backups that are never restored are untested assumptions.\n- **Checking only archive integrity, not data integrity**: A valid tar.gz can contain corrupted file contents. Always hash individual files.\n- **Trusting last backup without scanning for ransomware**: Backups may contain encrypted files if the infection predates the backup.\n- **Ignoring incremental chain integrity**: A single corrupted incremental backup can break the entire restore chain.\n- **No alerting on validation failures**: Backup validation must be monitored with alerts, not just logged silently.\n- **Using MD5 for integrity**: MD5 is cryptographically broken. Use SHA-256 or SHA-3 for integrity verification.\n\n## References\n\n- NIST SP 800-184: Guide for Cybersecurity Event Recovery\n- NIST CSF 2.0 RC.RP-03: Backup Integrity Verification\n- CIS Controls v8: Control 11 - Data Recovery\n- CISA Ransomware Guide: https:\u002F\u002Fwww.cisa.gov\u002Fstopransomware\n","# Validating Backup Integrity for Recovery\n\n## When to Use\n\nUse this skill when:\n- Verifying backup integrity before relying on backups for ransomware recovery\n- Building automated backup validation pipelines that run after each backup job\n- Auditing backup infrastructure to confirm recoverability for compliance (SOC 2, ISO 27001, NIST CSF RC.RP-03)\n- Detecting silent data corruption (bit rot) in backup storage before a disaster occurs\n- Validating that immutable or air-gapped backups have not been tampered with\n\n**Do not use** for initial backup configuration or scheduling. This skill focuses on post-backup validation.\n\n## Prerequisites\n\n- Access to backup storage (local, NAS, S3, Azure Blob, GCS)\n- Python 3.9+ with `hashlib` (standard library)\n- Backup manifests or baseline hash files for comparison\n- Isolated restore environment for restore testing\n- Backup tool CLI access (restic, borgbackup, rclone, or vendor-specific)\n\n## Workflow\n\n### Step 1: Generate Baseline Hash Manifest\n\nCreate a cryptographic fingerprint of every file at backup time:\n\n```bash\n# Generate SHA-256 manifest for a directory\nfind \u002Fdata\u002Fproduction -type f -exec sha256sum {} \\; > \u002Fmanifests\u002Fprod_baseline_$(date +%Y%m%d).sha256\n\n# Verify manifest format\nhead -5 \u002Fmanifests\u002Fprod_baseline_20260319.sha256\n# e3b0c44298fc1c149afbf4c8996fb924...  \u002Fdata\u002Fproduction\u002Fconfig.yaml\n# a7ffc6f8bf1ed76651c14756a061d662...  \u002Fdata\u002Fproduction\u002Fdatabase.sql\n```\n\n### Step 2: Verify Backup Archive Integrity\n\nCheck that the backup archive itself is not corrupted:\n\n```bash\n# Restic: verify backup repository integrity\nrestic -r s3:s3.amazonaws.com\u002Fbackup-bucket check --read-data\n\n# Borg: verify backup archive\nborg check --verify-data \u002Fbackup\u002Frepo::archive-2026-03-19\n\n# Tar with gzip: verify archive integrity\ngzip -t backup_20260319.tar.gz && echo \"Archive OK\" || echo \"Archive CORRUPTED\"\n\n# AWS S3: verify object checksums\naws s3api head-object --bucket backup-bucket --key daily\u002F2026-03-19.tar.gz \\\n  --checksum-mode ENABLED\n```\n\n### Step 3: Perform Restore Test to Isolated Environment\n\n```bash\n# Restore to isolated test directory\nrestic -r s3:s3.amazonaws.com\u002Fbackup-bucket restore latest --target \u002Frestore-test\u002F\n\n# Generate hash manifest of restored data\nfind \u002Frestore-test -type f -exec sha256sum {} \\; > \u002Fmanifests\u002Frestored_$(date +%Y%m%d).sha256\n\n# Compare baseline and restored manifests\ndiff \u003C(sort \u002Fmanifests\u002Fprod_baseline_20260319.sha256) \\\n     \u003C(sort \u002Fmanifests\u002Frestored_20260319.sha256)\n```\n\n### Step 4: Validate Data Completeness\n\n```bash\n# Count files in original vs restored\necho \"Original: $(find \u002Fdata\u002Fproduction -type f | wc -l) files\"\necho \"Restored: $(find \u002Frestore-test -type f | wc -l) files\"\n\n# Check total size\necho \"Original: $(du -sh \u002Fdata\u002Fproduction | cut -f1)\"\necho \"Restored: $(du -sh \u002Frestore-test | cut -f1)\"\n\n# Database consistency check after restore\npg_restore --list backup.dump | wc -l  # Count objects in dump\npsql -c \"SELECT schemaname, tablename FROM pg_tables WHERE schemaname='public';\" restored_db\n```\n\n### Step 5: Detect Ransomware Artifacts in Backups\n\nBefore trusting a backup for recovery, scan for ransomware indicators:\n\n```bash\n# Check for common ransomware file extensions\nfind \u002Frestore-test -type f \\( \\\n  -name \"*.encrypted\" -o -name \"*.locked\" -o -name \"*.crypt\" \\\n  -o -name \"*.ransom\" -o -name \"*.pay\" -o -name \"*.wncry\" \\\n  -o -name \"*.cerber\" -o -name \"*.locky\" -o -name \"*.zepto\" \\\n\\) -print\n\n# Check for ransom notes\nfind \u002Frestore-test -type f \\( \\\n  -name \"README_TO_DECRYPT*\" -o -name \"HOW_TO_RECOVER*\" \\\n  -o -name \"DECRYPT_INSTRUCTIONS*\" -o -name \"HELP_DECRYPT*\" \\\n\\) -print\n\n# Check file entropy (high entropy = possible encryption)\n# Files with entropy > 7.9 out of 8.0 are likely encrypted\npython agent.py --entropy-scan \u002Frestore-test\n```\n\n### Step 6: Automate and Schedule Validation\n\n```yaml\n# cron-based validation schedule\n# Run nightly after backup window\n0 4 * * * \u002Fopt\u002Fbackup-validator\u002Fagent.py --validate-latest --notify-on-failure\n# Weekly full restore test\n0 6 * * 0 \u002Fopt\u002Fbackup-validator\u002Fagent.py --full-restore-test --config \u002Fetc\u002Fbackup-validator\u002Fconfig.json\n```\n\n## Key Concepts\n\n| Term | Definition |\n|------|-----------|\n| **Hash Manifest** | File containing cryptographic hashes (SHA-256) for every file in a dataset, used as integrity baseline |\n| **Bit Rot** | Gradual data corruption on storage media that silently alters file contents |\n| **Immutable Backup** | Backup that cannot be modified or deleted for a defined retention period |\n| **Restore Test** | Process of recovering data from backup to an isolated environment to verify recoverability |\n| **File Entropy** | Measure of randomness in file contents; encrypted files have entropy near 8.0 bits\u002Fbyte |\n| **3-2-1 Rule** | Keep 3 copies of data, on 2 different media types, with 1 offsite copy |\n| **Backup Chain** | Sequence of full and incremental backups that must all be intact for recovery |\n\n## Tools & Systems\n\n| Tool | Purpose |\n|------|---------|\n| Restic | Encrypted, deduplicated backup with built-in integrity verification |\n| BorgBackup | Deduplicating backup with archive verification |\n| Rclone | Cloud storage sync with checksum verification |\n| AWS S3 Object Lock | Immutable backup storage with WORM compliance |\n| Azure Immutable Blob | Tamper-proof backup storage for compliance |\n| sha256sum | Standard hash computation for file integrity |\n| pg_restore | PostgreSQL backup validation and restore testing |\n\n## Common Pitfalls\n\n- **Never testing restores**: The most common failure mode. Backups that are never restored are untested assumptions.\n- **Checking only archive integrity, not data integrity**: A valid tar.gz can contain corrupted file contents. Always hash individual files.\n- **Trusting last backup without scanning for ransomware**: Backups may contain encrypted files if the infection predates the backup.\n- **Ignoring incremental chain integrity**: A single corrupted incremental backup can break the entire restore chain.\n- **No alerting on validation failures**: Backup validation must be monitored with alerts, not just logged silently.\n- **Using MD5 for integrity**: MD5 is cryptographically broken. Use SHA-256 or SHA-3 for integrity verification.\n\n## References\n\n- NIST SP 800-184: Guide for Cybersecurity Event Recovery\n- NIST CSF 2.0 RC.RP-03: Backup Integrity Verification\n- CIS Controls v8: Control 11 - Data Recovery\n- CISA Ransomware Guide: https:\u002F\u002Fwww.cisa.gov\u002Fstopransomware\n",{"name":5,"tags":49,"capec":52,"model":33,"tools":53,"domain":41,"maxTurns":57,"nist_csf":58,"subdomain":50,"description":7,"mitre_attack":63},[50,26,35,51,32,37],"incident-response","hash-verification",[],[54,39,55,56],"Read","Glob","Grep",20,[59,60,61,62],"RS.MA-01","RS.MA-02","RS.AN-03","RC.RP-01",[64,65],"T1059","T1486","main","a91f1293287ffa9f4f1b8f486cd6e835a1568c84","skills\u002Fsoc\u002Frecovery\u002Fbackup\u002Frecover","https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace","https:\u002F\u002Fgithub.com\u002FDCx7C5","#Python","2026-09-01 11:21:00",{"source":8,"skillName":5,"commands":74,"prompt":84,"zipAvailable":85},[75,78,81],{"tool":76,"command":77},"npx","npx skills add DCx7C5\u002Fai-marketplace --skill recovery-backup-recover",{"tool":79,"command":80},"bunx","bunx skills add DCx7C5\u002Fai-marketplace --skill recovery-backup-recover",{"tool":82,"command":83},"pnpm","pnpm dlx skills add DCx7C5\u002Fai-marketplace --skill recovery-backup-recover","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fsoc\u002Frecovery\u002Fbackup\u002Frecover\u002FSKILL.md",true,[87],{"path":88,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":91,"sourceHtmlUrl":92},"index.json","REFERENCE","参考文档",676,"https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fsoc\u002Frecovery\u002Fbackup\u002Frecover\u002Findex.json",[94,119,140,161,183,199],{"skillNo":95,"name":96,"nameZh":6,"description":97,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":98,"categories":99,"keywords":100,"publishedAt":44},"01M71HAPZ01KQ30RKTB0FFSQ05","services-wmi-persistence-detect","Detect WMI event subscription persistence by enumerating ActiveScriptEventConsumer, CommandLineEventConsumer, and permanent subscriptions in the WMI repository.","https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fwindows\u002Fservices\u002Fwmi\u002Fpersistence\u002Fdetect\u002FSKILL.md",[],[101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,41,118],"services","detect","services wmi persistence detect","wmi","persistence","de","cm","process","activescript","event","subscriptions","commandline-consumer","repository","subscription","event-subscription","t1546.003","forensics","process-forensics",{"skillNo":120,"name":121,"nameZh":6,"description":122,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":123,"categories":124,"keywords":125,"publishedAt":44},"01M71HAK6JTTTS229T17WJMMCG","services-wmi-exec-exploit","Perform lateral movement across Windows networks using WMI-based remote execution techniques including Impacket wmiexec.py, CrackMapExec, and native WMI commands for stealthy post-exploitation during red team engagements.","https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fwindows\u002Fservices\u002Fwmi\u002Fexec\u002Fexploit\u002FSKILL.md",[],[126,101,127,104,128,129,130,41,39,131,132,133,134,135,106,136,137,36,138,139],"exploit","services wmi exec exploit","exec","remote","traffic","analysis","team","across","crackmapexec","native","command","lateral movement","lateral-movement","Impacket",{"skillNo":141,"name":142,"nameZh":6,"description":143,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":144,"categories":145,"keywords":146,"publishedAt":44},"01M71HAG6MHKNQV8KDZKMT4886","registry-artifact-extract","Extract and analyze Windows Registry hives to uncover user activity, installed software, autostart entries, and evidence of system compromise.","https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fwindows\u002Fregistry\u002Fartifact\u002Fextract\u002FSKILL.md",[],[147,148,149,150,151,152,41,39,153,131,154,155,106,36,156,157,158,159,160,33],"artifact","registry","registry artifact extract","extract","evidence-collection","artifact-analysis","collection","analyze","uncover","software","activity","digital-forensics","windows-registry","regripper",{"skillNo":162,"name":163,"nameZh":6,"description":164,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":165,"categories":166,"keywords":167,"publishedAt":44},"01M71HACR4A8XTWTTSXK4124AA","processes-token-impersonate-detect","Detect Windows token impersonation and privilege abuse including SeImpersonatePrivilege exploitation via Potato attacks and token stealing techniques.","https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fwindows\u002Fprocesses\u002Ftoken\u002Fimpersonate\u002Fdetect\u002FSKILL.md",[],[102,168,169,170,171,172,173,107,174,41,118,175,176,177,178,179,180,181,182,106],"processes token impersonate detect","token","processes","attacks","windows","escalation","techniques","privilege-escalation","seimpersonate","token-impersonation","printspoofer","exploitation","potato","impersonation","via",{"skillNo":184,"name":185,"nameZh":6,"description":186,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":187,"categories":188,"keywords":189,"publishedAt":44},"01M71HAABSB4Z6QFSXEG00R4RK","processes-thread-injection-detect","Detect Windows thread injection techniques including CreateRemoteThread, QueueUserAPC, NtCreateThreadEx, and thread hijacking via process memory analysis.","https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fwindows\u002Fprocesses\u002Fthread\u002Finjection\u002Fdetect\u002FSKILL.md",[],[190,191,102,192,170,172,193,107,194,174,41,118,131,195,196,197,198,182,106,108],"thread","processes thread injection detect","injection","memory","process-injection","api","apc-injection","thread-injection","nt-api",{"skillNo":200,"name":201,"nameZh":6,"description":202,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":203,"categories":204,"keywords":205,"publishedAt":44},"01M71HA7H311V5G14WMX58HQSS","processes-hollow-technique-detect","Detect process hollowing (RunPE) by identifying processes with mismatched image paths between PEB and VAD tree, or unmapped PE headers in memory.","https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fwindows\u002Fprocesses\u002Fhollow\u002Ftechnique\u002Fdetect\u002FSKILL.md",[],[206,102,170,207,193,107,208,209,41,118,210,211,212,213,214,215,106,108,216,217],"processes hollow technique detect","tree","memory-forensics","process-hollow","peb","runpe","image","pe-header","in memory","with","mismatched","headers"]