Информационная безопасность
January 9

Секретные документы с GoidaCTF

Описание: На экране мерцал поток данных, словно застывшая хроника прошлого. В один из последних рабочих дней сотрудника компании, электронный след его работы неожиданно прервался. Кто-то, знающий тайные тропы сеть, взломал защитные бастионы и выкрал нечто ценное. Разгадка кроется в маленьких текстах, скрытых в посланиях, что пробрались сквозь шлюзы его машины. Найди ключ, что откроет дверь к файлу, который ускользает в тенях виртуального мира.

Автор: @thankspluxury



Дается файл johntitor.pcap
Закидываем его на apackets.com

Видим несколько http запросов такого типа:

GET / HTTP/1.1Host:  166.62.75.3

Accept:  */*Accept-Encoding:  gzip, deflateConnection:  keep-alive

Etag:  af17

User-Agent:  python-requests/2.32.3

во первых замечаем User-Agent

Видим странный Etag

Наш - Etag:  af17

Нормальный - ETag: "686897696a7c876b7e"
пытаемся его собрать вместе пример кода для того чтоб извлечь значение заголовков:

from scapy.all import rdpcap
import hashlib

def extract_http_requests(pcap_file):
    packets = rdpcap(pcap_file)
    goida_values = []

    for packet in packets:
        if packet.haslayer('TCP') and packet.haslayer('Raw'):
            raw_data = packet['Raw'].load.decode(errors='ignore')
            if 'HTTP/' in raw_data:
                lines = raw_data.split('\r\n')
                headers = {}

                for line in lines[1:]:
                    if line.strip() == '':
                        break
                    key, value = line.split(': ', 1)
                    headers[key] = value

                if 'Etag' in headers:
                    goida_values.append(headers['Etag'])

    return goida_values

pcap_file = 'johntitor.pcap'
goida_values = extract_http_requests(pcap_file)
goida_string = ''.join(goida_values)
print(f"хеш: {goida_string}")


получаем хеш - SHA256 хеш: 67678231277ca9849748598ce6b3f10bdd16af17e3edab0388476aacf0587c31


Среди доменов видим virustotalwww.virustotal.com (74.125.34.46)

поиск по хешу - https://www.virustotal.com/gui/file/67678231277ca9849748598ce6b3f10bdd16af17e3edab0388476aacf0587c31

переходим в https://www.virustotal.com/gui/file/67678231277ca9849748598ce6b3f10bdd16af17e3edab0388476aacf0587c31/community
Видим:


Хочу сказать спасибо всем кто решал задание. Я не планировал его делать сложным(хотелось просто сделать что-то не обычное, что не делали другие), а описание должно было помочь выйти на etag, ну а там уже понять что пакетов 16 по 4 символа = 64 символа всего, попробовать собрать сначала хеш, проанализировать его и понять что это sha256, а потом видя в пакеты к virus total связать его с sha256 и понять что можно попробовать по хешу найти файл, а там уже в секцию комментариев зайти не сложно.

Кстати обладатели Premium API Virus Total могут скачать файлы.

https://docs.virustotal.com/reference/files-download

А это уже эксфильтрация через virus total)

Возможность юзать VirusTotal как общественное хранилище, при этом в анализе логов многие из вас не думали на VirusTotal потому что максимально легитимный ресурс)

Мой канал - https://t.me/thxpluxury