内网学习第6天 liunx定时任务 环境变量和权限配置,以及数据库提权

内网学习的第5天呢??我就没有写,那个主要就是利用内核漏洞以及suid,来进行提权的。

我在虚拟机上面进行提权,我没有成功,我本地的虚拟机呢,扫出来的漏洞poc也没有让我提权成功。所以我就没有写。现在我们来写写今天的提权操作。

环境变量的提权:

在liunx中,管理员编译了程序,给管理运行的方案,这点我们攻击者就可以进行环境变量的提权。

攻击者在发现了这个程序过后,通过看它的运行结果或者反编译得到了源码进行判断。然后对环境变量进行覆盖,导致程序加载过后权限的继承。

简单点来说就是让程序找不到原来的环境变量的位置,它就会在当前的目录找相同命令的程序进行执行。

下面来演示:

12.c里面的程序源码是这样的:很简单的执行ps命令

#include<unistd.h>
void main()
{ setuid(0);
  setgid(0);
  system("ps");
}

我们进行了编译过后赋予它权限这点我出错了的,我们在要root权限进行操作,我后面就没有截图了,程序是会继承权限的,如果我们是user用户对它进行编译就会继承user用户。

然后这点我们是复制的/bin/bash 为/tmp/ps bash是命令框的形式 变为了ps

然后我们在设置环境变量 这点输多了所以有2个不影响操作

然后我们在进行执行的操作执行shell文件

没有环境变量就找当前目录对应程序名 有环境变量就找环境调用
原始:ps命令
由于环境变量加了tmp 执行ps执行/tmp/psps又是通过bash复制的 就是bash

shell执行bash suid执行bash 就是直接提权

怎么找到这类问题

我们先看所以的suid的程序,然后在进行判断找到第三方的程序

看看这个程序里面执行了什么,我们就反编译或者看运行的结果是什么来猜测,然后我们思考有没有我们的环境变量命令ps su ifconfig等等 然后就进行环境变量覆盖

计划任务的提权

运维人员会定期的保存数据会使用war命令 对参数可控

他会这样来写 tar czf /var/www/打包.tar *

说简单一点就是我们对命令的参数可以控可以执行命令
echo "/bin/bash" > shell.sh

echo "" > "--checkpoint-action=exec=sh shell.sh"

echo "" > --checkpoint=1

tar czf a.tar * 这个是在进行打包文件 *打包所以的文件 a.tar打包文件的名字

我们主要是利用的--checkpoint这个参数来进行从提权

我们在执行tar这个命令的时候就会执行我们后面的参数来进行操作,我们也就是可以提权成功了

tar czf a.tar * --checkpoint=1 --checkpoint-action=exec=sh shell.sh

怎么找到这类问题

我们怎么查看就是看定时任务里面使用的命令我们可以进行利用没有

利用也就是说可以加参数来执行其他的命令来进行操作 也就是这里的tar命令

定时任务权限配置不当

这个就是管理员在配置计时任务的时候权限没有控制好,也就是任意的人都可以编辑计时任务

主要我们普通的用户都可以编辑计时任务,我们写一个反弹shehll进去,这样就可以获取管理员的权限。

数据库提权:

windows我写过mysql提权 liunx的数据库提权其实跟windows的差不多

多了点我们要进行编译的操作,然后windows是dll文件 liunx是.so文件

然后我们使用工具来帮助我们直接获取到提权。
MDUT这个工具可以sharpsqltools这个也行

我们在进行连接的时候,mysql不是要开启外联吗,我们开启过后我们还是连接不到数据库。

说明我们不能连接内网的数据库,这个时候我们想应该是被安全设备阻止了,我们就可以让mysql数据库来连接我们,我们就要建立隧道,我们使用冰蝎来建立最简单了。

等我后面学好了建立隧道我会在写相关的博客来记录。现在只会最简单的。

相关推荐
数据与后端架构提升之路25 分钟前
从神经元到神经网络:深度学习的进化之旅
人工智能·神经网络·学习
一行134 分钟前
电脑蓝屏debug学习
学习·电脑
星LZX1 小时前
WireShark入门学习笔记
笔记·学习·wireshark
阑梦清川1 小时前
在鱼皮的模拟面试里面学习有感
学习·面试·职场和发展
qq_433099401 小时前
Isaac Gym学习笔记——概述
学习
秃头佛爷3 小时前
Python学习大纲总结及注意事项
开发语言·python·学习
dayouziei5 小时前
java的类加载机制的学习
java·学习
dsywws8 小时前
Linux学习笔记之vim入门
linux·笔记·学习
晨曦_子画9 小时前
3种最难学习和最容易学习的 3 种编程语言
学习
城南vision9 小时前
Docker学习—Docker核心概念总结
java·学习·docker