toxssin: Ένα XXS εργαλείο από Έλληνα προγραμματιστή!

Το toxssin είναι ένα εργαλείο ανοιχτού κώδικα που αυτοματοποιεί τη διαδικασία εκμετάλλευσης ευπαθειών Cross-Site Scripting (XSS). Αποτελείται από έναν διακομιστή https που λειτουργεί ως διερμηνέας για την κίνηση που παράγεται από το malicious JavaScript payload που τροφοδοτεί αυτό το (toxin.js). Δημιουργός του προγράμματος είναι ο έλληνας προγραμματιστής Παναγιώτης Χάρτας

Το project αυτό ξεκίνησε (και εξακολουθεί να είναι) μια προσπάθεια για τη διερεύνηση του βάθους εκμετάλλευσης που μπορεί να εισάγει μια ευπάθεια XSS με τη χρήση του vanilla JavaScript.

Με τον όρο Cross-site Scripting ή XSS αναφερόμαστε σε μία ευπάθεια ασφάλειας που επιτρέπει σε έναν κακόβουλο χρήστη να εγχύσει κώδικα JavaScript σε μία ιστοσελίδα. Με τη σειρά του, ο κώδικας αυτός θα εκτελεστεί στον φυλλομετρητή του χρήστη που θα επιχειρήσει να επισκεφθεί την συγκεκριμένη ιστοσελίδα. Οι επιτιθέμενοι μπορούν να εκμεταλλευτούν μία cross-site scripting ευπάθεια προκειμένου να παρακάμψουν ελέγχους πρόσβασης, όπως το Same-Origin Policy.

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

xss

Χαρακτηριστικά

Από προεπιλογή, το JavaScript του toxssin περνάει αυτόματα σε όλα τα στοιχεία και τις πληροφορίες μιας ιστοσελίδας, κάνοντας κατάχρηση του αντικειμένου XMLHttpRequest για την υποκλοπή δεδομένων:

  • cookies,
  • keystrokes,
  • paste events,
  • input change events,
  • file selections,
  • form submissions,
  • server responses,
  • table data,

Μερικά σημαντικά χαρακτηριστικά του toxssin:

  • Προσπαθεί να δημιουργήσει XSS persistence ενώ ο περιηγείται στον ιστότοπο, υποκλέπτοντας τα αιτήματα και τις απαντήσεις http και ξαναδημιουργεί το έγγραφο, ενώ στην πραγματικότητα η θέση του εγγράφου δεν αλλάζει ποτέ,
  • Υποστηρίζει διαχείριση των sessions (μπορείτε να το χρησιμοποιήσετε για την ταυτόχρονη εκμετάλλευση πολλαπλών στόχων, π.χ. εκτελώντας μια σειρά επιθέσεων phishing με βάση το XSS ή εκμεταλλευόμενοι κάποιο stored XSS),
  • Υποστηρίζει την εκτέλεση προσαρμοσμένων JS scripts σε sessions (αφού συνδεθεί ένα πρόγραμμα περιήγησης, μπορείτε να εκτελέσετε προσαρμοσμένα JS scripts σε αυτό),
  • Καταγράφει αυτόματα κάθε session.

Εγκατάσταση και χρήση

git clone https://github.com/t3l3machus/toxssin

cd ./toxssin

pip3 install -r requirements.txt

Για να ξεκινήσετε το toxssin.py, θα πρέπει να κατεβάσετε τα αρχεία ssl και ιδιωτικού κλειδιού.

Επιτυγχάνεται με την ακόλουθη εντολή:

req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365

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

# python3 toxssin.py -u https://your.domain.com -c /your/certificate.pem -k /your/privkey.pem

Περισσότερες λεπτομέρειες θα βρείτε εδώ.

Δυσκολίες εκμετάλλευσης XSS

Υπάρχουν 4 σημαντικά εμπόδια όταν πρόκειται για επιθέσεις Cross-Site Scripting:

  1. το σφάλμα “Mixed Content”, το οποίο μπορεί να επιλυθεί εξυπηρετώντας το JavaScript payload μέσω https.
  2. το σφάλμα “NET::ERR_CERT_AUTHORITY_INVALID”, το οποίο υποδεικνύει ότι το πιστοποιητικό του διακομιστή δεν είναι αξιόπιστο / έχει λήξει και μπορεί να παρακαμφθεί με τη χρήση πιστοποιητικού που έχει εκδοθεί από αξιόπιστη πηγή.
  3. Κοινή χρήση πόρων διαφορετικής προέλευσης (CORS), η οποία αντιμετωπίζεται κατάλληλα από τον διακομιστή toxssin.
  4. Η επικεφαλίδα Content-Security-Policy με το script-src ορισμένο μόνο σε συγκεκριμένο τομέα, θα εμποδίσει τη φόρτωση scripts με cross-domain src. Το Toxssin βασίζεται στη συνάρτηση eval() για να παραδώσει το payload, οπότε, αν ο ιστότοπος έχει CSP και το unsafe-eval source δεν έχει καθοριστεί στο script-src, η επίθεση πιθανότατα θα αποτύχει.

Βίντεο οδηγός

Στιγμιότυπα εφαρμογής

toxssin 1 toxssin 2 toxssin 3

 

Μπορείτε να κατεβάσετε το πρόγραμμα από εδώ

iGuRu.gr The Best Technology Site in Greecefgns

κάθε δημοσίευση, άμεσα στο inbox σας

Προστεθείτε στους 2.086 εγγεγραμμένους.

Written by Anastasis Vasileiadis

Οι μεταφράσεις είναι σαν τις γυναίκες. Όταν είναι ωραίες δεν είναι πιστές και όταν είναι πιστές δεν είναι ωραίες.

Αφήστε μια απάντηση

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

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