63权限提升-Linux脏牛内核漏洞SUID信息收集

今天讲到的方法是suid和内核漏洞

案例一Linux 提权自动化脚本利用-4 个脚本 

两个信息收集:LinEnum、linuxprivchecker

两个漏洞探针:linux-exploit-suggester、linux-exploit-suggester2

信息收集有什么用? 

信息收集就能判断能否进行suid和内核漏洞的提取,

漏洞探针主要应用在内核上面的差异,判断出在这个操作系统上面可能存在的漏洞,帮你尝试用这个漏洞去提权。

演示四个脚本的解释,

信息收集

https://github.com/rebootuser/LinEnum
 
https://github.com/sleventyeleven/linuxprivchecker
漏洞探针

https://github.com/mzet-/linux-exploit-suggester
 
https://github.com/jondonas/linux-exploit-suggester-2
————————————————
版权声明:本文为CSDN博主「貌美不及玲珑心,贤妻扶我青云志」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_61553520/article/details/130974974

信息收集脚本演示

LinEnum

把脚本上传到tmp目录,因为tmp是个临时目录,在服务器重启之后会清空,一般这个目录是可以写入的,别的目录可能会因为权限不够无法写入的情况,或者执行不了脚本,

将下载好的脚本上传到tmo目录下

如果不能运行就用chomd +x 脚本名字 赋予一个可执行的权限

内核和发行版详细信息
系统信息:主机名网络详情当前IP默认路由详情DNS 服务器信息
用户信息:当前用户详细信息最后登录的用户显示登录到主机的用户列出所有用户,包括 uid/gid 信息列出 root 帐户提取密码策略和哈希存储方法信息检查 umask 值检查密码哈希是否存储在 /etc/passwd提取“默认”uid 的完整详细信息,例如 0、1000、1001 等尝试读取受限文件,即 /etc/shadow列出当前用户历史文件(即 .bash_history、.nano_history 等)SSH 基础检查
特权访问:哪些用户最近使用过 sudo确定 /etc/sudoers 是否可访问确定当前用户是否在没有密码的情况下具有 Sudo 访问权限是否可以通过 Sudo(即 nmap、vim 等)获得已知的“good”突破二进制文件是否可以访问 root 的主目录列出 /home/ 的权限
环境:显示当前 $PATH显示环境信息
工作/任务:列出所有 cron 作业找到所有全局可写的 cron 作业找到系统其他用户拥有的 cron 作业列出活动和非活动的 systemd 计时器
服务:列出网络连接 (TCP & UDP)列出正在运行的进程查找和列出进程二进制文件和相关权限列出 inetd.conf/xined.conf 内容和相关的二进制文件权限列出 init.d 二进制权限
版本信息(以下):SudoMYSQLPostgresApache检查用户配置显示启用的模块检查 htpasswd 文件查看 www 目录
默认/弱凭据:检查默认/弱 Postgres 帐户检查默认/弱 MYSQL 帐户
搜索:找到所有 SUID/GUID 文件找到所有全局可写的 SUID/GUID 文件找到 root 拥有的所有 SUID/GUID 文件找到“有趣”的 SUID/GUID 文件(即 nmap、vim 等)使用 POSIX 功能定位文件列出所有全局可写文件查找/列出所有可访问的 *.plan 文件并显示内容查找/列出所有可访问的 *.rhosts 文件并显示内容显示 NFS 服务器详细信息找到包含在脚本运行时提供的关键字的 *.conf 和 *.log 文件列出所有位于 /etc 的 *.conf 文件.bak 文件搜索查找邮件
平台/软件特定测试:检查以确定是否在 Docker 容器中检查主机是否安装了 Docker检查以确定是否在 LXC 容器中

主要就是查看这个suid的信息,通过这些信息判断suid是否存在提权的可能性

linuxprivchecker

如果目标主机上没有python脚本运行不了,

用python运行,如果没有运行权限,chmod +x 脚本名字  加上运行权限即可

收集出来的信息也是差不多的

工具脚本演示

linux-exploit-suggester

上传tmp目录下面来,

添加上运行的权限

执行出来就会显示很多的信息,

漏洞相应的下载地址和漏洞利用的poc都会给出,

linux-exploit-suggester2

用perl去运行这个文件

他这个就比较简介,直接告诉我们可能存在的漏洞,以及下载的地址。

