macOS Dirty NIB
Για περισσότερες λεπτομέρειες σχετικά με την τεχνική, ελέγξτε την αρχική ανάρτηση από: https://blog.xpnsec.com/dirtynib/**. Εδώ υπάρχει ένα σύνοψη:
Τα αρχεία NIB, που ανήκουν στο αναπτυξιακό οικοσύστημα της Apple, προορίζονται για τον καθορισμό των στοιχείων του χρήστικού περιβάλλοντος και των αλληλεπιδράσεών τους στις εφαρμογές. Περιλαμβάνουν αντικείμενα που έχουν σειριοποιηθεί, όπως παράθυρα και κουμπιά, και φορτώνονται κατά την εκτέλεση. Παρά τη συνεχή χρήση τους, η Apple προτείνει πλέον τα Storyboards για μια πιο ολοκληρωμένη οπτικοποίηση της ροής του χρήστη.
Ανησυχίες ασφαλείας με τα αρχεία NIB
Είναι σημαντικό να σημειωθεί ότι τα αρχεία NIB μπορούν να αποτελέσουν κίνδυνο για την ασφάλεια. Έχουν τη δυνατότητα να εκτελέσουν αυθαίρετες εντολές, και οι αλλαγές στα αρχεία NIB μέσα σε μια εφαρμογή δεν εμποδίζουν τον Gatekeeper από την εκτέλεση της εφαρμογής, δημιουργώντας ένα σημαντικό απειλητικό περιβάλλον.
Διαδικασία Dirty NIB Injection
Δημιουργία και Ρύθμιση ενός αρχείου NIB
Αρχική ρύθμιση:
Δημιουργήστε ένα νέο αρχείο NIB χρησιμοποιώντας το XCode.
Προσθέστε ένα αντικείμενο στη διεπαφή, ορίζοντας την κλάση του σε
NSAppleScript
.Διαμορφώστε την αρχική ιδιότητα
source
μέσω των Ορισμένων Χρονικών Χαρακτηριστικών Εκτέλεσης του Χρήστη.
Κωδικός εκτέλεσης:
Η ρύθμιση διευκολύνει την εκτέλεση του AppleScript κατά παραγγελία.
Ενσωματώστε ένα κουμπί για να ενεργοποιήσετε το αντικείμενο
Apple Script
, ενεργοποιώντας ειδικά τον επιλογέαexecuteAndReturnError:
.
Δοκιμή:
Ένα απλό Apple Script για δοκιμαστικούς σκοπούς:
Δοκιμάστε το τρέχοντα στον αποσφαλματωτή του XCode και κάντε κλικ στο κουμπί.
Στόχευση μιας εφαρμογής (παράδειγμα: Pages)
Προετοιμασία:
Αντιγράψτε την επιθυμητή εφαρμογή (π.χ., Pages) σε έναν ξεχωριστό κατάλογο (π.χ.,
/tmp/
).Εκκινήστε την εφαρμογή για να αποφύγετε προβλήματα με τον Gatekeeper και να την κρατήσετε στην προσωρινή μνήμη.
Αντικατάσταση αρχείου NIB:
Αντικαταστήστε ένα υπάρχον αρχείο NIB (π.χ., About Panel NIB) με το δημιουργημένο αρχείο DirtyNIB.
Εκτέλεση:
Ενεργοποιήστε την εκτέλεση αλληλεπίδρασης με την εφαρμογή (π.χ., επιλέγοντας το στοιχείο μενού
About
).
Απόδειξη Έννοιας: Πρόσβαση σε Δεδομένα Χρήστη
Τροποποιήστε το AppleScript για να αποκτήσετε πρόσβαση και να εξαγάγετε δεδομένα χρήστη, όπ
Last updated