20201231WEB渗透学习之Linux内核提权
欢迎大家一起来Hacking水友攻防实验室学习,渗透测试,代码审计,免杀逆向,实战分享,靶场靶机,求关注
我们都知道,如果已经获取了目标服务器(网站)的后门shell,那么我们接下啦要做的事情是什么????对,就是进程迁移(把自己的shell隐藏到一个不容易被肉鸡检测到的地方,比如说一个很深的目录下),但是要执行进程迁移,我们需要root权限,所以实际上我们应该先提升攻击者的权限,来使得我们有着更高的权限(比如说root)去操控肉鸡。在提升权限的过程中,我们常常用到一个能够和肉鸡建立实时会话的TCP工具——————Netcat。网上的教程一般都是先开篇列出来这个工具的命令,然后后面接上一些实际例子,这样有好处也有缺点——每次忘记了命令都要翻到命令那一部分去看。所以我决定直接上实践,在实践中详细解说每一个用到的命令,这样方便阅读。
目录
一、假定已经拿到了shell
二、建立shell会话操控肉鸡
2.1设置 Netcat 监听
2.2建立连接
2.3查询内核有关信息
2.4使用内核对应的提权漏洞的exp
三、总结
一、假定已经拿到了shell
我们假定已经在肉鸡上找到某个存在的漏洞,并且把自己的hack.php恶意一句话PHP脚本上传,并且用中国蚁剑成功连接:
接着我们可以查看当前用户的权限:
二、建立shell会话操控肉鸡
多年以前黑客喜欢主动去连接肉鸡,建立一个socket,然后对话。但现在更多的是反弹shell。这也是我们最常用,在提取,调试漏洞等操作中最基础的一个功能了。
什么是反弹shell?我们都知道正向的shell,就是我们直接写一个shell脚本(或者是木马),我们作为攻击方,去主动连接肉鸡,但是这样存在很多问题,其一,肉鸡的ip是动态的,会变化的,鸡儿满地乱跑,不一定找得到它;其二,鸡儿会有很多防火墙、杀软之类的保护软件;其三,网络态势错综复杂,我们可能根本无法建立一个有效连接。于是乎我们想了一个好办法:在攻击机上面开启监听,等着,等着肉鸡主动过来找我们。
2.1设置 Netcat 监听
Netcat,业界称之为“渗透测试中的瑞士军刀”,是一个伟大而实用的用于 TCP 和 UPD 网络连接协议的读写程序。同时 Necat 也被誉为网络中的瑞士军刀,在许多黑客教程中 Necat 也被广泛使用。Necat 最常见用途是设置反向连接和 bind shell ,管道和重定向网络流量,端口侦听,调试程序和脚本,抓取 banner 等作用。这时候我们用netcat。
输入命令:listen for inbound: nc -l -p port [-options] [hostname] [port]
nc是netcat的缩写,-l是listen监听模式,-p是port端口,-v是详细模式,能够让我们更清晰地看到命令执行的过程,不加也可以
2.2建立连接
这一步可以用很多方法,只要能够建立一个连接都可以,具体的方法我们可以百度,比如nc.exe发送一个bash shell,木马,上传一个 perl-reverse-shell.pl 建立 sockets……
这里我用的方法是上传一个 perl-reverse-shell.pl 建立 sockets……,怎么上传呢?这里我们默认已经用中国蚁剑或者菜刀连接到shell了,就直接上传文件就可以。一般来说,Linux下默认tmp文件夹具备执行权限和写入权限,但是第一次我上传文件失败,打开靶机发现是我不具备写入tmp文件夹的权限,我只有写入upload文件夹的权限,那就只好把 perl-reverse-shell.pl 文件传到upload文件夹里面了。
传入upload文件夹:
接下来要运行这个脚本才可以生成一个socket用于攻击机和肉鸡之间的后续对话,先看看这个脚本是否具备执行权限,用命令ls -al (列举出文件夹下所有文件的详细信息),可见这个文件只有读权限(read)、写权限(write)。
那我们要赋予它一个执行的权限:chmod +x (文件名) chmod命令可以参考权威网站:Linux chmod 命令 | 菜鸟教程
修改脚本中的信息,改为我们监听的主机ip端口
我们已经给了这个脚本可执行权限,执行它:
2.3查询内核有关信息
执行 uname –a 命令来查看内核版本,也可以使用 lsb_release –a 命令来查看当前系统发行版的具体版本号。
这是一个Ubuntu15.04 的x86-64非正式版本 内核版本是3.19.0-15
2.4使用内核对应的提权漏洞的exp
渠道很多,GitHub,exloit.com,kali自带的,都可以。这里我去GitHub上面下载了一个exp.c,把它传到upload文件夹下:
然后用gcc把它编译成exp可执行ELF文件:gcc exp.c -o exp ,然后chmod给它执行权限 gcc的有关知识参考文章:GCC 参数详解 | 菜鸟教程
执行exp,然后查看ID,发现我们的用户成了root权限:
三、总结
内核提权的话和别的3类提权(mysql udf 提权、CRON JOBS 提权、SUID提权)基本流程是一致的,都是在getshell的基础上,利用exp,提升权限。以后如果我有时间会写一写剩下的提权手段,但是如果没时间,那也行,我们可以先深入学习一类提权手段,然后横向拓展到别的系统,别的提权模式,原理是一致的,一路通百路通。
(¦3[▓▓] 晚安,打工人。2021.1.1
20201231WEB渗透学习之Linux内核提权相关推荐
- str045漏洞提权linux,Linux运维知识之CVE-2016-5195 Dirtycow: Linux内核提权漏洞
本文主要向大家介Linux运维知识之CVE-2016-5195 Dirtycow: Linux内核提权漏洞绍了,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. CVE-2016- ...
- CVE-2022-0847 Linux内核提权漏洞分析
文章目录 前言 漏洞复现 1.1 文件覆写poc/exp 1.2 覆写/etc/passwd 漏洞分析 2.1 Linux管道机制 2.2 splice系统调用 2.3 漏洞利用流程 总结 前言 20 ...
- [漏洞分析] CVE-2022-0847 Dirty Pipe linux内核提权分析
CVE-2022-0847 Dirty Pipe linux内核提权分析 文章目录 CVE-2022-0847 Dirty Pipe linux内核提权分析 漏洞简介 环境搭建 漏洞原理 漏洞发生点 ...
- 谷歌发布 Linux 内核提权漏洞奖励计划,综合奖金最高超30万美元
聚焦源代码安全,网罗国内外最新资讯! 编译:代码卫士 谷歌在博客中表示推出Linux 内核漏洞奖励计划,为其三个月(截止到当地时间2022年1月31日).如研究员能在实验环境中通过已修复漏洞实现提权 ...
- PWN2OWN 2017 Linux 内核提权漏洞分析
0.前言 在2017年PWN2OWN大赛中,长亭安全研究实验室(Chaitin Security Research Lab)成功演示了Ubuntu 16.10 Desktop的本地提权.本次攻击主要利 ...
- Dirty Pipe linux内核提权漏洞分析(CVE-2022-0847)
漏洞原理 Pipe机制 本质上来说,管道(pipe)就是一种进程间通信的手段,让两个进程可以通过pipe 发送和接收数据. Page Cache机制 磁盘的IO读写速度是很慢的,所以一般当我们访问一个 ...
- 【墨菲安全实验室】“Dirty Pipe”的故事-Linux 内核提权漏洞 (CVE-2022-0847)
漏洞简述 3月7日,开发者 Max Kellermann 在他的博客(https://dirtypipe.cm4all.com/)中披露了一个能导致 Linux 权限提升的漏洞,编号为 CVE-202 ...
- 2021-06-02web渗透学习WindowsXP/2003 Lpk提权
lpk提权 触发条件:目录下存在exe文件被执行,他的特点是每个可执行文件运行之前都要加载该文件,windows系统是先判断当前文件目录是否存在此文件,如果目录下存在该文件则执行,如果不存在则会执行s ...
- 使用kprobe监控linux内核提权(cred方法)
目录 ftrace使用kprobe相关命令 SU提权特征 SUID提权特征 漏洞利用提权特征 CVE-2021-22555(COMMIT_CRED方法) 利用成功 利用失败 ftrace使用kprob ...
最新文章
- 解微分方程_matlab
- Spring factoryBeanInstanceCache在哪里进行put?
- CentOS 7配置静态IP地址 解决了IP失效问题
- 【春华秋实】.NET Core之只是多看了你一眼
- cassandra可视化_容器化Spring Data Cassandra应用程序
- mysql 默认page大小_Innodb优化之修改页大小
- 贴片铝电容识别及型号_电容器选型及其应用规范
- (111)FPGA面试题-介绍Verilog 块语句fork-join执行过程
- 访问不了firefox附加组件页面怎么办
- 内核aio_IO模型_NIO_AIO
- kubernetes资源类型和kubectl命令总结
- Java仓储物流项目_基于jsp的物流仓库管理系统-JavaEE实现物流仓库管理系统 - java项目源码...
- 一篇文章带你读懂水晶易表的简介及其安装初识
- 文献整理和论文阅读方法
- JavaWeb 登陆界面
- c语言8bit转10bit,Win10系统如何才能将8bit(位深度)设定变成10bit呢?
- 汉诺塔游戏c语言作业,C语言实现汉诺塔游戏.pdf
- 百家企业短信网关(背景及核心代码)-1-开源项目短信接口征集
- 教师资格证考69分是怎么算的?
- wxWidgets(1) :mac下搭建wxWidgets 3.0 环境