Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - iSm0keD

#1
Análisis y desarrollo de malwares / Re:NanoCore RAT
Febrero 06, 2017, 09:23:46 PM
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Gracias por compartir este RAT.

Tengo una curiosidad desde hace un par de dias, quizás suene muy tonta pero soy nuevo en esto.

Estos tipos de RAT's al igual que Poison ivy, SpyNet, Bifrost, entre otros, no hay alguno funcional para distribuciones de Linux? Obligatoriamente hay que tener un Windows X?

Gracias.

Hay rats en java que funcionaran en cualquier sistema operativo que tenga java instalado, ya sea mac linux o windows

Alguno que sepas y recomiendes?
#2
Análisis y desarrollo de malwares / Re:NanoCore RAT
Febrero 06, 2017, 07:37:09 PM
Gracias por compartir este RAT.

Tengo una curiosidad desde hace un par de dias, quizás suene muy tonta pero soy nuevo en esto.

Estos tipos de RAT's al igual que Poison ivy, SpyNet, Bifrost, entre otros, no hay alguno funcional para distribuciones de Linux? Obligatoriamente hay que tener un Windows X?

Gracias.
#3
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Intenté hacerlo paso por paso, pero mi server a encriptar tiene más secciones y ninguna coincide con el archivo .text.

¿Podrías decirme de que manera obtener ese archivo, o que hice mal?

En tu caso la sección que buscas es la "CODE".

saludos.

En ese tipo de casos que no salga CODE o .text, cual seria la regla general que uno deba seguir? Más alla de memorizar los posibles nombres tal como son "Code o text", como sabría uno para saber cual y por que elegir?

Gracias por compartir!
#4
Dudas y pedidos generales / Re:Banco en C
Agosto 04, 2016, 02:55:32 PM
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Entonces, no entiendo por que me "Combina" los vectores y me arroja información erronea, más alla de querer resolver la duda, quiero saber el por que sucede esto. Cabe destacar que me he pasado todo el dia intentando multiples cosas y aún sigo sin obtener un resultado.

No se si debería usar punteros, no lo veo necesario, lo que asumo que esta pasando es que me esta tomando la posición del vector correspodiente y me lo combina con la posición del vector que le sigue ¿Por que? no tengo la más remota idea.

Espero alguien me pueda ayudar un poco, no les pido hacerlo, no, simplemente ayudarme con el por que pasa esto y el tema a tratar, estaria bastante agradecido!

Esto sucede porque los arrays que has declarado no tienen tamaño alguno. Teniendo en cuenta que las variables son de tamaño estático y que el valor de tu variable n es cero entonces el compilador crea variables array de tamaño cero:

Código: c

int n,cli,rangeced,cont;
n=0;

char Nom[n][20];
char Ape[n][20];
char Ced[n][20];
char Deb[n][20];
char Cred[n][20];
float Sal[n];


Esto no tiene sentido y por ello el resultado depende del compilador. Al iterar sobre n, que cambia de valor por la entrada del usuario, accedes a posiciones en el stack que no corresponden al array e incluso puedes llegar a direccionar fuera del stack frame llegando a un "segmentation fault".

Código: c

