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

linux提权进阶 环境变量劫持提权 nfs提权

前言

环境变量:

这个有说头 分为变量和常量  常量就是系统自带的固定的  变量就是可控的  简单举例就是 我们想调用  java   这个时候我们需要把这个java在计算机的路径写清楚之后才能调用  但是这样太麻烦  所以就可以配置环境变量 然后就能不写路径直接调用

比如linux中 命令 其实就是文件啊  那怎么调用的就是使用的环境变量 

nfs协议:

就是相当于远程文件同步     这个简单的说就是运维人员想把自己的脚本上传到服务器进行使用 就需要开放这个协议 实现远程文件的同步  但是呢有个安全隐患就是 对方同步的文件同步数据的同时权限也是同步的对方的(这个就能造成提权漏洞)

一般linux中文件的权限 一般固定是很小的 但是在本用户下我们上传一些文件的时候我们可以给与777 权限 这个是不冲突的

说到这个nfs协议再说一下他的进阶兄弟 smb协议

smb协议

这个比nfs常用的原因就是他会有个身份验证来验证重要文件的分享  如果你没密码就只能看普通的文件

环境变量劫持提权

靶场演示:symfonos: 1

https://www.vulnhub.com/entry/symfonos-1,322/
信息收集
还有个信息就是它开起了邮箱  smtp
发现  445  是smb服务开启了 就是文件共享
从web什么信息没收集到开始扫描
gobuster dir -u http://192.168.248.142/ -x php,bak,txt,html -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt

/usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt是kali自带的字典

发现没有敏感的目录 

我们就利用 smb 查看一下共享文件

先列出来能看的文件

这边需要输入密码直接空格跳过就行

smbclient -L

这个sharename就是用户  

挨个试试发现只有 第三个不需要密码 进行登录

登录指令

smbclient //<目标IP>/共享名 -U <用户名>[%密码]

这边我没因为没有web权限所以不用使用用户名

smbclient  //192.168.248.142/anonymous

查看

使用上面的密码尝试爆破

发现这里就有一个是用户

尝试一下发现是第二个密码

smbclient  //192.168.248.142/helios -U Helios


把这两个文件分别下载一下   第一个文件讲的就是希腊的神话故事 第二个 有个web的目录

搞一下

利用的payload

http://192.168.248.142//h3l105/wp-content/plugins/mail-masta/inc/campaign/count_of_send.php?pl=/etc/passwd

发现是文件包含漏洞

文件包含拿到webshell 

需要的条件就是把后门代码执行显示到web页面中去

主要就是有可控的代码文件

1、常用手段就是把webshell写入到日志文件中

2、可以利用一些如邮件系统什么的 文件同步等上传到对方的服务器上 再实现包含

/var/log/apache/access.log
/var/log/nginx/access.log

发现这个靶场无法访问到一般的日志路径

可以访问到邮件  那就思路变为了 我们对对方的接口发送webshell的邮件从而实现访问成功 触发木马文件

是成功执行了 如果 你想让它更明显那就可以输入一下标识性的代码

使用蚁剑(哥斯拉连接不上)测试连接 

反弹个shell

使用工具进行生成

反弹到kali上  (原因就是后门连接软件无法新建shell 所以很多事都做不了)

我们优先找的就是 非usr(suid我们要 优先利用的就是活的(管理员创建的)一些死的是无法执行命令  除了优先找活的外就是找 不会覆盖命令的一些指令(如find 可以在执行这个命令外 参数还能执行 -exec )

我们cat一下直接就乱码了  所以这个应该是个应用程序 使用Strings 筛选一下字符串

当然主要的目的还是查看这个程序在运行过程中调用的系统命令(在这个程序中 这个命令也是suid权限)

执行一下  curl

环境变量劫持的思路:
拥有suid权限的命令是 curl 
这个命令的调用是我们调用 /opt/下的程序的时候会执行的

那就劫持

opt程序 ->curl -> 执行
       ->换目录给权限 修改 curl的内容让其执行 /bin/bash 现在curl就是执行sh的 ->把假curl添加到环境变量  现在环境变量有2个curl了冲突了  但是我们只有在 假curl目录下执行 opt程序 执行就是当前下的假 curl  -> 执行我们可控的命令

之前有个疑问就是不是root怎么还能给权限 ?  因为这个是我们自己创建的所以所有权归我们

给与环境变量  验证一下

执行程序

提权成功

相关文章:

  • spark架构和RDD相关概念
  • 蓝桥杯-小明的背包(动态规划-Java)
  • #无类域间路由(快速复习版)
  • 宝塔面板面试内容整理-性能监控
  • 建筑工程管理系统功能模块概览
  • 【MySQL 数据库】增删查改操作CRUD(上)
  • Elasticsearch 系列专题 - 第一篇:Elasticsearch 入门
  • Ansible的使用3
  • 大数据技术之SPARK
  • 潮玩宇宙大逃杀游戏源码搭建部署二开,可切换单多杀boss模式
  • 怎么构造思维链数据?思维链提示工程的五大原则
  • 区块链是怎么存储块怎么找到前一个块
  • 如何向ESL阿联酋航运发送EDI CODECO报文?
  • DeepSeek 助力 Vue3 开发:打造丝滑的日历(Calendar)
  • 基于STM32、HAL库的IP6525S快充协议芯片简介及驱动程序设计
  • java基础语法(3)数组
  • CTF web入门之信息收集
  • Maven和MyBatis学习总结
  • Windows10系统更改盘符
  • 【力扣hot100题】(080)爬楼梯
  • 工商网站备案办法/广州网站推广软件
  • 展示型网站建设流程方案/南宁seo公司
  • 网站在本地测试/百度在线客服中心
  • 北京城乡建设委员会官方网站/合肥做网站公司哪家好
  • 如何用zblog做棋牌网站/个人推广app的妙招
  • 黄金网站app大全3dm手游/优化大师官方免费