【内网安全】——Linux提权姿势

news2024/11/29 4:36:18
作者名:白昼安全
主页面链接: 主页传送门
创作初心: 一切为了她
座右铭: 不要让时代的悲哀成为你的悲哀
专研方向: web安全,后渗透技术
每日emo: 希望你在新的一年也能更好,不惧流言蜚语,始终坚定如初

一、内核漏洞提权

想要利用该漏洞首先要查看内核版本,命令如下

uname -a

可以看到这里的版本是Linux3.10,此时就可以去网上查找该版本是否存在提权漏洞

[1]、在线站点

推荐一个在线查找漏洞的站点,链接如下,

https://www.exploit-db.com/

算是很全的漏洞库了,并且还会提供漏洞利用方式

[2]、searchsploit

这就是kali的一个漏洞搜索工具,非常好用,具体的工具介绍可以看看下面这篇博客,链接如下

http://t.csdn.cn/P9ccv

如下

直接在后面跟上关键字即可

注意:查找出来的漏洞不仅可以去网上找payload,还可以尝试 msf是否带有该模块,这样攻击会更方便

二、历史漏洞提权

1、Linux内核历史漏洞

这个就是上面的内核漏洞提权,由于使用旧版本内核导致的漏洞,所以就不再讲了

2、第三方软件历史漏洞

这个就是一些系统自带的工具出现了漏洞,比如sudo等

注意:这两种都和上面的利用方式差不多

三、suid提权

suid在linux上代表一种特殊的权限——s权限

它允许用户在指定人员的许可下修改文件,如果某个文件是root权限,我身为root权限又给他设置了s权限,那普通用户运行时也会以root权限运行

例如ping命令,它需要root权限才能使用套接字,但它也需要由普通用户执行来验证与其他主机的连通性,所以ping命令就属于配置了特殊权限的程序

一般Linux上的某些程序和指令都会带有s权限方便使用,但是如果某些程序拥有suid权限,则可以使用它们将权限提升为root,下面就给大家列举已知可以允许提权具有suid权限Linux命令(可执行文件)

Nmap
Vim
find
Bash
More
Less
Nano
cp

那如何才能查找到目标是否有这些程序而且这些程序都是suid权限呢?步骤如下

1、在Linux系统的终端输入下面的命令即可查找所有具有suid权限的文件

find / -user root -perm -4000-print2>/dev/null
find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000-exec ls -ldb {} \;

再看里面有没有上面我们列出来的能提权的文件之一,,有的话就可以尝试提权

2、再利用对应的方式提权

这里给大家推荐一个在线站点,里面有上面8个程序对应的提权方式,链接如下

SUID Executables – Penetration Testing Lab (pentestlab.blog)

例如我们查找出目标的find命令存在s权限,则提权方式如下

可以看到我们以普通用户的权限通过find命令执行whoami命令,得到的却是root的回显,说明已经实现了变相的提权

四、滥用sudo提权

滥用sudo提权,需要看配置,是因为管理员的错误配置和sudo的特性而造成的

首先来了解一下sudo的特性,当sudo被管理员使用过后,默认 五分钟内不需要再输入密码

假设普通用户名为zhao,如果管理员在/etc/sudoers进行以下配置

设置只允许zhao用户以root权限运行less指令

此时若正常的hao用户执行以下命令

sudo less /etc/passwd

会提示需要输入root账户密码,当正常的zhao用户输入密码之后,此时如果我们作为攻击者拿到了zhao用户的权限,在五分钟之内使用sudo就不需要输入密码,即五分钟之内可以使用root权限执行less命令,而less命令又是上面8中可以提权的命令之一,自然就能达到提权的效果了

五、计划任务提权

这个跟windows差不多,主要就是看计划任务中执行文件的权限,权限低的话就可以尝试上传恶意文件来顶替计划任务中的可执行文件

六、服务项提权