for(int i=0;i<n;i++){

.
.
.

    do{
        printf("Introduzca el nombre del cliente: ");
        scanf("%s",&Nom[i]);
    }while(ValLet(Nom[i]));

.
.
.



Saludos


Muchisimas gracias grep! Ya veo todo con claridad gracias a ti y la locura que estaba haciendo jaja, muy agradecido grep de verdad!
#5
Dudas y pedidos generales / [SOLUCIONADO] Banco en C
Agosto 03, 2016, 05:35:06 PM
Buenas tardes amigos, ando con una duda inmensa, y más de querer dar con el problema, estoy intrigado del por que sucede esto.

Llevo un par de dias haciendo un pequeño proyecto de la universidad y me he topado con un problema bastante curioso (A lo mejor sea una tonteria).

El codigo que les mostrare a continuación es acerca de un banco que registra sus clientes con su consulta, transacciones, entre otras cosas.

He creado 5 vectores del tipo char:

    char Nom[n][20];
    char Ape[n][20];
    char Ced[n][20];   
    char Deb[n][20];
    char Cred[n][20];

Para simplemente registrar los datos de los clientes, he llenado los vectores con el siguiente codigo (tiene algunas validaciones)

Código: php
            for(int i=0;i<n;i++){
                   
                  system("cls");
                   
                  printf("                    *********************************\n");
                  printf("                    *                               *\n");
                  printf("                    *           Cliente #%d          *\n",i+1);
                  printf("                    *                               *\n");
                  printf("                    *********************************\n\n\n");
                 
                  do{   
                      printf("Introduzca el nombre del cliente: ");
                       
                      scanf("%s",&Nom[i]);                 
                  }while(ValLet(Nom[i]));
                 
                 printf("\n\n%s\n\n",Nom[i]);//Comprobando que registra bien en la posición actual del array
                   
                  do{   
                      printf("\nIntroduzca el apellido del cliente: ");
                       
                      scanf("%s",&Ape[i]);
                                       
                  }while(ValLet(Ape[i]));                                     

//**************************************************************************************************************************                 
//VALIDAR TODO CEDULA
                        do{
                        cont=0;
                       
                        do{
                               
                        printf("\nIntroduzca la cedula del cliente: ");
                         
                        scanf("%s",&Ced[i]);
                       
                        if(atoi(Ced[i]) == 0)printf("No puede introducir una cedula con valor NULL");
                        }while(atoi(Ced[i]) == 0);
                       
                        int aux= atoi(Ced[i]); // CEDULA RANGO
                        rangeced= aux;
                       
                        if(!(IsNumber(Ced[i]) == 1)){
                             
                             printf("Introduzca una cedula valida, intentelo nuevamente.\n");
                             
                             }
                             
//VALIDAR CEDULA SI ESTA REPETIDA
   
                        for(int j=0;j<n;j++){
                             
                              if(atoi(Ced[i]) == atoi(Ced[j])){
                                   cont=cont+1;
                                   }
                             
                        }     
//VALIDAR CEDULA SI ESTA REPETIDA finished   
                       
                        if(cont==2)printf("Cedula repetida");
                        if(rangeced>40000000)printf("Rango valido de cedula 1 - 39.999.999, por favor intente nuevamente.\n");
                       
                        }while(!(IsNumber(Ced[i]) == 1 && cont != 2 && rangeced < 40000000 ));
//VALIDAR TODO CEDULA FINISHED
//###############################################################################################################################                 
                 
//**************************************************************************************************************************               
//VALIDAR TARJETA DE DEBITO
                        do{
                        cont=0;
                       
                        do{
                               
                        printf("\nIntroduzca la tarjeta de debito del cliente: ");
                         
                        scanf("%s",&Deb[i]);
                       
                        if(atoi(Ced[i]) == 0)printf("No puede introducir una tarjeta de debito con valor NULL");
                        }while(atoi(Deb[i]) == 0);
                                               
                        if(!(IsNumber(Deb[i]) == 1)){
                             
                             printf("Introduzca una tarjeta de debito valida, intentelo nuevamente.\n");
                             
                             }
                             
//VALIDAR SI LA TARJETA DE DEBITO ESTA REPETIDA
   
                        for(int j=0;j<n;j++){
                             
                              if(atoi(Deb[i]) == atoi(Deb[j])){
                                   cont=cont+1;
                                   }
                             
                        }     
//VALIDAR SI LA TARJETA DE DEBITO ESTA REPETIDA finished   
                       
                        if(cont==2)printf("Tarjeta de debito repetida, intente nuevamente.");
                                               
                        }while(!(IsNumber(Deb[i]) == 1 && cont != 2 ));
//VALIDAR TODO TARJETA DE DEBITO 
//###############################################################################################################################                 
                 
                  printf("\nEl cliente dispone de tarjeta de credito? (S/N): ");
                   
                  scanf("%s",&OpSn);
                 
                  if( (strcmp(OpSn[0], "s")) == 0 ){
//**************************************************************************************************************************                 
//VALIDAR TODO TARJETA DE CREDITO
                        do{
                        cont=0;
                       
                        do{
                               
                        printf("\nIntroduzca la tarjeta de credito del cliente: ");
                         
                        scanf("%s",&Cred[i]);
                       
                        if(atoi(Cred[i]) == 0)printf("No puede introducir una tarjeta de credito con valor NULL");
                        }while(atoi(Cred[i]) == 0);
                       
                        if(!(IsNumber(Cred[i]) == 1)){
                             
                             printf("Introduzca una tarjeta de credito valida, intentelo nuevamente.\n");
                             
                             }
                             
//VALIDAR TARJETA DE CREDITO SI ESTA REPETIDA
   
                        for(int j=0;j<n;j++){
                             
                              if(atoi(Cred[i]) == atoi(Cred[j])){
                                   cont=cont+1;
                                   }
                             
                        }     
//VALIDAR TARJETA DE CREDITO SI ESTA REPETIDA finished   
                       
                        if(cont==2)printf("Tarjeta de credito repetida");
                       
                        }while(!(IsNumber(Cred[i]) == 1 && cont != 2));
//VALIDAR TODO TARJETA DE CREDITO FINISHED
//############################################################################################################################               

                       }
                                                                               
            printf("\n\n\nEl cliente: %s %s ha sido registrado exitosamente!\n",Nom[i], Ape[i]);
            printf("Presione una tecla para continuar . . .");
            getch();     
            }//for principal


Todo me registra normal, hasta que voy al menu principal --> Opción #2 que es para hacer la consulta y los resultados me los arroja de la siguiente manera:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta


Del lado izquierdo muestro los dos vectores como los ingreso y los del lado derecho como me los arroja luego de mostrarlos con el siguiente codigo:

Código: php
             case 2:

                  for(int z=0;z<n;z++){
                                   
                        printf("Cliente #%d:\n",z+1);
                         
                        printf("*************************************************************\n\n");
                        printf("Nombre completo: %s %s\n",Nom[z],Ape[z]);
                        printf("Cedula: %s\n",Ced[z]);
                        printf("Tarjeta de debito: %s\n",Deb[z]);
                        printf("Tarjeta de credito: %s\n\n\n",Cred[z]);
                        //printf("Saldo disponible: %f\n\n\n",Sal[i]);
                       
                        }
             getch();
             break;
                                   
             }//switch


