ΠΡΟΣΟΧΗ

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

Σάββατο, 9 Μαΐου 2015

Πως ανιχνευουμε και εισβαλουμε σε μια ιστοσελιδα(jSQL + Uniscan)


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

1.Kali linux


Σε αυτο τον οδηγο θα μαθουμε πως εισβαλουμε σε μια ιστοσελιδα με την μεθοδο Sql injection

Αυτη η μεθοδος μας επιτρεπει να εχουμε απομακρυσμενη προσβαση στην βαση δεδομενων μιας ιστοσελιδας εφοσον εχει καποιο σφαλμα στην SQL

Τα εργαλεια που θα χρησιμοποιησουμε ειναι το uniscan , jSQL,hash-identifier, findmyhash και dirb

To uniscan ειναι ενα εργαλειο το οποιο μας βοηθαει να βρουμε ευπαθειες σε μια ιστοσελιδα οπως RFI, LFI, RCE, XSS , SQLi κτλ

Βεβαια σε αυτο τον οδηγο θα περιοριστουμε σε SQLi

Η επιλογη για να κανει αναζητηση το uniscan για σελιδες ευαλωτες σε SQLi ειναι

uniscan -o inurl:article.php?id= οπου

-ο βαζουμε sql google dorks που θα μας βρουνε ευαλωτες ιστοσελιδες σε sqli

ομως επειδη πλεον η google εχει βαλει captcha ωστε να επιβεβαιωση οτι ειστε ανθρωπος δεν θα σας βγαζει καποιο αποτελεσμα

πχ
και οταν παμε για να κανουμε μια αναζητηση απο το browser μας τοτε

αναγκαστικα θα πρεπει να τους κανετε εσεις αναζητηση πχ


τωρα για να βρειτε αλλα google dorks θα κοιταξουμε στην GHDB (Google Hacking Database) πατηστε εδω 


οποτε στο free text search γραφουμε sqli και επιλεγουμε search
επιλεγουμε σε οποιο συνδεσμο θελουμε

 πχ

και


για να  δειτε αν μια σελιδα ειναι ευαλωτη σε sqli απλα βαλτε ' στο τελος του συνδεσμου ,αν σας εμφανισει σφαλμα στην SQL τοτε ειναι ευαλωτη

πχ
 
 αν θελουμε να επιτεθουμε σε στοχευμενη σελιδα τοτε κανουμε την ανιχνευση με το uniscan

πχ εμενα η στοχευμενη σελιδα μου ειναι www.sail0r.com

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

uniscan -u http://www.sail0r.com/ -qweds

-u βαζουμε την στοχευμενη ιστοσελιδα
-q για να ανιχνευσει για διευθυνσεις (directories)
-w για να ανιχνευσει αρχεια
-e για να βρει το αρχειο robots.txt , sitemap.xml κτλ
-d κανει δυναμικα tests
-s κανει στατικα tests

εμεις ομως εφοσον θελουμε για sqli τοτε θα επιλεξουμε μονο -d

 οποτε τρεχουμε την εντολη

uniscan -u http://www.sail0w.com/ -d

θα μας δειξει ολα τα αποτελεσματα στο τερματικο πχ για sqli

 και θα μας πει οτι τελειωσε και τα αποτελεσματα αποθηκευτηκανε στο αρχειο report/www.istoselida.com.html


για να δουμε  τα αποτελεσματα που εχουν αποθηκευτει γραφουμε στo τερματικο

iceweasel /usr/share/uniscan/report/www.sail0r.com.html

και μας ανοιγει το iceweasel τα αποτελεσματα

πχ

και κατω κατω

τωρα περνουμε τον συνδεσμο που εχει βρει οτι ειναι ευαλωτος σε sqli και τον ανοιγουμε στο browser μας
οπως παρατηρησατε μας εμφανισε αυτοματα το σφαλμα γιατι το uniscan το εξακριβωσε

το uniscan μπορειτε να το τρεξετε και σε γραφικη μορφη ειτε απο το  menu kali linux - web applications - web vulnerability scanners - uniscan-gui η γραφετε στο τερματικο uniscan-gui


 και open log file για να δειτε τα αποτελεσματα


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

jsql η πηγαινουμε απο το menu kali linux - Vulnerability Analysis - Database Assessment - jsql
οταν μας ανοιξει το jSQL τοτε βαζουμε τον ευαλωτο συνδεσμο και επιλεγουμε connect


