Το καλύτερο λειτουργικό σύστημα για χάκερ. Ανασκόπηση ασυνήθιστων διανομών Linux

Πολλοί άνθρωποι το βλέπουν ως λειτουργικό σύστημα «χάκερ». Οι ίδιοι οι χάκερ, ειδικά μεταξύ των νέων, αντιμετωπίζονται με θαυμασμό. Αυτό εξηγεί το ενδιαφέρον των νέων για το Kali Linux. Προσπαθούν να το εγκαταστήσουν και να το τρέξουν και έχουν πολλές «παιδικές» ερωτήσεις. Αυτά τα ερωτήματα πρέπει να απαντηθούν, όσο απλά, αφελή ή λανθασμένα κι αν είναι. Για μένα προσωπικά είναι απαράδεκτη η συμπεριφορά «έμπειρων» που απαντούν σε τέτοιες ερωτήσεις με «γιατί το χρειάζεσαι;», «πάλι σχολικές διακοπές;», «θα έπρεπε να σε απαγορέψουν για τέτοιες ηλίθιες ερωτήσεις;» και τα λοιπά. Τα ρωσικά τεχνικά φόρουμ είναι γεμάτα με αυτή την αγένεια. Δεν επιτρέπω στον εαυτό μου και δεν θα επιτρέψω σε άλλους να το κάνουν αυτό στο FreeForum.biz. Απολύτως όλοι, ανεξάρτητα από το πόσο σπουδαίος ειδικός έχει γίνει τώρα, άρχισαν να μελετούν τα βασικά, ξεκίνησαν με ερωτήσεις «παιδιών». Όσοι δεν κάνουν απλές ερωτήσεις τελικά δεν θα μάθουν ποτέ τις απαντήσεις.

Η εγκατάσταση και η λειτουργία του Kali Linux εγείρει επίσης ερωτήματα στους προχωρημένους χρήστες Linux. Αλλά αυτές οι ερωτήσεις είναι σύνθετες ή δημιουργικές. Και, αφενός, θέλω να βοηθήσω όλους τους αρχάριους (από τότε που ήμουν κι εγώ), αλλά από την άλλη, δεν θέλω να κατέβω σε ένα εντελώς νηπιαγωγείο. Άλλωστε, η απάντηση σε κοινές ερωτήσεις δεν είναι ούτε ενδιαφέρουσα ούτε χάσιμο χρόνου.

Επομένως, για όλους τους αρχάριους χάκερ, έχω ετοιμάσει μια λίστα με όσα πρέπει να μάθετε. Για κάθε σημείο, θα προσπαθήσω να εξηγήσω γιατί πρέπει να το γνωρίζετε.

1. Βασικά στοιχεία γλωσσών προγραμματισμού

1.1 HTML

Στην πραγματικότητα, η HTML δεν είναι καν γλώσσα προγραμματισμού, αλλά γλώσσα σήμανσης, δηλ. χρησιμοποιείται, χονδρικά μιλώντας, για τη μορφοποίηση κειμένου.

Πώς μπορεί να βοηθήσει έναν αρχάριο χάκερ; Θα σας δώσω το προσωπικό μου παράδειγμα. Ένας από τους παρόχους Διαδικτύου των οποίων τις υπηρεσίες χρησιμοποίησα (τοπικός πάροχος με δίκτυο οικίας πόλης) είχε (ίσως έχει ακόμα - δεν ξέρω, έφυγα από αυτόν τον πάροχο εδώ και πολύ καιρό) τον δικό του ιστότοπο και τις δικές του υπηρεσίες για τους χρήστες. Στις αρχές της δεκαετίας του 2000, αυτό ήταν σχετικό - η κίνηση στο Διαδίκτυο (εξωτερική) ήταν πληρωμένη, έτσι όλοι προσπάθησαν να χρησιμοποιήσουν τοπικούς πόρους. Αυτοί οι πόροι ήταν σίγουρα πολύ δημοφιλείς. Ένα από τα πιο δημοφιλή είναι η κοινή χρήση αρχείων. Λόγω της συνεχούς κατάχρησης από τους χρήστες (για παράδειγμα, η συμμαθήτρια Masha, "γδύθηκε" χρησιμοποιώντας το Photoshop), ο ιδιοκτήτης της υπηρεσίας φιλοξενίας αρχείων εισήγαγε έναν υποχρεωτικό κωδικό πρόσβασης. Αυτός ο κωδικός πρόσβασης δημιουργήθηκε αυτόματα και δεν μπορούσε να συμπεριληφθεί σε σχόλιο αρχείου. Έτσι, η ανάλυση της φόρμας για την αποστολή ενός αρχείου και ορισμένα πειράματα με αυτό έδειξε ότι ο κωδικός πρόσβασης περιέχεται σε ένα από τα κρυφά πεδία της φόρμας, το οποίο, φυσικά, μπορεί να επεξεργαστεί. Αυτός ο κωδικός πρόσβασης δεν ελέγχθηκε από τίποτα στον διακομιστή. Ως αποτέλεσμα, αποθηκεύοντας τη φόρμα για τη λήψη ενός αρχείου στον υπολογιστή σας και κάνοντας ελαφρά επεξεργασία, καταφέραμε να βεβαιωθούμε ότι τα αρχεία θα μπορούσαν να ληφθούν ξανά χωρίς κωδικό πρόσβασης. Αυτή η φόρμα μπορεί να χρησιμοποιηθεί από οποιονδήποτε πελάτη του παρόχου. Αργότερα, ο πάροχος "έκλεισε" την τρύπα και άρχισε να ελέγχει για έναν κωδικό πρόσβασης. Ωστόσο, με τους ίδιους απλούς χειρισμούς ήταν δυνατό να βεβαιωθείτε ότι τα αρχεία φορτώνονταν πάντα με έναν "τυπικό" κωδικό πρόσβασης ("0000", φαίνεται), καθώς και αυτός ο κωδικός πρόσβασης θα μπορούσε να γραφτεί σε ένα σχόλιο στο αρχείο.

Όσοι είναι εξοικειωμένοι τουλάχιστον με τα βασικά της HTML καταλαβαίνουν τέλεια για τι πράγμα μιλάω. Για άλλους, είναι απλώς ένα κινέζικο γράμμα.

Άλλο ένα φρέσκο ​​παράδειγμα. Μόλις τις προάλλες (11 Φεβρουαρίου 2015), ανακαλύφθηκε μια τρύπα στο θέμα του WordPress, που σας επιτρέπει να ανεβάσετε παράγωγα αρχεία στον διακομιστή. Περιγραφή αυτού του θέματος. Το αρχείο που είναι ευάλωτο σε αυτό το θέμα είναι το admin/upload-file.php. Έψαξα σε αυτό το νήμα και βρήκα αυτό το αρχείο. Το αρχείο είναι πολύ σύντομο, οπότε θα το δώσω ολόκληρο:

Αυτό το αρχείο είναι σε PHP, αλλά για να επωφεληθείτε από αυτήν την ευπάθεια, πρέπει να δημιουργήσετε τη φόρμα υποβολής αρχείου σε HTML.

Επομένως, πρέπει να γνωρίζετε HTML για να: α) αναζητήσετε τρωτά σημεία. β) εκμεταλλεύονται τρωτά σημεία. Υπάρχουν επίσης πιο προηγμένες εργασίες που απαιτούν γνώση HTML, αλλά ας σταματήσουμε εκεί.

1.2 PHP

Παραπάνω έχω δώσει τα περιεχόμενα ενός μικροσκοπικού αρχείου γραμμένου σε PHP. Αυτό το αρχείο περιέχει ένα τέτοιο ελάττωμα που δεν έχει πλέον σημασία πόσο καλά έχει ρυθμιστεί ο διακομιστής, εάν υπάρχει τείχος προστασίας αρχείων κ.λπ. Εάν κάποιος χρησιμοποιεί αυτό το θέμα, τότε ο ιστότοπος αυτού του ατόμου βρίσκεται υπό τον πλήρη έλεγχό μας (και εάν ο διακομιστής/η φιλοξενία έχει ρυθμιστεί στραβά, τότε ολόκληρος ο υπολογιστής είναι υπό τον έλεγχό μας). Αλλά για να το καταλάβετε αυτό, πρέπει να γνωρίζετε τουλάχιστον λίγη PHP.

Για να χρησιμοποιήσετε έτοιμα exploits που έγραψε κάποιος άλλος, πάλι, πρέπει να γνωρίζετε τουλάχιστον τα βασικά της PHP για να ξέρετε πού να γράψετε τη διεύθυνση του ιστότοπου και άλλες μεταβλητές και πώς να εκτελέσετε αυτό το σενάριο γενικά.

1.3 MySQL

Συνήθως, τα πιο ενδιαφέροντα πράγματα βρίσκονται στις βάσεις δεδομένων. Για να κατανοήσετε πώς να χρησιμοποιήσετε την ένεση MySQL, πρέπει να γνωρίζετε τι είναι η ένεση MySQL. Για να κατανοήσετε την ουσία της έγχυσης MySQL, πρέπει να γνωρίζετε τι είναι τα ερωτήματα MySQL, ποια είναι η σύνταξη αυτών των ερωτημάτων, ποια είναι η δομή της βάσης δεδομένων, πώς αποθηκεύονται τα δεδομένα, ποιοι πίνακες είναι κ.λπ.

Γενικά, τα τρία πρώτα σημεία, καθώς και οι ιδέες για τις συσκευές ιστοτόπων, είναι πιο εύκολο να κατανοηθούν αν μάθετε να μην «χακάρετε» ιστοσελίδες, αλλά να τις δημιουργείτε. Μελέτη με στόχο να κάνεις κάτι θετικό. Υπάρχει ένα παράδοξο σε αυτό, γιατί με τον ίδιο τρόπο, για να μάθετε πώς να προστατεύετε καλά τις εφαρμογές Ιστού, πρέπει να μάθετε πώς να τις χακάρετε! Μόνο αν μπορείτε να δείτε τις τεχνολογίες Ιστού μέσα από τα μάτια ενός χάκερ, μπορείτε να αποκτήσετε ανεκτίμητη εμπειρία. Το ίδιο συμβαίνει και με τους ιστότοπους – η απλή εκμάθηση των λειτουργιών και των βασικών στοιχείων της γλώσσας είναι ελάχιστη χρήσιμη. Πρέπει να γίνετε προγραμματιστής ιστού για να κατανοήσετε τις λεπτομέρειες ενός ιστότοπου.

1.4 JavaScript, JQuery

Τουλάχιστον, πρέπει να γνωρίζετε ότι οι ιστότοποι ελέγχονται από JavaScript. Πράγματι, σε ορισμένους ιστότοπους που δεν σας επιτρέπουν να επιλέξετε (ή/και να αντιγράψετε) περιεχόμενο, δεν σας επιτρέπουν να κάνετε λήψη ενός αρχείου ή απλά πρέπει να απενεργοποιήσετε τη JavaScript για να γίνουν όλα αυτά δυνατά.

Λοιπόν, για να απενεργοποιήσετε τη JavaScript, πρέπει να γνωρίζετε: α) σε ποιες περιπτώσεις εξαρτάται από αυτήν η λειτουργία (προστασία) του ιστότοπου. β) πώς συνδέεται η JavaScript και με ποιους τρόπους μπορούν να αποκλειστούν τα σενάρια.

