ΠΡΟΣΟΧΗ

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


Τρίτη 8 Σεπτεμβρίου 2015

Πως κανουμε επιθεση DOS σε μια ιστοσελιδα (Siege)



Τι θα χρειαστειτε;

1.Kali linux

DOS (Denial Of Service) επιθεση αρνησης εξυπηρετησης εχει σκοπο να καταστησει εναν υπολογιστη(server) η μια υπηρεσια ανικανη ωστε να μην μπορει να δεχτει αλλες συνδεσεις με συνεπεια να μην εξυπηρετουντε οι χρηστες

Σε αυτο τον οδηγο θα χρησιμοποιησουμε το Siege

Το Siege ειναι ενα εργαλειο το οποιο προσομοιωνει ταυτοχρονα πολλους χρηστες στην ιστοσελιδα σας ετσι ωστε να δειτε αν μπορει να αντεξει ολο αυτο το φορτιο και να εξυπηρετισει ολους τους χρηστες
εμεις θα το χρησιμοποιησουμε για να κανουμε επιθεση αρνησης εξυπηρετησης

οποτε ας αρχισουμε

ανοιγουμε ενα τερματικο και γραφουμε siege


στην πανω εικονα βλεπετε τις επιλογες που σας δινει

ο στοχος μου γιαυτο το παραδειγμα θα ειναι η ιστοσελιδα www.chef.wc.lt την οποια την εφτιαξα σε ενα δωρεαν hosting


γραφουμε στο τερματικο

siege http://chef.wc.lt/ -c 1 -t 60s

οπου
-c ποσους χρηστες θελετε να προσoμοιωσετε στην σελιδα
-t ποσο λεπτα,δευτερολεπτα,ωρες να τρεξετε το siege


στην πανω εικονα προσομοιωσα 1 χρηστη και σε 1 λεπτο εκανε 68 hits (requests)
βλεπετε και το availability ειναι 100% οποτε η σελιδα ειναι μια χαρα

τωρα για να ριξουμε την σελιδα γραφουμε σε ενα τερματικο

siege http://chef.wc.lt/ -t 60s


στην πανω εικονα βλεπετε οτι με 15 χρηστες μεσα σε ενα λεπτο εκανε την σελιδα να ειναι μονο 22.24% διαθεσιμη

και οταν καποιος παει να ανοιξει την σελιδα σε αυτο το λεπτο

τωρα προσομειωνω 50 χρηστες για 2 λεπτα και εχω ενεργοποιημενο το verbose ωστε να βλεπω τι γινετε

siege http://chef.wc.lt/ -c 50 -t 2m -v

κατα την διαρκεια βλεπω


508 ειναι limit reached
200 ειναι fullfilled request

βλεπω οτι το siege δεν ετρεξε για 2 λεπτα , εκλεισε στα 25,3 δευτερολεπτα και η διαθεσιμοτητα ειναι 7.50%
Το siege εκλεισε στα 25,3 δευτερολεπτα γιατι στις προκαθορισμενες ρυθμισεις κλεινει στις 1024 αποτυχημενες συνδεσεις (failed transtactions)


οποτε για να ριξουμε τελειως την ιστοσελιδα πρεπει να ρυθμισουμε το siege
γραφουμε σε ενα τερματικο

nano /etc/siege/siegerc


αλλαζουμε το failures οπως στην εικονα πανω παταμε ctrl+x ,y και enter για να αποθηκευσει

τωρα τρεχουμε  με 300 χρηστες για 2 λεπτα

siege http://chef.wc.lt/ -c 300 -t 2m -v


αν το τρεξουμε περισσοτερο τοτε θα μας εμφανισει socket connection timed out γιατι πλεον δεν θα μπορουμε να ενωθουμε εφοσον η σελιδα δεν ειναι πλεον online


και η ιστοσελιδα θα εχει πεσει
*στην κατω εικονα η σελιδα ανοιξε με διαφορετικο δικτυο απο το δικτυο που εκανα την επιθεση*


 και μετα απο λιγο πηρα ενα email......


*Αναλογα με την ιστοσελιδα που θελετε να ελενξετε αν πεφτει πρεπει να κανετε και τις αναλογες ρυθμισεις στο siege*
Μερικες ιστοσελιδες δεν ειναι τοσο ευκολο ωστε να τις ριξετε μονο απο εναν υπολογιστη θα χρειαστει πανω απο 2 η ακομα και χιλιαδες υπολογιστες

Πως να προστατευτειτε;

Αν δεν εχετε δικο σας server και ειστε με shared hosting,η free hosting τοτε κοιταξτε το αρχειο καταγραφης πχ


οταν δειτε την ιδια ip με πολλες επισκεψεις και περιηγητη αγνωστο πχ λεει οτι ειναι joedog~siege (βεβαια αυτο αλλαζει)
τοτε πηγαινετε στο menu και καντε block αυτη την ip
εγω εκανα επιθεση με proxychains μεσω Tor γιαυτο εμφανισε αλλη χωρα
μπορειτε επισης να ρυθμισετε το domain σας να περναει απο το cloudflare
πατηστε εδω  και ακολουθηστε τις ρυθμισεις

αν εχετε δικο σας server και ειναι apache τοτε αλλαζετε το αρχειο apache.conf


και αλλαζετε σε    *αναλογα με τις προτιμησεις σας*

<IfModule prefork.c>
  StartServers        50
  MinSpareServers     15
  MaxSpareServers     25
  MaxClients         300
  MaxRequestsPerChild  0
</IfModule>
 
μια αλλη προσωρινη λυση ειναι να αλλαξετε ποια user agent θελετε να αφηνετε να δουν την ιστοσελιδα σας(που και παλι ο επιτεθομενος μπορει να το αλλαξει) αλλα θα σταματαει τους αρχαριους
μπορειτε επισης να εχετε load balancing στον server σας

Δεν υπάρχουν σχόλια: