→ DC18: bin200 & bin300

| No TrackBacks

Binary200 представляет собой обычный 32-х битный ELF. Наверное его можно позапускать, но это не наш метод.
IDA подсказала, что на борту имеется 2 больших функции sub_B40 (содержит connect + write) и main (содержит printf). Коннект показался интереснее.
В sub_B40 видим копирование 4-х массивов из области глобальных переменных в стековый буфер. Далее 2 цикла расшифровки скопированных буферов. Единственная сложность - это заметить циклы расшифровки, разбавленные весьма своеобразной реализацией функции вроде return (str + strlen(str)).
Расшифровав строки, получаем 'http://is.gd/bWsIR' и '192.168.69.77'. Конечно, сразу же смутил сокет типа AF_UNIX, а этот адрес укрепил подозрение в мусорности этого кода.
В main видим похожий код расшифрования и сразу сразу получаем ссылку http://is.gd/bUBRD, ведущую на фильм про зоофилию в Колумбии. Название страницы и есть ответ. Скрипт прилагается.

Binary300 - x86-64 ELF. IDA сказала, что он считает md5 от 256 байт по смещению 0 и смещению 17 от себя, проверят хеш по фильтру Блума и ксорит хеши с Encrypted Key, если хеш прошел проверку. Результат двух ксоров и есть Decrypted Key. Родилось предположение проверить хеши от всех смещений файла фильтром Блума, поксорить с Encrypted Key и получить флаг. Сначала была частично выдрана реализация фильтра из бинарника, но потом найдена здесь. В результате только хеши от 5 смещений проходили через фильтр. Высчитанные для них Decrypted Key не удовлетворили чекер.
Конвертация полученных Decrypted Key в строковое представление дало только одну корректную строку mYg0dthi$isD@k3y, которая и являлась флагом. К слову, этот Decrypted Key соответствует смещениям 0 и 17. То есть, для решения таска нужно было сконвертировать в строку Decrypted Key, который программа выводит при запуске. Скрипт прилагается.

No TrackBacks

TrackBack URL: http://smokedchicken.org/m/mt-tb.cgi/33

About this Entry

This page contains a single entry by Павел Збицкий published on May 28, 2010 12:38 AM.

RuCTF-2010: Histograph was the previous entry in this blog.

DC18: bin500 is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.