ΠΡΟΣΟΧΗ

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


Παρασκευή 31 Οκτωβρίου 2014

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





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

1.Kali Linux




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


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

βαζουμε την ιστοσελιδα που θελουμε να ανιχνευσει το vega και επιλεγουμε finish


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


Το Vega μας εβγαλε τις ευπαθειες  που βρηκε

επιλεγουμε σε μια απο αυτες πχ

και μας λεει οτι η ιστοσελιδα χρησιμοποιει το προτοκολο http το οποιο αυτο το προτοκολο δεν κρυπτογραφει την μεταφορα δεδομενων αν καποιος επιτεθει με την μεθοδο Mitm (man in the middle) θα μπορει να δει καθαρα τους κωδικους και αν παμε ποιο κατω θα μας δωσει ποιο πολλες πληροφοριες και πως θα το διορθωσουμε δλδ να εχουμε https στην σελιδα κτλ



επιλεγουμε αλλη ευπαθεια πχ
η ιστοσελιδα εβγαλε sql error το ποιο αυτο μας λεει οτι μπορει να ειναι ευαλωτη σε sql injection

και ποιο κατω βλεπουμε sql injection κτλ



Τετάρτη 22 Οκτωβρίου 2014

Πως κοιταμε αν ενα pdf αρχειο ειναι μολυσμενο και πως αφαιρουμε τον ιο (pdfid,pdf-parser,peepdf)





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

1.Kali linux


Πολυ απο εσας διαβαζετε βιβλια σε μορφη pdf και συνηθως τα βρισκετε δωρεαν στο διαδικτυο
Καποιος ομως κακοβουλος χρηστης τα ανεβασε δωρεαν στο διαδικτυο με σκοπο να σας μολυνει με ιο


Σε αυτο τον οδηγο θα μαθουμε να κοιταμε τα αρχεια pdf αν εχουνε ιο

Για το παραδειγμα εχω φτιαξει ενα αρχειο pdf χωρις ιο και ενα με ιο

κοιταξτε οταν ανοιγουμε το kalo pdf


και τωρα το kako.pdf


οπως βλεπετε καμια οπτικη διαφορα παρα μονο στο kako.pdf  ειναι λιγο μεγαλυτερο σε kilobyte λογο του ιου που εχω δεσμευσει με το metasploit 

οποτε τωρα με την βοηθεια του pdfid θα δουμε αρχικα αν εχει καποιο javascript η κατι εκτελεσιμο

*αν θελετε να ανιχνευσετε ολοκληρο φακελο με pdf αρχεια τοτε χρησιμοποιηστε
 pdfid -s /fakelos_me_pdf/

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

pdfid /root/Desktop/kalo.pdf

οπου /root/Desktop/kalo.pdf ειναι η διαδρομη του αρχειου pdf

στην πανω εικονα το αρχειο kalo.pdf κοιταμε τις εξεις γραμμες
αν και ξερω οτι ειναι καθαρο το αρχειο βλεπω /Open action δλδ με το που ανοιξει να τρεξει η να δειξει μια εντολη η ενα script

δειτε τον πινακα κατω 
  • AA :: an additional actions dictionary defining a fields behavior in response to trigger events
  • AcroForm :: PDF files interactive form dictionary
  • endobj :: specifies the end of a object in a PDF file
  • endstream :: the end marker of a stream object in a PDF file
  • JavaScript :: javascript dictionary containing javascript scripts
  • JBIG2Decode :: decompresses data encoded using the JBIG2 standard
  • JS :: a text string or stream containing JavaScript that will be executed when the action is triggered
  • Launch :: launch an application which usually opens a file
  • obj :: the beginning of a object in a PDF file
  • ObjStm :: object stream
  • OpenAction :: destination that shall be displayed or action that will be performed when PDF is opened
  • RichMedia :: interactive PDF elements
  • startxref :: follows trailer keyword and is offset of the cross-reference stream
  • stream :: the beginning marker of a stream object PDF file
  • trailer :: provides a method to quickly find a cross-reference table and certain special objects
  • xref :: notes a cross-reference section in a PDF file
 τωρα με την βοηθεια του peepdf θα δουμε καλυτερα τι ειναι αυτο και τι περιεχει το open action

 οποτε πριν τρεξουμε το peepdf πρεπει να το κανουμε update με την εντολη

peepdf -u


και τωρα αναλυουμε το αρχειο kalo.pdf με την ποιο κατω εντολη

peepdf /root/Desktop/kalo.pdf