案例二Linux 提权 SUID 配合脚本演示-Aliyun 

suid 全称 set user id 

通过设置这个东西,能给用户操作的权限

漏洞成因:chmod u+s基于了suid,u-s删除了suid

没有赋予suid之前,查看文件的权限都是这样的

这里服用给sh脚本一个suid权限

脚本名字也被标红了,标红的意思就是他在运行的会调用的用户的权限,

suid提权原理;一个文件在被运行的时候会被root用户去调用执行它,我们是普通用户去调用这个脚本,但是会以root权限去运行他,

过程,先探针目标上是否有suid(脚本或者手动),再利用特定的suid进行提权

参考:SUID Executables – Penetration Testing LabSUID (Set User ID) is a type of permission which is given to a file and allows users to execute the file with the permissions of its owner. There are plenty of reasons why a Linux binary can have this type of permission set. For example the ping utility require root privileges in order to…icon-default.png?t=N7T8https://pentestlab.blog/2017/09/25/suid-executables/

已知的可用来提权的程序如下:nmap、vim、find、bash、more、less、nano、cp(看这些命令有没有配置root权限) 

比如给予了find执行命令,find就是系统自带查找命令,

在这个目录就有find,打出find目录就会默认的在目录下调用find文件,这里添加上了suid,就算是普通用户去运行find,也会以root用户去运行他。存不存在提权就是检测上面那几个文件

这里用冰蝎作为测试后门,使用冰蝎的反弹shell功能

根据冰蝎的提示设置好payload和监听ip和端口就行了

之后点给我连就行

查看当前权限

正常的通过冰蝎或者命令upload 上传的文件路径 目标主机的要上传路径以及命令

正常留下执行信息收集的sh脚本

对比有没有

map、vim、find、bash、more、less、nano、cp 这些关键字

这里看到了一个find,看到了就存在suid提权,

参考上面发的那个链接有提权的教程

find就是调用这个命令,调用这个命令就会被root执行,-exec就会用root命令去执行后面的命令,后面是反弹shell的命令。

操作过程就是,先touch 一个文件,创建一个文件就是

之后在用find 文件执行whoami的命令看一下权限

为什么find后面要跟个文件是因为要让find命令调用起来查找一些东西,才能调用出root权限

find pentestlab -exec whoami \;

看返回的权限就是root

之后在借助命令执行反弹shell

自己再去链接那个端口就拿下root权限了

Linux 提权本地配合内核漏洞演示-Mozhe

这个是本地提权,因为webshell提不了内核的漏洞

打开墨者的靶场

提权过程,先进性普通用户建立一个连接,获取到可以利用的漏洞,去下载exp,也可以在在会话上下载,exp大部分都用c语言开发的,linux的内核也是c,借助上面的编译去编译exp,给予执行的权限,

打开靶场

上传上去检测内核漏洞的脚本,执行脚本

给出了四个漏洞,

在github搜索漏洞编号,找到了45010c,利用脚本,下载下来

上传上去之后,对他进行编译

编译和之后赋予执行权限

发现是root权限 作者:沙漠里的鲸 https://www.bilibili.com/read/cv16845884/

执行脚本,直接就变成了root权限

Linux 提权脏牛内核漏洞演示-Aliyun,Vulnhub

vulnhub过程,下载出来靶机之后,要先判定出来自己的目标,自己去扫描,找到存活的ip地址,然后在目标上面找漏洞,利用漏洞成功拿到webshell权限,再利用脚本探针内核提权漏洞,然后利用内核提权成功,拿到root权限。

打开靶机是没有密码的,靶机的ip和我是同一个ip端,直接扫描就行、

扫描结果有80端口

打开网站啥都没有,继续扫描指定ip的开发端口

在看这个1898

这就是一个web界面

这个图标一眼就认出来那个cms,在msf上试试能不能直接用

搜索到了

配置好攻击信息直接拿下

上传漏洞验证脚本

查看结果

这个漏洞就是我们熟悉的脏牛漏洞,可以直接借助webshell权限提升,

这就可以直接利用url后面的链接下载地址,直接下载到靶机上

但是这样下载到靶机命名不好,不是.c文件,还是建议exp,上传到靶机上去

脏牛漏洞原理

这个漏洞的exp已经出现了二版,二版更简单一些,下载地址gbonacini/CVE-2016-5195:CVE-2016-5195 漏洞利用示例。 (github.com)

