长亭百川云 - 文章详情

Linux提权辅助工具大全

simeon的文章

89

2024-07-28

    最近基于攻击做防护,通过检测服务器的信息,尝试以普通用户进行提权,以防止0day打进来后的提权。通过实际测试,一些高版本的内核版本相对比较安全,直接提权的可能性较低,通过研究发现,当有普通用户权限时,可以借助配置、安装的软件来进行提权相对容易。本文对目前厂家的Linux提权辅助工具进行实际测试,可以借助这些工具进行信息收集,快读获取exp。实际最好用的还是需要积累和沉淀,手动编译对应操作系统和版本的exp。

1.1LinEnum

https://github.com/rebootuser/LinEnum

1.1.1简介

inEnum(Linux Enumeration & Privilege Escalation Tool)是一个用于 Linux 系统的枚举和权限提升工具,可以帮助安全研究人员和系统管理员收集关于目标系统的详细信息,以便评估安全风险和识别提升权限的机会。

1.主要功能和用途

(1)基本系统信息收集

当前用户和系统信息

运行的进程和服务

已安装的软件包列表

已安装的内核和相关信息

(2)文件系统信息

检查可写目录和文件

查找隐藏文件和目录

查找敏感文件(如密码文件)

(3)网络信息

网络配置和连接信息

监听端口和相关进程

(4)安全配置检查

检查用户的权限和Sudo配置

检查系统日志(syslog)设置

检查防火墙设置和配置

(5)提权和漏洞检测

检查可用的提权路径和可能的漏洞利用机会

检查系统安全功能和设置

1.1.2下载和准备

1.下载 LinEnum:

你可以通过 GitHub 上的 LinEnum 仓库获取最新版本的工具。

(1)使用 git clone 命令

git clone https://github.com/rebootuser/LinEnum.git

(2)检查和设置权限

cd LinEnum

chmod +x LinEnum.sh

(3)执行 LinEnum

./LinEnum.sh > output.txt

这将执行脚本并将结果输出到 output.txt 文件中。你也可以选择不将输出保存到文件,而是在终端直接查看输出。

1.2 linux-exploit-suggester

1.2.1下载及执行

1.直接下载为les.sh

wget https://raw.githubusercontent.com/mzet-/linux-exploit-suggester/master/linux-exploit-suggester.sh -O les.sh

chmod +x les.sh

./les.sh

1.2.2详细用法

1.显示可用漏洞信息

./linux-exploit-suggester.sh

针对每个漏洞,会计算其曝光风险。以下是可能的“曝光”状态:

  • 高度可能 - 评估的内核很可能受到影响,且 PoC 漏洞利用工具很可能可以直接使用,无需进行主要修改。

  • 可能 - 漏洞利用可能会生效,但可能需要对 PoC 工具进行定制以适应目标系统。

  • 较不可能 - 需要额外的手动分析来验证内核是否受影响。

  • 不可能 - 内核高度不太可能受到影响(工具的输出中未显示漏洞利用)

2.显示 Linux 系统安全功能状态

./linux-exploit-suggester.sh --checksec

LES 能够检查你的 Linux 内核可用的大部分安全设置。它不仅验证了内核编译时的配置(CONFIGs),还验证了运行时的设置(sysctl),从而为正在运行的内核提供更完整的安全状态图景。这一功能是 checksec.sh 工具中 --kernel 选项的现代延续,由 Tobias Klein 开发。

1.3linux-exploit-suggester-2

https://github.com/jondonas/linux-exploit-suggester-2

Linux Exploit Suggester 2 是基于原始 Linux_Exploit_Suggester 脚本的增强版,旨在帮助发现 Linux 系统的特权提升漏洞

1.3.1主要改进

1.扩展的漏洞数据库

包含更多的漏洞利用,覆盖了更广泛的潜在漏洞。

2.直接下载漏洞代码

提供 -d 标志,可直接从 Exploit DB 下载漏洞代码。用户可以下载所有可用的漏洞利用或选择特定的漏洞。

3.通配符匹配

支持对内核和操作系统发布版本进行准确的通配符匹配,有助于更有效地识别适用的漏洞利用。

4.输出着色

输出结果使用着色,提高可读性,更容易区分不同的信息部分。

1.3.2使用方法

1.获取漏洞信息

在没有任何参数的情况下运行脚本,它将执行 uname -r 命令以获取 Linux 内核版本,并搜索其数据库以查找适用的漏洞利用。

chmod +x linux-exploit-suggester-2.pl

./linux-exploit-suggester-2.pl

2.手动通配符匹配

可以使用 -k 标志手动指定内核版本,后面跟上版本号或通配符。这在 uname -r 输出不可用或不准确的情况下非常有用。

./linux-exploit-suggester-2.pl -k 3

3.下载漏洞代码

使用 -d 标志启动下载菜单。该菜单允许下载所有可用的漏洞利用 (a) 或按其编号选择特定漏洞利用。这个功能非常适合直接从 Exploit DB 获取漏洞利用代码的场景。

$ ./linux-exploit-suggester-2.pl -d

自动显示可用的exploit,输入编号进行下载,输入a下载所有的exploit。

4.帮助菜单

要快速查看可用标志及其用法,请使用 -h 标志。

$ ./linux-exploit-suggester-2.pl -h

1.3.3编译及执行exp

1.exploit_exploit_x

chmod +x exploit_exploit_x

./exploit_exploit_x

2.cve_2016_0728

(1)编译exp

mv exploit_pp_key cve_2016_0728.c

gcc cve_2016_0728.c -o cve_2016_0728 -lkeyutils -Wall

(2)执行exp

chmod +x cve_2016_0728

./cve_2016_0728 PP_KEY

3.exploit_timeoutpwn

mv  exploit_timeoutpwn timeoutpwn.c

gcc timeoutpwn.c -o pwn && ./pwn

1.4 linux-soft-exploit-suggester

https://github.com/belane/linux-soft-exploit-suggester

帮助安全研究人员和渗透测试者发现和利用 Linux 系统中软件层面的漏洞。它可能包含了自动化的脚本或工具,能够分析目标系统的软件组件,并推荐已公开的漏洞利用代码。

1.4.1主要特点

1.漏洞利用建议

能够根据目标系统的软件版本,推荐已知的漏洞利用。

2.自动化分析

通过扫描目标系统的软件组件和版本信息,自动化地寻找适用的漏洞利用。

3.漏洞利用下载

可能支持直接从漏洞数据库(如 Exploit DB)下载漏洞利用代码

1.4.2使用方法

1.下载和安装

git clone https://github.com/belane/linux-soft-exploit-suggester.git

cd linux-soft-exploit-suggester

2.运行脚本

./linux-soft-exploit-suggester.py

3.详细参数说明

-h, --help:显示帮助消息,包含可用选项的摘要。

-f FILE, --file FILE:指定包含目标系统上安装的软件包或软件列表的文件。例如:

python linux-soft-exploit-suggester.py --file package_list

--clean:使用干净的软件包列表,通常使用 dpkg-query -W 生成。

--duplicates:在结果中显示重复的漏洞。

--db DB:指定漏洞数据库文件的路径,格式为CSV。默认为 files_exploits.csv。

-j, --juicy:搜索与运行进程、setuid二进制文件和Linux能力相关的软件包。

--update:下载最新版本的漏洞数据库。

-d debian|redhat, --distro debian|redhat:指定Linux发行版类型 (debian 或 redhat)。默认为 debian。

--dos:包括拒绝服务(DoS)漏洞在内的搜索结果。

--intense:进行强烈的软件包名称搜索,适用于软件名称与软件包名称不匹配的情况。

-l 1-5, --level 1-5:指定软件版本搜索的变化级别。选项从 1(相同版本)到 5(所有版本)。

--type TYPE:按漏洞类型筛选,如 local(本地)、remote(远程)、webapps(Web应用)、dos(拒绝服务)等。

--filter FILTER:按漏洞标题中的特定字符串进行筛选。

4.用法示例

(1)更新漏洞数据库

python linux-soft-exploit-suggester.py --update

(2)搜索关键二进制文件

python linux-soft-exploit-suggester.py --juicy

(3)指定软件包列表和漏洞数据库

python linux-soft-exploit-suggester.py --file package_list --db files_exploits.csv

(4)使用Redhat/CentOS格式

python linux-soft-exploit-suggester.py --file package_list --distro redhat

(5)搜索主要版本漏洞

python linux-soft-exploit-suggester.py --file package_list --level 4

(6)按远程漏洞筛选

python linux-soft-exploit-suggester.py --file package_list --type remote

(7)按漏洞标题中的特定词进行筛选

python linux-soft-exploit-suggester.py --file package_list --filter Overflow

1.5 linPEAS

1.5.1 linPEAS简介

linPEAS 是一个用于 Linux 系统的特权提升脚本套件,旨在帮助进行后渗透测试时进行系统枚举和发现特权提升路径。

1.主要功能

系统枚举:linPEAS 收集系统的广泛信息,包括用户、组、进程、网络配置、安装的软件等。

特权提升检测:它检查常见的配置错误和漏洞,这些漏洞可能允许攻击者在系统上提升其权限。

2.关键特点

脚本自动化:linPEAS 自动化了信息收集和检查的过程,并提供详细报告,列出潜在的漏洞和配置问题。

用户友好的输出:它将发现的信息整理成易于阅读的格式,方便安全专家和渗透测试人员分析和处理结果。

可定制性:用户可以通过各种选项和标志调整脚本的行为,集中于特定类型的检查或排除某些检查。

1.5.2使用方法

1.下载对应系统的版本

https://github.com/peass-ng/PEASS-ng/releases

wget https://raw.githubusercontent.com/peass-ng/PEASS-ng/master/linPEAS/linpeas.sh

2.详细参数