Entonces, no entiendo por que me "Combina" los vectores y me arroja información erronea, más alla de querer resolver la duda, quiero saber el por que sucede esto. Cabe destacar que me he pasado todo el dia intentando multiples cosas y aún sigo sin obtener un resultado.

No se si debería usar punteros, no lo veo necesario, lo que asumo que esta pasando es que me esta tomando la posición del vector correspodiente y me lo combina con la posición del vector que le sigue ¿Por que? no tengo la más remota idea.

Espero alguien me pueda ayudar un poco, no les pido hacerlo, no, simplemente ayudarme con el por que pasa esto y el tema a tratar, estaria bastante agradecido!

Codigo completo:

Código: php
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <windows.h>



//Funcion solo numeros*************************************************************************************************************
bool IsNumber(char* szString)
{
//Recorremos todos los caracteres y comprobamos que cada uno sea un número
for(unsigned int i=0;i<strlen(szString);i++)
{
if(!(szString[i]>='0' && szString[i]<='9')) return false;
}
return true;
}
//Funcion solo numeros FINISHED****************************************************************************************************


//VALIDAR PALABRAS******************************************************************************************************************
int ValLet(char* p)
{
     char *temp = p;
     do
     {
          if(!isalpha(*p) && *p)
          {
               printf("%s contiene numeros y/o simbolos, introduzca solamente letras (a-z).\n", temp);
               return 1;
          }
     }
     while(*p++);
     return 0;
}