εδω το peepdf μας λεει οτι /openAction ειναι στο object 15
ομως θα τρεξουμε το peepdf σε interactive mode με την εντολη

peepdf -i /root/Desktop/kalo.pdf

  

αν πληκτρολογησετε help θα δειτε τις εντολες 

πχ


για δουμε το metadata

εδω βλεπουμε ποτε δημιουργηθηκε το αρχειο ,τον τιτλο, το θεμα και οτι δημιουργηθηκε απο Libreoffice (openoffice)

τωρα ας κοιταξουμε το object 15 το οποιο το peepdf βρηκε υποπτο

και βλεπουμε στο /OpenAction ειναι το object 1 και οτι λεει null null δλδ τιποτα

ας δουμε τωρα το kako.pdf με το pdfid

οπως βλεπετε το pdf εχει javascript ,2 openAction και Launch

ας το κοιταξουμε με το peepdf

οποτε με την εντολη peepdf -i /root/Desktop/kako.pdf


ας κοιταξουμε το object 15

βλεπουμε οτι φερνει ενα αλλο open action στο object 21 οτι το object 17 εχει ονοματα
οποτε κοιταμε το 17

βλεπουμε οτι εχει ενα συνδεδεμενο αρχειο στο object 18

και βλεπουμε το ονομα του αρχειου kalo (δλδ πχ εγω εφτιαξα το kalo.pdf και απο με αυτο το μολυνα με ιο και το ονομασα kako.pdf 
δειτε εικονα κατω

το object 20 ειναι ο ιος


 τωρα ας δουμε το object 21 που μας εβγαλε οτι εχει javascript

 οπως βλεπετε οταν τρεξει το javascript ανοιγει το kalo.pdf

 και το object 22 που ειναι το Launch


με λιγα λογια το javascript τρεχει το αρχειο kalo.pdf ωστε  ο χρηστης να μην καταλαβει τιποτα και επισης τρεχει το object 22 ωστε να πατησει ο χρηστης αποδοχη για να γραφτει στο c:windows/system32 το object 20 που ανοιγει ενα meterpreter session με το θυμα

ας δουμε καλυτερα με το pdf-parser

τρεχουμε σε ενα τερματικο

pdf-parser /root/Desktop/kako.pdf

το pdf-parser θα ανοιξει ολα τα object
πχ 


εμας μας ενδιαφερει το object 19,20,21,22 δλδ αυτα που βρηκαμε με το peepdf

ας υποθεσουμε οτι δεν εχουμε χρησιμοποιησει το pdfid για να δουμε αν εχει ιο το kako.pdf

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

pdf-parser -a /root/Desktop/kako.pdf


οπως βλεπουμε εχει 2 action στο object 21 και 22

οποτε με την εντολη κοιταμε το object 21

pdf-parser --object=21 /root/Desktop/kako.pdf

βλεπουμε οτι το javascript κανει export ενα αντικειμενο με το ονομα kalo
και εκτελει και action

τωρα ας δουμε το object 22

pdf-parser --object=22 /root/Desktop/kako.pdf


εδω βλεπουμε το Launch που προσπαθει να εκτελεσει το kalo.pdf δλδ τον ιο
ομως που ειναι ο ιος?

με την εντολη

pdf-parser -r 21 /root/Desktop/kako.pdf

θα δουμε ποια object συνδεονται(reference) με το 21


οποτε βλεπουμε το object 15

 οποτε τωρα κοιταμε το object 17 εφοσον τα 21 το εχουμε κοιταξει

και κοιταμε το object 18


κοιταμε το object 19

 και εδω καταλαβαινουμε οτι απο το αρχειο kalo.pdf φτιαχτηκε το kako.pdf

και βλεπουμε τον ιο στο object 20

τωρα ας δουμε το object 20


βλεπουμε που λεει contains stream

για να δουμε τι περιεχει το stream γραφουμε

pdf-parser -f --object=20 /root/Desktop/kako.pdf


τωρα για να γλυτωσουμε την περιηγηση απο object σε object μεχρι να βρουμε τον ιο απλα γραφουμε 

pdf-parser --searchstream=program /root/Desktop/kako.pdf

και μας βρισκει το object που εχει τον ιο δλδ το 20



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

οποτε κανουμε εγκατασταση το pdfobjflow

γραφουμε apt-get install python-pydot

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

mkdir /root/tools/pdflow
πηγαινουμε στο φακελο με την εντολη 
cd /root/tools/pdflow
 για να το κατεβασουμε
wget http://pdfobjflow.googlecode.com/git/pdfobjflow.py
για να το κανουμε εκτελεσιμο
chmod +x pdfobjflow.py
δειτε εικονα

τωρα τρεχουμε την εντολη για να μας φτιαξει το γραφημα

pdf-parser /root/Desktop/kako.pdf | python /root/tools/pdflow/pdfobjflow.py eog pdfobjflow.png

πηγαινουμε και ανοιγουμε το pdfobjflow.png στην τοποθεσια /root


οποτε βλεπουμε ποιο object συσχετιζετε με ποιo

Εφοσον τωρα εχουμε μαθει να κοιταμε τα αρχεια pdf για ιους και βρηκαμε και σε ποιο object τρεχει ο ιος
αν θελουμε μπορουμε να  εξαγουμε τον ιο ωστε να βρουμε την ip του κακοβουλου χρηστη

γραφουμε 

pdf-parser --dump=/root/ios.exe -f --object=20 /root/Desktop/kako.pdf

και το αρχειο ios.exe θα ειναι στη διαδρομη /root/

τωρα αν εχουμε βρει ενα ωραιο βιβλιο pdf και δυστυχως καποιος το εχει μολυνει με ιο το απενεργοποιουμε με το pdfid
στην ουσια αλλαζει τα ονοματα ωστε να μην εκτελεστουνε

pdfid -d /root/Desktop/kako.pdf


με το peepdf μπορουμε να διαγραψουμε η να τροποποιησουμε ενα object πχ το object 20 που ειναι ο ιος θα βγαλουμε το περιεχομενο του


μετα γραφουμε save και exit

ξανατρεχουμε την εντολη peepdf /root/Desktop/kako.pdf

και βλεπουμε οτι στο object 20 δεν εχει τιποτα μεσα










Κυριακή 19 Οκτωβρίου 2014

Πως παιρνουμε κωδικους facebook,gmail,yahoo,hotmail απο τους αρχαριους χακερ (Google Dorks)



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

1.Συνδεση στο διαδικτυο



Πολλοι αρχαριοι χακερ εχουνε φτιαξει σελιδες phising απο οδηγους που εχουνε παρακολουθησει στο διαδικτυο με αποτελεσμα κουτσα στραβα να εχουνε ψαρεψει καποια θυματα
Ομως δεν ξερουνε να βαλουνε κωδικο στο αρχειο που καταγραφωνται οι κωδικοι και ετσι ο καθενας μπορει να τους δει

εμεις με την βοηθεια της Google θα ψαξουμε για αυτα τα αρχεια

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

inurl:"passes" 
inurl:"pass" 
inurl:''kodikoi.txt"
inurl:"κωδικοι.txt"
inurl:"passwords.txt"
inurl:"passwords"
inurl:"credentials"
filetype:txt @gmail
filetype:txt @yahoo
filetype:txt @gmail
filetype:txt @hotmail
filetype:txt @windowslive 

ανοιγουμε εναν εναν τους συνδεσμους και βλεπουμε κωδικους απο facebook/hotmail/yahoo/gmail κτλ

πχ


 
 

Τετάρτη 15 Οκτωβρίου 2014

Πως κλεβουμε μαζικα κωδικους Facebook,Yahoo,Gmail με την μεθοδο dns hijacking (Expert Phising)



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

1.Κali Λinux
2.Απομακρυσμενη προσβαση σε καποιο router


Οταν λεμε Dns hijacking ειναι οταν αλλαζουμε στο router η στη συσκευη του θυματος με ενα δικο μας dns server
δλδ αν ο χρηστης ψαχνει για www.facebook.com που ειναι ενα domain name
ο dns του θα του πει οτι το www.facebook.com βρισκετε στην ip 31.13.86.145
ενω αν αλλαξουμε στο router του θυματος και βαλουμε τον δικο μας dns server τοτε μπορουμε να βαλουμε οτι το www.facebook.com ειναι στην ταδε ip η οποια αυτη η ip ειναι η σελιδα phising που εχουμε φτιαξει

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

Πριν αρχισουμε γραφουμε σε ενα τερματικο ifconfig


βλεπουμε οτι η εσωτερικη μας ip ειναι 192.168.1.4 σε εσας μπορει να ειναι κατι αλλο πχ 192.168.1.χ

τωρα ανοιγουμε το browser μας και γραφουμε 192.168.1.1 η 192.168.2.1 η 192.168.1.254 ωστε να ενωθουμε με το router μας
πηγαινουμε και επιλεγουμε firewall dmz και βαζουμε την εσωτερικη μας ip ,επιλεγουμε enable

αριστερα σημειωνουμε την public ip (εξωτερικη ip)

κλεινουμε το browser

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

setoolkit

 επιλεγουμε 1
 επιλεγουμε 2
 επιλεγουμε 3
 επιλεγουμε 2
 γραφουμε την εξωτερικη μας ip

γραφουμε την ψευτικη σελιδα που θελουμε να φτιαξουμε πχ https://www,facebook.com/

 και παταμε enter


παταμε ctrl+c ωστε να κλεισει το SET
γραφουμε σε ενα τερματικο nano dns.conf μεσα γραφουμε

address=/facebook.com/εξωτερικηip


 παταμε ctr+x επιλεγουμε enter και αποθηκευουμε

τωρα ειμαστε ετοιμοι να ξεκινησουμε τον dns server μας ομως πριν το κανουμε αυτο επειδη το facebook ειναι https και σε ορισμενα browsers δεν θα εμφανιζει καν την σελιδα οποτε αναγκαστικα πρεπει να δημιουργησουμε ενα ssl πιστοποιητικο για την σελιδα phising που εχουμε φτιαξει με το SET
Το ssl certificate ειναι ενα πιστοποιητικο το οποιο κρυπτογραφει και φροντιζει την ασφαλη μεταφορα δεδομενων απο την σελιδα προς εσας  και φροντιζει να ταυτοποιει και να πιστοποιει την σελιδα 

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

a2enmod ssl

και για να φτιαξουμε το πιστοποιητικο γραφουμε στο τερματικο
 
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/facebook.key -out /etc/ssl/certs/facebook.pem

και βαζουμε τα εξεις στοιχεια ωστε να φενεται αληθινο *δειτε μετα στο τελος*


 τωρα γραφουμε nano /etc/apache2/sites-available/default-ssl

πηγαινουμε λιγο κατω που λεει ssl engine το αλλαζουμε σε on και προσθετουμε τις γραμμες αυτες


παταμε ctrl+x  μετα y και enter για να αποθηκευσουμε

*Τελος προαιρετικου*
μετα γραφουμε στο τερματικο

service apache2 restart


τωρα ειμαστε ετοιμοι να τρεξουμε τον dns server μας με την εντολη

dnsmasq --no-daemon --log-queries -C dns.conf

τωρα εφοσον τα εχουμε ολα μια χαρα μας μενει να βρουμε τα θυματα

 σε προηγουμενο μου οδηγο σας εδειξα πως ανιχνευετε και εισβαλετε σε αγνωστα router οποτε ας πουμε οτι εχετε προσβαση στο ρουτερ καποιου
 τοτε θα αλλαξετε το dns server του με την δικια σας εξωτερικη ip δλδ


τωρα εφοσον αλλαξαμε τον dns  server στο αγνωστο router θα δουμε στο τερματικο που τρεχει ο dns server μας ολα τα domain που αναζητα καποιος απο το συγκκριμενο router και συγκεκριμενα θα δουμε την ανακατευθυνση του facebook πχ ο χρηστης με ip 193.xx.xx.xx ψαχνει το www.facebook.com
και ο dns server μας απανταει οτι ειναι στην ip 178.xx.xx.xx δλδ στην εξωτερικη μου ip που εχω την σελιδα phising


και οταν ο χρηστης η οι χρηστες βαλουνε τον κωδικο τους τοτε εσεις θα τρεξετε σε ενα τερματικο

cat /var/www/harvester*.txt
η tail -f  /var/www/harvester*.txt *για να μην τρεχετε συνεχεια την εντολη cat*

και θα σας τους εμφανισει


Αυτη η μεθοδος εφαρμοζετε καλυτερα σε δημοσια δικτυα πχ καφετεριες
Προσοχη σε μερικα browsers βγαζει οτι το πιστοποιητικο δεν ειναι εγκυρο γιατι πολυ απλα για την ψευτικη σελιδα facebook παρεχουμε ενα αλλο πιστοποιητικο και οχι το γνησιο
για να παρακαμψουμε αυτο πρεπει να κανουμε εγκατασταση το πιστοποιητικο στο θυμα μας πραγμα το οποιο ειναι αδυνατο εκτος και αν εχουμε απομακρυσμενη προσβαση η φυσικη
Ετσι οπως ειναι ο οδηγος εχει αποτελεσματα περιπου 85% βεβαια παρατηρησα οτι ειναι καλυτερο να μην βαζετε sll engine on και να εχετε την ψευτικη ιστοσελιδα σας χωρις ssl


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

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