Capabilities Beispiele: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(→Test) |
|||
| Zeile 24: | Zeile 24: | ||
;als normaler Benutzer | ;als normaler Benutzer | ||
*su - xinux | *su - xinux | ||
| − | * | + | * ping-orig 1.1.1.1 |
| − | + | ping-orig: socktype: SOCK_RAW | |
| + | ping-orig: socket: Operation not permitted | ||
| + | ping-orig: => missing cap_net_raw+p capability or setuid? | ||
Version vom 15. Januar 2023, 08:20 Uhr
password
User-SBit
- Das Programm "password" muss auf die Datei /etc/shaddow zugreifen.
- Wenn ein Benutzer dieses Programm auf ruft läuft der Prozess unter seiner UID
- Diese hat kein Recht die Datei /etc/shaddow zu beschreiben.
- Darum gibt es das User-SBIT Recht, dies hat zur Folge, das der Prozess unter der UID des Besitzers des Programms läuft.
- ls -l /bin/passwd
-rwsr-xr-x 1 root root 63960 Feb 7 2020 /bin/passwd
Lösung per Capabilities
- cp /bin/passwd /bin/pw
- chmod u-s /bin/pw
- setcap cap_dac_override=ep /bin/pw
ping
- Ping braucht Privilegien, um die speziellen ICMP-Pakete ins LAN senden zu dürfen.
- Normalerweise verschafft das Set-UID-Root-Bit dem Tool diese Fähigkeiten.
- siehe Oben.
- Debian hat ping so kompiliert das es die nicht braucht.
- Wir nutzen deshalb ein selbst kompiliertes ping
Download
- cd /usr/local/bin
- wget https://xinux.de/downloads/ping-orig
- chmod +x ping-orig
Test
- als normaler Benutzer
- su - xinux
- ping-orig 1.1.1.1
ping-orig: socktype: SOCK_RAW ping-orig: socket: Operation not permitted ping-orig: => missing cap_net_raw+p capability or setuid?