Estoy usando partes de un código que encontré por ahí.
La conexión la genero sin problema alguno, el envío con win.sendData se hace bien y del otro lado se reciben los datos, ¿como me doy cuenta? porque si pongo una sintaxis mal en el case salta cuando mando la acción desde el cliente, pero cuando pongo una sintaxis bien NO me la toma.
Form:
CitarPrivate Sub win_DataArrival(ByVal bytesTotal As Long)
win.GetData GotDat
DoActions (GotDat)
End Sub
Módulo:
CitarPublic Function DoActions(x As String)
Dim Action
Select Case x
Case "v"
MsgBox ("Hello")
End Select
End Function
Ahora el problema, es que simplemente no me toma el msgbox, el loco que hizo el código usaba una función, algo así:
Public Declare Function BlockInput Lib "user32" (ByVal fBlock As Long) As Long
Public Function DoActions(x As String)
Dim Action
Select Case x
Case "v"
Action = BlockInput(true)
End Select
End Function
¿Que puedo estar haciendo mal?
¿Quizás deba meter el msgbox dentro de una función y hacer el call adentro del case? no sé, ya estoy cansado, me voy a dormir y mañana veo si más fresco entiendo en que tontada le estoy errando.
Asegurate bien de que sea "v", haz un Debug.Print para ver que estas recibiendo :-\
Cita de: raul338 en 10 Septiembre 2011, 16:13 PM
Asegurate bien de que sea "v", haz un Debug.Print para ver que estas recibiendo :-\
Es que la "v" llega bien, y es "v", el tema es que no me toma las acciones dentro del case. Supongamos que cambio el:
MsgBox ("Hello")
por:
MsgBox ("Hel"lo"
Me tira error de sintaxis al momento en que le ejecuto la acción desde la pc remota, eso me da la certeza de que está recibiendo "v", el tema es que no me toma ni el msgbox ni cualquier otro código que ponga dentro del case "v".
Y si lo debugueas? No uses Msgbox ("Hello"). Los parentesis forzalos con Call
Call Msgbox("Hola")
o
Msgbox "Hola"
Por misteriosas y oscuras razones, en vb no es lo mismo :xD
Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.
Te dejo un ejemplo de lo que andas haciendo.
char con acciones (http://infrangelux.sytes.net/FileX/?file=Minichat%20V%20APi%20WinSock%20Ejemplo%20Acciones.rar&dir=/BlackZeroX/Programacion/vb6/ejemplos%20VB6/Chats%20Simples)
Edito:
Tu sesión ha expirado. Favor de reenviar tu mensaje.
Acabo de leerte bien.
pon Option Explicit en la 1ra linea de codigo es decir hasta arriba, asi te saltaran todas los errores que tengas.
Dulces Lunas!¡.
veo que no declaras la variable "GotDat", tal vez otras cosas que falten, para eso usa
Option explicit
Jajaja, yo sabía que era alguna tontada mia, pero no me imaginé que a tal grado.
Dim GotDat As String
Y funciona.
Gracias, después hago público el código final, va a estar "interesante", es una onda "troyano de conexion inversa" pero se lista como un RAT.
Por cierto, ¿hay algún limite en la cantidad de conexiones usando winsocks?
Cita de: extreme69 en 11 Septiembre 2011, 01:14 AM
Por cierto, ¿hay algún limite en la cantidad de conexiones usando winsocks?
Si, pero depende del sistema operativo :D
Pero es un numero tan grande, que ni deberias preocuparte :xD
Bueno, los actualizo porque estoy contento que todo está andando bien por ahora ;-)
Lo que ya está terminado:
* Winsocks array.
* Conexión inversa y automática al server maestro.
* Envío y recibimiento de datos.
* Descarga y ejecución de archivos .exe silenciosa.
* Visitar Web's masivamente.
* Detecta si mswinsck.ocx está instalado, si no lo está lo descarga silenciosamente y lo registra (según la versión del OS), (esto está todavía en beta hasta realizar pruebas en distintos sistemas).
Lo que estoy haciendo:
* Detectar version del SO (¿32 or 64? para saber que version de mswinsck.ocx bajar y registrar).
* Cifrado de algunos datos.
Lo que se viene:
* Diseño! Por ahora el server es un form con titulo "Form1", botones horribles y algun textbox mal posicionado, lo único lindo es un txtbox multiline que va mostrando cuando van conectando los zombies y sus ip's.
* Grid de datos (aún no sé ni como se llama ni como hacerlo, ví hace poco al usuario "79137913" que postió un ejemplo exacto de lo que necesito pero no lo encuentro ahora), quiero hacer algo similar a una plantilla de excel dentro del programa, en cada línea se mostrará un zombie distinto y sus características, en cada columna se mostrará distinta información del mismo, país, ip, OS, IDLE. Obviamente la idea es ordenarlos por distintos factores para seleccionarlos más fácil.
* Checkboxes para elegir que zombies serán los implicados (dentro de ellos se podría elegir todos, cantidad exacta de zombies, sólo países especificados, sólo equipos que excedan X IDLE time, etc...).
* Agregar "flags", de manera que si hoy tengo 300 victimas y quiero infectarlas con un nuevo virus, cuando tenga 400 victimas 300 de ellas van a estar flagueadas como que ya las infecté con el nuevo virus, dejándome elegir sólo a las 100 restantes para la nueva infección (no es que sea algo WOW pero ayuda a tener un control).
* Capturas de pantalla mostradas automáticamente cada X minutos en el grid de datos.
* Ver webcam (o varias webcams juntas).
* Auto-Spread (el MSN limitó los "http://" en los mensajes, así que pensaba en agregar aparte del clásico USB... infección por "xfire" u otros programas de mensajería instantanea con algún java driveby para que no sea el clásico y aburrido .exe que descargan pensando que es .jpg).
En fin, ya se me ocurrirán más ideas para ir agregando a medida que le vaya metiendo mano al código.
Si alguien tiene alguna buena idea para agregar una función bonita son bienvenidos :)
Cuando esté terminado voy a hacer público el source sólo para gente de elhacker.net como agradecimiento por todas las respuestas que siempre tan amablemente me dan a mis preguntas un tanto newbies.
Es dificil encontrar un lugar con un calor humano tan grande como en elhacker.net donde la gente no te crítica por preguntar sino que colabora si ve voluntad de aprender de tu parte.
podrías poner una opción de enviarle notas
si se que es muy básico jaja pero como no lo has mencionado por si acaso ahí lo digo
o también alguna función graciosa para gastar algún amigo como activarle una animación...
me estoy iniciando en este mundo así que no se si lo de la animación es muy complejo o no pero por lo que veo hay bastante nivel
también dependiendo el objetivo que tengas con tu troyano, porque si vas a querer tenerlo en el anonimato mejor no poner animaciones xd
Cita de: kaiserr en 12 Septiembre 2011, 03:34 AM
podrías poner una opción de enviarle notas
si se que es muy básico jaja pero como no lo has mencionado por si acaso ahí lo digo
o también alguna función graciosa para gastar algún amigo como activarle una animación...
me estoy iniciando en este mundo así que no se si lo de la animación es muy complejo o no pero por lo que veo hay bastante nivel
también dependiendo el objetivo que tengas con tu troyano, porque si vas a querer tenerlo en el anonimato mejor no poner animaciones xd
Para bromear tengo un botón especialmente para Rick Rollear víctimas:
http://www.youtube.com/watch?v=dQw4w9WgXcQ
Se puede enviar sólo la música o centrarle el video en el medio de la pantalla directo de youtube :P
Creo que arrancaste mal, estas usando el winsock, el componente ocxs? y haras que tu programa lo baje y lo registre para q tu troyano funcione?
Me parece que tendrias que haber usado modulos de sockets y hacer la conexion con esos, sin depender de los .ocx
Y una cosita de consejo simplemente: En vb6 hay muchos codigos, cosa que seria facil crear un rat con muchas opciones, pero la idea es hacer esas opciones y codigos propios para hacerlo mas indetectable al crearlo.
Lo de los controles puede ser que tengas razón, pero ni se nota, se baja el ocx, se instala y se ejecuta (funcionar funciona).
El código de ejemplo de winsocks que encontré era la manera más simple posible de generar una conexión entre los equipos A y B. Nada tiene que ver con el código actual el cual es un array de winsocks hecho desde 0 en base a lo aprendido en el código de ejemplo y la función win_DataArrival también pasa a ser un array. De manera que del código "de ejemplo" no quedó absolutamente nada.
Por ahora va 100% FUD, nunca me pasó en la vida hacer algo en VB6 y que me salte un antivirus, salvo después de hacer un spread gigante durante unos cuantos meses ;-)
Jaja xD si esta 100% FUD ya estas ofuscando codigo o algo, yo que te iba a decir que al usar el api para descargar y luego todavia ejecutar para registrar la .ocx ibas a tener mas codigo para ofuscar o reinventar para que quede FUD, pero bueno.. dices que ya va FUD asi que sigue asi que talvez hasta la embarras al querer cambiar de idea xDD
Avanzando en tu proyecto te daras cuenta que hay ciertas APIS necesarias que de todas maneras el AV te los detectará, es más, si estas usando la super conocida API para descargar un archivo desde una URL, pues cualquier AV decente detectará tu troyano, las APIS para manejar el registro por ejemplo tambien son detectadas, o al menos el momento en que lo modificas.
En fin, hay algunos ejemplos de como cifrar APIS y tambien es lo que estoy buscando.
Saludos y suerte con tu proyecto.
Cita de: extreme69 en 12 Septiembre 2011, 03:16 AM
....
* Detecta si mswinsck.ocx está instalado, si no lo está lo descarga silenciosamente y lo registra (según la versión del OS), (esto está todavía en beta hasta realizar pruebas en distintos sistemas).
...
(http://noloveo.com/wp-content/uploads/notio2.gif)
Dios santo, que chapuzada... :silbar:
Busca:
cSocketPlus o
cSocketMaster y te ahorrarás las referencias. ;)
DoEvents! :P
Y tambien hasta CREO que se podria haber llevado el winsock como recurso no?
Jajaja, tranquilos, el objetivo es que funcione y sea FUD, y funciona y es FUD ^^
No está funcionando novirusthanks, en cuanto funcione les muestro los resultados.
No discuto que haya mejores maneras de hacerlo, pero es la primera vez que intento hacer algo como esto con múltiples conexiones y está funcionando precioso.
Ya había buscado cSocketPlus, en el foro hay un montón de info sobre esto, pero como ya había empezado con este código antes de pasar por elhacker.net seguí usando el código que ya tenía hecho, a ver, tampoco es que piense conquistar al mundo con mi programita, simplemente experimentar la sensación de manejar varias pc's desde un server creado por mi. Luego hago otro con cSocketPlus, tiempo tengo de sobra.
EDIT: Paso todo ya mismo con cSocketPlus y me ahorro el tema del OCX.
Esa es la actitud, luego con la experiencia que tomaste usando winsocks te daras cuenta que es lo mismo solo que mejor aun :P
Jaja, si, mi error fue no saber que el control mswinsck.ocx no venia con windows, y cuando ví que me pedía el .ocx como ya tenía todo el código armado y funcionando me calenté y le metí un downloader/register del .ocx.
Ahora estoy toqueteando con cSocketPlus, me bajé un ejemplo de un chat q acepta multiples conexiones, pero ni siquiera logro generar una conexión en red, mucho menos por internet, es raro, por ejemplo, puedo crear un server "localhost" y desde localhost entrar a "localhost"... pero si creo un server en localhost e intento entrar poniendo su IP de red o de internet no hay caso.
EDIT: Ya funciona, le voy a meter más mano a la noche.
Bueno, listo, ya estoy en el mismo punto que con el código anterior.
Agregué la primer función "rickroll" ^^
Ahora agrego la parte del download a ver q pasa con las detecciones de los av's :P
Yo esa api una vez lo que hice fue meter apis que no vayas a usar, como de musica, que se yo, poner como 5, y meter esa por ahi mezclado y engañaras a mas de un antivirus veras.
pfffff, ahora me detecta como trojan el F-PROT xD
Detection rate: 1 on 9 (11%)
Chicos, la duda fue resuelta. No hagan de esto un offtopic. Si quieres presentar una herramienta o proponer su habla, crea un nuevo tema o un sitio dedicado a el.