원클릭으로
recon-basic-info
对目标主机执行初始基础信息侦察,第一步完成主机与权限确认,判断当前 WebShell 所在系统、运行用户、应用权限、网络位置、容器状态、出网限制和服务器业务角色,并将发现自动保存为会话侦察摘要。这是进入新目标后的第一步标准操作。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
对目标主机执行初始基础信息侦察,第一步完成主机与权限确认,判断当前 WebShell 所在系统、运行用户、应用权限、网络位置、容器状态、出网限制和服务器业务角色,并将发现自动保存为会话侦察摘要。这是进入新目标后的第一步标准操作。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Shell 混淆与免杀——教 AI 理解 WebShell/内存马工作原理,在生成 payload 时自主应用字符串加密、类加载规避、反射规避、控制流混淆、环境探测等混淆策略
当用户希望在平台侧开发、测试、创建或更新 Disguise 时使用。该 skill 用于生成符合平台约束的 encodeBody、decodeBody、headersJson、description 和规范名称,并优先调用 testDisguise 验证 encode/decode 是否可互逆,再创建或更新 Disguise。
当用户希望在平台侧编写、生成、完善、检查、保存、更新或删除指纹规则时使用。该 skill 用于生成符合 FingerprintComponent 约束的 HTTP/TCP 指纹 rule.requests 与 rule.script,并要求通过平台 FingerprintTools 查询已有指纹、读取详情、保存和删除,不直接读写 VFS 指纹文件。
当用户希望基于命中的指纹获取漏洞利用建议时使用。该 skill 读取一组 fingerprintId 对应的 info.vulnerabilities 元数据,按风险等级排序输出可利用方向、对应 CVE、可调用的 exploit skill 与人工跟进项,不直接执行任何利用动作。
在 Linux 目标上系统性地检测权限提升路径,包括 SUID/SGID 文件、sudo 配置、可写的 cron 脚本、内核版本漏洞、NFS 错误配置、PATH 劫持等。当任务涉及 Linux 提权、SUID、sudo 滥用、内核漏洞时使用。
在目标主机的环境变量、进程启动参数、配置文件和常见凭据存放路径中猎取账号密码、Token、密钥等敏感信息。覆盖 JDBC 数据库、Redis、Nacos、Shiro Key、SSH、云凭据等所有场景。当任务涉及凭据搜集、密钥提取、数据库密码、Redis 密码、Nacos 配置、Shiro Key、API Token、云凭据或服务账号时使用。
| name | recon-basic-info |
| description | 对目标主机执行初始基础信息侦察,第一步完成主机与权限确认,判断当前 WebShell 所在系统、运行用户、应用权限、网络位置、容器状态、出网限制和服务器业务角色,并将发现自动保存为会话侦察摘要。这是进入新目标后的第一步标准操作。 |
| enabled | true |
| tags | ["recon","linux","windows"] |
当用户进入新目标会话、希望了解目标主机基本情况,或还没有侦察摘要时,使用这个 skill。
当前 AI 通过 WebShell 与目标交互,存在以下限制:
| 约束 | 影响 | 应对 |
|---|---|---|
| 非交互式 Shell | 无 TTY,无法使用 sudo -S、passwd、交互式编辑器 | 只用单行命令或管道 |
| 输出可能截断 | 大量输出可能被 WebShell 截断 | 用 head/tail/grep 限制输出量 |
| 字符编码 | 二进制输出或非 UTF-8 可能乱码 | 优先用文本格式输出 |
| 命令超时 | 长时间运行的命令可能被 kill | 避免全盘搜索,用 timeout 包裹 |
| 无持久会话 | 每次命令独立执行,无 cd/env 保持 | 用绝对路径,单行完成 |
| 权限受限 | 通常以 Web 服务用户运行(www-data/tomcat/nobody) | 先确认权限边界再决定后续操作 |
| 原则 | 说明 |
|---|---|
| 低噪声优先 | 优先使用读取 /proc 和环境变量的方式,减少进程创建 |
| 避免触发 HIDS | 不要执行 nmap、masscan、wget、nc 等高告警命令 |
| 不写文件 | 本 skill 仅读取和观察,不创建临时文件 |
| 控制输出量 | 进程列表用 ps aux --no-header + grep,不要全量输出 |
| 避免重复执行 | 已有侦察摘要时用 manage_recon_summary(action="append") 追加,不覆盖 |
高噪声命令替代方案:
| 避免 | 替代 |
|---|---|
ifconfig(部分系统已移除) | ip addr 或 cat /proc/net/if_inet6 |
netstat(可能不存在) | ss -tlnp 或 cat /proc/net/tcp |
ps aux(全量) | ps -eo pid,user,comm,args --no-header + grep java |
find / ...(全盘) | 限定目录 + timeout 10 |
第一步完成主机与权限确认,收集以下信息并保存为侦察摘要:
在任何工具调用前,先输出:
1. 主机与权限确认(第一步,不可跳过)
├─ 并发获取:BasicInfoTools + CommandTools
├─ 确认 OS 类型 → 决定后续命令集(Linux vs Windows)
└─ 确认当前用户权限 → 决定可执行操作范围
2. 网络与服务发现
├─ 网络接口 + IP
├─ 监听端口
├─ 路由 / DNS / 代理
└─ 出网限制判断(被动优先)
3. 进程与环境
├─ Java 进程(重点)
├─ 其他关键进程
└─ 容器 / 云环境判断
4. 整理与保存
├─ manage_recon_summary(action="set")(Markdown)
├─ manage_recon_summary(action="append")(JSON)
└─ 输出给用户
| 优先级 | 工具 | 用途 |
|---|---|---|
| 1 | BasicInfoTools | OS、用户、主机名、工作目录 |
| 2 | CommandTools | 环境变量、Java 进程参数、监听端口 |
| 3 | NetworkInfoTools(可选) | collectAll 结构化网络拓扑(网卡/ARP/路由/DNS/hosts) |
| 4 | ProcessTools(可选) | listProcesses/findProcesses 进程枚举 |
| 5 | UserAccountTools(可选) | whoami/listUsers/listGroups 用户权限信息 |
| 6 | MountDiskTools(可选) | listMountDisks 磁盘挂载 |
| 7 | SessionTools | manage_recon_summary(action="set"), manage_recon_summary(action="append") 保存摘要 |
Linux/macOS(并发执行):
# 身份
id && whoami && groups
# 系统
uname -a && cat /etc/os-release 2>/dev/null
# 网络
ip addr 2>/dev/null || ifconfig
ip route 2>/dev/null || netstat -rn
ss -tlnp 2>/dev/null || netstat -tlnp
# 进程(限制输出)
ps -eo pid,user,comm,args --no-header | grep -E "java|tomcat|nginx|mysql|redis|docker|python|node"
# 容器检测
test -f /.dockerenv && echo "DOCKER"; cat /proc/1/cgroup 2>/dev/null | head -5
# 代理/DNS
echo "HTTP_PROXY=$HTTP_PROXY HTTPS_PROXY=$HTTPS_PROXY"; cat /etc/resolv.conf 2>/dev/null
Windows(并发执行):
whoami /all
ver
ipconfig /all
route print
netstat -ano | findstr LISTENING
tasklist /v | findstr /i "java tomcat nginx mysql redis"
| 角色 | 特征 |
|---|---|
| 跳板 | SSH/VPN/代理/堡垒机/大量内网路由 |
| 应用服务器 | Tomcat/Spring Boot/Nginx/Apache/Node/PHP |
| 中间件服务器 | MySQL/Redis/Nacos/Kafka/RabbitMQ/ES/ZK |
| 运维节点 | Jenkins/Ansible/kubectl/docker/terraform/CI runner |
| 云主机 | cloud-init/metadata 路由/云监控 agent |
调用 manage_recon_summary(action="set") 时传入以下格式(字段按需填充,不要空占位):
## 目标基础信息
**OS**:{os_name} {os_version},内核 {kernel},{arch}
**主机名**:{hostname}
**当前用户**:{username}({uid}/{gid})
**权限级别**:{root/system/admin/普通用户};关键组/特权:{privileges}
**工作目录**:{cwd}
**应用权限边界**:{read/write/exec summary}
## 容器与云环境
**容器状态**:{container_status};证据:{container_evidence}
**云主机状态**:{cloud_status};证据:{cloud_evidence}
## 网络接口
| 接口 | IP 地址 |
|------|---------|
| {iface} | {ip} |
## 监听端口
| 端口 | 协议 | 服务/进程 |
|------|------|---------|
| {port} | TCP | {service} |
## 出网与网络位置
**默认网关 / 路由**:{route_summary}
**DNS / 代理**:{dns_proxy_summary}
**出网限制判断**:{egress_assessment}
## Java 进程
| PID | jar / 主类 | 关键参数摘要 |
|-----|-----------|------------|
| {pid} | {jar} | {args_summary} |
## 其他关键进程
{process_summary}
## 业务角色判断
| 角色 | 判断 | 证据 | 置信度 |
|------|------|------|--------|
| 跳板 | {yes/no/unknown} | {evidence} | {confidence} |
| 应用服务器 | {yes/no/unknown} | {evidence} | {confidence} |
| 中间件服务器 | {yes/no/unknown} | {evidence} | {confidence} |
| 运维节点 | {yes/no/unknown} | {evidence} | {confidence} |
| 云主机 | {yes/no/unknown} | {evidence} | {confidence} |
## 初步判断
{brief_assessment}
初步判断 必须简要说明:目标系统类型、当前权限是否足以进行后续操作、是否容器/云主机、出网是否受限、业务角色判断、建议的下一步侦察方向。
调用 manage_recon_summary(action="append") 时传入 JSON 对象字符串。未知项使用 "unknown",不要编造:
{
"schemaVersion": "1.0",
"hostProfile": {
"os": "Linux/Windows/macOS/unknown",
"osVersion": "",
"kernel": "",
"arch": "",
"hostname": "",
"fqdn": "",
"cwd": "",
"home": ""
},
"privilegeProfile": {
"username": "",
"uid": "",
"groups": [],
"level": "root/system/admin/user/unknown",
"notablePrivileges": [],
"appPermissionBoundary": "",
"evidence": []
},
"networkProfile": {
"interfaces": [],
"routes": [],
"dns": [],
"proxy": {},
"internalCidrs": [],
"egress": {
"status": "allowed/proxy_only/internal_only/restricted/unknown",
"evidence": []
}
},
"containerProfile": {
"status": "yes/no/suspected/unknown",
"runtime": "",
"evidence": []
},
"cloudProfile": {
"status": "yes/no/suspected/unknown",
"provider": "",
"evidence": []
},
"businessRole": {
"primary": "jump_host/app_server/middleware_server/ops_node/cloud_host/mixed/unknown",
"roles": [
{
"name": "app_server",
"matched": true,
"confidence": "high/medium/low",
"evidence": []
}
]
},
"serviceProfile": {
"listeningPorts": [],
"javaProcesses": [],
"keyProcesses": []
},
"openQuestions": []
}
| 场景 | 行为 |
|---|---|
| 目标是 Windows | 命令集切换为 Windows 命令 |
| 某项信息获取失败 | 标注"未获取",不留空不跳过 |
| 不确定容器/云/出网 | 标注"未确认",说明缺哪类证据 |
| 判断业务角色 | 必须引用证据,不要只给结论 |
| 出网探测 | 被动判断优先;主动探测需用户授权且低频 |
| 已有侦察摘要 | 用 manage_recon_summary(action="append") 追加,不覆盖 |
| 并发获取 | 不要串行等待,独立工具调用并发执行 |
| 本 skill 完成后 | 侦察摘要保存完成后才输出最终结果 |
| 只读原则 | 不执行任何写操作 |
输出简洁 Markdown,包含:
主机与权限确认网络位置与出网容器与云环境监听端口Java 进程(如有)其他关键进程业务角色判断初步判断下一步建议:2~3 条具体建议,例如:
末尾注明:侦察摘要已保存,后续会话将自动使用。
riskLevel: lowaccessMode: read_onlyrequiredTools: BasicInfoTools, CommandTools, SessionToolsoptionalTools: FileTools, NetworkInfoTools, ProcessTools, UserAccountTools, MountDiskToolsproduces: reconSummaryforbiddenByDefault: 文件写入、配置修改、主动公网探测、高频端口扫描、提权、持久化recommendedNextSkills: discover-web-apps, collect-spring-boot-config, collect-jdbc-connection-info, collect-cloud-metadata, detect-container-escape, recon-internal-network, recon-active-directory, collect-kubernetes-secrets, analyze-logs-intelligence