此工具枚举和搜索可能存在的配置错误(已知漏洞、用户、进程和文件权限、特殊文件权限、可读/可写文件、暴力破解其他用户(top1000密码)、密码等)在主机内,并用颜色突出显示可能存在的配置错误。

(1)检查

-a 执行所有检查:1分钟的进程、su 暴力破解和额外检查。

-o 仅执行选定的检查(system_information、container、cloud、procs_crons_timers_srvcs_sockets、network_information、users_information、software_information、interesting_perms_files、interesting_files、api_keys_regex)。选择逗号分隔的列表。

-s 隐蔽和更快(不执行一些耗时的检查)

-e 执行额外的枚举

-t 自动网络扫描和互联网连接检查 - 此选项将写入文件

-r 启用正则表达式(可能需要几分钟到几小时)

-P 指定一个密码,将用于运行 'sudo -l' 和通过 'su' 暴力破解其他用户账户

-D 调试模式

(2)网络侦察

-t 自动网络扫描和互联网连接检查 - 此选项将写入文件

-d <IP/子网掩码> 使用 fping 或 ping 发现主机。例如:-d 192.168.0.1/24

-p <端口(s)> -d <IP/子网掩码> 查找 TCP 开放端口的主机(通过 nc)。默认情况下,将扫描端口 22、80、443、445、3389 和您指定的另一个端口(如果不添加更多,则选择 22)。您还可以添加一个端口列表。例如:-d 192.168.0.1/24 -p 53,139

-i [-p <端口(s)>] 使用 nc 扫描一个 IP。默认情况下(无 -p),将扫描 nmap 的前1000个端口,但您可以选择一个端口列表。例如:-i 127.0.0.1 -p 53,80,443,8000,8080

请注意,如果指定了某些网络扫描(选项 -d/-p/-i 但不包括 -t),将不会执行特权提升检查。

(3)端口转发(反向连接)

-F 本地 IP:本地端口:远程 IP:远程端口 从您的主机(本地 IP:本地端口)执行 linpeas 来将端口转发到远程 IP(远程端口)。

(4)固件侦察

-f </文件夹/路径> 执行 linpeas 来搜索文件夹内的密码/文件权限配置错误。

(5)杂项

-h 显示帮助信息。

-w 在大块检查之间等待执行

-L 强制执行 linpeas

-M 强制执行 macpeas

-q 不显示横幅

-N 不使用颜色

3.执行linpeas

chmod +x linpeas.sh

./linpeas.sh

1.6linux-smart-enumeration

https://github.com/diego-treitos/linux-smart-enumeration

1.6.1Linux Smart Enumeration简介

Linux Smart Enumeration (lse.sh) 是一种用于枚举并提供系统详细信息的脚本工具。它设计用于审计和调查Linux系统,可以帮助发现潜在的安全风险和配置错误。

1.主要功能

  • 检查系统基本信息,如发行版、内核版本等。

  • 列出当前登录的用户和正在运行的进程。

  • 显示环境变量和用户特权。

  • 枚举文件系统信息,包括挂载点和权限。

  • 检查网络配置,列出监听端口和已建立的连接。

  • 搜索敏感文件和潜在的安全配置错误。

1.6.2详细使用

1.下载

wget "https://github.com/diego-treitos/linux-smart-enumeration/releases/latest/download/lse.sh" -O lse.sh;chmod 700 lse.sh

curl "https://github.com/diego-treitos/linux-smart-enumeration/releases/latest/download/lse.sh" -Lo lse.sh;chmod 700 lse.sh

也可以使用

git clone https://github.com/diego-treitos/linux-smart-enumeration.git

./lse.sh

2.详细参数

使用:./lse.sh [选项]

选项:

-c           禁用颜色

-i           非交互模式

-h           帮助信息

-l LEVEL     输出详细级别

0: 显示高度重要的结果(默认)

1: 显示有趣的结果

2: 显示所有收集到的信息

-s SELECTION 逗号分隔的要运行的部分或测试列表。可用部分包括:

usr: 用户相关测试

sud: Sudo 相关测试

fst: 文件系统相关测试

sys: 系统相关测试

sec: 安全措施相关测试

ret: 定期任务(cron、定时器)相关测试

net: 网络相关测试

srv: 服务相关测试

pro: 进程相关测试

sof: 软件相关测试

ctn: 容器(docker、lxc)相关测试

cve: CVE 相关测试

可以使用特定的测试ID(例如:usr020,sud)

-e PATHS     要排除的路径列表,逗号分隔。这允许您在完整性成本下进行更快的扫描

-p SECONDS   进程监视器将观察进程的时间。值为0将禁用任何监视(默认:60)

-S           在此主机上提供 lse.sh 脚本,以便可以从远程主机检索

相关推荐
关注或联系我们
添加百川云公众号,移动管理云安全产品
咨询热线:
4000-327-707
百川公众号
百川公众号
百川云客服
百川云客服

Copyright ©2024 北京长亭科技有限公司
icon
京ICP备 2024055124号-2