Μπορείτε να δώσετε έναν τόνο παραδειγμάτων ανεπιτυχούς προστασίας φόρμας χρησιμοποιώντας JavaScript (θυμάμαι μια φόρμα στον ιστότοπο του FSB της Ρωσικής Ομοσπονδίας - για να την υποβάλετε, πρέπει να συμπληρώσετε εκατό πεδία (διαβατήριο, εγγραφή κ.λπ. ), αλλά με τους απλούστερους χειρισμούς αυτός ο "περιορισμός" μπορεί να παρακαμφθεί (αυτό ήταν πολύ καιρό πριν, είναι πολύ πιθανό να διόρθωσαν τη φόρμα σχολίων)).

2. Βασικά στοιχεία δικτύωσης, web servers και websites

2.1 Σχεδιασμός δικτύου

Πρέπει οπωσδήποτε να γνωρίζετε τη δομή των δικτύων: τι είναι μια διεύθυνση IP, ότι σας επιτρέπει να αναγνωρίσετε έναν χρήστη του Διαδικτύου, πώς να αποκρύψετε την IP σας, τι είναι ο διακομιστής μεσολάβησης, τι είναι το TOR, τι είναι ένας τομέας, θύρες κ.λπ. .

Πρέπει αρχικά να γνωρίζετε τα παραπάνω, τουλάχιστον για να κατανοήσετε βασικά κείμενα και οδηγίες υπολογιστή. Και επίσης να συνειδητοποιήσουμε το γεγονός ότι η ανωνυμία στο Διαδίκτυο είναι κάτι εφήμερο.

Οι προηγμένες γνώσεις σχετικά με τη δημιουργία δικτύων θα σας βοηθήσουν να πραγματοποιήσετε αποτελεσματικές σαρώσεις χρησιμοποιώντας ειδικά προγράμματα στο μέλλον.

2.2 Κατανόηση του σχεδιασμού και της λειτουργίας ενός διακομιστή web

Όπως και στις προηγούμενες παραγράφους, θα ξεκινήσω με ένα απλό παράδειγμα (παρεμπιπτόντως, πολύ πρόσφατο). Κατά την επίσκεψη σε έναν από τους διακομιστές, ανακαλύφθηκε ότι οι ρυθμίσεις διακομιστή σάς επιτρέπουν να προβάλλετε τα περιεχόμενα των καταλόγων (καταχώριση αρχείων). Το phpMyAdmin βρέθηκε στον διακομιστή, αλλά οι τυπικοί κωδικοί πρόσβασης δεν ταίριαζαν. Περιπλανώμενος στους καταλόγους σε μια προσπάθεια να βρεθούν ευάλωτα σενάρια (υπάρχουν αυτογραφικά σενάρια για την επεξεργασία νοσοκομειακών αρχείων και τη διανομή «αριθμών»), βρέθηκε ένα αρχείο κειμένου (!) που περιείχε μια γραμμή με δύο λέξεις που χωρίζονται με κόμμα. Όπως αποδείχθηκε, αυτό ήταν το login και ο κωδικός πρόσβασης για το phpMyAdmin. Η βάση δεδομένων, όπως λένε, είναι δική μας λόγω της κλινικής βλακείας του προγραμματιστή, αλλά για να γράψετε το αρχείο σας στον διακομιστή, χρειαζόσασταν γνώση σχετικά με αυτόν τον διακομιστή. Για παράδειγμα, πρέπει να γνωρίζετε την απόλυτη διαδρομή όπου θα εγγραφεί το μήνυμα. Για να γνωρίζετε την απόλυτη διαδρομή, πρέπει τουλάχιστον να γνωρίζετε τη δομή καταλόγου του διακομιστή Apache.

ΔΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑ `shell` (ΚΕΙΜΕΝΟ` script NOT NULL) ΣΧΟΛΙΟ = "πίνακας για συμπερίληψη"; INSERT INTO "shell" ("script") ΤΙΜΕΣ (""); ΕΠΙΛΟΓΗ δέσμης ενεργειών ΑΠΟ το "shell" ΣΤΟ OUTFILE "C://Apache24/htdocs/shell.php"; ΑΠΟΣΤΟΛΗ ΠΙΝΑΚΑΣ `shell`;

Αυτό που προσπαθώ να πω με αυτό το παράδειγμα δεν είναι ότι πρέπει να μάθετε τη δομή του Apache. Θέλω να πω ότι χωρίς γνώση για το πώς λειτουργεί, για τις γενικές αρχές του πώς λειτουργεί ένας διακομιστής ιστού, θα συναντάτε συνεχώς την αδυναμία να «προωθήσετε» πλήρως μια ευπάθεια, ακόμα κι αν έχει ήδη βρεθεί.

Θυμάστε τι είπα για τις γλώσσες προγραμματισμού και την κατανόηση του πώς λειτουργούν οι ιστότοποι; Για να κατανοήσετε το πλήρες βάθος, πρέπει να γίνετε ο ίδιος προγραμματιστής ιστού. Για να κατανοήσετε έναν διακομιστή ιστού, πρέπει να διαβάσετε βιβλία όχι για την παραβίαση ενός διακομιστή ιστού, αλλά για τη συντήρησή του. Εκείνοι. πρέπει να γίνετε ο ίδιος διαχειριστής συστήματος και η επίγνωση των αδύναμων σημείων, στις οποίες πρέπει να «στάξετε» όταν προσπαθείτε να διεισδύσετε σε έναν διακομιστή ιστού, θα έρθει από μόνη της.

2.3 Κατανόηση του σχεδιασμού και της λειτουργίας ιστοσελίδων

Σε γενικές γραμμές, πολλά θα γίνουν ξεκάθαρα όταν μελετάτε γλώσσες προγραμματισμού για εφαρμογές web.

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

Για παράδειγμα, μια πολύ απλή γνώση ότι για να προσθέσετε μια εικόνα σε έναν ιστότοπο που βρίσκεται δύο καταλόγους ψηλότερα σε σχέση με το αρχείο .htm, μπορείτε να χρησιμοποιήσετε την κατασκευή ./../../, π.χ. Για παράδειγμα

Αυτή η πολύ φαινομενικά κοινότοπη πληροφορία μας επέτρεψε να δημιουργήσουμε ένα πολύ απλό, αλλά εκπληκτικά αποτελεσματικό "hack"

Αν ($handle = opendir("./../../../../../../../../..")) ( while (false !== ($entry = readdir($handle))) ( if ($entry != "." && $entry != "..") ( echo "$entry
"; ) ) closeir($handle); )

Όταν το ανακάλυψα αυτό για τον εαυτό μου, χρησιμοποιούσα ακόμη δωρεάν φιλοξενία (το όνομα τομέα της εταιρείας ήταν holm.ru ή holms.ru - διένειμαν επίσης τομείς τρίτου επιπέδου όπως *.h7.ru, *.h10.ru, δηλαδή τους αριθμούς αλλάζουν διαδοχικά καθώς γεμίζουν οι διακομιστές).

Εφάρμοσα αυτές τις λίγες γραμμές που έδωσα ακριβώς από πάνω και αποδείχτηκε ότι μπορούσα να ξεπεράσω τα όρια του φακέλου που μου έχει δοθεί. Ένα ελαφρώς βελτιωμένο σενάριο μου επέτρεψε όχι μόνο να προβάλω τη ρίζα του διακομιστή, αλλά να μπω μέσα στους φακέλους που είδα και να ανοίξω αρχεία για προβολή. Το αποτέλεσμα ήταν εκπληκτικό! Έμαθα πολλά για τους ιστότοπους άλλων ανθρώπων. Η κύρια ανακάλυψη είναι ότι η αναλογία «κανονικών τοποθεσιών» προς «μη κανονικές» (δόλια, ανούσια, απλά κενά) δεν είναι υπέρ των «κανονικών». Συνάντησα "ιστοσελίδες γνωριμιών" (ακόμη μερικές φορές τους συναντώ) όπου το "εξώφυλλο" είναι πολύ όμορφο - η κύρια σελίδα, με ωραίους ανθρώπους που φαίνεται να είναι ήδη χρήστες του ιστότοπου. Και αν θέλετε να αρχίσετε να επικοινωνείτε μαζί τους, πρέπει να εγγραφείτε και να εισαγάγετε κάτι εκεί ή να πληρώσετε. Αλλά στην πραγματικότητα, δεν υπάρχει τίποτα άλλο μέσα στην ιστοσελίδα εκτός από αυτές τις δέκα φωτογραφίες. Αυτό είναι πλέον ξεκάθαρο σε όλους, αλλά κάποτε μελετούσα την απάτη στο Διαδίκτυο ακριβώς με αυτόν τον τρόπο.

Αλλά το πιο εκπληκτικό πράγμα που ανακάλυψα ήταν ιστότοποι των οποίων τα ονόματα τομέα περιλάμβαναν τη λέξη mail. "Στο εξωτερικό", αυτοί οι ιστότοποι αποτελούνταν από μία μόνο σελίδα, εντελώς πανομοιότυπη με τη σελίδα σύνδεσης του mail.ru. Αλλά μέσα υπήρχαν πολλά αρχεία, ένα από τα οποία σχεδόν πάντα αποδείχθηκε ότι ήταν μια συλλογή ζευγών σύνδεσης-κωδικού πρόσβασης. Εκείνοι. κάποιος, με διάφορα προσχήματα (δείτε μια καρτ ποστάλ, για παράδειγμα), παρέσυρε χρήστες σε αυτή τη σελίδα, ανυποψίαστοι χρήστες εισήγαγαν τα δεδομένα τους και κατέληξαν ήδη στον χάκερ.

Υπήρχαν πολλοί παραβιασμένοι λογαριασμοί (μάζεψα περισσότερους από εκατό από όλους τους ιστότοπους). Στις μισές περίπου περιπτώσεις, ο κωδικός πρόσβασης δεν ταίριαζε (ο χρήστης κατάφερε να τον αλλάξει) ή το γραμματοκιβώτιο ήταν εντελώς άδειο (ο χρήστης υποψιάστηκε κάτι και διέγραψε όλα τα γράμματα). Όμως, όταν θυμάμαι το δεύτερο ημίχρονο, εξακολουθώ να βασανίζομαι από μια εικασία: όταν οι άνθρωποι πιστεύουν ότι κανείς δεν θα το μάθει, είναι πραγματικά τόσο περίεργοι ή είμαι απλώς τυχερός με την επιλογή; Από τα ενδιαφέροντα κουτιά, πολλά, με τον ένα ή τον άλλο τρόπο, περιείχαν αλληλογραφία για την ανταλλαγή οικείων φωτογραφιών, συνομιλίες «κάτω από τη ζώνη» και το θέμα των ανηλίκων θίχτηκε σε σημαντικό μέρος. Θυμάμαι ακόμα μια φωτογραφία ενός άντρα ντυμένο με γυναικεία στολή (κάλτσες και όλο το σετ), ο οποίος την έστειλε σε μια γυναίκα που ενδιαφερόταν για γυναίκες (ο άντρας τον έπεισε ότι ήταν γυναίκα) για να της στείλει " γυμνές» φωτογραφίες σε αντάλλαγμα. Τι μήκος είστε διατεθειμένοι να πάτε για να δείτε μια φωτογραφία μιας γυμνής γυναίκας; 🙂

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

Είναι δύσκολο να διαφωνήσεις με τον Βίκτορ Πελεβίν

Απλώς ο συναρμολογητής της ψυχής κάποιου άλλου σπάνια φαίνεται ελκυστικός μετά από προσεκτική εξέταση.

3. Βασικά στοιχεία του λειτουργικού συστήματος Linux

Όσο περισσότερα γνωρίζετε για το Linux, τόσο το καλύτερο. Αν και μόνο επειδή ένας τεράστιος αριθμός διακομιστών Ιστού στο Διαδίκτυο χρησιμοποιούν το Linux ως λειτουργικό τους σύστημα.

Είπα την περίπτωσή μου για την υπέρβαση του καταλόγου που μου έχει δοθεί στη φιλοξενία. Με έναν άλλο hoster, κατάφερα να μπω στον ριζικό κατάλογο του συστήματος αρχείων (αλλά οι ιστότοποι αποδείχθηκαν απρόσιτοι, καθώς τα δικαιώματα στους φακέλους είχαν καταχωρηθεί σωστά). Και φανταστείτε την κατάσταση: βιάζομαι στους φακέλους του διακομιστή, γιατί πρέπει να πιάσω γρήγορα κάτι πολύτιμο, οι κωδικοί πρόσβασης είναι διαφορετικοί κ.λπ. Πού τα έχει όλα το Linux; Σε ποιους καταλόγους πρέπει να πάω και ποια αρχεία να κατεβάσω; Ήμουν εντελώς άγνωστος Linux και το βασικό συμπέρασμα που έβγαλα για τον εαυτό μου μετά από αυτό το περιστατικό είναι ότι πρέπει να καταλάβετε το Linux, διαφορετικά δεν υπάρχει άλλος τρόπος.

Πολλά προγράμματα ανάλυσης διείσδυσης δικτύου και ιστοσελίδων τρέχουν σε Linux. Πρέπει να ξέρετε πώς να εγκαταστήσετε, πώς να εκκινήσετε (αν είναι πρόγραμμα κονσόλας).

Γενικά, σε ένα ασυνήθιστο λειτουργικό σύστημα, οι χρήστες μερικές φορές δεν ξέρουν πώς να αντιγράψουν ένα αρχείο ή πώς να το ανοίξουν ή πώς να εγκαταστήσουν ένα νέο πρόγραμμα ή "πού είναι η μονάδα δίσκου D" κ.λπ. Γενικά, μάθετε το Linux στις διάφορες πτυχές του.

Και ξεκινήστε τη μελέτη σας όχι με το Kali Linux, αλλά, για παράδειγμα, με το Linux Mint.

Το Kali Linux δεν είναι πολύ κατάλληλο για αρχάριους. Ακόμη και το φιλικό Linux Mint μπορεί να έχει προβλήματα με την κανονική χρήση. Τι μπορούμε να πούμε για το Kali Linux. Όλα τα προγράμματα που είναι διαθέσιμα στο Kali Linux μπορούν να λειτουργήσουν τέλεια σε άλλες εκδόσεις του Linux. Θα συνιστούσα αυτό: χρησιμοποιήστε το Linux Mint ως κύριο λειτουργικό σύστημα και αφού μάθετε νέα προγράμματα, εγκαταστήστε τα στο Linux Mint ή χρησιμοποιήστε το Kali Linux ως εικονική μηχανή (δεύτερο λειτουργικό σύστημα).

Τελικές λέξεις

Έδωσα αρκετά παραδείγματα από τα πειράματά μου για την παράκαμψη περιορισμών και διείσδυσης. Πόσα από αυτά χρησιμοποίησα το Kali Linux; Κανένας. Θυμάμαι πολύ καλά την πρώτη μου γνωριμία με τον προκάτοχο του Kali Linux - το εγκατέστησα σε έναν εικονικό υπολογιστή, κοίταξα το μενού (υπήρχαν ακατανόητα αγγλικά ονόματα), προσπάθησα να ξεκινήσω ορισμένα προγράμματα (η γραμμή εντολών άνοιγε σχεδόν πάντα), συνειδητοποίησα ότι τίποτα δεν ήταν σαφές εδώ, έκλεισε τα πάντα και διαγράφηκε.

Μάθετε γλώσσες προγραμματισμού (PHP, MySQL, HTML), νέες τεχνολογίες, Linux, σχεδιασμό και λειτουργία διακομιστή. Προσπαθήστε να σκεφτείτε δημιουργικά (πώς να φτιάξετε έναν ιστότοπο, πώς να διατηρήσετε έναν διακομιστή, πώς να εργάζεστε αποτελεσματικά στο Linux) και η κατανόηση των υποκείμενων διαδικασιών θα έρθει από μόνη της. Και αυτό (η γνώση και η κατανόηση των διαδικασιών που λαμβάνουν χώρα) είναι ο κύριος πλούτος ενός χάκερ. Δεν χρειάζεται να κλείσετε το τηλέφωνο στο Kali Linux. Η εκμάθηση του Kali Linux χωρίς να ξέρεις τι έχω αναφέρει παραπάνω είναι σαν να χτίζεις ένα σπίτι χωρίς θεμέλια.

Πολλοί άνθρωποι ενδιαφέρονται για το ερώτημα ποιο λειτουργικό σύστημα είναι καλύτερο για hacking. Πρώτα θα πω ότι σχεδόν κάθε επαγγελματίας και ειδικός χρησιμοποιεί για αυτό Linuxή Unix. Αν και ορισμένες λειτουργίες μπορούν να πραγματοποιηθούν από κάτω WindowsΚαι MacOS, σχεδόν όλα τα εργαλεία έχουν σχεδιαστεί ειδικά για Linux.

Υπάρχουν όμως κάποιες εξαιρέσεις, όπως προγράμματα Κάιν και Άβελ, Havij,ZenmapΚαι Metasploit, τα οποία έχουν αναπτυχθεί ή μπορούν να μεταφερθούν σε Windows.

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

Σε γενικές γραμμές, για να γίνετε ένας χάκερ υψηλής εξειδίκευσης, πρέπει να κατακτήσετε ορισμένες δεξιότητες Linux, και επίσης να εργαστείτε με διανομές όπως BackTrackή Κάλι.

Για όσους δεν έχουν χρησιμοποιήσει ποτέ Linux, αφιερωμένο στην Αυτή είναι μια συλλογή βασικών Linux με έμφαση στις δεξιότητες που απαιτούνται για το hacking. Άρα, πρέπει να τρέξεις BackTrackή άλλη διανομή Linux.

Βήμα 1: Εκκινήστε το Linux

Μετά την εκτόξευση BackTrackκαι συνδεθείτε ως χρήστης " ρίζα", εισάγετε την εντολή:

Bt>startx

Η οθόνη πρέπει να μοιάζει κάπως έτσι.

Βήμα 2: Άνοιγμα τερματικού

Για να γίνεις ειδικός σε Linux, πρέπει να μάθετε πώς να χρησιμοποιείτε το τερματικό. Σε διάφορες διανομές Linuxπολλά πράγματα μπορούν να γίνουν απλά δείχνοντας και κάνοντας κλικ, ακριβώς όπως μέσα Windowsή MacOS, αλλά ένας επαγγελματίας χάκερ πρέπει να ξέρει πώς να χρησιμοποιεί ένα τερματικό για να τρέξει τα περισσότερα εργαλεία.

Έτσι, μπορείτε να ανοίξετε το τερματικό κάνοντας κλικ στο εικονίδιο του στον κάτω πίνακα. Μια παρόμοια εικόνα θα πρέπει να εμφανιστεί στην οθόνη.

Τερματικό μέσα Linuxπαρόμοια με τη γραμμή εντολών στο Windows, αλλά είναι πολύ πιο ισχυρό. Σε αντίθεση με τη γραμμή εντολών, στο τερματικό με Linuxμπορείτε να κάνετε τα πάντα και να ελέγξετε το σύστημα με μεγαλύτερη ακρίβεια από ό,τι μέσα Windows.

Είναι σημαντικό να θυμάστε ότι σε Linuxη υπόθεση του χαρακτήρα έχει σημασία. Δηλαδή η εντολή " Επιφάνεια εργασίας" διαφέρει από " επιφάνεια εργασίας", που δεν είναι το ίδιο με " Επιφάνεια εργασίας" Για κάποιους αρχάριους να LinuxΑυτό είναι δύσκολο και απαιτεί απομνημόνευση.

Βήμα 3: Εξοικειωθείτε με τη δομή του καταλόγου

Ας προχωρήσουμε στα βασικά της εργασίας Linux. Πολλοί αρχάριοι μπερδεύονται σχετικά με τη δομή του συστήματος αρχείων Linux. Στο Linux, σε αντίθεση με τα Windows, το σύστημα αρχείων δεν είναι συνδεδεμένο με τη φυσική μνήμη του δίσκου, επομένως δεν υπάρχει δίσκος συστήματος ντο:\,ως η ρίζα του λειτουργικού συστήματος Linux, αλλά υπάρχει / .

Ο χαρακτήρας κάθετο προς τα εμπρός ( / ) αντιπροσωπεύει τη ρίζα ( ρίζα) ή στην κορυφή της ιεραρχίας του συστήματος αρχείων. Όλοι οι άλλοι κατάλογοι (φάκελοι) βρίσκονται χαμηλότερα στη δομή, όπως οι φάκελοι και οι υποφάκελοι σε έναν δίσκο ντο:\.

Για να απεικονίσετε το σύστημα αρχείων, δείτε το παρακάτω διάγραμμα.

Είναι σημαντικό να έχετε μια βασική κατανόηση της δομής των αρχείων, επειδή συχνά θα πρέπει να χρησιμοποιήσετε το τερματικό για να πλοηγηθείτε στο σύστημα αρχείων χωρίς ένα εργαλείο όπως Εξερεύνηση των Windows.

Υπάρχουν πολλά σημαντικά σημεία που πρέπει να σημειωθούν σε αυτή τη γραφική αναπαράσταση.

Κατάλογος /αποθήκη– Αυτή είναι η τοποθεσία όπου βρίσκονται τα δυαδικά αρχεία. Προγράμματα που επιτρέπουν Linuxδουλειά.

/και τα λοιπά– αυτός είναι ο φάκελος όπου αποθηκεύονται τα αρχεία διαμόρφωσης. ΣΕ Linuxσχεδόν τα πάντα ρυθμίζονται χρησιμοποιώντας αρχεία διαμόρφωσης κειμένου που βρίσκονται σε /και τα λοιπά.

Στον κατάλογο /devτοποθετούνται αρχεία συσκευής παρόμοια με προγράμματα οδήγησης Windows.

/var– Αυτή είναι η τοποθεσία όπου αποθηκεύονται τα αρχεία καταγραφής και άλλα αρχεία.

Βήμα 4: Χρησιμοποιώντας την εντολή pwd

Τερματικό μέσα BackTrackαπό προεπιλογή ανοίγει στον κατάλογο του χρήστη Σπίτι. Όπως φαίνεται στο παραπάνω γράφημα, στην ιεραρχία αυτό είναι ένα βήμα κάτω από τον ριζικό κατάλογο ρίζα. Μπορείτε να επαληθεύσετε σε ποιον κατάλογο βρίσκεται ο χρήστης πληκτρολογώντας την εντολή:

Bt > pwd

Ομάδα pwdπου προέρχονται από " παρών κατάλογο εργασίας" (Αγγλικά: "represent the working directory"), και επιστρέφει την τιμή /ρίζα, που σημαίνει ότι ο χρήστης είναι μέσα τουτον ριζικό κατάλογο (μην το συγχέετε με το επάνω μέρος της δομής του αρχείου συστήματος).

Ομάδα pwdΕίναι καλύτερα να θυμάστε, καθώς θα σας βοηθά πάντα να μάθετε πού βρίσκεται ο χρήστης στο σύστημα καταλόγου.

Βήμα 5: Χρήση της εντολής cd

Μπορείτε να αλλάξετε τον κατάλογο χρησιμοποιώντας την εντολή CD(από τον αγγλικό κατάλογο αλλαγής, "change directory"). Σε αυτήν την περίπτωση, για να μεταβείτε πιο ψηλά στη δομή του φακέλου, πρέπει να πληκτρολογήσετε:

Bt > cd ..

Ομάδα CDακολουθούμενη από δύο τελείες ( .. ) λέει: "move up one level in the folder structure." Σημειώστε ότι η γραμμή εντολών έχει αλλάξει και όταν εισάγετε pwd, το Linux απαντά ότι ο τρέχων χρήστης είναι στο " / "ή στην κορυφή του συστήματος καταλόγου (στον ριζικό κατάλογο του συστήματος).

Bt > pwd

Βήμα 6: Χρησιμοποιώντας την εντολή whoami

Το τελευταίο βήμα αυτής της ανάρτησης εκμάθησης θα χρησιμοποιήσει την εντολή ποιός είμαι. Το αποτέλεσμα αυτής της εντολής θα είναι η έξοδος του ονόματος χρήστη που είναι συνδεδεμένο στο σύστημα. Εφόσον η σύνδεση εδώ γίνεται από τον χρήστη root, μπορείτε να συνδεθείτε σε οποιονδήποτε λογαριασμό χρήστη και το όνομα αυτού του χρήστη θα εμφανίζεται στο τερματικό.

Bt > whoami

Αυτα για τωρα. ΣΕ τις παρακάτω εκπαιδευτικές θέσειςπεριγράφει τα βασικά της εργασίας σε Linux, το οποίο θα χρειαστείτε για να γίνετε επαγγελματίας χάκερ.

Άρνηση ευθύνης: Αυτό το άρθρο έχει γραφτεί μόνο για εκπαιδευτικούς σκοπούς. Ο συγγραφέας ή ο εκδότης δεν δημοσίευσε αυτό το άρθρο για κακόβουλους σκοπούς. Εάν οι αναγνώστες επιθυμούν να χρησιμοποιήσουν τις πληροφορίες για προσωπικό όφελος, ο συγγραφέας και ο εκδότης δεν ευθύνονται για οποιαδήποτε βλάβη ή ζημιά προκληθεί.

Υπάρχουν πολλές δημοφιλείς διανομές ασφαλείας που περιέχουν τα περισσότερα από τα δημοφιλή βοηθητικά προγράμματα και εφαρμογές δοκιμών διείσδυσης. Συνήθως βασίζονται σε υπάρχουσες διανομές Linux και είναι επανασχεδιασμένες εκδόσεις τους. Αυτό το άρθρο θα παρουσιάσει τα πιο διάσημα από αυτά.

Kali Linux

Η πιο δημοφιλής διανομή σήμερα. Είναι ο διάδοχος του Backtrack Linux.
Το Kali Linux είναι ένα απίστευτα ισχυρό εργαλείο δοκιμών διείσδυσης που συνοδεύεται από περισσότερα από 600 βοηθητικά προγράμματα ασφαλείας όπως Wireshark, Nmap, Armitage, Aircrack, Burp Suite κ.λπ.

Υπάρχουν διάφοροι τύποι αυτής της διανομής για διάφορες πλατφόρμες, όπως ARM, συστήματα εικονικοποίησης, περιπτώσεις πραγματοποίησης επιθέσεων από κινητές πλατφόρμες - Kali Nethunter.

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

BlackArch

Το BlackArch Linux έχει σχεδιαστεί ειδικά για χρήστες pentest και επαγγελματίες ασφαλείας. Υποστηρίζει αρχιτεκτονικές i686 και x86_64. Το κιτ εγκατάστασης περιλαμβάνει επί του παρόντος 1.359 βοηθητικά προγράμματα δοκιμής διείσδυσης και ο αριθμός τους αυξάνεται συνεχώς. Βασισμένο στο Arch Linux.

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

Parrot Security OS

Μια ολοένα και πιο δημοφιλής διανομή ασφαλείας που βασίζεται στο Debian-linux. Αρκετά εύκολο στην εκμάθηση, κατάλληλο τόσο για αρχάριους όσο και για επαγγελματίες. Αυτή η διανομή στοχεύει τόσο σε δοκιμές διείσδυσης όσο και σε ανώνυμη εργασία στο Διαδίκτυο.

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

BackBox

Το BackBox είναι μια ελαφριά διανομή που βασίζεται στο Ubuntu. Σε άμεση σύγκριση με την Κάλι θα χάσει σε πολλούς βαθμούς. Δεν διαθέτει τόσο μεγάλη ποικιλία εργαλείων, βοηθητικών προγραμμάτων και πλαισίων διαθέσιμα αμέσως. Δεν υπάρχουν βελτιστοποιήσεις πυρήνα ή άλλες τροποποιήσεις.

Το ελαφρύ κέλυφος του XFCE κάνει το BackBox Linux πιο κατάλληλο για καθημερινή χρήση ως άλογο εργασίας στον προσωπικό σας υπολογιστή. Υπάρχει μια λειτουργία - Ανώνυμη λειτουργία - όλη η κίνηση του συστήματος διέρχεται μέσω του διακομιστή μεσολάβησης TOR. Το σενάριο εκκίνησης αλλάζει τη διεύθυνση MAC του συστήματος και το όνομα κεντρικού υπολογιστή και όταν η λειτουργία είναι απενεργοποιημένη, όλα τα προσωρινά αρχεία διαγράφονται χρησιμοποιώντας το ενσωματωμένο πακέτο BleachBit.

Το Backbox Linux μπορεί να είναι μια εξαιρετική εναλλακτική λύση στο Kali Linux για όσους αναζητούν μια ισορροπία μεταξύ λειτουργικότητας και ευκολίας καθημερινής χρήσης.

Pentoo Linux

Το Pentoo είναι μια διανομή ασφαλείας που βασίζεται στη δημοφιλή διανομή Gentoo Linux, της οποίας θαυμαστές είναι οι προγραμματιστές του Pentoo. Περιέχει πολλά βοηθητικά προγράμματα ασφαλείας.

Ένα από τα χαρακτηριστικά είναι η εγγενής υποστήριξη για το Hardened Gentoo - αρκετές αλλαγές στον μεταγλωττιστή και τον πυρήνα που αυξάνουν τη συνολική ασφάλεια του συστήματος από το hacking.

Εργαλειοθήκη ασφάλειας δικτύου

Το Network Security Toolkit είναι μία από τις πολλές διανομές Linux σε στυλ Live CD που στοχεύει στην ανάλυση της ασφάλειας του δικτύου. Το NST παρέχει στους διαχειριστές εύκολη πρόσβαση σε μια μεγάλη ποικιλία εφαρμογών ανοιχτού δικτύου, πολλές από τις οποίες περιλαμβάνονται στα κορυφαία 100 εργαλεία ασφαλείας που προτείνει το insecure.org. Βασισμένο στο Fedora Linux.

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

DEFT Linux

Αυτή η διανομή έχει αναπτυχθεί στην πλατφόρμα Lubuntu και έχει μια φιλική προς το χρήστη γραφική διεπαφή. Επιπλέον, ένα σύνολο εξειδικευμένων βοηθητικών προγραμμάτων έχει προστεθεί στο προϊόν, ξεκινώντας από προγράμματα προστασίας από ιούς, συστήματα αναζήτησης πληροφοριών στην κρυφή μνήμη του προγράμματος περιήγησης, σαρωτές δικτύου και βοηθητικά προγράμματα για τον εντοπισμό rootkit και τελειώνοντας με εργαλεία που είναι απαραίτητα για την αναζήτηση δεδομένων που είναι κρυμμένα στο δίσκο.

Ο κύριος σκοπός είναι η διεξαγωγή εγκληματολογικών δραστηριοτήτων - ανάλυση των συνεπειών της εισβολής συστημάτων υπολογιστών, εντοπισμός χαμένων και παραβιασμένων δεδομένων, καθώς και συλλογή των λεγόμενων. ψηφιακά στοιχεία εγκλημάτων στον κυβερνοχώρο.

Πλαίσιο Ασφαλείας Ιστού Samurai

Ο κύριος σκοπός αυτής της διανομής είναι ο έλεγχος διείσδυσης διαφόρων διαδικτυακών εφαρμογών.

Παραδίδεται ως εικόνα εικονικής μηχανής που περιέχει τα πιο δημοφιλή βοηθητικά προγράμματα ανοιχτού κώδικα για τη συλλογή πληροφοριών και την πραγματοποίηση διαφόρων επιθέσεων σε εφαρμογές Ιστού.

Πεντεστέρας

Το PentestBox δεν μοιάζει με άλλες διανομές ασφαλείας που εκτελούνται σε εικονικές μηχανές. Δεν θα ήταν απολύτως σωστό να ονομάσουμε αυτό το συγκρότημα διανομή, είναι μάλλον ένα σύνολο βοηθητικών προγραμμάτων που μοιάζουν με *nix που εκτελούνται σε περιβάλλον Windows.

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

Εάν είστε χρήστης των Windows και φοβάστε να εγκαταστήσετε εικονικές μηχανές ή Linux, μπορείτε να δοκιμάσετε να εργαστείτε με αυτό το κέλυφος.

Santoku Linux

Η διανομή βασίζεται στο Ubuntu Linux. Παρουσιάζεται μόνο ως πλατφόρμα X64.

Αυτό το συγκρότημα προορίζεται για την ανάλυση φορητών συσκευών και εφαρμογών - διεξαγωγή ανάλυσης ασφαλείας, εξαγωγή δεδομένων, αντίστροφη μηχανική, εγκληματολογία και περιέχει επίσης εργαλεία ανάπτυξης.

WifiSlax

Πρόκειται για μια εξειδικευμένη διανομή με μια επιλογή εργαλείων για τον έλεγχο της ασφάλειας των συστημάτων δικτύου WiFi και τη διεξαγωγή εγκληματολογικών αναλύσεων. Η διανομή βασίζεται σε Slackware linux.

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

Σε αυτό το μέρος θέλω να μιλήσω για την επιλογή του υλικού και την επιλογή του λειτουργικού συστήματος για έναν χάκερ. Αμέσως σχετικά με το λειτουργικό σύστημα - θα μιλήσω για την επιλογή μεταξύ Linux και Windows, δεν θα μιλήσω για διανομές Linux. Όσο για το υλικό, δεν είμαι μεγάλος ειδικός υλικού, απλώς θα μοιραστώ μαζί σας μερικές παρατηρήσεις που διαμορφώθηκαν με βάση την πρακτική.

Υπολογιστής για έναν χάκερ

Ας ξεκινήσουμε με τα καλά νέα - οποιοσδήποτε μέσος υπολογιστής μπορεί να κάνει τη δοκιμή διείσδυσης και το hacking. Εάν αποφασίσετε να ασχοληθείτε με ένα νέο χόμπι ή να μάθετε ασφάλεια υπολογιστών (πολύ χρήσιμο για προγραμματιστές εφαρμογών ιστού και οποιονδήποτε άλλον που θα ήθελε να αποφύγει να γίνει θύμα χάκερ), τότε δεν χρειάζεται να πάτε στο κατάστημα για να αγοράσετε νέος υπολογιστής.

Ωστόσο, όταν επιλέγετε έναν νέο υπολογιστή, υπάρχουν ορισμένα πράγματα που μπορείτε να λάβετε υπόψη που θα βοηθήσουν τον υπολογιστή σας (και επομένως εσάς) να είστε πιο αποτελεσματικοί σε ορισμένες εργασίες.

Επιτραπέζιος ή φορητός υπολογιστής;

Ένας επιτραπέζιος υπολογιστής έχει πολλά πλεονεκτήματα: είναι πιο ισχυρός, φθηνότερος, πιο εύκολος στην αναβάθμιση και επισκευή, έχει πιο άνετο πληκτρολόγιο, περισσότερες θύρες, μεγαλύτερη οθόνη και πολλά άλλα. Και υπάρχει μόνο ένα μειονέκτημα - έλλειψη κινητικότητας. Εάν δεν αντιμετωπίζετε το καθήκον να ταξιδεύετε σε ιστότοπους και γενικά απλώς μελετάτε, τότε προτιμότερος είναι ένας επιτραπέζιος υπολογιστής.

Κάρτα βίντεο για pentester

Δεν χρειαζόμαστε κάρτα βίντεο, φυσικά, για παιχνίδια. Το χρειαζόμαστε για επανάληψη σε αθροίσματα κατακερματισμού (hashes). Ο κατακερματισμός είναι το αποτέλεσμα επεξεργασίας δεδομένων με χρήση ειδικού αλγόριθμου (συνάρτηση κατακερματισμού). Η ιδιαιτερότητά τους είναι ότι τα ίδια δεδομένα έχουν τους ίδιους κατακερματισμούς. Αλλά είναι αδύνατο να ανακτήσετε τα αρχικά δεδομένα από έναν κατακερματισμό. Αυτό χρησιμοποιείται ιδιαίτερα συχνά, για παράδειγμα, σε εφαρμογές web. Αντί να αποθηκεύουν τους κωδικούς πρόσβασης σε καθαρό κείμενο, οι περισσότεροι ιστότοποι αποθηκεύουν κατακερματισμούς αυτών των κωδικών πρόσβασης. Εάν εισαγάγετε το όνομα χρήστη και τον κωδικό πρόσβασής σας, ο ιστότοπος υπολογίζει τον κατακερματισμό του κωδικού πρόσβασης που εισαγάγατε και συγκρίνει εάν ταιριάζει με αυτόν που είχατε αποθηκεύσει προηγουμένως. Εάν ναι, τότε έχετε εισαγάγει τον σωστό κωδικό πρόσβασης και αποκτάτε πρόσβαση στον ιστότοπο. Προς τι όλα αυτά; Φανταστείτε ότι ένας χάκερ κατάφερε να αποκτήσει πρόσβαση σε μια βάση δεδομένων (για παράδειγμα, μέσω SQL injection) και έμαθε όλους τους κατακερματισμούς στον ιστότοπο. Θέλει να συνδεθεί ως ένας από τους χρήστες, αλλά δεν μπορεί - ο ιστότοπος απαιτεί κωδικό πρόσβασης, δεν δέχεται κατακερματισμούς.

Μπορείτε να ανακτήσετε έναν κωδικό πρόσβασης από έναν κατακερματισμό, για παράδειγμα, χρησιμοποιώντας ωμή βία (υπάρχουν επίσης πίνακες ουράνιου τόξου, αλλά δεν τους αφορούν τώρα και η ουσία τους συνοψίζεται στο ίδιο πράγμα - υπολογισμός κατακερματισμών για υποψήφιους κωδικούς πρόσβασης). Παίρνουμε έναν υποψήφιο κωδικό πρόσβασης, για παράδειγμα, "superbit", υπολογίζουμε το άθροισμα κατακερματισμού για αυτό, το συγκρίνουμε με το υπάρχον άθροισμα κατακερματισμού - εάν ταιριάζουν, τότε ο κωδικός πρόσβασης για τον χρήστη είναι "superbit", εάν όχι, τότε παίρνουμε το επόμενο υποψήφιο κωδικό πρόσβασης, για παράδειγμα, "dorotymylove", υπολογίζουμε το άθροισμα κατακερματισμού για αυτό, το συγκρίνουμε με αυτό που μάθαμε από τη βάση δεδομένων του ιστότοπου, εάν ταιριάζει, τότε γνωρίζουμε τον κωδικό πρόσβασης, αν όχι, συνεχίζουμε περαιτέρω.

Αυτή η λειτουργία (αναζήτηση κατακερματισμών) μπορεί να γίνει χρησιμοποιώντας έναν κεντρικό επεξεργαστή, υπάρχουν πολλά προγράμματα που μπορούν να το κάνουν αυτό. Ωστόσο, παρατηρήθηκε ότι είναι πολύ πιο γρήγορο να επαναλαμβάνετε τα hashes χρησιμοποιώντας μια κάρτα βίντεο. Σε σύγκριση με μια CPU, η χρήση μιας GPU αυξάνει την ταχύτητα αναζήτησης κατά δεκάδες, εκατοντάδες, χιλιάδες ή περισσότερες φορές! Φυσικά, όσο πιο γρήγορα γίνεται η αναζήτηση των κατακερματισμών, τόσο μεγαλύτερη είναι η πιθανότητα ενός επιτυχημένου hack.

Δημοφιλείς κάρτες γραφικών είναι οι AMD, GeForce και Intel HD Graphics. Δεν είναι πάντα δυνατό να αξιοποιήσετε πολλά από τα γραφικά Intel HD δεν είναι ιδιαίτερα ισχυρά και δεν αγοράζονται ξεχωριστά - επομένως δεν θα σταθούμε πολύ σε αυτά.

Η κύρια επιλογή είναι μεταξύ AMD και GeForce. Οι κάρτες γραφικών GeForce είναι πολύ πιο δημοφιλείς. Έχουν αποδείξει τον εαυτό τους στα παιχνίδια, έχουν έναν τεράστιο στρατό φιλάθλων. Αλλά η AMD είναι πιο κατάλληλη για brute force hashes, ανεξάρτητα από το πόσο απογοητευτικό είναι για τους οπαδούς της GeForce. Οι κάρτες γραφικών AMD από την κατηγορία μεσαίας τιμής εμφανίζουν περίπου τα ίδια αποτελέσματα με τις κάρτες γραφικών GeForce από την κορυφαία κατηγορία. Εκείνοι. Αντί για ένα κορυφαίο GeForce, μπορείτε να αγοράσετε 2 AMD φθηνότερα και να αποκτήσετε μεγαλύτερη ταχύτητα απαρίθμησης κατακερματισμού.

Ξανασκέφτηκα αυτή τη στιγμή. Συγκρίνοντας δεδομένα από και τιμές σε ηλεκτρονικά καταστήματα, κατέληξα στο συμπέρασμα ότι δεν υπάρχει διαφορά. Τα κορυφαία GeForces είναι δύο φορές πιο ισχυρά από τα κορυφαία Radeon. Και η τιμή είναι περίπου διπλάσια. Επιπλέον, πρέπει να γνωρίζετε ότι τα προγράμματα οδήγησης AMD έχουν μια πολύ οδυνηρή σχέση με τις περισσότερες διανομές Linux. Προς το παρόν, το hashcat στο Linux υποστηρίζει μόνο το AMDGPU-Pro, το οποίο υποστηρίζει μόνο νεότερες κάρτες γραφικών. Και ακόμη κι αν σκοπεύετε να αγοράσετε έναν υπολογιστή με μια νέα κάρτα γραφικών AMD, ελέγξτε πρώτα τη λίστα των υποστηριζόμενων διανομών Linux - είναι σύντομο, είναι πολύ πιθανό το λειτουργικό σας σύστημα να μην υπάρχει.

Σε γενικές γραμμές, ίσως κάποτε τα Radeon να ήταν πραγματικά καλύτερα από τα GeForces για τους brute-forcing κωδικούς πρόσβασης κάποτε εγκατεστημένα στο Linux με μία εντολή, αλλά τώρα δεν συμβαίνει αυτό. Αν έφτιαχνα έναν υπολογιστή ή αγόραζα ένα φορητό υπολογιστή τώρα, θα επέλεγα μοντέλα με GeForce.

Θα χρειαστεί επανάληψη σε κατακερματισμούς:

  • κατά τη δοκιμή εφαρμογών web για διείσδυση (μερικές φορές).
  • όταν χακάρεται το Wi-Fi (σχεδόν πάντα).
  • κατά το σπάσιμο του κωδικού πρόσβασης κρυπτογραφημένων δίσκων, πορτοφολιών, αρχείων, εγγράφων που προστατεύονται με κωδικό κ.λπ.) (πάντα).

ΕΜΒΟΛΟ

Μόνο όταν χρησιμοποιούσα ένα πρόγραμμα αντιμετώπισα έλλειψη μνήμης RAM. Αυτό το πρόγραμμα είναι IVRE. Για τις περισσότερες άλλες περιπτώσεις, η μνήμη RAM ενός υπολογιστή μέσης ή ακόμα και χαμηλής κατανάλωσης θα πρέπει να είναι αρκετή για να τρέξει σχεδόν οποιαδήποτε εφαρμογή σε ένα μόνο νήμα.

Εάν σκοπεύετε να χρησιμοποιήσετε το λειτουργικό σύστημα για pentest σε μια εικονική μηχανή, τότε σε αυτήν την περίπτωση είναι καλύτερο να φροντίσετε για επαρκή ποσότητα μνήμης RAM.

Απαιτήσεις RAM εικονικών μηχανών:

  • Arch Linux με GUI - 2 gigabyte RAM για πολύ άνετη εργασία
  • Kali Linux με GUI - 2 gigabyte RAM για κανονική λειτουργία
  • Kali Linux με GUI - 3-4 gigabyte RAM για πολύ άνετη εργασία
  • Οποιοδήποτε Linux χωρίς γραφική διεπαφή - περίπου 100 megabyte για το ίδιο το σύστημα + το ποσό που θα καταναλώσουν τα προγράμματα που εκτελείτε
  • Τελευταίες εκδόσεις των Windows - 2 GB μόνο για έναρξη (πολλές επιβραδύνσεις)
  • Τελευταίες εκδόσεις των Windows - 4 GB ή περισσότερα για άνετη εργασία.

Για παράδειγμα, έχω 8 gigabyte στο κύριο σύστημα μου, διέθεσα 2 gigabyte RAM σε Arch Linux και Kali Linux, τα τρέχω (αν χρειαστεί) ταυτόχρονα και δουλεύω άνετα σε αυτά. Εάν σκοπεύετε να χρησιμοποιήσετε το λειτουργικό σύστημα για pentensting σε εικονικές μηχανές, τότε θα συνιστούσα να έχετε τουλάχιστον 8 gigabyte - αυτό είναι αρκετό για να τρέξετε άνετα ένα ή δύο συστήματα και τα περισσότερα προγράμματα είναι σε αυτά τα συστήματα.

Ωστόσο, εάν σκοπεύετε να εκτελέσετε πολλά προγράμματα (ή ένα πρόγραμμα σε πολλά νήματα) ή εάν θέλετε να δημιουργήσετε έναν εικονικό υπολογιστή από πολλές εικονικές μηχανές, τότε τα 16 gigabyte δεν θα είναι περιττά (σκοπεύω να τα αυξήσω στα 16 gigabyte στο δικό μου φορητό υπολογιστή, ευτυχώς υπάρχουν δύο κενές υποδοχές).

Οτιδήποτε περισσότερο από 16 gigabyte μνήμης RAM είναι απίθανο να σας φανεί χρήσιμο κατά τη διάρκεια της διεκπεραίωσης.

ΕΠΕΞΕΡΓΑΣΤΗΣ

Εάν πρόκειται να κάνετε κατακερματισμούς brute force και να το κάνετε χρησιμοποιώντας έναν κεντρικό επεξεργαστή και όχι μια κάρτα γραφικών, τότε όσο πιο ισχυρός είναι ο επεξεργαστής, τόσο πιο γρήγορα θα πάει η ωμή δύναμη. Επίσης, ένας ισχυρός επεξεργαστής με μεγάλο αριθμό πυρήνων θα σας επιτρέψει να εργάζεστε σε εικονικές μηχανές με μεγαλύτερη άνεση (διαθέτω 2 πυρήνες σε κάθε εικονική μηχανή με γραφική διεπαφή).

Η συντριπτική πλειονότητα των προγραμμάτων (εκτός από αυτά που επαναλαμβάνονται μέσω κατακερματισμού) δεν απαιτούν ισχύ επεξεργαστή.

HDD

Δεν υπάρχουν ειδικές απαιτήσεις. Φυσικά, είναι πιο ευχάριστο να δουλεύεις με SSD.

Υπολογιστής ελεγκτή διείσδυσης σε VPS/VDS

Λοιπόν, «επιπλέον», το VPS σάς επιτρέπει να οργανώσετε τον δικό σας διακομιστή web, διακομιστή αλληλογραφίας, αποθήκευση αρχείων, cloud για συνεργασία, δικό σαςCloud, VPN ή βασικά οτιδήποτε μπορεί να κάνει το Linux με λευκή IP. Για παράδειγμα, οργάνωσα παρακολούθηση νέων εκδόσεων προγραμμάτων (στο ίδιο VPS όπου https://suip.biz/ru/ - γιατί να πληρώσω δύο φορές): https://softocracy.ru/

Το VPS σάς επιτρέπει να εγκαταστήσετε τόσο έναν υπολογιστή με διεπαφή γραμμής εντολών όσο και ένα γραφικό περιβάλλον επιφάνειας εργασίας. Όπως λένε, «γεύση και χρώμα…» όλοι οι δείκτες είναι διαφορετικοί, αλλά προσωπικά είμαι ένθερμος αντίπαλος της εγκατάστασης ενός λειτουργικού συστήματος με γραφικό περιβάλλον επιφάνειας εργασίας ως διακομιστή. Αν και μόνο επειδή είναι απλά ακριβό - για άνετη εργασία πρέπει να αγοράσετε κάρτες τιμολόγησης με 2+ gigabyte μνήμης RAM. Και ακόμη και αυτό μπορεί να μην είναι αρκετό, ανάλογα με τα προγράμματα που εκτελούνται και τον αριθμό τους.

Σε μια συσκευή ARM, θα συνιστούσα να εγκαταστήσετε ένα λειτουργικό σύστημα χωρίς γραφικό περιβάλλον επιφάνειας εργασίας και να επιλέξετε ανάμεσα στις συσκευές αυτές που είναι πιο ισχυρές. Το αποτέλεσμα θα μπορούσε να είναι ένας βοηθός που είναι σχεδόν αόρατος, που δεν κοιμάται ποτέ και κάνει πάντα κάτι για εσάς, ενώ δεν καταναλώνει σχεδόν καθόλου ρεύμα. Εάν έχετε απευθείας IP, μπορείτε να εγκαταστήσετε έναν διακομιστή web, διακομιστή αλληλογραφίας κ.λπ. σε αυτό.

Linux ή Windows για χακάρισμα;

Τα περισσότερα από τα προγράμματα που χρησιμοποιούνται στο pentesting από το Linux είναι cross-platform και λειτουργούν εξαιρετικά στα Windows. Οι μόνες εξαιρέσεις είναι τα προγράμματα για Wi-Fi. Και το πρόβλημα δεν βρίσκεται στα ίδια τα προγράμματα (το Aircrack-ng, για παράδειγμα, είναι ένα σύνολο προγραμμάτων πολλαπλών πλατφορμών που συνοδεύεται από επίσημα δυαδικά αρχεία για Windows), αλλά στη λειτουργία παρακολούθησης προσαρμογέα δικτύου στα Windows.

Τα Windows έχουν τις δικές τους δυνατότητες, υπάρχει το Cygwin, το οποίο μπορεί να κάνει πολλά από αυτά που μπορεί να κάνει η γραμμή εντολών του Linux. Δεν έχω καμία αμφιβολία ότι υπάρχει μεγάλος αριθμός διεισδυτών που χρησιμοποιούν Windows. Τελικά, το κύριο πράγμα δεν είναι τι είναι εγκατεστημένο το λειτουργικό σύστημα, αλλά η κατανόηση των τεχνικών πτυχών, η κατανόηση του δικτύου, των διαδικτυακών εφαρμογών και άλλων πραγμάτων, καθώς και η δυνατότητα χρήσης των εργαλείων.

Όσοι επιλέγουν το Linux ως την πλατφόρμα του συστήματος hacking έχουν τα ακόλουθα πλεονεκτήματα:

  • Υπάρχουν πολλά έτοιμα κιτ διανομής όπου εγκαθίστανται και διαμορφώνονται τα αντίστοιχα εξειδικευμένα προγράμματα. Εάν εγκαταστήσετε και ρυθμίσετε όλα αυτά στα Windows, τότε μπορεί να αποδειχθεί ότι είναι πιο γρήγορο να ασχοληθείτε με το Linux.
  • Οι εφαρμογές Ιστού και οι διάφοροι διακομιστές και ο εξοπλισμός δικτύωσης που δοκιμάζονται συνήθως εκτελούνται ή βασίζονται σε Linux ή κάτι παρόμοιο. Κατακτώντας το λειτουργικό σύστημα Linux και τις βασικές εντολές του, μαθαίνετε ταυτόχρονα τον «στόχο» της pentesting: αποκτάτε γνώση για το πώς λειτουργεί, ποια αρχεία μπορεί να περιέχουν σημαντικές πληροφορίες, ποιες εντολές πρέπει να εισαγάγετε στο κέλυφος που προκύπτει κ.λπ.
  • Αριθμός οδηγιών. Όλα τα ξένα βιβλία για το pentesting (δεν έχω δει κανένα εγχώριο) περιγράφουν την εργασία ειδικά στο Linux. Φυσικά, μπορείτε να κάνετε εικασίες και να μεταφέρετε τις εντολές στα Windows, αλλά η προσπάθεια που δαπανάται για να λειτουργήσουν όλα όπως θα έπρεπε μπορεί να είναι ίση με την προσπάθεια που απαιτείται για να κυριαρχήσετε το Linux.
  • Λοιπόν, Wi-Fi. Σε Linux, εάν η κάρτα δικτύου σας το υποστηρίζει, δεν υπάρχει πρόβλημα με τη λειτουργία οθόνης.

Πολλοί άνθρωποι το βλέπουν ως λειτουργικό σύστημα «χάκερ». Οι ίδιοι οι χάκερ, ειδικά μεταξύ των νέων, αντιμετωπίζονται με θαυμασμό. Αυτό εξηγεί το ενδιαφέρον των νέων για το Kali Linux. Προσπαθούν να το εγκαταστήσουν και να το τρέξουν και έχουν πολλές «παιδικές» ερωτήσεις. Αυτά τα ερωτήματα πρέπει να απαντηθούν, όσο απλά, αφελή ή λανθασμένα κι αν είναι. Για μένα προσωπικά είναι απαράδεκτη η συμπεριφορά «έμπειρων» που απαντούν σε τέτοιες ερωτήσεις με «γιατί το χρειάζεσαι;», «πάλι σχολικές διακοπές;», «θα έπρεπε να σε απαγορέψουν για τέτοιες ηλίθιες ερωτήσεις;» και τα λοιπά. Τα ρωσικά τεχνικά φόρουμ είναι γεμάτα με αυτή την αγένεια. Δεν επιτρέπω στον εαυτό μου και δεν θα επιτρέψω σε άλλους να το κάνουν αυτό στο FreeForum.biz. Απολύτως όλοι, ανεξάρτητα από το πόσο σπουδαίος ειδικός έχει γίνει τώρα, άρχισαν να μελετούν τα βασικά, ξεκίνησαν με ερωτήσεις «παιδιών». Όσοι δεν κάνουν απλές ερωτήσεις τελικά δεν θα μάθουν ποτέ τις απαντήσεις.

Η εγκατάσταση και η λειτουργία του Kali Linux εγείρει επίσης ερωτήματα στους προχωρημένους χρήστες Linux. Αλλά αυτές οι ερωτήσεις είναι σύνθετες ή δημιουργικές. Και, αφενός, θέλω να βοηθήσω όλους τους αρχάριους (από τότε που ήμουν κι εγώ), αλλά από την άλλη, δεν θέλω να κατέβω σε ένα εντελώς νηπιαγωγείο. Άλλωστε, η απάντηση σε κοινές ερωτήσεις δεν είναι ούτε ενδιαφέρουσα ούτε χάσιμο χρόνου.

Επομένως, για όλους τους αρχάριους χάκερ, έχω ετοιμάσει μια λίστα με όσα πρέπει να μάθετε. Για κάθε σημείο, θα προσπαθήσω να εξηγήσω γιατί πρέπει να το γνωρίζετε.

1. Βασικά στοιχεία γλωσσών προγραμματισμού

1.1 HTML

Στην πραγματικότητα, η HTML δεν είναι καν γλώσσα προγραμματισμού, αλλά γλώσσα σήμανσης, δηλ. χρησιμοποιείται, χονδρικά μιλώντας, για τη μορφοποίηση κειμένου.

Πώς μπορεί να βοηθήσει έναν αρχάριο χάκερ; Θα σας δώσω το προσωπικό μου παράδειγμα. Ένας από τους παρόχους Διαδικτύου των οποίων τις υπηρεσίες χρησιμοποίησα (τοπικός πάροχος με δίκτυο οικίας πόλης) είχε (ίσως έχει ακόμα - δεν ξέρω, έφυγα από αυτόν τον πάροχο εδώ και πολύ καιρό) τον δικό του ιστότοπο και τις δικές του υπηρεσίες για τους χρήστες. Στις αρχές της δεκαετίας του 2000, αυτό ήταν σχετικό - η κίνηση στο Διαδίκτυο (εξωτερική) ήταν πληρωμένη, έτσι όλοι προσπάθησαν να χρησιμοποιήσουν τοπικούς πόρους. Αυτοί οι πόροι ήταν σίγουρα πολύ δημοφιλείς. Ένα από τα πιο δημοφιλή είναι η κοινή χρήση αρχείων. Λόγω της συνεχούς κατάχρησης από τους χρήστες (για παράδειγμα, η συμμαθήτρια Masha, "γδύθηκε" χρησιμοποιώντας το Photoshop), ο ιδιοκτήτης της υπηρεσίας φιλοξενίας αρχείων εισήγαγε έναν υποχρεωτικό κωδικό πρόσβασης. Αυτός ο κωδικός πρόσβασης δημιουργήθηκε αυτόματα και δεν μπορούσε να συμπεριληφθεί σε σχόλιο αρχείου. Έτσι, η ανάλυση της φόρμας για την αποστολή ενός αρχείου και ορισμένα πειράματα με αυτό έδειξε ότι ο κωδικός πρόσβασης περιέχεται σε ένα από τα κρυφά πεδία της φόρμας, το οποίο, φυσικά, μπορεί να επεξεργαστεί. Αυτός ο κωδικός πρόσβασης δεν ελέγχθηκε από τίποτα στον διακομιστή. Ως αποτέλεσμα, αποθηκεύοντας τη φόρμα για τη λήψη ενός αρχείου στον υπολογιστή σας και κάνοντας ελαφρά επεξεργασία, καταφέραμε να βεβαιωθούμε ότι τα αρχεία θα μπορούσαν να ληφθούν ξανά χωρίς κωδικό πρόσβασης. Αυτή η φόρμα μπορεί να χρησιμοποιηθεί από οποιονδήποτε πελάτη του παρόχου. Αργότερα, ο πάροχος "έκλεισε" την τρύπα και άρχισε να ελέγχει για έναν κωδικό πρόσβασης. Ωστόσο, με τους ίδιους απλούς χειρισμούς ήταν δυνατό να βεβαιωθείτε ότι τα αρχεία φορτώνονταν πάντα με έναν "τυπικό" κωδικό πρόσβασης ("0000", φαίνεται), καθώς και αυτός ο κωδικός πρόσβασης θα μπορούσε να γραφτεί σε ένα σχόλιο στο αρχείο.

Όσοι είναι εξοικειωμένοι τουλάχιστον με τα βασικά της HTML καταλαβαίνουν τέλεια για τι πράγμα μιλάω. Για άλλους, είναι απλώς ένα κινέζικο γράμμα.

Άλλο ένα φρέσκο ​​παράδειγμα. Μόλις τις προάλλες (11 Φεβρουαρίου 2015), ανακαλύφθηκε μια τρύπα στο θέμα του WordPress, που σας επιτρέπει να ανεβάσετε παράγωγα αρχεία στον διακομιστή. Περιγραφή αυτού του θέματος. Το αρχείο που είναι ευάλωτο σε αυτό το θέμα είναι το admin/upload-file.php. Έψαξα σε αυτό το νήμα και βρήκα αυτό το αρχείο. Το αρχείο είναι πολύ σύντομο, οπότε θα το δώσω ολόκληρο:

Αυτό το αρχείο είναι σε PHP, αλλά για να επωφεληθείτε από αυτήν την ευπάθεια, πρέπει να δημιουργήσετε τη φόρμα υποβολής αρχείου σε HTML.

Επομένως, πρέπει να γνωρίζετε HTML για να: α) αναζητήσετε τρωτά σημεία. β) εκμεταλλεύονται τρωτά σημεία. Υπάρχουν επίσης πιο προηγμένες εργασίες που απαιτούν γνώση HTML, αλλά ας σταματήσουμε εκεί.

1.2 PHP

Παραπάνω έχω δώσει τα περιεχόμενα ενός μικροσκοπικού αρχείου γραμμένου σε PHP. Αυτό το αρχείο περιέχει ένα τέτοιο ελάττωμα που δεν έχει πλέον σημασία πόσο καλά έχει ρυθμιστεί ο διακομιστής, εάν υπάρχει τείχος προστασίας αρχείων κ.λπ. Εάν κάποιος χρησιμοποιεί αυτό το θέμα, τότε ο ιστότοπος αυτού του ατόμου βρίσκεται υπό τον πλήρη έλεγχό μας (και εάν ο διακομιστής/η φιλοξενία έχει ρυθμιστεί στραβά, τότε ολόκληρος ο υπολογιστής είναι υπό τον έλεγχό μας). Αλλά για να το καταλάβετε αυτό, πρέπει να γνωρίζετε τουλάχιστον λίγη PHP.

Για να χρησιμοποιήσετε έτοιμα exploits που έγραψε κάποιος άλλος, πάλι, πρέπει να γνωρίζετε τουλάχιστον τα βασικά της PHP για να ξέρετε πού να γράψετε τη διεύθυνση του ιστότοπου και άλλες μεταβλητές και πώς να εκτελέσετε αυτό το σενάριο γενικά.

1.3 MySQL

Συνήθως, τα πιο ενδιαφέροντα πράγματα βρίσκονται στις βάσεις δεδομένων. Για να κατανοήσετε πώς να χρησιμοποιήσετε την ένεση MySQL, πρέπει να γνωρίζετε τι είναι η ένεση MySQL. Για να κατανοήσετε την ουσία της έγχυσης MySQL, πρέπει να γνωρίζετε τι είναι τα ερωτήματα MySQL, ποια είναι η σύνταξη αυτών των ερωτημάτων, ποια είναι η δομή της βάσης δεδομένων, πώς αποθηκεύονται τα δεδομένα, ποιοι πίνακες είναι κ.λπ.

Γενικά, τα τρία πρώτα σημεία, καθώς και οι ιδέες για τις συσκευές ιστοτόπων, είναι πιο εύκολο να κατανοηθούν αν μάθετε να μην «χακάρετε» ιστοσελίδες, αλλά να τις δημιουργείτε. Μελέτη με στόχο να κάνεις κάτι θετικό. Υπάρχει ένα παράδοξο σε αυτό, γιατί με τον ίδιο τρόπο, για να μάθετε πώς να προστατεύετε καλά τις εφαρμογές Ιστού, πρέπει να μάθετε πώς να τις χακάρετε! Μόνο αν μπορείτε να δείτε τις τεχνολογίες Ιστού μέσα από τα μάτια ενός χάκερ, μπορείτε να αποκτήσετε ανεκτίμητη εμπειρία. Το ίδιο συμβαίνει και με τους ιστότοπους – η απλή εκμάθηση των λειτουργιών και των βασικών στοιχείων της γλώσσας είναι ελάχιστη χρήσιμη. Πρέπει να γίνετε προγραμματιστής ιστού για να κατανοήσετε τις λεπτομέρειες ενός ιστότοπου.

1.4 JavaScript, JQuery

Τουλάχιστον, πρέπει να γνωρίζετε ότι οι ιστότοποι ελέγχονται από JavaScript. Πράγματι, σε ορισμένους ιστότοπους που δεν σας επιτρέπουν να επιλέξετε (ή/και να αντιγράψετε) περιεχόμενο, δεν σας επιτρέπουν να κάνετε λήψη ενός αρχείου ή απλά πρέπει να απενεργοποιήσετε τη JavaScript για να γίνουν όλα αυτά δυνατά.

Λοιπόν, για να απενεργοποιήσετε τη JavaScript, πρέπει να γνωρίζετε: α) σε ποιες περιπτώσεις εξαρτάται από αυτήν η λειτουργία (προστασία) του ιστότοπου. β) πώς συνδέεται η JavaScript και με ποιους τρόπους μπορούν να αποκλειστούν τα σενάρια.

Μπορείτε να δώσετε έναν τόνο παραδειγμάτων ανεπιτυχούς προστασίας φόρμας χρησιμοποιώντας JavaScript (θυμάμαι μια φόρμα στον ιστότοπο του FSB της Ρωσικής Ομοσπονδίας - για να την υποβάλετε, πρέπει να συμπληρώσετε εκατό πεδία (διαβατήριο, εγγραφή κ.λπ. ), αλλά με τους απλούστερους χειρισμούς αυτός ο "περιορισμός" μπορεί να παρακαμφθεί (αυτό ήταν πολύ καιρό πριν, είναι πολύ πιθανό να διόρθωσαν τη φόρμα σχολίων)).

2. Βασικά στοιχεία δικτύωσης, web servers και websites

2.1 Σχεδιασμός δικτύου

Πρέπει οπωσδήποτε να γνωρίζετε τη δομή των δικτύων: τι είναι μια διεύθυνση IP, ότι σας επιτρέπει να αναγνωρίσετε έναν χρήστη του Διαδικτύου, πώς να αποκρύψετε την IP σας, τι είναι ο διακομιστής μεσολάβησης, τι είναι το TOR, τι είναι ένας τομέας, θύρες κ.λπ. .

Πρέπει αρχικά να γνωρίζετε τα παραπάνω, τουλάχιστον για να κατανοήσετε βασικά κείμενα και οδηγίες υπολογιστή. Και επίσης να συνειδητοποιήσουμε το γεγονός ότι η ανωνυμία στο Διαδίκτυο είναι κάτι εφήμερο.

Οι προηγμένες γνώσεις σχετικά με τη δημιουργία δικτύων θα σας βοηθήσουν να πραγματοποιήσετε αποτελεσματικές σαρώσεις χρησιμοποιώντας ειδικά προγράμματα στο μέλλον.

2.2 Κατανόηση του σχεδιασμού και της λειτουργίας ενός διακομιστή web

Όπως και στις προηγούμενες παραγράφους, θα ξεκινήσω με ένα απλό παράδειγμα (παρεμπιπτόντως, πολύ πρόσφατο). Κατά την επίσκεψη σε έναν από τους διακομιστές, ανακαλύφθηκε ότι οι ρυθμίσεις διακομιστή σάς επιτρέπουν να προβάλλετε τα περιεχόμενα των καταλόγων (καταχώριση αρχείων). Το phpMyAdmin βρέθηκε στον διακομιστή, αλλά οι τυπικοί κωδικοί πρόσβασης δεν ταίριαζαν. Περιπλανώμενος στους καταλόγους σε μια προσπάθεια να βρεθούν ευάλωτα σενάρια (υπάρχουν αυτογραφικά σενάρια για την επεξεργασία νοσοκομειακών αρχείων και τη διανομή «αριθμών»), βρέθηκε ένα αρχείο κειμένου (!) που περιείχε μια γραμμή με δύο λέξεις που χωρίζονται με κόμμα. Όπως αποδείχθηκε, αυτό ήταν το login και ο κωδικός πρόσβασης για το phpMyAdmin. Η βάση δεδομένων, όπως λένε, είναι δική μας λόγω της κλινικής βλακείας του προγραμματιστή, αλλά για να γράψετε το αρχείο σας στον διακομιστή, χρειαζόσασταν γνώση σχετικά με αυτόν τον διακομιστή. Για παράδειγμα, πρέπει να γνωρίζετε την απόλυτη διαδρομή όπου θα εγγραφεί το μήνυμα. Για να γνωρίζετε την απόλυτη διαδρομή, πρέπει τουλάχιστον να γνωρίζετε τη δομή καταλόγου του διακομιστή Apache.

ΔΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑ `shell` (ΚΕΙΜΕΝΟ` script NOT NULL) ΣΧΟΛΙΟ = "πίνακας για συμπερίληψη"; INSERT INTO "shell" ("script") ΤΙΜΕΣ (""); ΕΠΙΛΟΓΗ δέσμης ενεργειών ΑΠΟ το "shell" ΣΤΟ OUTFILE "C://Apache24/htdocs/shell.php"; ΑΠΟΣΤΟΛΗ ΠΙΝΑΚΑΣ `shell`;

