Permission Inspector
Leg octale machtigingen uit- ✓Geen kritiek probleem gevonden
Inleiding
De Permission Inspector decodeert een octale mode (bijvoorbeeld 0750) naar zijn symbolische vorm en markeert de bits die het vaakst tellen in beveiligingsbeoordelingen: wereldwijd schrijfbare machtigingen en de setuid-bit.
Octale modes bestaan uit drie of vier cijfers, waarbij elk cijfer een som is van lezen (4), schrijven (2) en uitvoeren (1) voor één klasse gebruikers: eigenaar, groep en overigen. Een voorloopcijfer codeert speciale bits: setuid (4), setgid (2) en sticky (1).
Doel
- Vertaal elke octale mode van drie of vier cijfers naar rwx-symbolische notatie.
- Identificeer de speciale bits (setuid, setgid, sticky) wanneer aanwezig.
- Markeer wereldwijd schrijfbare machtigingen als hoge ernst en setuid als waarschuwing.
Invoerwaarden
- Een octale mode van drie of vier cijfers, bijvoorbeeld 0750 of 644.
- Cijfers moeten 0–7 zijn; letters of symbolen worden afgewezen.
Hoe het werkt
De waarde wordt opgevuld tot vier cijfers (0750 wordt 0750, 644 wordt 0644). Elk cijfer wordt ontleed in zijn lees-/schrijf-/uitvoerbits: bijvoorbeeld 7 = rwx, 5 = r-x, 0 = ---.
Het eerste cijfer verwijst naar de speciale bits: 4 voegt suid toe, 2 voegt sgid toe, 1 voegt sticky toe.
Als de klasse "overigen" schrijfrecht heeft (een 2, 3, 6 of 7 in het laatste cijfer), meldt het hulpmiddel een hoge bevinding: elke lokale gebruiker kan het object wijzigen. Als setuid is ingesteld, vraagt een waarschuwing om eigendom en integriteit te controleren.
Testbaar voorbeeld
Probeer het — de analyse draait lokaal in uw browser.
Voorbeeld
Mode: 4755
Verwachte uitvoer
Symbolisch: suid rwxr-xr-x Hoog: SUID is ingesteld. Controleer het eigendom en de integriteit van het uitvoerbare bestand. Opmerking: de klassen eigenaar en groep zijn niet schrijfbaar door overigen.
De uitvoer lezen
- De symbolische regel vertelt u precies wie kan lezen, schrijven en uitvoeren.
- Een wereldwijd schrijfbaar bestand of map (laatste cijfer 2, 3, 6 of 7) betekent dat elke lokale gebruiker het kan wijzigen — meestal een vergissing, tenzij het een bewust gedeelde map zoals /tmp is.
- setuid-uitvoerbare bestanden draaien met de rechten van de bestandseigenaar; een gecompromitteerd setuid-binair bestand is een pad naar privilege-escalatie, dus het eigendom moet root zijn en het binaire bestand betrouwbaar.
Risico's
- Wereldwijd schrijfbare bestanden maken manipulatie door elk lokaal account mogelijk, inclusief een gecompromitteerd account.
- Een onverwachte setuid-bit op een binair bestand dat niet van root is, is een klassiek privilege-escalatievector.
- Een sticky bit op /tmp is normaal; een sticky bit elders kan per ongeluk zijn gezet.
Beperkingen
- Het hulpmiddel interpreteert een mode, geen echt bestand — het kan u de werkelijke eigenaar of groep niet vertellen.
- Het houdt geen rekening met ACL's (setfacl), die het traditionele rwx-model overschrijven.
- Waarschuwingen over speciale bits hangen van de context af; het hulpmiddel kan niet weten of een setuid-binair bestand bedoeld is.
Officiële referenties
FAQ
Wat doen de speciale bits?
setuid laat een programma draaien met de identiteit van de bestandseigenaar (meestal root); setgid doet hetzelfde voor de groep, en op mappen zorgt het dat nieuwe bestanden de groep van de map erven; de sticky bit op een map beperkt verwijderen tot de bestandseigenaar (zoals op /tmp).
Waarom is 644 vaak prima voor bestanden maar 666 niet?
644 geeft de eigenaar schrijfrecht en alle anderen alleen leesrecht. 666 maakt het bestand door iedereen beschrijfbaar — elke lokale gebruiker zou het kunnen vervangen of wijzigen.
Controleert het hulpmiddel het echte bestand?
Nee. Plak een mode om hem te begrijpen; gebruik ls -l of stat op het echte bestand bij het auditen van uw systeem.