martes, 30 de abril de 2019

WRITEUP: Genetics (Crypto) b00t2root CTF


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
DNA Based Steganography for Security Marking http://www.polestarltd.com/ttg/isspeeches/051403/


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




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