这个二版是用make编译的,所以在命令上有一些差异

上传到靶机的tmp文件夹

编译exp(将40847.cpp文件编译为dcow)并且查看:

g++ -Wall -pedantic -O2 -std=c++11 -pthread -o dcow 40847.cpp -lutil

成功编译

这个漏洞再利用的时候,必须要开一个模拟终端,不然就利用不了。

这个终端是什么,现在我们是个shell会话,开一个终端就是交互式的shell,什么是交互式终端,比如在创建用户的会弹窗让输出密码,在命令里面是会给一个提出输入密码才可以继续执行,一条命令输出去如果没有交互式就会一直卡在那里,有些命令执行还要交互式再问一下是否继续,所以这个就利用到交互式,这个提权就必须弄一个交互式才能正常成功。

这里就用python做一个伪终端

python -c 'import pty; pty.spawn("/bin/bash")' 

伪终端就出来了

他已经成功了,把root密码修改了,

直接切换用户拿下root权限

aliyun

这个直接反弹shell

直接到已经找到脏牛漏洞,然后上传exp利用

上传之后,创建shell会话,

执行之后等待他返回结果

失败了。

fa

cai

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

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

相关文章

擦窗机器人不用时怎么收纳_省心省力,智能擦窗机器人

以前擦窗户,一手湿抹布一手干抹布,身边再放点儿报纸,可能还得再来一个人换洗抹布。一天下来,两个人都是腰酸背痛的。对于又爱干净又是懒癌星人的人来说,玻妞擦窗机器人,让大家不用爬上爬下,也能…

C语言变量定义和赋值

定义变量的格式非常简单,如下所示:数据类型 变量名;首先要强调的一点是:最后的分号千万不要丢了。变量的定义是一个语句,我们说过,语句都是以分号结尾的。“数据类型”表示想要存储什么类型的数据就定义什么类型的变量…

win7计算机盘共享,win7电脑如何共享文件夹 win7电脑共享文件夹操作方法

我们在工作当中,中是喜欢在电脑当中创建一个文件夹,然后把东西放进这个文件夹当中,最后实现共享,这样的方式能够为我们省去不少时间,那么win7电脑如何共享文件夹呢?今天为大家带来win7电脑共享文件夹的操作步骤。win7…

cdi-api_使用CDI简化JAX-RS缓存

cdi-api这篇文章(通过一个简单的示例)说明了如何使用CDI Producers使其在RESTful服务中利用缓存控制语义更加容易 与HTTP 1.0中可用的Expires标头相比, HTTP 1.1中添加了Cache-Control标头,这是急需的改进。 RESTful Web服务可以…

【C语言】结构体赋值

结构体在 C 程序中使用的较为频繁,能对数据有一定的封装的作用。对一个结构体赋值时,经常采用的方式是,分别对其成员变量赋值。那么能否将一个结构体用赋值号(“”)直接赋值给另一个结构体呢?网上的答案不一…

vue 传参 微信_vue-router 你可能忽略的知识点