τωρα εφοσον μας εμφανισε ολες τις βασεις δεδομενων επιλεγουμε τι θελουμε να δουμε πχ οταν επιλεξουμε μια βαση θα μας δειξει μια μπαρα να φορτωνει και θα μας δειξει τους συγκεκριμενους πινακες  οποτε εμεις πρεπει να επιλεξουμε τι στειλες θελουμε να μας δειξει
οποτε με δεξι κλικ στους πινακες ( πχ εδω ειναι users) επιλεγω LOAD/STOP και εφοσον εχω επιλεξει id,password,username τις στηλες αναλογα τι θελω να δω θα μου εμφανισει, οποτε ανακτα αυτες τις σειρες  και δεξια βλεπουμε τα στοιχεια


δεξια βλεπουμε οτι ο κωδικος για τον user1 ειναι κρυπτογραφημενος
 οποτε πρεπει να τον σπασουμε (αποκρυπτογραφισουμε)
για να αναγνωρισουμε τι κρυπτογραφιση εχει ετσι ωστε να τον σπασουμε  θα χρησιμοποιησουμε το hash-identifier

οποτε αντιγραφουμε το hash πχ 769b9b0cc6c92f2ffad367b4ef0d2f5c
και γραφουμε σε ενα τερματικο

hash-identifier

κανουμε επικολληση το hash και μας λεει τι κρυπτογραφηση εχει


συγκεκριμενα εβγαλε η md5 η md4 εγω θα υποθεσω οτι ειναι md5 γιατι το md4 σπανια το χρησιμοποιουν εφοσον το md5 εχει αντικαταστησει το md4

οποτε τωρα μενει να το σπασουμε

πρωτου αρχισουμε να το σπαμε θα δοκιμασουμε ενα αλλο εργαλειο το findmyhash ωστε να γλιτωσουμε χρονο

το findmyhash ψαχνει σε σελιδες που σπανε η κρυπτογραφουν hashes και μας εμφανιζει τα αποτελεσματα, εφοσον καποιος το εχει σπασει η καποιος εχει κρυπτογραφησει τον ιδιο κωδικο με την ιδια κρυπτογραφηση σε αυτες τις σελιδες τοτε θα μας το εμφανισει

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

findmyhash MD5 -h 769b9b0cc6c92f2ffad367b4ef0d2f5c


και τιποτα

για να καταλαβετε καλυτερα πως δουλευει το findmyhash

κρυπτογραφω το κωδικο soublaki88 σε md5 στην σελιδα MD5online την οποια χρησιμοποιει για αναζητηση το findmyhash

οποτε τωρα το md5 hash για το soublaki88 ειναι 37e2b459179d94599fdf17376f575a85

τρεχω παλι την εντολη

findmyhash MD5 -h 37e2b459179d94599fdf17376f575a85

και


τωρα ας συνεχισουμε

εφοσον το findmyhash δεν μας βρηκε τιποτα θα πρεπει να το σπασουμε εμεις
για να το σπασουμε υπαρχουνε παρα πολλα εργαλεια εμεις ομως θα χρησιμοποιησουμε το jSQL

οποτε αντιγραφουμε το hash και πηγαινουμε στην καρτελα Brutal Force
κανουμε επικολληση επιλεγουμε τους χαρακτηρες που νομιζουμε οτι εχει ο κωδικος το μεγεθος πχ απο 6 εως 12 και επιλεγουμε start


οπως βλεπετε ο χρονος ειναι αρνητικος γιατι ειναι πολλοι οι συνδιασμοι με ολους τους χαρακτηρες και με λιγα λογια αυτο θα παρει αιωνες....
εφοσον ομως γνωριζουμε οτι για να μπορει καποιος να θυμαται εναν κωδικο τοτε θα εχει μικρα γραμματα και αριθμους (τα κεφαλαια τα αποφευγουνε γιατι μπερδευοντε) μερικες ιστοσελιδες για λογους ασφαλειας δεν αφηνουν κατω απο 6 χαρακτηρες και κανεις δεν μπορει να θυμηθει εναν κωδικο πανω απο 12 γραμματα εκτος και αν ειναι μια λεξη την οποια θα μπορει να θυμαται,βεβαια αυτα ειναι απλες υποθεσεις

οπως και να εχει αναλογα κανουμε τις ρυθμισεις

οποτε οταν μας βρει τον κωδικο πχ


μας μενει να βρουμε το admin panel της σελιδας αν δεν σας το εμφανισε
το uniscan πχ με robots.txt τοτε θα χρησιμοποιησετε το dirb

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

dirb http://www.sail0r.com/ /usr/share/webslayer/wordlist/general/admin-panels.txt

οταν δειτε  code 200 και size πανω απο 0 τοτε βρηκατε το admin panel πχ


τοτε κανουμε login στην ιστοσελιδα

και


το παραδειγμα εγινε σε ελενχομενο-τροποποιημενο περιβαλλον ωστε να δειτε την διαδικασια και τα εργαλεια που μπορουμε να χρησιμοποιησουμε

Αν θελετε και εσεις να δοκιμασετε τοτε κοιταξτε εδω