Όσοι πιστεύουν ότι οι κωδικοί πρόσβασης που είναι αποθηκευμένοι στο Outlook είναι ασφαλείς για πρόσβαση σε λογαριασμούς IMAP θα πρέπει να το ξανασκεφτούν. Οι προγραμματιστές της Microsoft αποθηκεύουν τους κωδικούς πρόσβασης για την πρόσβαση σε λογαριασμούς IMAP του Outlook στο μητρώο.
Οι κωδικοί είναι πράγματι κρυπτογραφημένοι με DAPI, αλλά μπορούν να αποκρυπτογραφηθούν στο σύστημα με μια κλήση API. Αυτή η προσέγγιση χρησιμοποιείται από εργαλεία (δείτε στο τέλος της δημοσίευσης) για τον προσδιορισμό του κωδικού πρόσβασης.
Για παράδειγμα, το κλειδί είναι:
HKLM\Software\Microsoft\Office\16.0\Outlook\Profiles\Outlook\9898CFF0885468d3B88A99567B2A6676
Μια απλή κλήση στο CryptUnprotectData() API μπορεί να αποκρυπτογραφήσει αυτήν την τιμή από το μητρώο.
Περιμένετε, γίνεται ακόμα πιο ενδιαφέρον:
Η κρυφή μνήμη (cache) του Teams full-client αποθηκεύει επίσης μη κρυπτογραφημένους κωδικούς στην κρυφή μνήμη του προγράμματος περιήγησης. Το ίδιο ισχύει και για τον Teams web client, ο οποίος αποθηκεύει τις συνομιλίες χωρίς κρυπτογράφηση στην κρυφή μνήμη του προγράμματος περιήγησης.
Τι γνωρίζουμε για το DPAPI
Το ακρωνύμιο DPAPI σημαίνει Data Protection API, και είναι μια απλή κρυπτογραφική διεπαφή προγραμματισμού εφαρμογών που διατίθεται σαν ενσωματωμένο στοιχείο από τα Windows 2000 και μετά των λειτουργικών συστημάτων Microsoft Windows.
Θεωρητικά, το Data Protection API μπορεί να κρυπτογραφήσει συμμετρικά κάθε τύπο δεδομένων. Στην πράξη, χρησιμοποιείται κυρίως στο λειτουργικό σύστημα Windows για συμμετρική κρυπτογράφηση ασύμμετρων ιδιωτικών κλειδιών.
Το DPAPI δεν αποθηκεύει μόνιμα δεδομένα. Λαμβάνει απλώς ένα απλό κείμενο και το επιστρέφει κρυπτογραφημένο (ή το αντίστροφο). Η ασφάλεια του DPAPI εξαρτάται από την ικανότητα του λειτουργικού συστήματος Windows να προστατεύσει το κύριο κλειδί και τα ιδιωτικά κλειδιά RSA από επιθέσεις. Αυτό εξαρτάται σε μεγάλο βαθμό από την ασφάλεια των διαπιστευτηρίων του τελικού χρήστη στα περισσότερα σενάρια επίθεσης. Το κύριο κλειδί για κρυπτογράφηση και αποκρυπτογράφηση προέρχεται από τον κωδικό πρόσβασης του χρήστη χρησιμοποιώντας τη λειτουργία PBKDF2.
Από τη Microsoft υπάρχει αυτή η δημοσίευση για το DPAPI αλλά υπάρχει και το βιβλίο Threat Hunter που δίνει περισσότερες λεπτομέρειες.
Αν σας ενδιαφέρει, το εργαλείο DataProtectionDecryptor της Nirsoft χρησιμοποιεί το DPAPI για την αποκρυπτογράφηση κωδικών πρόσβασης.