macOS xattr-acls extra stuff
Last updated
Last updated
Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ελέγξτε τα σχέδια συνδρομής!
Εγγραφείτε στην 💬 ομάδα Discord ή στην ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
rm -rf /tmp/test*
echo test >/tmp/test
chmod +a "everyone deny write,writeattr,writeextattr,writesecurity,chown" /tmp/test
./get_acls test
ACL for test:
!#acl 1
group:ABCDEFAB-CDEF-ABCD-EFAB-CDEF0000000C:everyone:12:deny:write,writeattr,writeextattr,writesecurity,chown
ACL in hex: \x21\x23\x61\x63\x6c\x20\x31\x0a\x67\x72\x6f\x75\x70\x3a\x41\x42\x43\x44\x45\x46\x41\x42\x2d\x43\x44\x45\x46\x2d\x41\x42\x43\x44\x2d\x45\x46\x41\x42\x2d\x43\x44\x45\x46\x30\x30\x30\x30\x30\x30\x30\x43\x3a\x65\x76\x65\x72\x79\x6f\x6e\x65\x3a\x31\x32\x3a\x64\x65\x6e\x79\x3a\x77\x72\x69\x74\x65\x2c\x77\x72\x69\x74\x65\x61\x74\x74\x72\x2c\x77\x72\x69\x74\x65\x65\x78\x74\x61\x74\x74\x72\x2c\x77\x72\x69\x74\x65\x73\x65\x63\x75\x72\x69\x74\x79\x2c\x63\x68\x6f\x77\x6e\x0a
```c // gcc -o get_acls get_acls #include #include #include
int main(int argc, char *argv[]) { if (argc != 2) { fprintf(stderr, "Usage: %s \n", argv[0]); return 1; }
const char *filepath = argv[1]; acl_t acl = acl_get_file(filepath, ACL_TYPE_EXTENDED); if (acl == NULL) { perror("acl_get_file"); return 1; }
char *acl_text = acl_to_text(acl, NULL); if (acl_text == NULL) { perror("acl_to_text"); acl_free(acl); return 1; }
printf("ACL for %s:\n%s\n", filepath, acl_text);
// Convert acl_text to hexadecimal and print it printf("ACL in hex: "); for (char *c = acl_text; *c != '\0'; c++) { printf("\x%02x", (unsigned char)*c); } printf("\n");
acl_free(acl); acl_free(acl_text); return 0; }
```markdown
<details>
<summary>Extra Stuff</summary>
### Extended Attributes (xattr)
Τα Extended Attributes (xattr) είναι μεταδεδομένα που μπορούν να προσαρτηθούν σε αρχεία και φακέλους στο macOS. Αυτά τα χαρακτηριστικά μπορούν να χρησιμοποιηθούν για διάφορους σκοπούς, όπως η αποθήκευση πληροφοριών σχετικά με την προέλευση ενός αρχείου ή η εφαρμογή πολιτικών ασφαλείας.
### Access Control Lists (ACLs)
Οι Access Control Lists (ACLs) παρέχουν έναν πιο λεπτομερή τρόπο ελέγχου πρόσβασης σε αρχεία και φακέλους. Αντί να βασίζονται μόνο σε παραδοσιακούς κανόνες πρόσβασης, οι ACLs επιτρέπουν την καθορισμένη πρόσβαση σε συγκεκριμένους χρήστες ή ομάδες.
### Χρήση xattr και ACLs
Η χρήση xattr και ACLs μπορεί να ενισχύσει την ασφάλεια του συστήματος, επιτρέποντας στους διαχειριστές να ελέγχουν καλύτερα ποιος έχει πρόσβαση σε ποια δεδομένα. Είναι σημαντικό να κατανοήσετε πώς να τα χρησιμοποιήσετε σωστά για να αποφύγετε τυχόν παραβιάσεις ασφαλείας.
</details>
# Lets add the xattr com.apple.xxx.xxxx with the acls
mkdir start
mkdir start/protected
./set_xattr start/protected
echo something > start/protected/something