Autor: 1v4n a.k.a. @1r0Dm448O
Cipher in my blood. Flag is not in actual format. Wrap it in b00t2root{flag} before you submit?
Objetivo
Formato de flag: b00t2root{flag}
Herramientas utilizadas
Resumen:
Tenemos un archivo llamado Biography.txt w / next plaintext>
ACCAGTAAAACGTTGAGACAGTTGAATATCAAACTACACGAGATCTCATATGTCACAGCGGCCGACACAGATGATAACA
codificado en códigos de ADN. Observamos cuatro letras A (Adenina), C (Citosina), G (Guanina) y T (Timina) que se
repiten en el mensaje y representan las cuatro bases principales encontradas en el ADN. Investigamos estudios sobre
esteganografía con marcadores de ADN y encontramos http://www.polestarltd.com/ttg/isspeeches/051403/ y
https://github.com/JohnHammond/ctf-katana/blob/master/img/dna_codes.png
ACCAGTAAAACGTTGAGACAGTTGAATATCAAACTACACGAGATCTCATATGTCACAGCGGCCGACACAGATGATAACA
codificado en códigos de ADN. Observamos cuatro letras A (Adenina), C (Citosina), G (Guanina) y T (Timina) que se
repiten en el mensaje y representan las cuatro bases principales encontradas en el ADN. Investigamos estudios sobre
esteganografía con marcadores de ADN y encontramos http://www.polestarltd.com/ttg/isspeeches/051403/ y
https://github.com/JohnHammond/ctf-katana/blob/master/img/dna_codes.png
Mapeamos en Python las tríadas de ADN
#!/usr/bin/env python
mapping = { 'AAA': 'a', 'AAC': 'b', 'AAG': 'c', 'AAT': 'd', 'ACA': 'e', 'ACC': 'f', 'ACG': 'g', 'ACT': 'h', 'AGA': 'i', 'AGC': 'j', 'AGG': 'k', 'AGT': 'l', 'ATA': 'm', 'ATC': 'n', 'ATG': 'o', 'ATT': 'p', 'CAA': 'q', 'CAC': 'r', 'CAG': 's', 'CAT': 't', 'CCA': 'u', 'CCC': 'v', 'CCG': 'w', 'CCT': 'x', 'CGA': 'y', 'CGC': 'z', 'CGG': 'A', 'CGT': 'B', 'CTA': 'C', 'CTC': 'D', 'CTG': 'E', 'CTT': 'F', 'GAA': 'G', 'GAC': 'H', 'GAG': 'I', 'GAT': 'J', 'GCA': 'K', 'GCC': 'L', 'GCG': 'M', 'GCT': 'N', 'GGA': 'O', 'GGC': 'P', 'GGG': 'Q', 'GGT': 'R', 'GTG': 'S', 'GTC': 'T', 'GTG': 'U', 'GTT': 'V', 'TAA': 'W', 'TAC': 'X', 'TAG': 'Y', 'TAT': 'Z', 'TTG': ' ', 'TTC': '0', 'TCA': '1', 'TCC': '2', 'TCG': '3', 'TCT': '4', 'TGA': '5', 'TGC': '6', 'TGG': '7', 'TGT': '8', 'TTA': '9' } def decode_dna( string ): pieces = [] for i in range( 0, len(string), 3 ): piece = string[i:i+3] pieces.append( mapping[piece] ) return "".join(pieces) string = 'ACCAGTAAAACGTTGAGACAGTTGAATATCAAACTACACCGAATTCATATGTCACAGCGGCCGACACAGATGATAACA' print decode_dna(string) |
Ejecutamos nuestro script y aquí está la bandera.
root@1v4n:~/CTF/b002root19/Crypto/Genetics_GRANTED# python dna_solver.py
flag is dnaCrypto1sAwesome Flag `b00t2root{dnaCrypto1sAwesome} |
La flag es: b00t2root{dnaCrypto1sAwesome}
Autor: 1v4n a.k.a. @1r0Dm448O
Twitter: https://twitter.com/1r0Dm448O
No hay comentarios:
Publicar un comentario