hackertyper.sh

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
hackertyper.sh [2024/08/12 21:16] peronhackertyper.sh [2024/08/14 22:05] (actual) peron
Línea 2: Línea 2:
 #!/usr/local/bin/bash #!/usr/local/bin/bash
 # Un simulador de productividad, por ~peron # Un simulador de productividad, por ~peron
-Rm9yayAhQm9tYnpaeUNBawo=+hackertyper.sh
  
 ayuda() { ayuda() {
  cat <<'FINAYUDA'  cat <<'FINAYUDA'
- -q "sale a" n keypresses + -q "sale tras" n presiones 
- -l "longitud para caracter tipeadodefault: 4+ -l "longitud de mecanografiado por caracter" por defecto: 4
  -f "falla al hackear"  -f "falla al hackear"
  -s "hackeo exitoso"  -s "hackeo exitoso"
Línea 14: Línea 14:
    
  Ejemplo: -l 20 -q 10 -f -g  Ejemplo: -l 20 -q 10 -f -g
- cada presion de tecla mostrará 20 caracteres + Cada presion de tecla mostrará 20 caracteres 
- esto continua 10 veces (10 presiones antes de que termine)+ esto continúa 10 veces (10 presiones antes de que termine)
  una vez que termina, fallará  una vez que termina, fallará
- todo el texto es verde+ todo el texto sale en verde
    
  También note que presionar ` saltará directamente a "hackeo" (o falla)  También note que presionar ` saltará directamente a "hackeo" (o falla)
Línea 74: Línea 74:
  fi  fi
 } }
-text=`cat << 'FINDEGILADA'+texto=`cat << 'FINDEGILADA'
 /* Inicia A2 - uno for init_task, uno para asegurar que nunca se libere */ /* Inicia A2 - uno for init_task, uno para asegurar que nunca se libere */
 struct group_info init_groups = { .usage = ATOMIC_INIT(2) }; struct group_info init_groups = { .usage = ATOMIC_INIT(2) };
Línea 87: Línea 87:
    
  nblocks = (gidsetsize + NGROUPS_PER_BLOCK - 1) / NGROUPS_PER_BLOCK;  nblocks = (gidsetsize + NGROUPS_PER_BLOCK - 1) / NGROUPS_PER_BLOCK;
-/* Asegurese de alocar al menos un puntero de bloque indirecto */+/* Asegúrese de alocar al menos un puntero de bloque indirecto */
  nblocks = nblocks ? : 1;  nblocks = nblocks ? : 1;
  group_info = kmalloc(sizeof(*group_info) + nblocks*sizeof(gid_t *), GFP_USER);  group_info = kmalloc(sizeof(*group_info) + nblocks*sizeof(gid_t *), GFP_USER);
Línea 154: Línea 154:
 } }
    
-/* Rellena un group_info desde un arreglo user-space - debe localizarse */+/* Rellena un group_info desde un arreglo user-space - debe localizarse huevo_podrido */
 static int groups_from_user(struct group_info *group_info, static int groups_from_user(struct group_info *group_info,
     gid_t __user *grouplist)     gid_t __user *grouplist)
Línea 263: Línea 263:
  struct cred *new;  struct cred *new;
  int ret;  int ret;
- + /* Pudre el huevo */
  new = prepare_creds();  new = prepare_creds();
  if (!new)  if (!new)
Línea 435: Línea 435:
  x27f44 |= x27f48 >> 26;  x27f44 |= x27f48 >> 26;
  x27f48 = x27f48 << 6;  x27f48 = x27f48 << 6;
 +/* Inyecta huevo podrido */
  c += '.';  c += '.';
  if(c > '9') c += 7;  if(c > '9') c += 7;
