Bypass Biometric Authentication (Android)
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Η εστίαση εδώ είναι στο onAuthenticationSucceeded callback, το οποίο είναι κρίσιμο στη διαδικασία αυθεντικοποίησης. Ερευνητές από την WithSecure ανέπτυξαν ένα Frida script, που επιτρέπει την παράκαμψη του NULL CryptoObject στο onAuthenticationSucceeded(...). Το script αναγκάζει μια αυτόματη παράκαμψη της αυθεντικοποίησης δακτυλικού αποτυπώματος κατά την κλήση της μεθόδου. Παρακάτω είναι ένα απλοποιημένο απόσπασμα που δείχνει την παράκαμψη σε ένα περιβάλλον Android Fingerprint, με την πλήρη εφαρμογή διαθέσιμη στο GitHub.
Εντολή για να εκτελέσετε το σενάριο Frida:
Άλλο Frida script από την WithSecure ασχολείται με την παράκαμψη της ανασφαλούς χρήσης αντικειμένων κρυπτογράφησης. Το script καλεί το onAuthenticationSucceeded με ένα CryptoObject που δεν έχει εξουσιοδοτηθεί από ένα δακτυλικό αποτύπωμα. Εάν η εφαρμογή προσπαθήσει να χρησιμοποιήσει ένα διαφορετικό αντικείμενο κρυπτογράφησης, θα προκαλέσει μια εξαίρεση. Το script προετοιμάζεται να καλέσει το onAuthenticationSucceeded και να διαχειριστεί την javax.crypto.IllegalBlockSizeException στην κλάση Cipher, διασφαλίζοντας ότι τα επόμενα αντικείμενα που χρησιμοποιούνται από την εφαρμογή είναι κρυπτογραφημένα με το νέο κλειδί.
Εντολή για να εκτελέσετε το Frida script:
Μόλις φτάσετε στην οθόνη δακτυλικών αποτυπωμάτων και την εκκίνηση του authenticate()
, πληκτρολογήστε bypass()
στην κονσόλα Frida για να ενεργοποιήσετε την παράκαμψη:
Τα πλαίσια εργαλείων όπως το Xposed ή το Frida μπορούν να χρησιμοποιηθούν για να συνδεθούν με τις μεθόδους εφαρμογής κατά την εκτέλεση. Για την αυθεντικοποίηση δακτυλικών αποτυπωμάτων, αυτά τα πλαίσια μπορούν να:
Μιμηθούν τις Κλήσεις Αυθεντικοποίησης: Συνδέοντας τις μεθόδους onAuthenticationSucceeded
, onAuthenticationFailed
ή onAuthenticationError
του BiometricPrompt.AuthenticationCallback
, μπορείτε να ελέγξετε το αποτέλεσμα της διαδικασίας αυθεντικοποίησης δακτυλικών αποτυπωμάτων.
Παρακάμψουν το SSL Pinning: Αυτό επιτρέπει σε έναν επιτιθέμενο να παρεμβαίνει και να τροποποιεί την κίνηση μεταξύ του πελάτη και του διακομιστή, ενδεχομένως αλλάζοντας τη διαδικασία αυθεντικοποίησης ή κλέβοντας ευαίσθητα δεδομένα.
Παράδειγμα εντολής για το Frida:
Εργαλεία αντίστροφης μηχανικής όπως το APKTool
, dex2jar
και JD-GUI
μπορούν να χρησιμοποιηθούν για να αποσυμπιέσουν μια εφαρμογή Android, να διαβάσουν τον πηγαίο κώδικα και να κατανοήσουν τον μηχανισμό αυθεντικοποίησης. Τα βήματα περιλαμβάνουν γενικά:
Αποσυμπίεση του APK: Μετατροπή του αρχείου APK σε μια πιο αναγνώσιμη μορφή (όπως ο κώδικας Java).
Ανάλυση του Κώδικα: Αναζήτηση της υλοποίησης της αυθεντικοποίησης δακτυλικών αποτυπωμάτων και αναγνώριση πιθανών αδυναμιών (όπως μηχανισμοί εναλλακτικής αυθεντικοποίησης ή ακατάλληλοι έλεγχοι επικύρωσης).
Επανασυμπίεση του APK: Μετά την τροποποίηση του κώδικα για να παρακαμφθεί η αυθεντικοποίηση δακτυλικών αποτυπωμάτων, η εφαρμογή επανασυμπιέζεται, υπογράφεται και εγκαθίσταται στη συσκευή για δοκιμή.
Υπάρχουν εξειδικευμένα εργαλεία και σενάρια σχεδιασμένα για να δοκιμάσουν και να παρακάμψουν μηχανισμούς αυθεντικοποίησης. Για παράδειγμα:
MAGISK Modules: Το MAGISK είναι ένα εργαλείο για Android που επιτρέπει στους χρήστες να αποκτούν πρόσβαση στη ρίζα των συσκευών τους και να προσθέτουν modules που μπορούν να τροποποιήσουν ή να παραποιήσουν πληροφορίες σε επίπεδο υλικού, συμπεριλαμβανομένων των δακτυλικών αποτυπωμάτων.
Προσαρμοσμένα Σενάρια: Μπορούν να γραφούν σενάρια για να αλληλεπιδρούν με την Android Debug Bridge (ADB) ή απευθείας με το backend της εφαρμογής για να προσομοιώσουν ή να παρακάμψουν την αυθεντικοποίηση δακτυλικών αποτυπωμάτων.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)