//VALIDAR PALABRAS************************************************************************************************************************


//       MENU********************************************************************************************************************
int op;
int comp;

int Menu(){
index:
system("cls");

    do{
               
        system("cls");
            printf("                *******************************************\n");
            printf("                *                                         *\n");
            printf("                *     BANCO MANTENGA LA FE QUE PASARA     *\n");
            printf("                *                                         *\n");
            printf("                *           MENU DE OPCIONES              *\n");
            printf("                *                                         *\n");
            printf("                *                                         *\n");
            printf("                *******************************************\n\n\n");
           
            printf("                *******************************************\n");
            printf("                             MENU DE OPCIONES             *\n");
            printf("                *******************************************\n");
            printf("                *     (1) REGISTRAR CLIENTES.             *\n");
            printf("                *     (2) CONSULTAR CLIENTES.             *\n");
            printf("                *******************************************\n");                                       
    printf("                OPCION: ");
   
while (!(scanf("%d",&op)) )
        {
        printf("No es un numero, opciones validas: 1,2,3,4");
        printf("\n\nPresione una tecla para intentarlo de nuevo . . .");
        getch();
         
        goto index;
        }

// sprintf(mientras, "%d", op);

printf("\n\n");

if(op < 1 || op > 4){
             
             printf("Ha elegido una opcion incorrecta, rango valido 1 - 4 (1,2,3,4).\n\nPresione una tecla para intentarlo de nuevo . . .");
             getch();
             
             }
             
if(comp==0 && op==2){
                   
                   printf("Primero debe registrar los vendedores");
                   getch();
                   goto index;
         }else if(comp==0 && op==3){
               
               printf("Primero debe registrar los vendedores");
               getch();
               goto index;
               }
               
}while(op < 1 || op > 4);
system("cls");
return op;
}
//         MENU********************************************************************************************************************

// LOGIN LOGIN LOGIN LOGIN LOGIN LOGIN LOGIN LOGIN LOGIN LOGIN LOGIN LOGIN LOGIN LOGIN LOGIN LOGIN LOGIN LOGIN LOGIN

char id[1][20];
char pass[1][20];
int resp;
int intentos=0;
int Login(){
    login:

   
    while(resp!=1){
            system("cls");
            system("color 07");
            printf("*******************************************\n");
            printf("*                                         *\n");
            printf("*     BANCO MANTENGA LA FE QUE PASARA     *\n");
            printf("*                                         *\n");
            printf("*           SISTEMA DE ACCESO             *\n");
            printf("*                                         *\n");
            printf("*                                         *\n");
            printf("*******************************************\n\n\n");
           
            printf("*******************************************\n");
            printf("*                LOGIN:                   *\n");
            printf("*******************************************\n");
           
            printf("USUARIO: ");
            scanf("%s",&id[0]);
            printf("\nCONTRASEÑA: ");
            scanf("%s",&pass[0]);
           
            //&& strcmp(pass,"Solorzano") == 0
           
            if( (strcmp(id[0], "1"))==0 && (strcmp(pass[0], "1"))==0 ){
                           
                            resp=1;
                            printf("\nBienvenido profesor Marcos, ha ingresado el usuario correctamente.\n");
                            printf("Pulse una tecla para continuar . . .");
                            getch();
                           
                            }else{
                                  intentos=intentos+1;
                                  system("color 47");
                                  printf("\nCONTRASEÑA INCORRECTA!\n\n");
                                  printf("Intento (%d/3)",intentos);
                                  if(intentos==3){
                                 
                                  printf("\n\nHa introducido el usuario incorrectamente 3 veces, el programa se cerrara.");
                                                 
                                  }
                                  printf("\n\n\nPulse una tecla para continuar . . .");
                                  getch();
                                  if(intentos==3){
                                 
                                  exit(0);
                                                 
                                  }
                                 
                                  goto login;
                                 
                                  }
            return resp;
             
            }
   
   
    }