Αυτό που προσπαθώ να πω με αυτό το παράδειγμα δεν είναι ότι πρέπει να μάθετε τη δομή του Apache. Θέλω να πω ότι χωρίς γνώση για το πώς λειτουργεί, για τις γενικές αρχές του πώς λειτουργεί ένας διακομιστής ιστού, θα συναντάτε συνεχώς την αδυναμία να «προωθήσετε» πλήρως μια ευπάθεια, ακόμα κι αν έχει ήδη βρεθεί.

Θυμάστε τι είπα για τις γλώσσες προγραμματισμού και την κατανόηση του πώς λειτουργούν οι ιστότοποι; Για να κατανοήσετε το πλήρες βάθος, πρέπει να γίνετε ο ίδιος προγραμματιστής ιστού. Για να κατανοήσετε έναν διακομιστή ιστού, πρέπει να διαβάσετε βιβλία όχι για την παραβίαση ενός διακομιστή ιστού, αλλά για τη συντήρησή του. Εκείνοι. πρέπει να γίνετε ο ίδιος διαχειριστής συστήματος και η επίγνωση των αδύναμων σημείων, στις οποίες πρέπει να «στάξετε» όταν προσπαθείτε να διεισδύσετε σε έναν διακομιστή ιστού, θα έρθει από μόνη της.