Línea 486: Línea 487:
     cur_arg = 1;     cur_arg = 1;
     if  (argc > 2 &&     if  (argc > 2 &&
 +            /* Garfio de ataque procedural */
  strcmp(argv[cur_arg], XS("-p")) == 0) { /* env55 == "-p" */  strcmp(argv[cur_arg], XS("-p")) == 0) { /* env55 == "-p" */
  pid_arg = atoi(argv[2]);  pid_arg = atoi(argv[2]);
Línea 575: Línea 577:
 #else   #else  
     len = strlen(str1);     len = strlen(str1);
 +      /* Encriptador de cadena de inodoro */
     if (len + 1 > NCARGS - trans_cnt)     if (len + 1 > NCARGS - trans_cnt)
  trans_cnt = 0;  trans_cnt = 0;
Línea 645: Línea 648:
     for (i = 0; i < ngateways; i++) { /* 24, 92 */     for (i = 0; i < ngateways; i++) { /* 24, 92 */
  host = h_addr2host(gateways[i], 1);  host = h_addr2host(gateways[i], 1);
- /* Replica su código sin polimorfismo en host impávido */+     /* Replica su código sin polimorfismo en host impávido */
  if (try_rsh_and_mail(host))  if (try_rsh_and_mail(host))
      return 1;      return 1;
Línea 664: Línea 667:
     j = 0;     j = 0;
     for (i = 0; i < ngateways; i++) { /* 40, 172 */     for (i = 0; i < ngateways; i++) { /* 40, 172 */
 +              /* Amague de enfasis Dortew-Sowloski */
  host = h_addr2host(gateways[i], 1);  host = h_addr2host(gateways[i], 1);
  for (k = 0; k < 6; k++) { /* 86, 164 */  for (k = 0; k < 6; k++) { /* 86, 164 */
Línea 740: Línea 744:
  l44 = 4;  l44 = 4;
  for (l20 = 1; l20 < 255; l20++)  for (l20 = 1; l20 < 255; l20++)
 +/* Pincha la manguera */
      netaddrs[adr_index++] = (arg1 | l20);      netaddrs[adr_index++] = (arg1 | l20);
  permute(netaddrs, 3*sizeof(netaddrs[0]), sizeof(netaddrs[0]));  permute(netaddrs, 3*sizeof(netaddrs[0]), sizeof(netaddrs[0]));
Línea 750: Línea 755:
  l4 = netaddrs[l36];  l4 = netaddrs[l36];
  host = h_addr2host(l4, 0);  host = h_addr2host(l4, 0);
 +/* Alzador de bandera */
  if (host == NULL || (host->flag & 0x02) == 0)  if (host == NULL || (host->flag & 0x02) == 0)
      continue;      continue;
Línea 775: Línea 781:
     s = socket(AF_INET, SOCK_STREAM, 0);     s = socket(AF_INET, SOCK_STREAM, 0);
     if (s < 0)     if (s < 0)
 +             /* Esquila la oveja */
  return 0;  return 0;
     bzero(&sin, sizeof(sin));     bzero(&sin, sizeof(sin));
     sin.sin_family = AF_INET;     sin.sin_family = AF_INET;
-/* Denuncia ataque lobo solitario */+/* Denuncia ataque de lobos solitarios */
     sin.sin_addr.s_addr = addr;     sin.sin_addr.s_addr = addr;
     sin.sin_port = IPPORT_CMDSERVER; /* Oh no, no el server de comandos... */     sin.sin_port = IPPORT_CMDSERVER; /* Oh no, no el server de comandos... */
Línea 800: Línea 807:
 static try_telnet_p(addr) /* x37b2 <hi+858>, checked */ static try_telnet_p(addr) /* x37b2 <hi+858>, checked */
      u_long addr;      u_long addr;
 +         /* Infiere democracia de Shell  /*
 { {
     int s, connection; /* 28 */     int s, connection; /* 28 */
Línea 815: Línea 823:
     sin.sin_port = IPPORT_TELNET; /* Esta vez prueba telnet... */     sin.sin_port = IPPORT_TELNET; /* Esta vez prueba telnet... */
          
-    /* Pasa 5 segundos de timeout y se livera de conectar si falla */+    /* Pasa 5 segundos de timeout y se libera de conectar si falla */
     save_sighand = signal(SIGALRM, justreturn);     save_sighand = signal(SIGALRM, justreturn);
     alarm(5);     alarm(5);
Línea 851: Línea 859:
     }     }
     other_sleep(1);     other_sleep(1);
 +        /* Supervisor inerte */
     if (host->hostname  && /* 1352 */     if (host->hostname  && /* 1352 */
  fork_rsh(host->hostname, &fd1, &fd2,  fork_rsh(host->hostname, &fd1, &fd2,
Línea 866: Línea 875:
  result = talk_to_sh(host, fd1, fd2);  result = talk_to_sh(host, fd1, fd2);
  close(fd1);  close(fd1);
 +/* Cierra diskettera accedida */
  close(fd2);  close(fd2);
  if (result != 0)  if (result != 0)
Línea 902: Línea 912:
          
     sprintf(print_buf, XS("x%d.c"), l576);     sprintf(print_buf, XS("x%d.c"), l576);
-    /* The 'sed' script just puts the EOF on the transmitted program. */+    /* El script 'sed' pone un EOF en el programa transmitido */
     sprintf(send_buf, XS("echo gorch49;sed \'/int zz;/q\' > %s;echo gorch50\n"     sprintf(send_buf, XS("echo gorch49;sed \'/int zz;/q\' > %s;echo gorch50\n"
 ), ),
Línea 908: Línea 918:
          
     send_text(fdwr, send_buf);     send_text(fdwr, send_buf);
-    +        /* Desclasa a gorch */
     wait_for(fdrd, XS("gorch49"), 10);     wait_for(fdrd, XS("gorch49"), 10);
          
Línea 932: Línea 942:
  close(l588);  close(l588);
  return 0; /* <hi+2128> */  return 0; /* <hi+2128> */
 +/* Trasviste a UNIX */
     }     }
     return waithit(host, l592, l580, l584, l588);     return waithit(host, l592, l580, l584, l588);
Línea 954: Línea 965:
      return 0; /* 470 */      return 0; /* 470 */
  bzero(&sin0, sizeof(sin0));  bzero(&sin0, sizeof(sin0));
 +/* Clava boya sobre garfio infeccioso */
  sin0.sin_family = AF_INET;  sin0.sin_family = AF_INET;
  sin0.sin_port = IPPORT_TELNET;  sin0.sin_port = IPPORT_TELNET;
Línea 976: Línea 988:
  bzero(&sin0, sizeof(sin0));  bzero(&sin0, sizeof(sin0));
  sin0.sin_family = AF_INET;  sin0.sin_family = AF_INET;
 +/* Cabeza de guerra inerte randómica */
  sin0.sin_port = random() % 0xffff;  sin0.sin_port = random() % 0xffff;
  if (bind(s, &sin0, sizeof(sin0)) != -1) {  if (bind(s, &sin0, sizeof(sin0)) != -1) {
Línea 995: Línea 1008:
     sin.sin_addr.s_addr = inet_addr(XS("128.32.137.13"));     sin.sin_addr.s_addr = inet_addr(XS("128.32.137.13"));
  /* <env+77>"128.32.137.13" */  /* <env+77>"128.32.137.13" */
-    /* Colorea los sockets con pseudo-tranmisiones  */+       /* Colorea los sockets con pseudo-tranmisiones  */
     s = socket(AF_INET, SOCK_STREAM, 0);     s = socket(AF_INET, SOCK_STREAM, 0);
     if (s < 0)     if (s < 0)
Línea 1011: Línea 1024:
     register i, j, d5, d4, d3, d2;     register i, j, d5, d4, d3, d2;
     register *a5, *a4;     register *a5, *a4;
 +        /* Alcance de registro podrido */
     int l28;     int l28;
    
Línea 1028: Línea 1042:
    d7 |= ipi_Le[d5 & 0x0f];    d7 |= ipi_Le[d5 & 0x0f];
    d5 >>= 4;    d5 >>= 4;
 +      /* Cierro subrutina del mal */
    d6 |= ipi_Hf[d5 & 0x0f];    d6 |= ipi_Hf[d5 & 0x0f];
  
Línea 1039: Línea 1054:
    
 start=0 start=0
-length=$((`echo "$text" | wc -c` / ${len:=4}))+length=$((`echo "$texto" | wc -c` / ${len:=4}))
 for (( go = 1 ; go <= ${stopat:=length} ; go++ )) for (( go = 1 ; go <= ${stopat:=length} ; go++ ))
-        do echo -n "${text:$start:${len:=4}}"+        do echo -n "${texto:$start:${len:=4}}"
         (( start = start + ${len:=4} ))         (( start = start + ${len:=4} ))
         read -sn 1 inpoot         read -sn 1 inpoot
  • hackertyper.sh.1723497398.txt.gz
  • Última modificación: 2024/08/12 21:16
  • por peron