脚本化的本地Linux枚举和提权检测
作者:Sec-Labs | 发布时间:
项目地址
https://github.com/rebootuser/LinEnum
LinEnum
如需更多信息,请访问www.rebootuser.com
注意:导出功能目前处于试验阶段。
一般用法:
版本 0.982
- 示例:./LinEnum.sh -s -k keyword -r report -e /tmp/ -t
选项:
- -k 输入关键字
- -e 输入导出位置
- -t 包括彻底的(冗长的)测试
- -s 提供当前用户密码以检查 sudo 权限(不安全)
- -r 输入报告名称
- -h 显示此帮助文本
无选项运行 = 有限扫描/无输出文件
- -e 要求用户输入输出位置,即/tmp/export。如果此位置不存在,则会创建它。
- -r 要求用户输入报告名称。报告(.txt 文件)将保存到当前工作目录。
- -t 执行彻底(缓慢)测试。如果没有此开关,将执行默认的“快速”扫描。
- -s 使用当前用户和提供的密码来检查 sudo 权限——注意这是不安全的,并且只真正用于 CTF!
- -k 一个可选的开关,用户可以使用它在许多文件中搜索单个关键字(在下面记录)。
有关详细信息,请参阅 CHANGELOG.md
LinEnum 执行的检查/任务的高级摘要:
- 内核和分发版本详细信息
- 系统信息:
- 主机名
- 网络细节:
- 当前IP
- 默认路线详情
- DNS 服务器信息
- 用户信息:
- 当前用户详细信息
- 最后登录的用户
- 显示登录到主机的用户
- 列出所有用户,包括 uid/gid 信息
- 列出根帐户
- 提取密码策略和哈希存储方法信息
- 检查 umask 值
- 检查密码哈希值是否存储在 /etc/passwd 中
- 提取“默认”uid 的完整详细信息,例如 0、1000、1001 等
- 尝试读取受限文件,即 /etc/shadow
- 列出当前用户历史文件(即 .bash_history、.nano_history 等)
- 基本 SSH 检查
- 特权访问:
- 哪些用户最近使用过 sudo
- 确定 /etc/sudoers 是否可访问
- 确定当前用户是否具有无密码的 Sudo 访问权限
- 是否可以通过 Sudo(即 nmap、vim 等)获得已知的“好”突破二进制文件
- root的主目录是否可访问
- 列出 /home/ 的权限
- 环境的:
- 显示当前 $PATH
- 显示环境信息
- 工作/任务:
- 列出所有 cron 作业
- 找到所有世界可写的 cron 作业
- 找到系统其他用户拥有的 cron 作业
- 列出活动和非活动的 systemd 计时器
- 服务:
- 列出网络连接(TCP 和 UDP)
- 列出正在运行的进程
- 查找和列出进程二进制文件和相关权限
- 列出 inetd.conf/xined.conf 内容和关联的二进制文件权限
- 列出 init.d 二进制权限
- 版本信息(以下):
- 须藤
- 数据库
- Postgres
- 阿帕奇
- 检查用户配置
- 显示启用的模块
- 检查 htpasswd 文件
- 查看 www 目录
- 默认/弱凭证:
- 检查默认/弱 Postgres 帐户
- 检查默认/弱 MYSQL 帐户
- 搜索:
- 找到所有 SUID/GUID 文件
- 找到所有世界可写的 SUID/GUID 文件
- 找到 root 拥有的所有 SUID/GUID 文件
- 找到“有趣的”SUID/GUID 文件(即 nmap、vim 等)
- 使用 POSIX 功能定位文件
- 列出所有世界可写的文件
- 查找/列出所有可访问的 *.plan 文件并显示内容
- 查找/列出所有可访问的 *.rhosts 文件并显示内容
- 显示 NFS 服务器详细信息
- 找到包含在脚本运行时提供的关键字的 *.conf 和 *.log 文件
- 列出位于 /etc 中的所有 *.conf 文件
- .bak 文件搜索
- 定位邮件
- 平台/软件特定测试:
- 检查以确定我们是否在 Docker 容器中
- 检查主机是否安装了 Docker
- 检查以确定我们是否在 LXC 容器中
标签:工具分享, Linux权限审计, 本地提权, 权限提升