tools

John the Ripper: Από τα Password Hashes στο Cracking

Το John the Ripper (JtR) είναι ένα δωρεάν, ανοιχτού κώδικα (open-source) λογισμικό γραμμής εντολών που χρησιμοποιείται για τον έλεγχο ασφαλείας και την ανάκτηση κωδικών πρόσβασης (password cracking).

Χρησιμοποιείται κυρίως από επαγγελματίες ασφαλείας, ειδικούς ψηφιακής εγκληματολογίας και ethical hackers για να ελέγξουν την ανθεκτικότητα των κωδικών πρόσβασης σε ένα σύστημα.
Παίρνει κρυπτογραφημένα αρχεία κωδικών (hashes) και προσπαθεί να τα “σπάσει” δοκιμάζοντας διάφορες μεθόδους. Λειτουργεί σε πολλά λειτουργικά συστήματα (Unix, Linux, Windows, macOS κ.ά.) και υποστηρίζει πλήθος αλγορίθμων (MD5, SHA, NTLM, bcrypt κ.λπ.).

Αν έχεις ασχοληθεί έστω και λίγο με το ethical hacking, πιθανότατα έχεις ακούσει για το John the Ripper. Πρόκειται για ένα από τα γνωστά εργαλεία password auditing, το οποίο χρησιμοποιείται για να ελέγχει πόσο ανθεκτικοί είναι οι κωδικοί πρόσβασης, δοκιμάζοντας πιθανούς συνδυασμούς απέναντι σε διαθέσιμα password hashes. Είναι ιδιαίτερα χρήσιμο σε ελέγχους ασφάλειας, αλλά υπάρχει μια λεπτομέρεια που συχνά ξεχνάμε: το ότι έχεις ένα εργαλείο για password cracking δεν σημαίνει ότι θα καταφέρεις να ανακτήσεις κάθε κωδικό. Μερικές φορές η διαδικασία διαρκεί λίγα δευτερόλεπτα, άλλες μπορεί να χρειαστεί ώρες ή ημέρες και κάποιες φορές δεν θα βρεις ποτέ το σωστό αποτέλεσμα.john the ripper

Πώς λειτουργεί;

Το John the Ripper λειτουργεί κυρίως δοκιμάζοντας πιθανούς κωδικούς και συγκρίνοντας τα αποτελέσματα με τα διαθέσιμα hashes. Μπορεί να χρησιμοποιήσει wordlists, δηλαδή λίστες με πιθανούς κωδικούς, καθώς και κανόνες που τροποποιούν λέξεις και συνδυασμούς για να δοκιμάσουν περισσότερες πιθανότητες. Η αποτελεσματικότητα εξαρτάται από τον τύπο του hash, την ποιότητα των υποψήφιων κωδικών, τις ρυθμίσεις και την υπολογιστική ισχύ που διαθέτουμε.

Η υπομονή δεν αρκεί πάντα

Εδώ είναι που τα πράγματα γίνονται ενδιαφέροντα. Ένα αδύναμο password μπορεί να εντοπιστεί γρήγορα, ενώ ένας ισχυρός και τυχαίος κωδικός μπορεί να απαιτεί ασύγκριτα περισσότερη προσπάθεια. Επιπλέον, οι σύγχρονοι αλγόριθμοι αποθήκευσης κωδικών, όταν έχουν ρυθμιστεί σωστά, κάνουν κάθε δοκιμή πιο απαιτητική υπολογιστικά. Επομένως, δεν υπάρχει εγγύηση ότι ένα password θα σπάσει, ακόμη κι αν αφήσουμε το εργαλείο να λειτουργεί για ημέρες. Μερικές φορές, η πιο ρεαλιστική απάντηση είναι ότι ο διαθέσιμος χρόνος και οι πόροι δεν επαρκούν.

Πρακτικό παράδειγμα:

Το John μπορεί να εκτελέσει έλεγχο σε ένα αρχείο hashes που έχουμε δημιουργήσει.

Code
john --wordlist=passwords.txt hashes.txt

Εδώ, το passwords.txt είναι η λίστα με τους πιθανούς κωδικούς και το hashes.txt περιέχει τα hashes που θέλουμε να ελέγξουμε. Το εργαλείο συγκρίνει τις υποψήφιες τιμές και εμφανίζει όσες καταφέρει να ανακτήσει. Για να δούμε τα αποτελέσματα μιας προηγούμενης εκτέλεσης, μπορούμε να χρησιμοποιήσουμε:

Code
john --show hashes.txt

Οι εντολές προϋποθέτουν ότι το αρχείο εισόδου περιέχει hashes σε μορφή που υποστηρίζει η εγκατεστημένη έκδοση του John.

Πόσο χρόνο χρειάζεται για να σπάσει ένας κωδικός;

η συνέχεια στο /forum

0 σχόλια

iGuRu.gr

Συμμετέχετε στη συζήτηση

Η ηλ. διεύθυνση σας δεν δημοσιεύεται. Τα υποχρεωτικά πεδία σημειώνονται με *

Το μήνυμα σας δεν θα δημοσιευτεί εάν:

  1. Περιέχει υβριστικά, συκοφαντικά, ρατσιστικά, προσβλητικά ή ανάρμοστα σχόλια.
  2. Προκαλεί βλάβη σε ανηλίκους.
  3. Παρενοχλεί την ιδιωτική ζωή και τα ατομικά και κοινωνικά δικαιώματα άλλων χρηστών.
  4. Διαφημίζει προϊόντα ή υπηρεσίες ή διαδικτυακούς τόπους.
  5. Περιέχει προσωπικές πληροφορίες (διεύθυνση, τηλέφωνο κλπ).