Underc0de

Foros Generales => Underc0de => Mensaje iniciado por: xyz en Diciembre 01, 2017, 01:15:27 AM

Título: Desafio #11 - Viernes Negro
Publicado por: xyz en Diciembre 01, 2017, 01:15:27 AM
Bienvenidos Underc0ders !!

(https://blog.underc0de.org/wp-content/uploads/2017/10/img-destacada-viernes-negro-blog-.png)

En esta oportunidad traemos nuevos retos y sorpresas !

El que gane mayor cantidad de desafios de Viernes Negros en el mes de Diciembre, tendrá un premio de 10 dólares o su equivalente por envío Paypal.

¿Quienes pueden participar?  TODOS.

Quienes participan por el premio, todo UNDERC0DE EXCEPTO:


En el foro, encontrarán las herramientas logicas necesarias para resolver los wargames.

Pueden utilizar sitios externos y aplicaciones propias para llegar a la solución.


Condiciones para participar por el premio:




Aclaraciones.



Actualización.




Si en algún reto, notan algo erroneo, envíen por MP la solución o corrección (los que han enviado, está correcto)




SE ANUNCIARA AL GANADOR EN EL TRANSCURSO DE LA PRIMER SEMANA DE ENERO DEL 2018.



Reto 1. Hallar el flag.
Hash: ED9D3D832AF899035363A69FXD53CD3BE8F715Y01CZ

Reto 2. Obtener el mensaje
RW4gTGEgY2ltQSBkZSBsYSBjb2xpbmEgR3VhcmRhIHVuYSBkb25jRWxsYSB1TiBhbXVsZVRvIGFuY0VzdHJhbC4gRXMgdW4gdGFsaVNtYW4gcVVlIGlOdm9jYSBhIE1hb2toYWksIHVuIEFudGlndW8gZ3VhcmRpYW4gZGVMIGJvcXVlIFdhZHVkLCBsbEFtYWRvIGEgcFJvdGVnZXIgc3VzIHJFbW90b3MgZG9taW5pb3Mu


Reto 3. Decifrar el mensaje.
3334 51115411 11 431542 414515 3215 511543141143 22114434 353442 312415124215

Reto 4. Encontrar el flag.

(https://i.imgur.com/KGGCk2w.jpg)

Enlace de la imagen: imgur.com/a/i3F5S

Reto 5. Dado el siguiente string, obtener unicamente los números.

Ejemplo:
INPUT: A1B2C3D4E5
OUTPUT: 12345


String: kn8XontEa4EdJvwtWqHun6QRDBlOdl5cGLoLuuMneBDRzhONWDkBGgCDIvaEhZfq11Xf7t1vsQXmuSnjuUJ2YFAvbAaOlpf65OiwBGhvey3h4cIUTZkhGemMI5IRyoyXPX7tMBwdQmFC40Qq0rlJbuhojwDH9wy86DiU5c48ECg2ZVbGosQdOGm28ncpcEBZynFkIKnKFJPbMZAjCrLejqHZTwhgReKI9I1JBct4J9gvuOqyG7VOoQsNrRCgZ3zmOHJ7znUwLz2GcBoQmFXl6FzQnMtVEzUB5Gd4cU3K3k8g




Que comiencen los juegos !
Título: Re:Desafio #11 - Viernes Negro
Publicado por: xyz en Diciembre 01, 2017, 01:18:27 AM
¿ Quienes estan participando ?

Título: Re:Desafio #11 - Viernes Negro
Publicado por: xyz en Diciembre 01, 2017, 01:19:45 AM
Tabla de puntos:


Se enviará un MP a cada usuario, indicando que retos debe explicar.
Título: Re:Desafio #11 - Viernes Negro
Publicado por: EddiFog en Diciembre 04, 2017, 12:31:26 PM
Hola muchachos en esta oportunidad estare explicando los games 3,4 y 5 :D

Game 3
Este se resolvia de una manera muy sencilla, de hecho ya se usó el mismo método en un viernes negro anterior pero para los que no sepan, este game se resuelve con la famosa tabla de polibio para codificar letras en numeros agrupandolas de pares dentro de una tabla de 5 x 5.
Esta es la famosa tabla en cuestión:








12345
1ABCDE
2FGHI,JK
3LMNOP
4QRSTU
5VWXYZ
Ahora tendremos que separar el mensaje en pares, quedaría algo así:
(33)(34) (51)(11)(54)(11) (11) (43)(15)(42) (41)(45)(15) (32)(15) (51)(15)(43)(14)(11)(43) (22)(11)(44)(34) (35)(34)(42) (31)(24)(15)(12)(42)(15)
Se descifra fila y columna, tomaremos la primera palabra como ejemplo.
(33) En este caso seria fila 3 y columna 3 lo que nos da la letra N
(34) En este caso seria fila 3 y columna 4 lo que nos da la letra O

Si nos ponemos a decifrar par por par, nos queda este mensaje:
NO VAYA A SER QUE ME VENDAS GATO POR LIEBRE




Game 4
Para resolver este solo falta tener buen ojo  ;D ya que la solución se encontraba en la parte superior izquierda de la imagen, precisamente en este lado...
(https://i.imgur.com/eL69kfi.png?1)
Entonces la solución para este game sería: BUSCAME Y ME ENCONTRARAS




Game 5
Al tratarse de programación, adjunto la imagen de mi código para poder explicarlo :D
(https://i.imgur.com/eTz9axx.png)
Bueno, mi código esta hecho en java y la verdad que es muy simple, lo primero que se hace es leer la cadena tipo String que se va a convertir y esta cadena se almacena en la variable "cad" (previamente declarada), luego se usa el método "toCharArray" para pasar esa cadena a un arreglo de tipo char y se guardan caracter por caracter, todos separados, gracias a esto es que luego se hace un recorrido for each a este arreglo pero con una variable tipo char indicando que tipo de dato es el que vamos a buscar y que nos servira al momento de establecer una condición if usando el metodo "isDigit" (un método que devuelve un valor boolean) y pasandole nuestra variable tipo char, y por último si encontró un dígito (si devolvió True) lo que hace es reportarlo, de esta manera se imprimen todos los números que están en la cadena.




Gracias por leer :D
Título: Re:Desafio #11 - Viernes Negro
Publicado por: Once en Diciembre 04, 2017, 12:52:46 PM
Reto: 1

La pista nos dice claramenjte que es un hash, así que lo primero es contar el número de caracteres para hcernos una idea de qué tipo de hash es. El resultado, es que hay 43 caracteres. Como no conozco ningún hash de 43 caracteres, el más cercano es sha1 con 40. Inspeccioné el hash buscando información inyectada. (es fácil saberlo, porque en el caso de ser sha1, todos los caracteres deben ser hexadecimales 0-9A-F)
Al final del hash, se encuentran los caracteres XYZ que una vez eliminados dan una longitud de hash de 40 caracteres hexadecimales. El siguiente paso es pasar este hash por algtuna base de datos online. En mi caso elegí https://crackstation.net/

El resultado:    shadow

Reto: 2

AL ver este reto lo primero que pensé fue en usar de primer mano Base64, el resultado:

CitarEn La cimA de la colina Guarda una doncElla uN amuleTo ancEstral. Es un taliSman qUe iNvoca a Maokhai, un Antiguo guardian deL boque Wadud, llAmado a pRoteger sus rEmotos dominios.

Lo que llamó mi atención fueron esos caracteres en mayúscula, que al aislarlos nos dan el mensaje: ELAGENTEESUNMALWARE

Reto: 5

Yo usé Python para solucionarlo:

(https://i.imgur.com/ch7aAhx.png)

La solución salió en una sola línea, lo que hago es simplemente filtrar del mensaje sólo los caracteres que corresponden a un número (función filter) este filtrado corresponde a una lista que convierto a un texto usando el método join de los strings en Python.

Saludos!
Título: Re:Desafio #11 - Viernes Negro
Publicado por: rollth en Diciembre 04, 2017, 12:59:10 PM
Aquí mis soluciones:




Nos dan el siguiente hash: ED9D3D832AF899035363A69FXD53CD3BE8F715Y01CZ

Si nos fijamos, aparenta ser alguno de los hashes más típicos, MD5, SHA1, etc. Pero hay algunos caracteres que no son hexadecimales. Por lo que los borraremos del String e intentaremos crackearlo con: https://crackstation.net/

(https://i.gyazo.com/795190317b04066b64fffa8e109210bb.png)



Nos dan el siguiente String:
RW4gTGEgY2ltQSBkZSBsYSBjb2xpbmEgR3VhcmRhIHVuYSBkb25jRWxsYSB1TiBhbXVsZVRvIGFuY0VzdHJhbC4gRXMgdW4gdGFsaVNtYW4gcVVlIGlOdm9jYSBhIE1hb2toYWksIHVuIEFudGlndW8gZ3VhcmRpYW4gZGVMIGJvcXVlIFdhZHVkLCBsbEFtYWRvIGEgcFJvdGVnZXIgc3VzIHJFbW90b3MgZG9taW5pb3Mu

Podemos que es base64, así que haremos el decode aquí:
https://www.base64decode.org/

El resultado es el siguiente:
En La cimA de la colina Guarda una doncElla uN amuleTo ancEstral. Es un taliSman qUe iNvoca a Maokhai, un Antiguo guardian deL boque Wadud, llAmado a pRoteger sus rEmotos dominios.

De aquí si nos fijamos hay mayusculas donde no debería haberlas, las juntamos todas:
EL AGENTE ES UN MALWARE




Solo hay que echar un buen ojo ya que arriba a la izquierda pone: BUSCAME Y ME ENCONTRARAS

(https://i.gyazo.com/3b1af92bfefffc179e93f8d0f7461569.png)



Yo he usado este código en C.

#include <stdio.h>
#include <string.h>
#include <ctype.h>

typedef struct{
   char str[2000];
}string;

void obtenerNumeros(string primero){
   int i;
   for(i = 0; i <= strlen(primero.str); i++){
      if(isdigit(primero.str[i]) != 0){
         printf("%c", primero.str[i]);
      }
   }
}

int main(){
   string pr;
   printf("INPUT: ");
   scanf("%s", &pr.str);
   printf("\nOUTPUT: ");
   obtenerNumeros(pr);
}


Basicamente comprueba caracter por caracter si es numérico con "isdigit()" y en caso de que lo sea lo imprime. Este es el resultado:

84651171265345740098654822891497372654338

(https://i.gyazo.com/66a0025fe36a4ed5101df2f1b4560291.png)

Saludos.
Título: Re:Desafio #11 - Viernes Negro
Publicado por: sadfud en Diciembre 04, 2017, 02:55:03 PM
Buenas

Dejo la solucion al quinto, es muy parecido al de EddiFog, tambien en java pero sin hacer una conversion a array

(https://i.gyazo.com/8e561ef75fcdf2f4146a9ceeea553310.png)

Código (java) [Seleccionar]
public class algoritmo {

public static void main(String[] args) {
// TODO Auto-generated method stub
String str = "kn8XontEa4EdJvwtWqHun6QRDBlOdl5cGLoLuuMneBDRzhONWDkBGgCDIvaEhZfq11Xf7t1vsQXmuSnjuUJ2YFAvbAaOlpf65OiwBGhvey3h4cIUTZkhGemMI5IRyoyXPX7tMBwdQmFC4"
+ "0Qq0rlJbuhojwDH9wy86DiU5c48ECg2ZVbGosQdOGm28ncpcEBZynFkIKnKFJPbMZAjCrLejqHZTwhgReKI9I1JBct4J9gvuOqyG7VOoQsNrRCgZ3zmOHJ7znUwLz2GcBoQmFXl6FzQnMtVEzUB5Gd4cU3K3k8g", end = "";
for (int i = 0; i < str.length(); i++) if (Character.isDigit(str.charAt(i))) end +=str.charAt(i);
System.out.println(end);
}
}


Un saludo y enhorabuena a los ganadores!!
Título: Re:Desafio #11 - Viernes Negro
Publicado por: Andrey en Diciembre 04, 2017, 11:51:35 PM
Mi solucion al 5 fue la siguiente:

Primero el codigo hecho en python...

import re
cadena= "kn8XontEa4EdJvwtWqHun6QRDBlOdl5cGLoLuuMneBDRzhONWDkBGgCDIvaEhZfq11Xf7t1vsQXmuSnjuUJ2YFAvbAaOlpf65OiwBGhvey3h4cIUTZkhGemMI5IRyoyXPX7tMBwdQmFC40Qq0rlJbuhojwDH9wy86DiU5c48ECg2ZVbGosQdOGm28ncpcEBZynFkIKnKFJPbMZAjCrLejqHZTwhgReKI9I1JBct4J9gvuOqyG7VOoQsNrRCgZ3zmOHJ7znUwLz2GcBoQmFXl6FzQnMtVEzUB5Gd4cU3K3k8g"
cadena = re.sub("\D", "", cadena)
print cadena


Ahora lo que nos interesa, como funciona...

import re  Para importar la libreria de manipulacion de strings, nombre completo Regex...

cadena = "kn8Xo... Le damos el valor a la cadena...

re.sub("/D","",cadena) El modulo re trabaja con funciones regulares y de cadena, la funcion sub encuentra las coincidencias en un patron y las reemplaza por una cadena predefinida, en los siguientes dos parametros el primero es la cadena sobre la que se pasa a tomar su lugar y el segundo es la cadena que tomara su lugar, esto en la variable del tercer parametro "cadena", en este caso "\D" hace referencia a caracteres que no sean numeros y se reemplazan por "" ocea nada, en la cadena original...

print (cadena) Imprime el resultado el cual es el siguiente:

84651171265345740098654822891497372654338


Título: Re:Desafio #11 - Viernes Negro
Publicado por: K A I L en Diciembre 05, 2017, 08:13:28 AM
Buenos dias! Me toco explicar el reto 1, 3 y 5, empecemos:

RETO 1:
Bueno lo mismo que ya dijeron por arriba, al ver el hash empece a inspeccionarlo, y note que tenia caracteres que no eran hexadecimales (X,Y,Z) , por lo que una vez eliminados del hash original, use https://crackstation.net/ (https://crackstation.net/) para ver si lo podia desencriptar y PUM, el resultado arrojado fue: shadow.


RETO 3:
Bueno este reto resulto sencillo, ya que al verlo me recordo uno que hicimos en un viernes negro anterior, lo primero que pense fue que se trataba de un texto cifrado con el cuadrado de polibio, que no es mas que una tabla 5x5 donde cada letra se cifra primero con el numero de la fila y luego con el de la columna.
CUADRADO DE POLIBIO
(https://i.imgur.com/ETGyEYp.png)
Por ejemplo si tomamos la letra V, seria 51.

Teniendo en cuenta el codigo que nos dieron:
3334 51115411 11 431542 414515 3215 511543141143 22114434 353442 312415124215

Nos da el siguiente mensaje:
NO VAYA A SER QUE ME VENDAS GATO POR LIEBRE


RETO 5:
Bueno para este reto hice un programita en C muy simple:
(https://i.imgur.com/59wqlte.png)
Muy facil de interpretar, tenemos una funcion tomanumeros que va tomando todas las posiciones de nuestro string, y los va comparando para ver si son numericos (0x30 - 0x39 valores del 0 al 9 segun la tabla de ASCII), y que caso de ser positivo los va guardando en otro subarreglo, que luego seria justamente lo que nos interesa mostrar luego en nuestro OUTPUT.
Tambien se podria haber mostrado la cantidad de numero que tenia el string, aprovechando el mismo contador de nuestro subarreglo, pero como no era lo que pedia el reto, decidi dejarlo como comentario.

Saludos!