道理一样,服务对应的程序权限较低时,可以使用恶意文件顶替该程序,当目标启动服务时就会启动我们的恶意文件

七、历史命令

输入下面的命令即可查看历史命令记录

history

有时候历史命令中会有一些敏感信息,如密码等,可以让我们进行提权操作

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Django drf使用Django自带的用户系统的注册功能实现

在写登录功能的时候看着网上的视频学着做,然后看了源码的时候发现了一些有意思的功能,因此写这一篇笔记分享给大家. 1.阅读Django自带用户系统源码 1.1 阅读User类源码 系统自带的用户系统的models文件的位置\site-packages\django\contrib\auth\models.py,打开这个文件发现…

python爬虫--re模块简介

Python re正则表达式模块用法详解 前面章节介绍了一些系统自带的工具函数,如 id()、max()。这些函数在 Python 启动时会自动加载进来,不需要我们做任何事情。但并不是所有的模块都是自动加载进来的,因为有些模块不常用,它们只是在…

记录一次web server服务器编程过程中的bug

按照书上和视频中的代码比对没有问题,但是read函数输出不了连接的http请求,不断编译了好几遍还是不行,确定是端口的问题 首先,在云服务器中安全规则里已经允许了相应端口,如果还不可以,可以查看一下系统防火…

MyBatis 入门教程详解

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…

配电室辅控项目无线组网远程在线控制系统解决方案

方案背景 配电室是电力系统末端配电网中传输、分配电能的主要电气设备场所,是城市配电网系统的重要组成部分,起到保护、计量、分配电能的作用。 长期以来,配电室管理工作一直是供电系统运行管理的薄弱环节之一。一些配电室开关跳闸、危险气…

【C++提高编程】set/ multiset 容器详解(附测试用例与结果图)

目录1 set/ multiset 容器1.1 set基本概念1.2 set构造和赋值1.3 set大小和交换1.4 set插入和删除1.5 set查找和统计1.6 set和multiset区别1.7 set容器排序1 set/ multiset 容器 1.1 set基本概念 简介: 所有元素都会在插入时自动被排序 本质: set/mu…

搜广推 召回层主流策略 (多路召回、Embedding召回)

😄 简单介绍下召回层的框架,不细致讨论。 文章目录 1、多路召回1.1 多路召回的策略1.2 多路召回的优点和缺点2、Embedding召回2.1、Embedding技术分类2.2、如和做Embedding召回Reference1、多路召回 1.1 多路召回的策略 所谓的“多路召回”策略,就是指采用不同的策略、特…

Linux编辑器vim

本文已收录至《Linux知识与编程》专栏! 作者:ARMCSKGT 演示环境:CentOS 7 目录 前言 正文 vim常用方式 进入vim 退出vim vim基本模式及模式功能 命令模式 插入模式 底行模式 替换模式 视图模式 配置vim 自己配置vim 自动化配置…

选择排序基本概念

选择排序基本概念1.选择排序1.1 基本概念1.2 选择排序执行步骤有1.3 对于5个元素的值步骤次数1.4 选择排序大O记法表示2. 将[4,2,7,1,3]进行选择排序 【实战】2.1 第一次轮回步骤2.2 第二次轮回步骤2.3 第三次轮回步骤2.4 第四次轮回步骤3.选择排序代码实现3.1 根据最小值排序3…

TypeScript快速入门

TypeScript快速入门1.TypeScript介绍1.1.TypeScript为什么要为JS添加类型支持1.2.TypeScript相比JS优势2.TypeScript初体验2.1.安装编译TS的工具包2.2.编译并运行TS代码2.3.简化运行TS代码3.TypeScript常用类型3.1.类型注解3.2.常用基础类型3.3.原始类型 number/string/boolean…

前端基础html css js

html&#xff1a;框架 css&#xff1a;美化 jp&#xff1a;交互 HTML 1.基础标签 <!DOCTYPE html> <html><head><meta charset"UTF-8"><title>这是我的滴滴滴一个网页</title></head><body><h1>一号 标题&…

