Секретные документы с GoidaCTF
Описание: На экране мерцал поток данных, словно застывшая хроника прошлого. В один из последних рабочих дней сотрудника компании, электронный след его работы неожиданно прервался. Кто-то, знающий тайные тропы сеть, взломал защитные бастионы и выкрал нечто ценное. Разгадка кроется в маленьких текстах, скрытых в посланиях, что пробрались сквозь шлюзы его машины. Найди ключ, что откроет дверь к файлу, который ускользает в тенях виртуального мира.
Дается файл johntitor.pcap
Закидываем его на apackets.com
Видим несколько http запросов такого типа:
GET / HTTP/1.1Host: 166.62.75.3
Accept: */*Accept-Encoding: gzip, deflateConnection: keep-alive
User-Agent: python-requests/2.32.3
Нормальный - 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