12 KiB
Παράκαμψη Βιομετρικής Ταυτοποίησης (Android)
Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!
- Εργάζεστε σε μια εταιρεία κυβερνοασφάλειας; Θέλετε να δείτε την εταιρεία σας να διαφημίζεται στο HackTricks; Ή θέλετε να έχετε πρόσβαση στην τελευταία έκδοση του PEASS ή να κατεβάσετε το HackTricks σε μορφή PDF; Ελέγξτε τα ΠΑΚΕΤΑ ΣΥΝΔΡΟΜΗΣ!
- Ανακαλύψτε την Οικογένεια PEASS, τη συλλογή μας από αποκλειστικά NFTs
- Αποκτήστε το επίσημο PEASS & HackTricks swag
- Εγγραφείτε στην 💬 ομάδα Discord ή στην ομάδα telegram ή ακολουθήστε με στο Twitter 🐦@carlospolopm.
- Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στο αποθετήριο hacktricks και αποθετήριο hacktricks-cloud.
Μέθοδος 1 - Παράκαμψη χωρίς χρήση Crypto Object
Ο εστίαση εδώ είναι στην κλήση onAuthenticationSucceeded, η οποία είναι κρίσιμη στη διαδικασία ταυτοποίησης. Οι ερευνητές της WithSecure ανέπτυξαν ένα Frida script, που επιτρέπει την παράκαμψη του NULL CryptoObject στο onAuthenticationSucceeded(...). Το script εξαναγκάζει μια αυτόματη παράκαμψη της βιομετρικής ταυτοποίησης κατά την κλήση της μεθόδου. Παρακάτω παρατίθεται ένα απλοποιημένο απόσπασμα που δείχνει την παράκαμψη σε ένα πλαίσιο αναγνώρισης δακτυλικού αποτυπώματος Android, με την πλήρη εφαρμογή να είναι διαθέσιμη στο GitHub.
biometricPrompt = new BiometricPrompt(this, executor, new BiometricPrompt.AuthenticationCallback() {
@Override
public void onAuthenticationSucceeded(@NonNull BiometricPrompt.AuthenticationResult result) {
Toast.makeText(MainActivity.this,"Success",Toast.LENGTH_LONG).show();
}
});
Εντολή για την εκτέλεση του Frida script:
frida -U -f com.generic.insecurebankingfingerprint --no-pause -l fingerprint-bypass.js
Μέθοδος 2 - Προσέγγιση Χειρισμού Εξαιρέσεων
Ένα άλλο Frida script από το WithSecure αντιμετωπίζει την παράκαμψη της ανασφαλούς χρήσης του αντικειμένου κρυπτογράφησης. Το script καλεί τη μέθοδο onAuthenticationSucceeded με ένα CryptoObject που δεν έχει εξουσιοδοτηθεί από το δακτυλικό αποτύπωμα. Εάν η εφαρμογή προσπαθήσει να χρησιμοποιήσει ένα διαφορετικό αντικείμενο κρυπτογράφησης, θα προκαλέσει μια εξαίρεση. Το script προετοιμάζεται για να καλέσει τη μέθοδο onAuthenticationSucceeded και να χειριστεί την javax.crypto.IllegalBlockSizeException στην κλάση Cipher, εξασφαλίζοντας ότι τα επόμενα αντικείμενα που χρησιμοποιούνται από την εφαρμογή κρυπτογραφούνται με το νέο κλειδί.
Εντολή για την εκτέλεση του Frida script:
frida -U -f com.generic.insecurebankingfingerprint --no-pause -l fingerprint-bypass-via-exception-handling.js
Όταν φτάσετε στην οθόνη αναγνώρισης δακτυλικού αποτυπώματος και αρχίσει η authenticate()
, πληκτρολογήστε bypass()
στην κονσόλα του Frida για να ενεργοποιήσετε την παράκαμψη:
Spawning com.generic.insecurebankingfingerprint...
[Android Emulator 5554::com.generic.insecurebankingfingerprint]-> Hooking BiometricPrompt.authenticate()...
Hooking BiometricPrompt.authenticate2()...
Hooking FingerprintManager.authenticate()...
[Android Emulator 5554::com.generic.insecurebankingfingerprint]-> bypass()
Μέθοδος 3 - Πλαισίωση Εργαλείων
Τα πλαισίωσης εργαλεία όπως το Xposed ή το Frida μπορούν να χρησιμοποιηθούν για να συνδεθούν με τις μεθόδους της εφαρμογής κατά τη διάρκεια της εκτέλεσης. Για τη βιομετρική αυθεντικοποίηση, αυτά τα πλαισίωσης μπορούν:
- Πλαστογραφήσουν τις Κλήσεις Αυθεντικοποίησης: Συνδεόμενοι με τις μεθόδους
onAuthenticationSucceeded
,onAuthenticationFailed
ήonAuthenticationError
τηςBiometricPrompt.AuthenticationCallback
, μπορείτε να ελέγξετε το αποτέλεσμα της διαδικασίας αυθεντικοποίησης με δακτυλικό αποτύπωμα. - Παράκαμψη SSL Pinning: Αυτό επιτρέπει σε έναν επιτιθέμενο να παρεμβάλει και να τροποποιήσει την κίνηση μεταξύ του πελάτη και του διακομιστή, πιθανώς αλλοιώνοντας τη διαδικασία αυθεντικοποίησης ή κλέβοντας ευαίσθητα δεδομένα.
Παράδειγμα εντολής για το Frida:
frida -U -l script-to-bypass-authentication.js --no-pause -f com.generic.in
Μέθοδος 4 - Ανάπτυξη Ανάποδης Μηχανικής και Τροποποίηση Κώδικα
Εργαλεία ανάπτυξης ανάποδης μηχανικής όπως το APKTool
, το dex2jar
και το JD-GUI
μπορούν να χρησιμοποιηθούν για να αποσυναρμολογήσουν μια εφαρμογή Android, να διαβάσουν τον πηγαίο κώδικα της και να κατανοήσουν τον μηχανισμό πιστοποίησής της. Οι βήματα περιλαμβάνουν συνήθως:
- Αποσυναρμολόγηση του APK: Μετατροπή του αρχείου APK σε ένα πιο αναγνώσιμο ανθρώπινο μορφότυπο (όπως κώδικας Java).
- Ανάλυση του Κώδικα: Αναζήτηση της υλοποίησης της αυθεντικοποίησης με δακτυλικά αποτυπώματα και εντοπισμός πιθανών αδυναμιών (όπως μηχανισμοί αντικατάστασης ή εσφαλμένοι έλεγχοι επικύρωσης).
- Επανασυναρμολόγηση του APK: Αφού τροποποιηθεί ο κώδικας για να παρακάμψει την αυθεντικοποίηση με δακτυλικά αποτυπώματα, η εφαρμογή επανασυναρμολογείται, υπογράφεται και εγκαθίσταται στη συσκευή για δοκιμή.
Μέθοδος 5 - Χρήση Εξατομικευμένων Εργαλείων Αυθεντικοποίησης
Υπάρχουν εξειδικευμένα εργαλεία και σενάρια που σχεδιάστηκαν για να ελέγξουν και να παρακάμψουν μηχανισμούς αυθεντικοποίησης. Για παράδειγμα:
- Ενότητες MAGISK: Το MAGISK είναι ένα εργαλείο για Android που επιτρέπει στους χρήστες να ρουτάρουν τις συσκευές τους και να προσθέτουν ενότητες που μπορούν να τροποποιήσουν ή να παραπλανήσουν πληροφορίες σε επίπεδο υλικού, συμπεριλαμβανομένων των δακτυλικών αποτυπωμάτων.
- Εξατομικευμένα Σενάρια: Μπορούν να γραφούν σενάρια για να αλληλεπιδράσουν με την Android Debug Bridge (ADB) ή απευθείας με τον πίσω χώρο εφαρμογών για να προσομοιώσουν ή να παρακάμψουν την αυθεντικοποίηση με δακτυλικά αποτυπώματα.
Αναφορές
Μάθετε το hacking στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!
- Εργάζεστε σε μια εταιρεία κυβερνοασφάλειας; Θέλετε να δείτε την εταιρεία σας να διαφημίζεται στο HackTricks; Ή θέλετε να έχετε πρόσβαση στην τελευταία έκδοση του PEASS ή να κατεβάσετε το HackTricks σε μορφή PDF; Ελέγξτε τα ΠΑΚΕΤΑ ΣΥΝΔΡΟΜΗΣ!
- Ανακαλύψτε την Οικογένεια PEASS, τη συλλογή μας από αποκλειστικά NFTs
- Αποκτήστε το επίσημο PEASS & HackTricks swag
- Συμμετάσχετε στην 💬 ομάδα Discord ή στην ομάδα τηλεγραφήματος ή ακολουθήστε με στο Twitter 🐦@carlospolopm.
- Μοιραστείτε τα κόλπα σας στο hacking υποβάλλοντας PRs στο αποθετήριο hacktricks και αποθετήριο hacktricks-cloud.