type
status
date
slug
summary
tags
category
icon
password
我又来拔 flag了,忘了多久之间收在收藏夹里的靶机了… 之前一直想着汇总一下 linux 提权点,一直忘了,直到最近在备考 PTS,老师讲的没有给练习环境,然后有的点也没覆盖到,就想起这台尘封已久的靶机了,刚好可以巩固一下~
靶机链接
先更改一下网络模式,默认为自动检测,我这里使用NAT,模拟真实环境中只知道某个网段不知具体IP情景
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F0c2cbb37-8ae7-462f-8027-25c1ed4f143f%2FUntitled.png?table=block&id=90bf011e-aec0-4caa-add9-96f4ae122f81&t=90bf011e-aec0-4caa-add9-96f4ae122f81&width=1504&cache=v2)
信息收集
扫描存活
访问 192.168.192.144 为 apache ubuntu 的默认页面,与靶机介绍相符合
目录扫描发现 shell.php
端口扫描发现
获取低权限
命令执行,并发现出网
反弹个shell
权限提升 (1)
PEASS-ng 信息收集
跑一下 https://github.com/carlospolop/PEASS-ng
- sudo 1.8.21p2
- CVE-2021-4034
- mysql root/root 密码已知 可尝试提权,但数据库是mysql用户启动
- user3和user7 在 root 组
- rw-r–r– 1 root root 423 Jun 4 2019 /etc/exports /home/user5 *(rw,no_root_squash)
- 当前用户可写文件
/home/user3/.script.sh
0x01 suid提权
suid文件查找
结果
直接运行
/home/user3/shell
提示切换至
/home/user3
目录在执行即可提权至root![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F351f0f9f-9587-427d-acc5-7da3ed07b2d4%2FUntitled.png?table=block&id=dd243c8a-2c1d-440d-88c9-c9ad2fd3b2b0&t=dd243c8a-2c1d-440d-88c9-c9ad2fd3b2b0&width=1146&cache=v2)
0x02 滥用root权限 + 环境变量提权
运行
/home/user5/script
,看着像是 ls
命令的功能,通过Ghidra反编译一下,在Symbol Tree窗口,打开 Exports 项,一般入口函数是 main 或者 entry,原来 script
程序是通过root权限执行ls命令但这里没有指定绝对路径,也就是说系统通过环境变量去获取的执行路径,只要我们新建一个ls脚本,把环境路径优先检索我们设置的目录,就可以执行我们想执行的操作了。
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Ff2fd2d2d-9cf6-4c2e-b2d2-f67c594a1d28%2FUntitled.png?table=block&id=568bf01c-df62-44d0-8463-bb8ec899f95b&t=568bf01c-df62-44d0-8463-bb8ec899f95b&width=870&cache=v2)
0x03 CVE-2021-4034 (pkexec) 提权
这个漏洞影响范围挺广的
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fb54b85e0-231d-4ba6-9f91-436baa437be0%2FUntitled.png?table=block&id=61217877-9335-424d-ac1a-945916157726&t=61217877-9335-424d-ac1a-945916157726&width=1568&cache=v2)
0x04 NFS提权
发现没有限制root权限用户的远程访问
先远程挂在到本地
mac下但返回权限不足
然后 linux下通过 root 权限执行
我们切换到目录下新建一个C文件
内容如下(即以root权限执行
/bin/bash
)编译,并赋予 suid 权限
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fb8132866-6f4b-48d5-b6f3-d7c782ca44f6%2FUntitled.png?table=block&id=c039df10-92ec-4873-98a2-3c82ad5e1927&t=c039df10-92ec-4873-98a2-3c82ad5e1927&width=924&cache=v2)
然后到需要提权的机器上执行这个文件即可
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F48b33ea8-738f-4a8b-ae4a-6f8e18f56259%2FUntitled.png?table=block&id=c1be4de5-769c-40b6-a3e3-4c565cd18f1f&t=c1be4de5-769c-40b6-a3e3-4c565cd18f1f&width=830&cache=v2)
0x05 MSF 提权
先上线 msf
- 攻击机
msfconsole
- 受害者
- 攻击机 msfconsole
mac 下不知为啥一个都没,kali 正常
利用,这里只成功利用了
exploit/linux/local/sudo_baron_samedit
(target 5 是可以的,target 4 不行,其他没试)![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fe972a994-4e8b-430b-9360-e4d974df8e5f%2FUntitled.png?table=block&id=5ba2eaca-fff0-4d08-89cf-73cda1865d69&t=5ba2eaca-fff0-4d08-89cf-73cda1865d69&width=1772&cache=v2)
脏牛提权(失败)
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F50208867-05db-4803-a850-f9c40c99e0c2%2FUntitled.png?table=block&id=fe2591b6-a570-4142-b11f-98b8eb61e831&t=fe2591b6-a570-4142-b11f-98b8eb61e831&width=1312&cache=v2)
试了两次,用户都没有创建成功
权限维持
用户密码爆破
各个用户哈希
通过 john 去爆破
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F4df5c1e4-ad9c-4e3c-85ad-7d0cf7258641%2FUntitled.png?table=block&id=3ce304de-2f54-4750-8c2c-7054b2e3810b&t=3ce304de-2f54-4750-8c2c-7054b2e3810b&width=1654&cache=v2)
root 密码爆破出来了,其他爆不出来
权限提升 (2)
到这里,能通过 webshell 直接去提权的方式已经用的差不多了,有其他方式欢迎大佬们补充~
0x06 mysql 信息泄漏
通过 PEASS-ng 发现 mysql 密码为 root,连进去发现 user库user_info表存着mysql的密码
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F58c98d89-4b29-4bb1-b218-07c453e5c833%2FUntitled.png?table=block&id=40c604da-6809-4e42-bd13-e5e7167e1dec&t=40c604da-6809-4e42-bd13-e5e7167e1dec&width=1068&cache=v2)
通过
/etc/passwd
得知mysql用户是可登陆的,猜测这个密码是mysql用户的登录密码![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fb1399b88-7637-4bd2-a697-6caee697d679%2FUntitled.png?table=block&id=a1b61c27-170e-4f06-800f-733bcd11bc26&t=a1b61c27-170e-4f06-800f-733bcd11bc26&width=772&cache=v2)
查找一下该用户的所属文件
发现
/var/mysql
目录下有点有意思的文件,特别是这个给一下权限
发现了类似其他用户的密码,尝试切换可成
另外一个敏感文件
/etc/mysql/secret.cnf
发现 root 密码,不过 root 密码不是 12345 嘛..0x07 crontab 提权
登陆至 user4
查看定时任务发现每隔5分钟以root权限执行
/home/user4/Desktop/autoscript.sh
脚本更改 autoscript.sh 为(这里直接 bash -i 反弹会提示 fd 不存在, nc -e 提示没有 -e 参数)
过5分钟即会反弹一个root的shell回来
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fe7ae9b05-ecf4-4c6a-a0da-3caafe9f3c1f%2FUntitled.png?table=block&id=cd6af8b9-bc91-4e40-887b-659947067b79&t=cd6af8b9-bc91-4e40-887b-659947067b79&width=1282&cache=v2)
0x08 sudoers 提权 1
user8,运行
发现可以免密通过
vi
命令执行root权限操作随便 vi 一个文件
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F57e99168-0103-48b4-b0e9-09dc063ecffa%2FUntitled.png?table=block&id=f300cd8e-1176-4aa0-afd2-ebfa696e64a2&t=f300cd8e-1176-4aa0-afd2-ebfa696e64a2&width=258&cache=v2)
0x09 root组用户提权至root
登陆至 user7
查看 /etc/passwd 文件权限发现同组可写
先备份一下
cp /etc/passwd .
然后写入一个 root 用户 id 等信息至 /etc/passwd 然后切换即可![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Feac492d9-5c44-4d40-b395-e26ba4bb32bc%2FUntitled.png?table=block&id=1bccab3a-cff0-4539-a0e8-150fb0b585ec&t=1bccab3a-cff0-4539-a0e8-150fb0b585ec&width=1650&cache=v2)
user4 也是属于 root 组的,也可以这样做
sudoer 提权 2
登陆user2
发现可接管 user1 用户,这个用户在没在 mysql 泄漏的密码中
切换后继续看特权命令
sudo -l
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F8222a3a5-cd19-432e-ab5c-ae55933e8ee5%2FUntitled.png?table=block&id=9682ad4f-0265-4ff4-b701-263694cc298b&t=9682ad4f-0265-4ff4-b701-263694cc298b&width=1488&cache=v2)
可直接提权至 root
总结
至此,所有用户的提权方式已经覆盖的完了,靶机简介说是有 12+ 种提权方式,不过我这里不重复的提权方式是9种。
发现靶机刚好是用 apache,顺便补充一种 sudo 滥用下的 apache 任意文件查看[4]
这个靶机没安装这个模块,所以返回
AH00534: apache2: Configuration error: No MPM loaded.
整体来看,Linux 提权相关的还是挺全了,还不错的靶机。