int contador=0;
int main(){
   
    int n,cli,rangeced,cont;
    n=0;

    char Nom[n][20];
    char Ape[n][20];
    char Ced[n][20];   
    char Deb[n][20];
    char Cred[n][20];
    float Sal[n];
    char OpSn[1][20];
   
    Login();
   
    main:
    Menu();

             switch(op){
                       
             case 1:
                 
             case1:
             system("cls");
             printf("******************************\n");             
             printf("*                            *\n");
             printf("*    INGRESO DE CLIENTES     *\n");
             printf("*                            *\n");
             printf("******************************\n\n\n");
             
             printf("¿Cuantos clientes desea agregar?\n");
             
             while (!(scanf("%d",&n))){
                   
            printf("No es un numero.");
            printf("\n\nPresione una tecla para intentarlo de nuevo . . .");
            getch();
             
            goto case1;
            }             
           
            for(int i=0;i<n;i++){
                   
                  system("cls");
                   
                  printf("                    *********************************\n");
                  printf("                    *                               *\n");
                  printf("                    *           Cliente #%d          *\n",i+1);
                  printf("                    *                               *\n");
                  printf("                    *********************************\n\n\n");
                 
                  do{   
                      printf("Introduzca el nombre del cliente: ");
                       
                      scanf("%s",&Nom[i]);                 
                  }while(ValLet(Nom[i]));
                 
                 printf("\n\n%s\n\n",Nom[i]);//Comprobando que registra bien en la posición actual del array
                   
                  do{   
                      printf("\nIntroduzca el apellido del cliente: ");
                       
                      scanf("%s",&Ape[i]);
                                       
                  }while(ValLet(Ape[i]));                                     

//**************************************************************************************************************************                 
//VALIDAR TODO CEDULA
                        do{
                        cont=0;
                       
                        do{
                               
                        printf("\nIntroduzca la cedula del cliente: ");
                         
                        scanf("%s",&Ced[i]);
                       
                        if(atoi(Ced[i]) == 0)printf("No puede introducir una cedula con valor NULL");
                        }while(atoi(Ced[i]) == 0);
                       
                        int aux= atoi(Ced[i]); // CEDULA RANGO
                        rangeced= aux;
                       
                        if(!(IsNumber(Ced[i]) == 1)){
                             
                             printf("Introduzca una cedula valida, intentelo nuevamente.\n");
                             
                             }
                             
//VALIDAR CEDULA SI ESTA REPETIDA
   
                        for(int j=0;j<n;j++){
                             
                              if(atoi(Ced[i]) == atoi(Ced[j])){
                                   cont=cont+1;
                                   }
                             
                        }     
//VALIDAR CEDULA SI ESTA REPETIDA finished   
                       
                        if(cont==2)printf("Cedula repetida");
                        if(rangeced>40000000)printf("Rango valido de cedula 1 - 39.999.999, por favor intente nuevamente.\n");
                       
                        }while(!(IsNumber(Ced[i]) == 1 && cont != 2 && rangeced < 40000000 ));
//VALIDAR TODO CEDULA FINISHED
//###############################################################################################################################                 
                 
//**************************************************************************************************************************               
//VALIDAR TARJETA DE DEBITO
                        do{
                        cont=0;
                       
                        do{
                               
                        printf("\nIntroduzca la tarjeta de debito del cliente: ");
                         
                        scanf("%s",&Deb[i]);
                       
                        if(atoi(Ced[i]) == 0)printf("No puede introducir una tarjeta de debito con valor NULL");
                        }while(atoi(Deb[i]) == 0);
                                               
                        if(!(IsNumber(Deb[i]) == 1)){
                             
                             printf("Introduzca una tarjeta de debito valida, intentelo nuevamente.\n");
                             
                             }
                             
//VALIDAR SI LA TARJETA DE DEBITO ESTA REPETIDA
   
                        for(int j=0;j<n;j++){
                             
                              if(atoi(Deb[i]) == atoi(Deb[j])){
                                   cont=cont+1;
                                   }
                             
                        }     
//VALIDAR SI LA TARJETA DE DEBITO ESTA REPETIDA finished   
                       
                        if(cont==2)printf("Tarjeta de debito repetida, intente nuevamente.");
                                               
                        }while(!(IsNumber(Deb[i]) == 1 && cont != 2 ));
//VALIDAR TODO TARJETA DE DEBITO 
//###############################################################################################################################                 
                 
                  printf("\nEl cliente dispone de tarjeta de credito? (S/N): ");
                   
                  scanf("%s",&OpSn);
                 
                  if( (strcmp(OpSn[0], "s")) == 0 ){
//**************************************************************************************************************************                 
//VALIDAR TODO TARJETA DE CREDITO
                        do{
                        cont=0;
                       
                        do{
                               
                        printf("\nIntroduzca la tarjeta de credito del cliente: ");
                         
                        scanf("%s",&Cred[i]);
                       
                        if(atoi(Cred[i]) == 0)printf("No puede introducir una tarjeta de credito con valor NULL");
                        }while(atoi(Cred[i]) == 0);
                       
                        if(!(IsNumber(Cred[i]) == 1)){
                             
                             printf("Introduzca una tarjeta de credito valida, intentelo nuevamente.\n");
                             
                             }
                             
//VALIDAR TARJETA DE CREDITO SI ESTA REPETIDA
   
                        for(int j=0;j<n;j++){
                             
                              if(atoi(Cred[i]) == atoi(Cred[j])){
                                   cont=cont+1;
                                   }
                             
                        }     
//VALIDAR TARJETA DE CREDITO SI ESTA REPETIDA finished   
                       
                        if(cont==2)printf("Tarjeta de credito repetida");
                       
                        }while(!(IsNumber(Cred[i]) == 1 && cont != 2));
//VALIDAR TODO TARJETA DE CREDITO FINISHED
//############################################################################################################################               

                       }
                                                                               
            printf("\n\n\nEl cliente: %s %s ha sido registrado exitosamente!\n",Nom[i], Ape[i]);
            printf("Presione una tecla para continuar . . .");
            getch();     
            }//for principal
            comp=1;
                       
             goto main;
             break;         
             
             case 2:

                  for(int z=0;z<n;z++){
                                   
                        printf("Cliente #%d:\n",z+1);
                         
                        printf("*************************************************************\n\n");
                        printf("Nombre completo: %s %s\n",Nom[z],Ape[z]);
                        printf("Cedula: %s\n",Ced[z]);
                        printf("Tarjeta de debito: %s\n",Deb[z]);
                        printf("Tarjeta de credito: %s\n\n\n",Cred[z]);
                        //printf("Saldo disponible: %f\n\n\n",Sal[i]);
                       
                        }
             getch();
             break;
                                   
             }//switch

    system("pause");
   
   
}



Saludos a todos!

#RESUELTO POR grep;)
#6
Gracias por compartir la herramienta en el foro!

Tengo una pregunta, quizás algo tonta, ya me he cansado de buscar en todas partes y no doy con mi respuesta.

Tengo entendido que se necesitan (2) Wireless cards, se podría usar la que trae la Laptop + un Router TP Link que libera wifi? Como una es la que tiene que clonar la SSID solamente y la otra hacer el ataque de DoS y estar monitoreando y redirigir las peticione HTTP a la fake web para capturar la contraseña.

Esa es mi duda, espero alguien me pueda ayudar..

Gracias!
#7
Excelente, a probarla.

Alguien sabe si es mejor que AndroRAT? Algunas ventajas que tenga esta o la otra sobre esta?

Gracias por compartila!
#8
Cursos, manuales y libros / Re:Curso hacking
Julio 14, 2016, 11:27:50 PM
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Buenas a todos,
alguno tiene un link con los pdf?
El link de mega se encuentra caido

En cuanto vuelva de vacaciones lo resubo :D

No se te olvide amigo, estoy interesado en leerlo.

Gracias.