[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71C47BP4F82ZRNT9CBPCDZM":3,"skill-same:01M71C47BP4F82ZRNT9CBPCDZM":56},{"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":18,"publishedAt":24,"linkOnly":25,"markdownContent":26,"markdownBody":27,"frontMatter":28,"refName":29,"commitSha":30,"skillDirectory":31,"forksCount":14,"repositoryHtmlUrl":32,"repositoryHomepageUrl":6,"ownerHtmlUrl":33,"ownerBlogUrl":6,"ownerDescription":34,"updatedAt":35,"install":36,"resources":49},"01M71C47BP4F82ZRNT9CBPCDZM","cloud-aws-privesc-assess",null,"Cloud Aws Privesc Assess.","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\u002Fcloud-aws-privesc-assess\u002FSKILL.md",[],[19,20,21,22,23],"cloud aws privesc assess","assess","aws","cloud","cybersecurity","2026-11-10 10:12:30",false,"---\nname: cloud-aws-privesc-assess\ndescription: \"Cloud Aws Privesc Assess.\"\ndomain: cybersecurity\n---\n\n|\n| IAM Privilege Escalation | Exploiting overly permissive IAM policies to gain higher-level access than originally granted to a principal |\n| Permission Boundary | IAM policy that sets the maximum permissions a principal can have, regardless of identity-based policies attached to it |\n| iam:PassRole | IAM action allowing a principal to pass an IAM role to an AWS service, enabling the service to act with that role's permissions |\n| Confused Deputy | Attack where an attacker tricks a trusted service into performing actions on their behalf using cross-account role assumption without external ID validation |\n| Service Control Policy | AWS Organizations policy that sets maximum permissions for member accounts, providing guardrails against privilege escalation |\n| Principal Mapper | Open-source tool that models IAM principals and their escalation paths as a directed graph for analysis |\n\n## Tools & Systems\n\n- **Pacu**: AWS exploitation framework with 21+ privilege escalation modules for automated detection and exploitation\n- **Principal Mapper**: Graph-based IAM analysis tool that maps escalation paths between principals\n- **CloudFox**: AWS enumeration tool focused on identifying attack paths from an attacker's perspective\n- **IAM Policy Simulator**: AWS-native tool for testing effective permissions against specific API actions\n- **AWS Access Analyzer**: Service that identifies resource policies granting external access and validates IAM policy changes\n\n## Common Scenarios\n\n### Scenario: Developer Role with iam:CreatePolicyVersion Leads to Admin Access\n\n**Context**: During an authorized assessment, a tester discovers that a developer role has the `iam:CreatePolicyVersion` permission, which allows creating a new version of any customer-managed policy with arbitrary permissions.\n\n**Approach**:\n1. Enumerate policies attached to the developer role using `iam__enum_permissions` in Pacu\n2. Identify that the role can call `iam:CreatePolicyVersion` on its own attached policy\n3. Create a new policy version with `\"Action\": \"*\", \"Resource\": \"*\", \"Effect\": \"Allow\"`\n4. Set the new version as the default policy version\n5. Verify admin access by calling `iam:ListUsers`, `s3:ListBuckets`, etc.\n6. Document the escalation chain and recommend removing `iam:CreatePolicyVersion` and implementing permission boundaries\n\n**Pitfalls**: AWS limits managed policies to 5 versions. If all 5 exist, you must delete a version before creating a new one. Always record the original default version to restore it during cleanup. Permission boundaries prevent this escalation if properly configured, so verify boundary policies before declaring a finding.\n\n## Output Format\n\n```\nAWS Privilege Escalation Assessment Report\n=============================================\nAccount: 123456789012 (Production)\nAssessment Date: 2026-02-23\nStarting Principal: arn:aws:iam::123456789012:user\u002Ftest-user\nStarting Permissions: S3 read-only, Lambda invoke, EC2 describe\nAuthorization: Signed by CISO, engagement #PT-2026-014\n\nESCALATION PATHS DISCOVERED: 4\n\n[PRIVESC-001] iam:CreatePolicyVersion -> Admin\n  Severity: CRITICAL\n  Starting Permission: iam:CreatePolicyVersion on policy\u002Fdev-policy\n  Escalation: Created policy version 6 with Action:* Resource:*\n  Time to Exploit: \u003C 2 minutes\n  Remediation: Remove iam:CreatePolicyVersion, apply permission boundary\n\n[PRIVESC-002] iam:PassRole + lambda:CreateFunction -> LambdaAdminRole\n  Severity: CRITICAL\n  Starting Permission: iam:PassRole, lambda:CreateFunction\n  Escalation: Created Lambda function with AdminRole, invoked to get admin credentials\n  Time to Exploit: \u003C 5 minutes\n  Remediation: Restrict iam:PassRole to specific role ARNs with condition key\n\n[PRIVESC-003] sts:AssumeRole -> Cross-Account Admin\n  Severity: HIGH\n  Starting Permission: sts:AssumeRole on arn:aws:iam::987654321098:role\u002FSharedRole\n  Escalation: Role trust policy allows any principal in source account\n  Remediation: Add sts:ExternalId condition and restrict Principal to specific roles\n\nTOTAL ESCALATION PATHS: 4 (2 Critical, 1 High, 1 Medium)\nPERMISSION BOUNDARIES IN PLACE: 0 \u002F 47 IAM principals\nSCP GUARDRAILS BLOCKING ESCALATION: 0 \u002F 3 tested vectors\n```\n","|\n| IAM Privilege Escalation | Exploiting overly permissive IAM policies to gain higher-level access than originally granted to a principal |\n| Permission Boundary | IAM policy that sets the maximum permissions a principal can have, regardless of identity-based policies attached to it |\n| iam:PassRole | IAM action allowing a principal to pass an IAM role to an AWS service, enabling the service to act with that role's permissions |\n| Confused Deputy | Attack where an attacker tricks a trusted service into performing actions on their behalf using cross-account role assumption without external ID validation |\n| Service Control Policy | AWS Organizations policy that sets maximum permissions for member accounts, providing guardrails against privilege escalation |\n| Principal Mapper | Open-source tool that models IAM principals and their escalation paths as a directed graph for analysis |\n\n## Tools & Systems\n\n- **Pacu**: AWS exploitation framework with 21+ privilege escalation modules for automated detection and exploitation\n- **Principal Mapper**: Graph-based IAM analysis tool that maps escalation paths between principals\n- **CloudFox**: AWS enumeration tool focused on identifying attack paths from an attacker's perspective\n- **IAM Policy Simulator**: AWS-native tool for testing effective permissions against specific API actions\n- **AWS Access Analyzer**: Service that identifies resource policies granting external access and validates IAM policy changes\n\n## Common Scenarios\n\n### Scenario: Developer Role with iam:CreatePolicyVersion Leads to Admin Access\n\n**Context**: During an authorized assessment, a tester discovers that a developer role has the `iam:CreatePolicyVersion` permission, which allows creating a new version of any customer-managed policy with arbitrary permissions.\n\n**Approach**:\n1. Enumerate policies attached to the developer role using `iam__enum_permissions` in Pacu\n2. Identify that the role can call `iam:CreatePolicyVersion` on its own attached policy\n3. Create a new policy version with `\"Action\": \"*\", \"Resource\": \"*\", \"Effect\": \"Allow\"`\n4. Set the new version as the default policy version\n5. Verify admin access by calling `iam:ListUsers`, `s3:ListBuckets`, etc.\n6. Document the escalation chain and recommend removing `iam:CreatePolicyVersion` and implementing permission boundaries\n\n**Pitfalls**: AWS limits managed policies to 5 versions. If all 5 exist, you must delete a version before creating a new one. Always record the original default version to restore it during cleanup. Permission boundaries prevent this escalation if properly configured, so verify boundary policies before declaring a finding.\n\n## Output Format\n\n```\nAWS Privilege Escalation Assessment Report\n=============================================\nAccount: 123456789012 (Production)\nAssessment Date: 2026-02-23\nStarting Principal: arn:aws:iam::123456789012:user\u002Ftest-user\nStarting Permissions: S3 read-only, Lambda invoke, EC2 describe\nAuthorization: Signed by CISO, engagement #PT-2026-014\n\nESCALATION PATHS DISCOVERED: 4\n\n[PRIVESC-001] iam:CreatePolicyVersion -> Admin\n  Severity: CRITICAL\n  Starting Permission: iam:CreatePolicyVersion on policy\u002Fdev-policy\n  Escalation: Created policy version 6 with Action:* Resource:*\n  Time to Exploit: \u003C 2 minutes\n  Remediation: Remove iam:CreatePolicyVersion, apply permission boundary\n\n[PRIVESC-002] iam:PassRole + lambda:CreateFunction -> LambdaAdminRole\n  Severity: CRITICAL\n  Starting Permission: iam:PassRole, lambda:CreateFunction\n  Escalation: Created Lambda function with AdminRole, invoked to get admin credentials\n  Time to Exploit: \u003C 5 minutes\n  Remediation: Restrict iam:PassRole to specific role ARNs with condition key\n\n[PRIVESC-003] sts:AssumeRole -> Cross-Account Admin\n  Severity: HIGH\n  Starting Permission: sts:AssumeRole on arn:aws:iam::987654321098:role\u002FSharedRole\n  Escalation: Role trust policy allows any principal in source account\n  Remediation: Add sts:ExternalId condition and restrict Principal to specific roles\n\nTOTAL ESCALATION PATHS: 4 (2 Critical, 1 High, 1 Medium)\nPERMISSION BOUNDARIES IN PLACE: 0 \u002F 47 IAM principals\nSCP GUARDRAILS BLOCKING ESCALATION: 0 \u002F 3 tested vectors\n```\n",{"name":5,"domain":23,"description":7},"main","a91f1293287ffa9f4f1b8f486cd6e835a1568c84","skills\u002Fcloud-aws-privesc-assess","https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace","https:\u002F\u002Fgithub.com\u002FDCx7C5","#Python","2026-09-01 11:21:00",{"source":8,"skillName":5,"commands":37,"prompt":47,"zipAvailable":48},[38,41,44],{"tool":39,"command":40},"npx","npx skills add DCx7C5\u002Fai-marketplace --skill cloud-aws-privesc-assess",{"tool":42,"command":43},"bunx","bunx skills add DCx7C5\u002Fai-marketplace --skill cloud-aws-privesc-assess",{"tool":45,"command":46},"pnpm","pnpm dlx skills add DCx7C5\u002Fai-marketplace --skill cloud-aws-privesc-assess","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fcloud-aws-privesc-assess\u002FSKILL.md",true,[50],{"path":51,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":54,"sourceHtmlUrl":55},"index.json","REFERENCE","参考文档",496,"https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fcloud-aws-privesc-assess\u002Findex.json",[57,82,105,127,149,165],{"skillNo":58,"name":59,"nameZh":6,"description":60,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":61,"categories":62,"keywords":63,"publishedAt":24},"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",[],[64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,23,81],"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":83,"name":84,"nameZh":6,"description":85,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":86,"categories":87,"keywords":88,"publishedAt":24},"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",[],[89,64,90,67,91,92,93,23,94,95,96,97,98,99,69,100,101,102,103,104],"exploit","services wmi exec exploit","exec","remote","traffic","Bash","analysis","team","across","crackmapexec","native","command","lateral movement","read","lateral-movement","Impacket",{"skillNo":106,"name":107,"nameZh":6,"description":108,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":109,"categories":110,"keywords":111,"publishedAt":24},"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",[],[112,113,114,115,116,117,23,94,118,95,119,120,69,102,121,122,123,124,125,126],"artifact","registry","registry artifact extract","extract","evidence-collection","artifact-analysis","collection","analyze","uncover","software","activity","digital-forensics","windows-registry","regripper","sonnet",{"skillNo":128,"name":129,"nameZh":6,"description":130,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":131,"categories":132,"keywords":133,"publishedAt":24},"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",[],[65,134,135,136,137,138,139,70,140,23,81,141,142,143,144,145,146,147,148,69],"processes token impersonate detect","token","processes","attacks","windows","escalation","techniques","privilege-escalation","seimpersonate","token-impersonation","printspoofer","exploitation","potato","impersonation","via",{"skillNo":150,"name":151,"nameZh":6,"description":152,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":153,"categories":154,"keywords":155,"publishedAt":24},"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",[],[156,157,65,158,136,138,159,70,160,140,23,81,95,161,162,163,164,148,69,71],"thread","processes thread injection detect","injection","memory","process-injection","api","apc-injection","thread-injection","nt-api",{"skillNo":166,"name":167,"nameZh":6,"description":168,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":169,"categories":170,"keywords":171,"publishedAt":24},"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",[],[172,65,136,173,159,70,174,175,23,81,176,177,178,179,180,181,69,71,182,183],"processes hollow technique detect","tree","memory-forensics","process-hollow","peb","runpe","image","pe-header","in memory","with","mismatched","headers"]