vue-router相信大家都不陌生,并且很多都有实战经验。可能有很多你忽略的一些点。1、丑陋的hash值vue-router 默认 hash 模式 —— 使用 URL 的 hash 来模拟一个完整的 URL,于是当 URL 改变时,页面不会重新加载。const router new VueRouter(…

适合计算机64位的cad,【1人回答】求一个能适用于CAD2008的纬地,我的电脑是Win7 64位的-3D溜溜网...

回答:下载方法:1、建立临时目录,如 CAD20082、下载AutoCAD2008安装软件,将文件复制到CAD2008目录下。3、将 CAD2008 文件夹中的 zh-cn 文件夹改名为 en-us;4、下载“AutoCAD 2008 64 位补丁包(下载地址:ACA…

C |格式化输出与变量类型

C语言 格式化输出与变量类型 1、格式化输出在PHP里面,我们一般都是用echo和var_dump以及print_r等来输出调试语句,在C语言中一般用printf来输出,不过由有点特殊,你需要在输出的时候指定输出的数据类型:#in…

信工干货||C语言输入输出语句

数据输入与输出C语言无I/O语句,I/O操作由函数实现putchar( ) getchar( ) printf( ) scanf( ) puts( ) gets( )#include或#include “stdio.h”数据输出字符输出函数格式:putchar(c)参数:c为字符型或整型常量、变量或表…

如何设置网件gs108e_Netgear 网件 EAX80 AX6000规格 无线扩展器 开箱拆解评测

前言众所周知,国行网件RAX系列默认中国区,这就导致了路由器的发射功率不会高,所以很多人觉得国行RAX无线路由器信号覆盖不尽如意。为了解决这个问题,本次为大家介绍一款WiFi 6信号扩展器—EAX80(官网链接),它可以将高强…

饥荒海难创建显示专用服务器,饥荒创建世界时一直显示启动服务器 | 手游网游页游攻略大全...

发布时间:2017-08-07TGP版怎么建立服务器呢?各位知道在TGP里如何创建服务器吗?这里给大家带来了TGP版服务器创建开服方法,教大家TGP如何创建服务器,还不会的玩家,一起来了解下吧. >&gt ...标签:攻略发布时间:2015-12-20联机过程中有…

C语言 | 6种常用的转换工具函数盘点

字符串转十六进制代码实现:void StrToHex(char *pbDest, char *pbSrc, int nLen){ char h1,h2; char s1,s2; int i; for (i0; i2; i) { h1 pbSrc[2*i]; h2 pbSrc[2*i1];s1 toupper(h1) - 0x30; //toupper 转换为大写字母 if (s1 > 9) s1…

企业联合体的形式_联合体如何联合?——总包新政下,联合体如何联合?系列三...

以下文字为根据科思顿企业咨询管理(上海)有限公司合伙人胡建于2020年4月10日的网课核心内容摘录,因内容较多,分三个系列发布,包括:系列之一、为什么政策突变?系列之二、联合体是什么?系列之三、联合体如何联…

vue2 怎么用vite_Vue2和Vue3开发组件有什么区别

我们一直都有关注和阅读很多关于Vue3的新特性和功能即将到来。但是我们没有一个具体的概念在开发中会有如何的改变和不一样的体验。还有一些童鞋已经开始又慌又抓狂了 -- “又要开始学新的写法了 (ノToT )ノ ~┻┻”。所以这里我使用Vue2和Vue3开发一个简单的表格组件来展示一下…

C语言中实现边沿函数算法及应用,这是抛弃PLC留下的痛!

很多从事PLC编程的朋友都知道,不管是什么品牌的PLC,都有上升沿和下降沿指令。❤那么什么情况下我们才会使用或必须使用边沿信号呢?边沿信号我们又如何获取呢?如图1,任何一个开关信号(或数字信号&#xff09…

服务器系统装驱动精灵,云服务器安装驱动精灵

云服务器安装驱动精灵 内容精选换一换您可以选择在云服务器上安装一个或多个应用。如需在云服务器上安装其他应用,请参考如下操作进行添加。暂时仅允许支持VR应用的云服务器安装VR应用。暂时仅允许支持3D应用的云服务器安装3D应用。暂时仅允许支持VR应用的云服务器有…

注入器 过检测_连云港管道检测服务

连云港管道检测服务 管道稀释淤泥施工时应采用专业高压水车将两个检查井注入室内灌水,并使用挖泥机将检查井中的污泥与排污管混合,以稀释污泥为目的. 如果是手工作业应与机械作业配合以不断搅拌污泥,直到将其稀释到水中为止.管道吸污。 公司备…

lock.lock_HibernateCascadeType.LOCK陷阱

lock.lock介绍 引入了Hibernate 显式锁定支持以及Cascade Types之后 ,就该分析CascadeType.LOCK行为了。 Hibernate锁定请求触发内部LockEvent 。 关联的DefaultLockEventListener可以将锁定请求级联到锁定实体子级。 由于CascadeType.ALL也包括CascadeType.LOCK …

浅谈面向对象思想下的 C 语言

如何使用OO思维方式面向对象(object Oriented,简称:OO)在于用“找对象”的方式去规划和描述问题。一、怎样“找对象” (思维过程)“对象”是具有共性的一个群体。以 L298N 控制马达的官方推荐方法为例,控制的共性在于&…

我的世界服务器里怎么无限随机传送,我的世界随机传送插件使用教程 权限指令分享...

导读:在我的世界中玩家可以利用随机传送插件来进行传送人物质与设定点,那么随意传送插件该如何使用呢、下面小编我就来教教各位,我的世界随意传送插件使用教程。什么是RandomLocationRandomLocation让你传送到预设区域的随机位置。可以通过命…