Ένας αναγνώστης μας έστειλε τη σελίδα HackThisSite (ή HTS για συντομία) με πολεμικά παίγνια χωρισμένα σε διαφορετικούς τομείς. Ένας από αυτούς είναι η στεγανογραφία. Μία μεθοδολογία απόκρυψης πληροφοριών μέσα σε φαινομενικά άσχετα αντικείμενα. Όπως πάντα, σας προτείνουμε να προσπαθείτε να λύνετε μόνοι σας αυτές τις προκλήσεις προτού μελετήσετε τις δικές μας, ή άλλες, λύσεις. Άλλωστε αυτός είναι ο λόγος ύπαρξης τους. Ας ξεκινήσουμε λοιπόν με αυτό το νέο παίγνιο.
Μεταβαίνουμε στη σελίδα της πρώτης «αποστολής» (όπως τις ονομάζει) στη κατηγορία στεγανογραφία και εκεί βλέπουμε την ακόλουθη εικόνα και περιγραφή. Ακριβώς κάτω από την εικόνα παραθέτουμε και σε ελληνική απόδοση τη περιγραφή του επιπέδου.
Υπάρχει ένα κωδικοποιημένο μήνυμα, η μοναδική βοήθεια που θα έχεις είναι «2 μηδενικά Bytes»
Να ευχαριστείς (ή να κατηγορείς :P) τον tiksi για τη δημιουργία αυτής της πρόκλησης
ΣΗΜΕΙΩΣΗ: Δεν υπάρχει σφάλμα κωδικοποίησης, σταματήστε να μας αναφέρετε προβλήματα με τη πρόκληση.
Βάσει των παραπάνω είναι λογικό να υποθέσουμε ότι το κρυμμένο μήνυμα βρίσκεται κάπου στο αρχείο της εικόνας που συνοδεύει τη πρόκληση. Άρα κατεβάζουμε αυτό το αρχείο στον υπολογιστή μας για να το αναλύσουμε εκτενώς και να ανακαλύψουμε τι συμβαίνει. Είναι η εικόνα που βλέπετε εδώ αλλά σε μορφή αρχείου BMP (Bitmap)
Από τη βοήθεια που μας δόθηκε μπορούμε να υποθέσουμε ότι πρέπει να αναλύσουμε κάτι στα δεδομένα/Bytes του αρχείου. Για να το κάνουμε αυτό θα ανοίξουμε το αρχείο με ένα πρόγραμμα που απλά μας εμφανίζει όλα τα περιεχόμενα του αρχείου σε δεκαεξαδική μορφή, κυριολεκτικά Byte προς Byte. Αυτά τα προγράμματα ονομάζονται «Hex Editors» και εμείς εδώ χρησιμοποιήσαμε ένα Hex Editor που ονομάζεται HxD αλλά οποιοδήποτε θα είχε το ίδιο αποτέλεσμα. Βλέπετε πως φαίνεται η εικόνα στο HxD στη συνέχεια.
Χρησιμοποιούμε τη βοήθεια που μας δόθηκε για να αναζητήσουμε δύο μηδενικά Bytes μέσα στο αρχείο. Βλέπετε παρακάτω πως εκτελέσαμε αυτή την αναζήτηση με το πρόγραμμα HxD.
Εάν αφαιρέσουμε τη κεφαλίδα του αρχείου BMP που περιγράφει το τι τύπος αρχείου είναι, διαστάσεις, και άλλα μετά-δεδομένα, υπάρχει μόνο ένα σημείο μέσα σε ολόκληρο το αρχείο που να έχει δύο συνεχόμενα μηδενικά Bytes. Το σημείο αυτό το βλέπετε στη συνέχεια.
Εάν αντιγράψουμε τα δεδομένα ανάμεσα στα μηδενικά Bytes, τότε θα δούμε αμέσως ότι έχουμε 55 δεκαεξαδικά ψηφία που έχουν είτε τιμή ίση με 0x16 είτε 0x17. Αυτό μας μπέρδεψε για κάποιο διάστημα αλλά τελικά βρήκαμε τη λύση. Τα 55 ψηφία έχουν δύο πιθανές τιμές, άρα μάλλον έχουμε να κάνουμε με ένα δυαδικό σύστημα. Άρα μετατρέπουμε τα 0x16 σε 0 και τα 0x17 σε 1. Έτσι έχουμε το ακόλουθο αποτέλεσμα.
0011100001100110011011101101000011000010111001100110110
Το πρόβλημα όμως είναι ότι δεν έχει ζυγό αριθμό ψηφίων, άρα λείπει τουλάχιστον ένα ψηφίο bit για να βγάζει νόημα στο δυαδικό σύστημα. Υποθέτουμε ότι εάν το ανακαλύψουμε αυτό θα είναι απλά ένα κείμενο σε μορφή ASCII. Άρα το επόμενο βήμα μας ήταν να χρησιμοποιήσουμε ένα εργαλείο αποκωδικοποίησης όπως το CyberChef της βρετανικής υπηρεσίας πληροφοριών GCHQ με ένα μετατροπέα από δυαδική μορφή σε ASCII. Στη συνέχεια δοκιμάσαμε από αριστερά προς τα δεξιά όλες τις πιθανές θέσεις για το bit που λείπει μέχρι που εντοπίσουμε το σημείο όπου αποκωδικοποιεί το δυαδικό περιεχόμενο σε κάτι που βγάζει νόημα σε ASCII. Βλέπετε που τοποθετήσαμε το bit που έλλειπε για να μπορέσουμε να αποκωδικοποιήσουμε το περιεχόμενο εδώ.
00111000001100110011011101101000011000010111001100110110
Αντιστοίχως, βλέπετε το αποτέλεσμα από την αποκωδικοποίηση στο πρόγραμμα CyberChef στη συνέχεια.
Ασφαλώς και αυτός ήταν ο σωστός κωδικός για το πρώτο επίπεδο που ήταν κατηγοριοποιημένο ως εύκολο επίπεδο στεγανογραφίας. Στο μέλλον θα δούμε και τα πιο προχωρημένα επίπεδα αλλά αυτό αποτελούσε μία ενδιαφέρουσα εισαγωγή στο αντικείμενο και ελπίζουμε να το απολαύσατε όσο και εμείς.
Στεγανογραφία
#Πολεμικά #Παίγνια #HTS #Στεγανογραφία