Ανάκτηση σηράγγων WireGuard από έναν νεκρό υπολογιστή Windows
Τα προφίλ είναι blobs DPAPI δεμένα με τον λογαριασμό και το μηχάνημα που τα δημιούργησαν. Αν αντιγράψετε το αρχείο σε νέο υπολογιστή, μένετε με byte που κανένα τοπικό κλειδί δεν μπορεί να ανοίξει.
Ένας φορητός πεθαίνει με τρεις σήραγγες WireGuard ρυθμισμένες, και τα αρχεία ρυθμίσεων είναι ακόμη στον δίσκο. Η αντιγραφή τους σε μηχάνημα αντικατάστασης παράγει μια υπηρεσία που ξεκινά και μετά αρνείται να σηκωθεί. Τα αρχεία είναι προστατευμένα με κλειδί που ανήκει στον λογαριασμό και το μηχάνημα που τα δημιούργησαν, οπότε τα byte ταξιδεύουν, ενώ η δυνατότητα να τα διαβάσετε όχι. Η παρακάτω πορεία πηγαίνει από τον εντοπισμό του αρχείου στην επιλογή που ανακτά πραγματικά την υπηρεσία.
Πού ζει τώρα το αρχείο της σήραγγας
Η αποθήκευση μετακινήθηκε ανάμεσα στις εκδόσεις. Οι παλιότερες εγκαταστάσεις κρατούσαν τα προφίλ στα τοπικά δεδομένα εφαρμογών του προφίλ συστήματος μέσα σε φάκελο WireGuard\Configurations, και οι τρέχουσες εκδόσεις χρησιμοποιούν έναν κατάλογο δεδομένων μέσα στο δέντρο των αρχείων προγράμματος. Κάθε σήραγγα είναι ένα μόνο αρχείο με διπλή επέκταση που ονομάζει την προστασία:
Get-ChildItem "C:\Program Files\WireGuard\Data\Configurations"
Η κατάληξη .dpapi δεν είναι διακόσμηση. Το αρχείο είναι ένα προστατευμένο blob, και η υπηρεσία είναι σχεδιασμένη να το καταναλώνει ακριβώς σε αυτή τη μορφή. Ο υποστηριζόμενος τρόπος να εγκαταστήσετε σήραγγα από αυτό είναι μια κλήση με αυξημένα δικαιώματα που δείχνει στο blob:
$blob = "C:\Program Files\WireGuard\Data\Configurations\hq.conf.dpapi"
wireguard.exe /installtunnelservice $blob
Αυτή η εντολή πετυχαίνει μόνο στο περιβάλλον που μπορεί να ξετυλίξει το blob. Εγκαθιστά μια υπηρεσία και δεν αποκρυπτογραφεί τίποτα για εσάς.
Γιατί το blob δεν ανοίγει αλλού
Η προστασία αντλεί το κλειδί της από τα διαπιστευτήρια σύνδεσης του χρήστη και, ανάλογα με το εύρος που επιλέχθηκε, από το μηχάνημα. Η τεκμηρίωση της Microsoft για την κλήση προστασίας λέει ότι η προεπιλογή ανήκει στον χρήστη και το μηχάνημα που το κρυπτογράφησαν, και μια επιλογή για όλο το μηχάνημα αλλάζει ποιος μπορεί να το ξετυλίξει. Και στις δύο περιπτώσεις το κλειδί ζει στο υλικό διαπιστευτηρίων του λειτουργικού συστήματος, όχι μέσα στο αρχείο. Το κρυπτοκείμενο είναι φορητό, το κλειδί όχι.
Το να πάρετε την κυριότητα του φακέλου αλλάζει ένα ACL και τίποτα άλλο. Το να τοποθετήσετε τον παλιό δίσκο σε θήκη και να αντιγράψετε το blob σε νέο υπολογιστή σας αφήνει κρυπτοκείμενο του οποίου το κλειδί δεν αντιγράφηκε ποτέ. Η αποτυχία είναι κρυπτογραφική, και καμία επανεγκατάσταση της υπηρεσίας δεν την αλλάζει. Το νέο μηχάνημα δεν έχει κύριο κλειδί για αυτόν τον λογαριασμό, και το παλιό αποθετήριο κλειδιών δεν ταξιδεύει με το αρχείο.
Προϊόντα που αποθηκεύουν ρυθμίσεις σε ένα συγκαλυμμένο αρχείο κάνουν την αντίθεση καθαρή. Μια ρύθμιση που είναι απλώς συγκαλυμμένη γίνεται αναγνώσιμη μόλις βρείτε τη σημαία που απενεργοποιεί τη συγκάλυψη, ενώ ένα προστατευμένο blob μένει κλειστό χωρίς το κλειδί. Η σύγχυση των δύο οδηγεί τους ανθρώπους να ψάχνουν για αποκωδικοποιητή που δεν υπάρχει.
Τι να δοκιμάσετε όσο το παλιό σύστημα ακόμη εκκινεί
Αν η εγκατάσταση ακόμη ξεκινά, εξαγάγετε τις σήραγγες από τον πελάτη ενώ είστε συνδεδεμένοι ως ο λογαριασμός που τις δημιούργησε. Η εξαγωγή παράγει συνηθισμένα αρχεία ρυθμίσεων, και σε εκείνο το σημείο ένα αντίγραφο ασφαλείας γίνεται φορητό.
Αν ο δίσκος είναι αναγνώσιμος αλλά τα Windows δεν εκκινούν, τα προστατευμένα αρχεία έχουν ουσιαστικά χαθεί. Εργαλεία που υπόσχονται να τα ανακτήσουν είτε τρέχουν στο αρχικό περιβάλλον, που δεν το έχετε πια, είτε σας ζητούν να παραδώσετε το blob και την εικόνα του παλιού δίσκου, που είναι απόφαση για την οποία αξίζει να σταματήσετε.
Καταγράψτε ό,τι μάθετε σε κάθε περίπτωση: τα ονόματα των σηράγγων, τα τελικά σημεία και τα δημόσια κλειδιά. Τα ονόματα και τα τελικά σημεία σας επιτρέπουν γρήγορη ανακατασκευή, και τα δημόσια κλειδιά επιτρέπουν στην άλλη πλευρά να αναγνωρίσει ποια καταχώριση να αφαιρέσει.
Ανακατασκευάστε καλύτερα από την πλευρά του ομοτίμου
Για έναν ομότιμο που ελέγχετε, δημιουργήστε ένα νέο ζεύγος κλειδιών και προσθέστε το νέο δημόσιο κλειδί στη λίστα του ομοτίμου. Για εταιρικό ή φιλοξενούμενο τελικό σημείο, ζητήστε από τον διαχειριστή να εκδώσει νέο κλειδί και να αφαιρέσει το παλιό. Το αίτημα είναι το ίδιο που θα κάνατε μετά από κλοπή, γιατί ένας χαμένος δίσκος σημαίνει ότι το παλιό ιδιωτικό κλειδί πρέπει να θεωρηθεί εκτεθειμένο.
Έπειτα ανακατασκευάστε τη σήραγγα από τις τιμές που καταγράψατε, και επιβεβαιώστε τη χειραψία πριν διαγράψετε οτιδήποτε άλλο. Η παλιά καταχώριση στον ομότιμο πρέπει να εξαφανιστεί στην ίδια αλλαγή, ώστε ένας κλεμμένος δίσκος να μην μπορεί να επανασυνδεθεί αργότερα.
Το δίδαγμα ανήκει στην πολιτική αντιγράφων ασφαλείας και όχι σε εργαλείο ανάκτησης. Μια ρύθμιση WireGuard είναι διαπιστευτήριο: όποιος κρατά το ιδιωτικό κλειδί κρατά την ταυτότητα του ομοτίμου, και δεν υπάρχει δεύτερος κωδικός πρόσβασης στη μέση. Είτε εξαγάγετε τη ρύθμιση σκόπιμα και την αποθηκεύετε με τα άλλα μυστικά σας, είτε αποδέχεστε ότι η ανάκτηση σημαίνει επανέκδοση κλειδιών, και σημειώστε ποια επιλογή ισχύει για κάθε σήραγγα.