当前位置: 首页 > news >正文

沈阳建设工程质量检测中心网站天津装修公司哪家口碑好些

沈阳建设工程质量检测中心网站,天津装修公司哪家口碑好些,设计家官网室内设计,网页版微信显示二维码失效怎么办Linux权限提升—定时任务、环境变量、权限配置不当、数据库等提权1. 前言1.1. 如何找编译好的EXP2. 定时任务提权2.1. 查看定时任务2.2. 通配符注入提权2.2.1. 创建执行脚本2.2.2. 创建定时任务2.2.3. 查看效果2.2.4. 提权操作2.2.4.1. 切换普通用户2.2.4.2. 执行命令2.2.4.3. … Linux权限提升—定时任务、环境变量、权限配置不当、数据库等提权1. 前言1.1. 如何找编译好的EXP2. 定时任务提权2.1. 查看定时任务2.2. 通配符注入提权2.2.1. 创建执行脚本2.2.2. 创建定时任务2.2.3. 查看效果2.2.4. 提权操作2.2.4.1. 切换普通用户2.2.4.2. 执行命令2.2.4.3. 查看效果2.2.4.4. 提权执行2.2.5. 总结2.2.5.1. 执行成功的2.2.5.2. 执行未成功的2.3. 权限配置不当提权2.3.1. 查看定时任务2.3.2. 查看脚本2.3.3. 编辑脚本2.3.4. 查看执行效果2.3.5. 提权执行2.3.6. 疑问3. 环境变量提权3.1. 环境搭建3.1.1. 编辑C语言脚本3.1.2. 编译C语言脚本3.1.3. 添加SUID权限3.2. 提权操作3.2.1. 查找SUID权限文件3.2.2. 尝试执行脚本3.2.3. 查看源码3.2.4. 分析环境变量3.2.5. 查看环境变量3.2.6. 复制bash3.2.7. 劫持环境变量3.2.8. 执行脚本3.3. 总结4. MySQL数据库提权4.1. 自动化提权4.1.1. 打开工具4.1.2. 连接目标数据库4.1.3. 进入目标数据库4.1.4. 查看secure-file-priv状态4.2. 总结1. 前言 在上篇文章中提到了Linux权限提升之前的信息收集操作这里就不在赘述在前言中讲上篇文章为提到的内容进行补充至于其它内容可参考上篇文章。 Linux权限提升—内核、SUID、脏牛等提权 1.1. 如何找编译好的EXP 这里提一下之前在设计找EXP都是使用自动化进行编译但是就会出现需要安装C语言环境而如果目标靶机中没有C语言环境如果你私自在别人的操作系统中去安装C语言环境可能会导致服务器部分环境或服务产生问题那么就需要在本地进行编译在编译后好再上传。不过也较为麻烦这里给几个github上编译好的环境。 kernel-exploits Unix-Privilege-Escalation-Exploits-Pack linux-kernel-exploits 2. 定时任务提权 定时任务通常被设置用于备份文件、清理目录内容等。crontab命令可以创建一个cron文件以指定的时间区间运行。 2.1. 查看定时任务 可以通过下列的命令去指定一个定时任务这里关于Linux定时任务相关的内容请百度自行了解。 cat /etc/crontab2.2. 通配符注入提权 先按照操作流程去操作一边不懂的会在通配符总结中详细讲解到最好先跟着操作一边有印象再去看总结就能看懂了。 通配符注入也就是Linux中用于匹配文件名的服务*、等当存在这些符号的时候就可以用来提权但是需要涉及到与类似解压缩类型的命令。 通配符通常是在查找文件夹时可以使用它来代替一个或多个真正字符当不知道真正字符或懒得输入完整名字时常常使用通配符代替一个或多个真正的字符。 2.2.1. 创建执行脚本 这里创建一个bf.sh的执行脚本并在里面写入一个备份执行命令。关于这条命令为什么要这么设置我想了很久这里先设置操作完看到效果后我会对这个命令进行分析。 这里就是先到tmp目录下的123目录中去打包里面的文件并存放到tmp下。 cd /tmp/123;tar -zcf /tmp/bf.tar.gz *2.2.2. 创建定时任务 这里创建一个压缩备份的定时任务这个定时任务在大部分服务器中存在还是比较多的由于服务器中的数据较为重要所以多数都会使用到一个压缩备份的定时任务同时如果在一个文件夹中需要备份的文件较多管理者不可能一个一个压缩那么就会使用到通配符来辅助压缩。 这里我设置的是执行tmp下面的bf.sh。 vi /etc/crontab ##编辑定时任务 * * * * * root /tmp/bf.sh ##创建定时任务 cat /etc/crontab ##查看定时任务2.2.3. 查看效果 可以看到这里成功压缩了文件注意这个条件的确实是我备份的我测试完又删除的所以导致前后时间不对应。 2.2.4. 提权操作 关于这个提权web权限账户基本上不太可能能进行提权同时普通用户若管理员设置备份的文件夹未给写入权那么也GG但是多数应该不太会出现这个情况不过也不保证会排查。 2.2.4.1. 切换普通用户 这里切换到普通用户然后查看到存在root创建的定时任务那么就可以利用这个定时任务进行提权同时我们需要查看刚刚创建的执行脚本对里面的内容进行分析然后再去执行提权。 2.2.4.2. 执行命令 由于备份的时候是备份123目录下的文件那么我们执行的命令就需要再123命令下进行操作。 定时任务打包时使用了将整个文件夹下的文件打包而当系统真正执行打包操作时会将目录下的所有文件名一个一个传参给执行打包操作。前几个文件都没问题但是当打包到–checkpoint1文件和–checkpoint-actionexecsh test.sh文件时执行的相当于执行 tar czf /tmp/backup.tar.gz --checkpoint1 --checkpoint-actionexecsh test.sh而 --checkpoint、–checkpoint-action正好是tar命令的参数打包到这里就会导致tar命令直接把–checkpoint1和–checkpoint-actionexecsh test.sh两个文件名当做参数执行而不打包文件。–checkpoint-actionexecsh test.sh参数的意思是执行同目录下test.sh文件test.sh文件内容又是把 bin/bash拷贝给/tmp/bash并给/tmp/bash赋SUID权限。此时我们再执行/tmp/bash就享有了suid权限所以这里是一环套一环的。 echo --checkpoint1 echo --checkpoint-actionexecsh test.sh ##执行test.sh文件 echo cp /bin/bash /tmp/bash;chmod s /tmp/bash test.sh ##将/bin/bash复制到/tmp下并提权SUID权限同时将命令写入到test.sh脚本中 chmod x test.sh ##赋予执行权限2.2.4.3. 查看效果 可以看到这里成功的将bin目录下的bash复制到tmp下。 2.2.4.4. 提权执行 这里可以参考之前提到的一个提权参考文章在里面可以看到bash的提权操作这里我们已经将bash复制过来了同时又赋予了SUID权限那么就是root权限了通过参考文章中给予的操作方式这里只需要下列命令即可。 那么完整的提权就结束了。 suid-executables ./bash -p2.2.5. 总结 这里将一下在这个提权中需要注意的事项总体来说有种莫名的鸡肋感觉。 如果备份的文件夹你没有写入权限就GG。如果备份的命令是绝对路径也GG。如果管理员设置了其它权限也GG。如果是WEB权限也GG。 可能有些文章中是在定时任务中直接写入压缩命令来完成压缩的下面我们就来具体分析一下这两条命令。 cd /tmp/123;tar -zcf /tmp/bf.tar.gz * ##执行成功的 tar -zcf /tmp/bf.tar.gz /tmp/123/* ##执行未成功的通过上面两条命令来看其实都是成功对文件进行压缩但是有上面不同呢最好的办法就是把这两条命令的内容解压出来看看。 这里我由于使用香港服务器有点卡我就切到华为云服务器上操作了。 2.2.5.1. 执行成功的 通过整个验证流程来看执行成功的命令是先到123目录中通过匹配符去打包123目录中的所有文件这样就符合了我们提权执行的流程。 2.2.5.2. 执行未成功的 这条命令也是网上很多人文章中使用的但是从来没有下一步成功的截图或者内容很多都直接提过了都跳过了你写个毛教程这条命令我通过解压验证他打包的内容是tmp整个目录并不是123中的文件整就导致了提取目录无法执行的原因。 从验证流程上是错误的所以我也不知道网上他们的文章是如何成功的或者是我的理解有错误有大佬知道的请反馈给我解答我心中的疑惑。 2.3. 权限配置不当提权 关于权限配置不当提权其实很好理解比如管理员在设置一个定时任务的时候通常都需要给定时任务的脚本添加一个执行权限正常情况下都是chmod x test.sh,而有些管理员偷懒直接添加一个777权限就会导致权限配置不当提权。 这里首选我们需要获取一个本地用户WEB权限的用户不是不行但是多数web权限都会被限制不过也可以去尝试看看能否进行操作。 2.3.1. 查看定时任务 可以看到管理员在定时任务中添加一个sh脚本任务这里就可以看看这个脚本中写的是什么。 2.3.2. 查看脚本 通过查看脚本发现是将时间写入time.log中结合定时任务就是每分钟追加时间进入time.log中。并且查看权限的时候发现是777权限那么这里我们就可以考虑把这个文件覆盖或者在后面添加命令完成我们的提权操作。 2.3.3. 编辑脚本 一定要有修改权限哦如果没有修改权限那就GG了是无法提权的。 在现实环境中最好是追加命令不要去随意修改别人的脚本确保原先的脚本也能执行同时也能执行我们想要的执行权限那么就可以直接在脚本中追加我们的命令。 cp /bin/bash /tmp/bash; chmod s /tmp/bash ##这里还是将bin下的bash复制到tmp下同时加上SUID权限。2.3.4. 查看执行效果 可以看到成功获取到bash。 2.3.5. 提权执行 这里同样可以参考之前给的提权文章中使用命令进行提权可以看到是root权限了。 bash -p2.3.6. 疑问 可能有的人说test.sh都是777权限了能不能直接进行执行这里测试是不行的我们是没有权限的由于time.log是由root的定时任务产生的所以我们无法进行执行。 但是如果你把里面所有的内容都删除了是可以进行执行的或者你复制一份把里面的内容都删除了然后进行执行也是可以的但这些都基于权限配置出错的前提下。 3. 环境变量提权 PATH是Linux 和 Unix 操作系统中的环境变量它指定存储可执行程序的所有bin和sbin目录。当用户在终端上执行任何命令时它会通过PATH变量来响应用户执行的命令并向shell发送请求以搜索可执行文件。超级用户通常还具有/sbin和/usr/sbin条目以便于系统管理命令的执行。 比如我想执行一个ls命令,其实我们执行的是/bin/ls这个可执行文件,而系统就是靠环境变量中我们设置的路径/bin中找到的ls并执行。而执行的优先级是从前向后查询的例如下图若在/usr/local/sbin中到到ls则会执行/usr/local/sbin中的ls而不会再向下寻找。 3.1. 环境搭建 这里我们先搭建一个模拟环境模拟环境只是为了好演示以及知道原理并不是在实际情况中一定会遇到。 3.1.1. 编辑C语言脚本 这个脚本意思很简单执行ps命令而在实际环境中可能会其它的命令基本上都是一致的替换即可。 #includeunistd.h void main() {setuid(0);setgid(0);system(ps); }3.1.2. 编译C语言脚本 这里编译C语言脚本需要使用到gcc命令若没有可以自行安装在我另外一篇文章中的5.2.2.1注意段中有写到关于这个C语言环境的情况。 Linux权限提升—内核、SUID、脏牛等提权 看到出现一个可执行的shell文件就证明编译成功了。 gcc shell.c -o shell ##shell.c是脚本文件名后面的shell是编译后的名称3.1.3. 添加SUID权限 这里添加SUID权限是由于在部分脚本中可能会出现一些命令必须使用root权限来执行但是有些管理比较严格的公司不允许随便使用root来管理服务器就会导致普通用户创建的文件可能会出现部分命令无法执行那么就会使用root用户添加一个SUID权限来让其脚本在执行的时候默认使用root来执行就能够解决这个问题。 chmod s shell ##添加SUID权限3.2. 提权操作 这里的提权操作整体的思路就是提权脚本中执行命令的环境变量也就相当于对其进行环境变量的劫持。 3.2.1. 查找SUID权限文件 这里我们可以看到我们找到一个shell文件文件路径是在tmp下。 find / -perm -us -type f 2/dev/null3.2.2. 尝试执行脚本 这里尝试执行shell后发现是执行ps命令那么我们可以找找看看是否存在相关的源码或者为了避免脚本影响一些服务可以先对其进行反编译查看脚本里面是什么内容。 3.2.3. 查看源码 这里可以对文件进行反编译或者查看是否存在关于shell脚本的源码这里也是成功的找到shell脚本的源码通过查看是执行ps命令。 3.2.4. 分析环境变量 默认情况下执行ps是执行/bin/ps,同时这里设定的ps并未写绝对路径来执行而是直接ps那么就可以思考默认情况下环境变量是一个一个查看若找到了就不会再向下查找那么就可以对环境变量进行劫持。 3.2.5. 查看环境变量 首先这里我们先查看一下现有的环境变量通过现有的环境变量能够看到默认再执行shell的时候会从前向后去一个一个查找找到了就去执行。 echo $PATH3.2.6. 复制bash 正如之前提到的从前向后查找那么我们可以把我们的环境变量设置在第一个同时修改文件名为ps那么就实现了环境变量劫持同时也实现了我们提权的操作那么想要提权就需要使用到bash。 我们就可以将/bin/bash复制到脚本所在的目录下当然不是强制复制到脚本所在的目录只需要你将复制后的bash所在的目录添加在环境变量第一位即可。 同时修改/bin/bash为/tmp/ps,这里的tmp是脚本所在的目录还是那句话不一定强制要求在这个脚本目录下。而为什么要修改bash为ps呢 这是由于ps去可执行的时候相当于就是调用/bin/ps文件那么修改为ps后就能实现文件名对应就能进行执行。 cp /bin/bash /tmp/ps3.2.7. 劫持环境变量 通过之前的分析逻辑我们需要添加环境变量并且将环境变量添加到第一位。 export PATH路径:$PATH ##从头添加 export PATH$PATH:路径 ##从尾添加那么这里我们就需要使用到从头添加的命令将tmp添加进去如果你复制的bash修改后的ps不再tmp下可以根据你设定的目录进行添加一定要是绝对路径哦。 添加完查看一下添加的路径是否成功。 export PATH/tmp:$PATH echo $PATH3.2.8. 执行脚本 这里执行完仔细看我截的图是不是自动跳转到了root权限这样的话就是成功提权了。 ./shell3.3. 总结 整体的原因就是由于开始管理员给予shell就是SUID权限同时shell是一个执行脚本通过对其反编译或者寻找源码来判断脚本里面所调用的命令是什么。 然后根据这个命令将bash修改成对应的命令名称同时添加环境变量根据环境变量的特性让其优先寻找到我们将bash修改后的命令名称让其执行的ps命令成为执行bash。 而shell恰巧是SUID权限也就是root权限执行那么root权限去执行bash就能够进行提权。 当然拉~这个提权有点鸡肋就是本地用户才可以如果是web权限用户基本上是不能执行的。 4. MySQL数据库提权 其实这里的MySQL数据库提权本来是不想写的由于在Linux中部署网站本来就会受到各种权限限制。同时Linux中的MySQL数据库提权和Windows的步骤基本上一致。 并且由于目前的高于5.5的数据库存在secure-file-priv的限制很多情况下都实现不了除非你胆大去改别人的数据库同时重启。这里就使用说一下工具自动化提权吧手动的百度搜索吧我也想写了确实由于Linux下的这个secure-file-priv的限制我以及研究了一下午翻遍了网上很多文章基本上清一色的Windows操作Windows我也能但是Linux怎么修改都还是nall我已经放弃了。 MySQL数据库提权同样需要使用到外联如果不能外联那么只有老老实实手工提权了。关于外联提权操作这里可以参考我之前写的一篇文章在这个文章中详细写到了如何开启外联。Windows权限提升—MySQL数据库提权 4.1. 自动化提权 关于这个自动化提权其实Windows和Linux均能使用这个工具只是在之前Windows提权中未提到这里进行操作一下。 工具下载地址MDUT 4.1.1. 打开工具 这里将工具下载下来后需要在cmd中使用java打开。 java -jar 工具名称4.1.2. 连接目标数据库 这里我们打开工具后将相关的信息输入进去后就可以进行提权了不过需要注意数据库要支持外联哦。 右击》添加》选择数据库类型》输入地址》输入账户密码》确认端口是否正确》保存 4.1.3. 进入目标数据库 这里是成功进入了但是却无法提权提示出了一个错误这个错误是由于secure-file-priv的问题这个问题我在Windows权限提升—MySQL数据库提权中也说到过这个值如果为NULL直接就是GG提权不了。 不过也不是不能修改而是修改了需要重启数据库同时如你所看到的就是这个问题困扰了我一个下午了解决不了。 4.1.4. 查看secure-file-priv状态 可以看到明显是NULL如果在Windows上修改好像挺简单的修改重启但是在Linux上我修改后重启了无数遍依旧不行同时部分文章中也提到这个问题同样也是没解决注意如果修改成功后果自负哦 show global variables like %secure%;4.2. 总结 关于这里算上烂尾了吧但是实在是有心无力可能有人说为什么不使用低版本的数据库来演示呢都2023年了但凡负责任的管理员也会升级数据库了比如我所在的公司早就被强制升级了。 至于低版本的演示百度一大堆而且在我写过的Windows权限提升—MySQL数据库提权中的操作是一样的操作我也就不想再去写一边了。 只是这里主要提及了一下这个工具之前Windows没提过如果提过了我直接这章动不会写同时我也参考了很多关于Linux权限提升的文章都没涉及数据库提权反倒Windows权限提升中很多都涉及到了数据库提权可能在Linux中数据库提权比较麻烦吧或者遇到的问题和我一样一致无法让secure-file-priv的状态成为null导致无法演示。 如果后面研究出来了再重新补一篇文章
http://www.tj-hxxt.cn/news/136509.html