2.3 Κατανόηση του σχεδιασμού και της λειτουργίας ιστοσελίδων

Σε γενικές γραμμές, πολλά θα γίνουν ξεκάθαρα όταν μελετάτε γλώσσες προγραμματισμού για εφαρμογές web.

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

Για παράδειγμα, μια πολύ απλή γνώση ότι για να προσθέσετε μια εικόνα σε έναν ιστότοπο που βρίσκεται δύο καταλόγους ψηλότερα σε σχέση με το αρχείο .htm, μπορείτε να χρησιμοποιήσετε την κατασκευή ./../../, π.χ. Για παράδειγμα

Αυτή η πολύ φαινομενικά κοινότοπη πληροφορία μας επέτρεψε να δημιουργήσουμε ένα πολύ απλό, αλλά εκπληκτικά αποτελεσματικό "hack"

Αν ($handle = opendir("./../../../../../../../../..")) ( while (false !== ($entry = readdir($handle))) ( if ($entry != "." && $entry != "..") ( echo "$entry
"; ) ) closeir($handle); )

Όταν το ανακάλυψα αυτό για τον εαυτό μου, χρησιμοποιούσα ακόμη δωρεάν φιλοξενία (το όνομα τομέα της εταιρείας ήταν holm.ru ή holms.ru - διένειμαν επίσης τομείς τρίτου επιπέδου όπως *.h7.ru, *.h10.ru, δηλαδή τους αριθμούς αλλάζουν διαδοχικά καθώς γεμίζουν οι διακομιστές).

Εφάρμοσα αυτές τις λίγες γραμμές που έδωσα ακριβώς από πάνω και αποδείχτηκε ότι μπορούσα να ξεπεράσω τα όρια του φακέλου που μου έχει δοθεί. Ένα ελαφρώς βελτιωμένο σενάριο μου επέτρεψε όχι μόνο να προβάλω τη ρίζα του διακομιστή, αλλά να μπω μέσα στους φακέλους που είδα και να ανοίξω αρχεία για προβολή. Το αποτέλεσμα ήταν εκπληκτικό! Έμαθα πολλά για τους ιστότοπους άλλων ανθρώπων. Η κύρια ανακάλυψη είναι ότι η αναλογία «κανονικών τοποθεσιών» προς «μη κανονικές» (δόλια, ανούσια, απλά κενά) δεν είναι υπέρ των «κανονικών». Συνάντησα "ιστοσελίδες γνωριμιών" (ακόμη μερικές φορές τους συναντώ) όπου το "εξώφυλλο" είναι πολύ όμορφο - η κύρια σελίδα, με ωραίους ανθρώπους που φαίνεται να είναι ήδη χρήστες του ιστότοπου. Και αν θέλετε να αρχίσετε να επικοινωνείτε μαζί τους, πρέπει να εγγραφείτε και να εισαγάγετε κάτι εκεί ή να πληρώσετε. Αλλά στην πραγματικότητα, δεν υπάρχει τίποτα άλλο μέσα στην ιστοσελίδα εκτός από αυτές τις δέκα φωτογραφίες. Αυτό είναι πλέον ξεκάθαρο σε όλους, αλλά κάποτε μελετούσα την απάτη στο Διαδίκτυο ακριβώς με αυτόν τον τρόπο.

Αλλά το πιο εκπληκτικό πράγμα που ανακάλυψα ήταν ιστότοποι των οποίων τα ονόματα τομέα περιλάμβαναν τη λέξη mail. "Στο εξωτερικό", αυτοί οι ιστότοποι αποτελούνταν από μία μόνο σελίδα, εντελώς πανομοιότυπη με τη σελίδα σύνδεσης του mail.ru. Αλλά μέσα υπήρχαν πολλά αρχεία, ένα από τα οποία σχεδόν πάντα αποδείχθηκε ότι ήταν μια συλλογή ζευγών σύνδεσης-κωδικού πρόσβασης. Εκείνοι. κάποιος, με διάφορα προσχήματα (δείτε μια καρτ ποστάλ, για παράδειγμα), παρέσυρε χρήστες σε αυτή τη σελίδα, ανυποψίαστοι χρήστες εισήγαγαν τα δεδομένα τους και κατέληξαν ήδη στον χάκερ.

Υπήρχαν πολλοί παραβιασμένοι λογαριασμοί (μάζεψα περισσότερους από εκατό από όλους τους ιστότοπους). Στις μισές περίπου περιπτώσεις, ο κωδικός πρόσβασης δεν ταίριαζε (ο χρήστης κατάφερε να τον αλλάξει) ή το γραμματοκιβώτιο ήταν εντελώς άδειο (ο χρήστης υποψιάστηκε κάτι και διέγραψε όλα τα γράμματα). Όμως, όταν θυμάμαι το δεύτερο ημίχρονο, εξακολουθώ να βασανίζομαι από μια εικασία: όταν οι άνθρωποι πιστεύουν ότι κανείς δεν θα το μάθει, είναι πραγματικά τόσο περίεργοι ή είμαι απλώς τυχερός με την επιλογή; Από τα ενδιαφέροντα κουτιά, πολλά, με τον ένα ή τον άλλο τρόπο, περιείχαν αλληλογραφία για την ανταλλαγή οικείων φωτογραφιών, συνομιλίες «κάτω από τη ζώνη» και το θέμα των ανηλίκων θίχτηκε σε σημαντικό μέρος. Θυμάμαι ακόμα μια φωτογραφία ενός άντρα ντυμένο με γυναικεία στολή (κάλτσες και όλο το σετ), ο οποίος την έστειλε σε μια γυναίκα που ενδιαφερόταν για γυναίκες (ο άντρας τον έπεισε ότι ήταν γυναίκα) για να της στείλει " γυμνές» φωτογραφίες σε αντάλλαγμα. Τι μήκος είστε διατεθειμένοι να πάτε για να δείτε μια φωτογραφία μιας γυμνής γυναίκας; 🙂

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

Είναι δύσκολο να διαφωνήσεις με τον Βίκτορ Πελεβίν

Απλώς ο συναρμολογητής της ψυχής κάποιου άλλου σπάνια φαίνεται ελκυστικός μετά από προσεκτική εξέταση.

3. Βασικά στοιχεία του λειτουργικού συστήματος Linux

Όσο περισσότερα γνωρίζετε για το Linux, τόσο το καλύτερο. Αν και μόνο επειδή ένας τεράστιος αριθμός διακομιστών Ιστού στο Διαδίκτυο χρησιμοποιούν το Linux ως λειτουργικό τους σύστημα.

Είπα την περίπτωσή μου για την υπέρβαση του καταλόγου που μου έχει δοθεί στη φιλοξενία. Με έναν άλλο hoster, κατάφερα να μπω στον ριζικό κατάλογο του συστήματος αρχείων (αλλά οι ιστότοποι αποδείχθηκαν απρόσιτοι, καθώς τα δικαιώματα στους φακέλους είχαν καταχωρηθεί σωστά). Και φανταστείτε την κατάσταση: βιάζομαι στους φακέλους του διακομιστή, γιατί πρέπει να πιάσω γρήγορα κάτι πολύτιμο, οι κωδικοί πρόσβασης είναι διαφορετικοί κ.λπ. Πού τα έχει όλα το Linux; Σε ποιους καταλόγους πρέπει να πάω και ποια αρχεία να κατεβάσω; Ήμουν εντελώς άγνωστος Linux και το βασικό συμπέρασμα που έβγαλα για τον εαυτό μου μετά από αυτό το περιστατικό είναι ότι πρέπει να καταλάβετε το Linux, διαφορετικά δεν υπάρχει άλλος τρόπος.

Πολλά προγράμματα ανάλυσης διείσδυσης δικτύου και ιστοσελίδων τρέχουν σε Linux. Πρέπει να ξέρετε πώς να εγκαταστήσετε, πώς να εκκινήσετε (αν είναι πρόγραμμα κονσόλας).

Γενικά, σε ένα ασυνήθιστο λειτουργικό σύστημα, οι χρήστες μερικές φορές δεν ξέρουν πώς να αντιγράψουν ένα αρχείο ή πώς να το ανοίξουν ή πώς να εγκαταστήσουν ένα νέο πρόγραμμα ή "πού είναι η μονάδα δίσκου D" κ.λπ. Γενικά, μάθετε το Linux στις διάφορες πτυχές του.

Και ξεκινήστε τη μελέτη σας όχι με το Kali Linux, αλλά, για παράδειγμα, με το Linux Mint.

Το Kali Linux δεν είναι πολύ κατάλληλο για αρχάριους. Ακόμη και το φιλικό Linux Mint μπορεί να έχει προβλήματα με την κανονική χρήση. Τι μπορούμε να πούμε για το Kali Linux. Όλα τα προγράμματα που είναι διαθέσιμα στο Kali Linux μπορούν να λειτουργήσουν τέλεια σε άλλες εκδόσεις του Linux. Θα συνιστούσα αυτό: χρησιμοποιήστε το Linux Mint ως κύριο λειτουργικό σύστημα και αφού μάθετε νέα προγράμματα, εγκαταστήστε τα στο Linux Mint ή χρησιμοποιήστε το Kali Linux ως εικονική μηχανή (δεύτερο λειτουργικό σύστημα).

Τελικές λέξεις

Έδωσα αρκετά παραδείγματα από τα πειράματά μου για την παράκαμψη περιορισμών και διείσδυσης. Πόσα από αυτά χρησιμοποίησα το Kali Linux; Κανένας. Θυμάμαι πολύ καλά την πρώτη μου γνωριμία με τον προκάτοχο του Kali Linux - το εγκατέστησα σε έναν εικονικό υπολογιστή, κοίταξα το μενού (υπήρχαν ακατανόητα αγγλικά ονόματα), προσπάθησα να ξεκινήσω ορισμένα προγράμματα (η γραμμή εντολών άνοιγε σχεδόν πάντα), συνειδητοποίησα ότι τίποτα δεν ήταν σαφές εδώ, έκλεισε τα πάντα και διαγράφηκε.

Μάθετε γλώσσες προγραμματισμού (PHP, MySQL, HTML), νέες τεχνολογίες, Linux, σχεδιασμό και λειτουργία διακομιστή. Προσπαθήστε να σκεφτείτε δημιουργικά (πώς να φτιάξετε έναν ιστότοπο, πώς να διατηρήσετε έναν διακομιστή, πώς να εργάζεστε αποτελεσματικά στο Linux) και η κατανόηση των υποκείμενων διαδικασιών θα έρθει από μόνη της. Και αυτό (η γνώση και η κατανόηση των διαδικασιών που λαμβάνουν χώρα) είναι ο κύριος πλούτος ενός χάκερ. Δεν χρειάζεται να κλείσετε το τηλέφωνο στο Kali Linux. Η εκμάθηση του Kali Linux χωρίς να ξέρεις τι έχω αναφέρει παραπάνω είναι σαν να χτίζεις ένα σπίτι χωρίς θεμέλια.

mob_info