Pygame显示文字

使用Pygame显示文字的步骤如图1所示。图1 显示文字的步骤1 Pygame的初始化通过以下代码实现Pygame的初始化。import pygame pygame.init()其中&#xff0c;第1行代码的作用是在程序中导入pygame模块&#xff1b;第2行代码的作用是实现pygame的初始化。2 屏幕的创建使用如下代码…

CacheLib 原理说明

CacheLib 介绍 CacheLib 是 facebook 开源的一个用于访问和管理缓存数据的 C 库。它是一个线程安全的 API&#xff0c;使开发人员能够构建和自定义可扩展的并发缓存。 主要功能&#xff1a; 实现了针对 DRAM 和 NVM 的混合缓存&#xff0c;可以将从 DRAM 驱逐的缓存数据持久…

ESP8266 + STC15基于AT指令通过TCP通讯协议控制IO状态

ESP8266 + STC15基于AT指令通过TCP通讯协议控制IO状态 📌ESP8266 AT固件基于安信可AT固件,相关刷AT固件可以参考《NodeMCU-刷写AT固件》当然WIFI模块也可以是esp01. STC15 单片机采用的是:STC15F2K60S2 晶振频率采用内部:22.1184MHz🌼功能介绍 通过电脑端的网络调试助手…

【C++】类和对象(第一篇)

文章目录1. 面向过程和面向对象初步认识2.类的引入3.类的定义3.1 类的两种定义方式3.2 成员变量命名规则建议4. 类的访问限定符及封装4.1 访问限定符4.2 封装5. 类的作用域6. 类的实例化7. 类对象模型7.1 类对象大小的计算7.2 类对象的存储方式猜测7.3 结构体内存对齐规则复习8…

JDK15 新特性详解,2020-09-15 正式发布

预览版&#xff1a;该功能在当前版本可以使用&#xff0c;如果效果不是很好的话&#xff0c;可能以后的其他版本就会删去该功能。 最终版&#xff1a;该功能在之前版本效果很好&#xff0c;之后的每个版本中都会存在该功能。 Java 5 中的泛型&#xff0c;Java 8 中的 Lambda …

Linux云服务器下怎么重置MySQL8.0数据库密码

文章目录一、修改my.cnf配置文件为mysql免登陆二、免密登陆mysql三.给root用户重置密码1、首先查看当前root用户相关信息&#xff0c;在mysql数据库的user表中2、把root密码置为空3、退出mysql&#xff0c;删除/etc/my.cnf文件中添加进去的skip-grant-tables 重启mysql服务4、使…

FPGA实现AD9708和AD9280波形收发输出HDMI模拟示波器,串口协议帧控制显示,提供工程源码和技术支持

目录1、AD9708芯片解读和电路设计2、AD9280芯片解读和电路设计3、FPGA设计框架4、AD9708波形生成并发送5、AD9280采集接收波形6、HDMI波形显示算法7、串口协议帧控制波形显示8、vivado工程9、上板调试验证10、福利&#xff1a;工程源码获取1、AD9708芯片解读和电路设计 AD9708…

85024A是德科技keysight高频探头

附加功能&#xff1a; 易于执行在线测量出色的频率响应和单位增益探头灵敏度高低失真度规格输入电容&#xff08;在 500 MHz 时&#xff09;&#xff1a;< 0.7pF&#xff08;标称值&#xff09;输入电阻&#xff1a;1 MΩ&#xff08;标称值&#xff09;带宽&#xff1a;30…

2月8日刷题总结

写题一点思路也没有&#xff0c;题解也不能看得很懂。所以系统性的学习DP ing……跟着进度来&#xff0c;因此刷了一些已经刷过的类型的题&#xff08;也算再次熟悉一下&#xff09;P1077 [NOIP2012 普及组] 摆花题目描述小明的花店新开张&#xff0c;为了吸引顾客&#xff0c;…