Το προφίλ μας στο Google Plus
6

Δημιουργία ενός botnet, από την αρχή!

Όπως υποσχεθήκαμε στο άρθρο που ξεκινά από τη σελίδα 12, θα εξερευνήσουμε τώρα τα ενδότερα της λειτουργίας των botnets, ώστε να καταλάβουμε και πρακτικά πλέον πώς αυτά μπορούν να επηρεάσουν την ασφάλεια δικτύων και υπολογιστών. Αυτό θα γίνει φτιάχνοντας το *δικό μας* υποτυπώδες botnet, στο οποίο και θα δίνουμε εντολές από την άνεση της πολυθρόνας μας κι εκείνο θα εκτελεί. Καιρός να δούμε πώς είναι να βρίσκεται κανείς στη θέση του botmaster, τι λέτε; Προσέξτε μόνο να μην σας αρέσει πολύ :D

deltaHacker Αυγούστου (τεύχος 011) | Δημιουργία ενός botnet, από την αρχή!

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

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

Διαβάστε όλο το άρθρο στο deltaHacker Αυγούστου (τεύχος 011). Όλες τις πληροφορίες για τις συνδρομές στο deltaHacker, το μοναδικό μηνιαίο περιοδικό με θεματολογία ethical hacking και security που δεν κυκλοφορεί στα περίπτερα και απευθύνεται σε όλους, θα τις βρείτε εδώ ακριβώς. Για παραγγελίες μεμονωμένων τευχών ή συνδρομών συμπληρώστε τη σχετική φόρμα.

Εκμεταλλευτείτε την προσφορά Summer 2012, κερδίζοντας 5% από τις 12μηνες και 24μηνες συνδρομές! Ειδικά με την παραγγελία 24μηνης συνδρομής, πέρα από την έκπτωση μπαίνετε και σε κλήρωση για πέντε (5) συνδρομές εφ’ όρου ζωής!

Σημείωση: Οι συνδρομές μπορούν να ξεκινούν από όποιο τεύχος επιθυμείτε, αρκεί να υπάρχει σε stock.

6 Responses to “Δημιουργία ενός botnet, από την αρχή!”

  1. lonas | 08/09/2012 at 14:06

    Εισαγωγή : Οκ είμαι beginner προς intermediate αλλά το άρθρο ήταν αρκετά δελεαστικό και έτσι αγνόησα τη ένδειξη advanced
    Δεν έχω καταλάβει λοιπόν ένα βασικό κομμάτι : zombie θα γίνεται ένας υπολογιστής όταν επισκέπτεται την μολυσμένη σελίδα αλλά για πόσο θα παραμένει ; Μέχρι να κλείσει η σελίδα ,ο browser ,ο υπολογιστής ή και μετά από πιθανή επανεκκίνηση του υπολογιστή ;
    Επίσης στην σελίδα που έχει το upload vulnerability ανεβάζουμε απλά το *.php ή πρέπει να τροποποιήσουμε και τον κώδικα της σελίδας ώστε να το εκτελέσει ;

    Αυτά τα λίγα :)

    Ευχαριστώ για τον χρόνο σας!

    • Ion | 08/09/2012 at 21:01

      Γεια σου Iona (ωραίο nickname έχεις :P).

      Αρκεί απλά να ανεβάσεις το script (deltabot.php) στον server και αυτό να εκτελεστεί με κάποιον τρόπο. Αφού αρχίσει η εκτέλεση του, θα πρέπει ο client που κάλεσε το script να παραμείνει συνδεδεμένος με αυτόν (πχ ανοικτή σελίδα με το deltabot.php). Ένα php script που τρέχει δεν καταλαβαίνει πότε ακριβώς ο client αποσυνδέθηκε, παρά μόνο όταν προσπαθήσει να του στείλει κάποια δεδομένα και δει ότι δεν υπάρχει σύνδεση. Αυτό γίνεται με την εντολή flush() που χρησιμοποιείται στον κώδικα. Οπότε ναι, αν για κάποιον λόγο κλείσεις τον client τότε θα σταματήσει (όχι αμέσως) και η εκτέλεση του bot.

      Αυτό μπορείς να το λύσεις κάνοντας comment out όσες εντολές στέλνουν δεδομένα στον client/browser όπως πχ η flush(). Επίσης θα πρέπει στην αρχή (εκεί που θέτουμε το time limit) να χρησιμοποιήσεις ένα άλλο directive, το ignore_user_abort (http://php.net/manual/en/function.ignore-user-abort.php) που λέει στο script: πέρα από το time limit που θα σε κάνει να τρέχεις συνεχώς, μην υπολογίζεις ούτε τη διακοπή εκτέλεσης απ’ το χρήστη (πχ ένα κλείσιμο/αποσύνδεση του browser). Αποτέλεσμα αυτών το script να εκτελείται συνεχώς άπαξ και καλεστεί, μέχρι βέβαια να σταματήσει για κάποιον άλλο λόγο (πχ restart του webserver/zombie, που αν μιλάμε για server θα είναι κάτι αρκετά σπάνιο).

      • Ion | 08/09/2012 at 21:22

        ΥΓ. Επειδή όπως το έγραψα δεν είναι πολύ ξεκάθαρο, το ignore_user_abort() το βάζεις επιπρόσθετα, όχι ότι αντικαθιστά το set_time_limit(). Και τα δύο θα πρέπει να είναι στην αρχή του script.

    • Ion | 08/09/2012 at 21:19

      Επίσης, όχι δε χρειάζεται να τροποποιήσεις κώδικα της vulnerable σελίδας (δε θα μπορούσες να το κάνεις κιόλας, εκτός αν ανέβαζες πρώτα κάποιο php shell για να σου δώσει αυτή τη δυνατότητα, αλλά τότε απλά επιστρέφουμε στην αρχική σου ερώτηση). Κανονικά, αν ένα vulnerability επιτρέπει παράτυπο file upload, απλά ανεβάζεις το deltabot, βρίσκεις το path όπου αυτό βρίσκεται (πχ site/content/uploads/script.php) και το καλείς μέσω ενός browser.

      Υπάρχει όμως περίπτωση να πρέπει να τροποποιήσεις το ίδιο το deltabot. Πχ μια κλασική επέμβαση θα μπορούσε να είναι κάτι πολύ απλό, όπως το να προσθέσεις μια ακόμα κατάληξη αρχείου στο όνομα του. Γιατί να το κάνεις αυτό; Γιατί υπάρχει για παράδειγμα vulnerable κώδικας που ελέγχει λανθασμένα για επικίνδυνους τύπους αρχείων τσεκάροντας μόνο την (τελευταία) κατάληξη τους. Δες αυτό το αρθράκι: http://blog.dynom.nl/archives/Be-careful-with-double-extensions_20081024_25.html για περισσότερα πάνω στο θέμα.

  2. lonas | 12/09/2012 at 10:23

    Ευχαριστώ πολύ για τις διευκρινίσεις !!!
    btw είναι Lonas απλά δεν έχω κεφαλαίο το πρώτο γράμμα (αν και υπάρχει και κάποιος Ionas στον χώρο του graffiti στην Θεσσαλονίκη) εσένα το mickname είναι με L ή με I ;;

  3. lonas | 12/09/2012 at 22:49

    *nickname

Leave a Reply

You must be logged in to post a comment.

Σύνδεση

Αρχείο δημοσιεύσεων