相关文章:

  • 设计制作个人网站thinkphp 做网站如何
  • 苏州保洁公司哪家好一点windows优化大师功能
  • net域名做网站怎么样青岛需要做网站的公司有哪些
  • 中国建设工程招标官方网站网页ui设计尺寸规范
  • 淘宝做网站哈尔滨网站建设方案外包
  • 泉州网站制作建设谷搜易外贸网站建设
  • 惠州网站建设(推荐乐云践新)软件二次开发
  • 门户手机网站开发烟台网站建设企汇互联见效付款
  • 温州地区做网站重庆网站建设微信开发
  • 网站制作wordpress网站建设的宿主选择
  • 南山网站设计公司ps 做儿童摄影网站首页
  • 西安网站建设方案维护网页设计与制作 教学效果
  • 县区网站集约化建设收费网站模板
  • 用视频做影视的网站百度知道网页版登录入口
  • 湘潭高新区建设局网站南京英文网站建设
  • 5g对网站建设的影响网站优化做些什么
  • 贵州建设官方网站it之家网站源码
  • 硬件开发一站式平台网页游戏网站链接
  • 宝应网站设计网站开发典型
  • 在国际网站做外贸需要条件天猫网店代运营
  • 菏泽建设网站邢台百姓网官网
  • 网页建站怎么做赣州建设信息网
  • 网站建设行业怎么样wordpress支付下载
  • 网站开发 英文文章网站悬挂备案号
  • 蓝色科技网站建设网络营销首先要做什么
  • 做二手货的网站做网站公司宣传语
  • 泰兴网站优化下载浏览器并安装
  • 佛山制作网站设计报价360地图怎么添加商户
  • 杭州市建设工程造价管理协会网站深圳品牌vi设计
  • 网站如何提交关键词wordpress熊掌号推送