Cult Of Wire
846 subscribers
175 photos
2 videos
37 files
1.01K links
Мир проигравшего киберпанка.

Для связи: @the29a
Download Telegram
Реверс ностальгический.

В далёком 1997 вышла Pikachu Volleyball для Windows. Игра была разработана в Японии, но была популярна и в иных странах Азии, например в Южной Корее.

Но видимо автору игра настолько полюбилась, что он решил её отреверсить и реализовать на JavaScript.

В игру можно поиграть прямо в браузере, в репозитории есть исходники и инструкции по клонированию, установке зависимостей, компоновке кода и запуску локального веб-сервера.

Физический движок и ИИ оригинальной игры были переписаны и убран лимит на время матча AI против AI.

P.S. Мне сначала показалось, что видел нечто похожее в Blobby Volley, но это другая игра.

Ссылки:
Github: pikachu-volleyball
gorisanson.github.io: Pikachu Volleyball
The rev.ng decompiler goes open source + start of the UI closed beta

Очередной "groundbreaking tool" из мира реверса. rev.ng скромно называют свой декомпилятор "Next-gen decompiler", делают его опен-сорсным и выкатывают его в закрытую бету.

У проекта есть roadmap и они его придерживаются, но конкретных дат релиза нет.
Исходники есть на Github, но так же установить скриптом.

Проект в бете (может падать и работать криво), UI базируется на VSCode.

Без громких заявлений тоже не обошлось. Например, rev-ng в отличии от IDA и Ghidra сможет:
- автоматическое определять структуры данных (включая - массивы и структуры данных, определенные в нескольких функциях);
- выдавать гораздо меньше ошибок;
- выдавать корректный код на языке C;
Но пока что rev.ng хуже IDA и Ghidra и может тягаться разве что с RetDec.

Будет тёмная тема, это плюс.
Но оно не работает, это большой минус.
Fake-SMS: How Deep Does the Rabbit Hole Really Go?

Новость про бэкдор в xz уже все успели почитать, разобрать, почитать разбор и принять меры.

Но эта проблема не единичная, хоть и в меньшем масштабе. Например в open-source инструменте Fake-SMS.

Fake-SMS это наглядный случай разработки, в которой скрыли вредоносный код в своем инструменте.
Фактический код, отвечающий за заявленную функциональность, составлял всего около 2,5% от всего проекта, а остальная часть состояла из вредоносного кода и кода, предназначенного для создания ASCII-логотипа для CLI.

Интересный разбор проекта, который даже вывел Linkedin, Youtube-канал и TГ-аккаунт автора.

Не сенсация, а просто напоминание, что не весь open-source одинаково полезен. Особенно когда речь идёт про "1337 h4ck 70015" от сомнительных персонажей.
Galactical Bug Hunting: How we discovered new issues in CD Projekt Red’s Gaming Platform

Исследователи из Anvil Secure проанализировали способ, которым GOG Galaxy 2.0 взаимодействует с базовой файловой системой и межпроцессным взаимодействием (IPC) между своим клиентским процессом и привилегированной службой. Это привело к обнаружению двух новых проблем безопасности: отказ в обслуживании, получивший номер CVE-2023-50915, и локальное повышение привилегий, получившее номер CVE-2023-50914.

На текущий момент не ясно, исправили ли CD Projekt обнаруженные уязвимости, 90 дней прошло, а внятного ответа исследователи не получили.
Также нет информации о CVE в MITRE/NIST.

Демо и PoС доступны на Github: github.com/anvilsecure/gog-galaxy-app-research
IBIS hotel check-in terminal keypad-code leakage

Что происходит, когда где-то проводится security-related мероприятие? Верно, незапланированный пентест окружающей среды.
Не стал исключением и Chaos Communication Congress, прошедший в Гамбурге.

После Chaos Communication Congress специалисты из компании Pentagrid заметили, что терминал регистрации в отеле IBIS Budget сливает коды почти половины гостиничных номеров.

Гости могут зарегистрироваться через терминал регистрации. Терминал также поддерживает поиск существующих бронирований. По идентификатору бронирования гости могут найти номер своей комнаты и код клавиатуры. Однако при вводе ------ в качестве идентификатора бронирования терминал регистрации выдает список чужих бронирований и кодов доступа в номер.

Код клавиатуры не меняется во время пребывания в отеле, поэтому это позволяет получить физический доступ к гостиничным номерам.

Демонстрация уязвимости: Vimeo: IBIS Budget check-int terminal keypad code leakage
BatBadBut: You can't securely execute commands on Windows

Подробное описание Vulnerability Note Multiple programming languages fail to escape arguments properly in Microsoft Windows от автора.

BatBadBut — это уязвимость, которая позволяет злоумышленнику выполнять внедрение команд в приложения Windows, которые косвенно зависят от функции CreateProcess, при выполнении определенных условий.

CreateProcess() неявно порождает cmd.exe при выполнении пакетных файлов (.bat, .cmd и т. д.), даже если приложение не указало их в командной строке.
Проблема в том, что cmd.exe имеет сложные правила разбора командных аргументов, а среды выполнения языков программирования не могут правильно экранировать командные аргументы.
Из-за этого можно внедрять команды, если кто-то может контролировать часть командных аргументов пакетного файла.

Импакт:
Успешная эксплуатация этой уязвимости позволяет злоумышленнику выполнять произвольные команды. Полное влияние этой уязвимости зависит от реализации, использующей уязвимый язык программирования или такой уязвимый модуль

Какие языки затрагивает:
- Haskell
- Node.js
- Rust
- PHP

Но автор заявляет, что это так же применимо к Erlang, Go, Java, Python и Ruby.

Список CVE:
CVE-2024-1874
CVE-2024-22423
CVE-2024-24576
CVE-2024-3566
Немного археологии из мира анализа pcap.

Проекты приходят и уходят, а pcap остаётся.
Не всё в списке поросло мхом, большая часть исправно работает. Но забытый софт это не исправленные баги, сломанные зависимости и множество иных проблем. Но не смотря на это внимания они заслуживают.

BruteShark
BruteShark - это инструмент сетевого криминалистического анализа, который выполняет глубокую обработку и проверку сетевого трафика (в основном PCAP-файлов, но также может осуществлять прямой захват с сетевого интерфейса). Он включает в себя: извлечение паролей, построение карты сети, реконструкцию TCP-сессий, извлечение хэшей паролей и преобразование их в формат Hashcat.

Функционал:
- Извлечение имен пользователей и паролей (HTTP, FTP, Telnet, IMAP, SMTP...)
- Извлечение хэшей (Kerberos, NTLM, CRAM-MD5, HTTP-Digest)
- Построение карты сети (узлы сети, открытые порты, пользователи домена)
- Извлечение DNS-запросов
- Реконструкция TCP/UDP-сессий
- Извлечение файлов

Не смотря на то, что проект давно не обновлялся, сейчас он вполне работает.
Изначально BruteShark был доступен только под Windows, но был форк с BruteShark CLI работающим в Mono.

Сам BruteShark CLI есть в некоторых репозиториях (например в Kali) и в целом вполне неплох.

Репозиторий на Github: github.com/odedshimon/BruteShark

EtherApe
Графический анализатор пакетов, ставший классикой. Поддерживаются устройства Ethernet, FDDI, Token Ring, ISDN, PPP, SLIP и WLAN, а также несколько форматов инкапсуляции. Можно фильтровать отображаемый трафик, считывать пакеты из файла, а также в реальном времени из сети.
Вполне работоспособен, есть во множестве репозиториев различных дистрибутивов. Но его сложно назвать гибким и удобным. Так же последняя версия была от 16 мая 2021 года, и только редкие коммиты на Gitlab не дают похоронить проект.

Сайт проекта: etherape.sourceforge.io
Репозиторий на Gitlab: gitlab.com/rghetta/etherape

xplico
Целый форензик-комбайн с веб-интерфейсом и множеством функционала. Например, из pcap-файла Xplico мог извлечь почту (протоколы POP, IMAP и SMTP), все содержимое HTTP, VoIP (SIP), FTP, TFTP и так далее.
xplico позиционировали не как сетевой протокол, а именно форезник-инструмент, но сложилось так, что он не пригодился ни там, ни там.
На Github последняя версия от 25 апреля 2019, и больше новостей о проекте нет.

Для желающих окунуться в ностальгию есть возможность потыкать демо.

Сайт проекта: xplico.org
Репозиторий на Github: github.com/xplico/xplico
Демо: demo.xplico.org

CapAnalysis
CapAnalysis - инструмент с веб-интерфейсом для анализа сетевого трафика.
CapAnalysis выполняет индексацию набора данных PCAP-файлов и представляет их содержимое в различных формах, начиная со списка TCP, UDP или ESP
потоков/потоков, переходя к географическому представлению соединения.

Проект от авторов xplico, но так же заброшен (последняя версия от 26 декабря 2018). Функционал беднее, но заставляет страдать в меньшем объеме.

Потыкать демо можно тут.

Сайт проекта: capanalysis.net
Репозиторий на Github: github.com/xplico/CapAnalysis
Демо: pcap.capanalysis.net

NetworkMiner
Проект из далёких 2000-х. В целом, он скорей жив, чем мёртв, но редкие обновления не основная проблема. NetworkMiner изначально работает сугубо под Windows. Хоть частично это проблему решают костыли с mono, но часть функционала не будет работать. Помимо прочего есть разделение на версии Free и Pro, что заметно накладывает ограничения на функционал.
Для особо любопытных есть исходники.

Сайт проекта: netresec: NetworkMiner

Было множество и менее известных, вроде CredSLayer, chopshop, pyWhat, moloch.
Какие-то из них забросили совсем, а кто-то обрел вторую жизнь, сменив имя. Но об этом в следующий раз.
Старые проекты мы посмотрели и теперь хотелось бы вернуться в день текущий.

Чем же анализировать pcap?

Wireshark
Wireshark не самый удобный и гибкий, но давно стал стандартом среди анализаторов. Бесплатен, опенсорсен, мультиплатформен.
Топорность Wireshark с лихвой компенсирует фильтрами.

Так же он хорошо документирован, и доступно множество разных текстовых мануалов и видео-уроков.

Есть даже целая сертификация: Wireshark Certified Network Analyst (WCNA).

Но как действительно многие замечали, что на больших дампах могут быть проблемы с производительностью.

Сайт проекта: wireshark.org
Github: github.com/wireshark/wireshark
Gitlab: gitlab.com/wireshark/wireshark
Wireshark Docs: wireshark.org/docs/
Wireshark User's Guide: wireshark.org: User's Guide

Zui
Zui (ранее Brim) фронтэнд для Zed Lake. Позволяет работать с pcap, хотя это не основная его особенность. Расчитан на работу с логами Zeek, различным JSON.
Нельзя сказать, что он удобен, но заявлено, что с работой с большими дампами проблем нет. Но сама система Lake Model интересна, но не понятна.
Zui использует свой формат запросов на так называемом Zed Language, который очень отдалённо похож на фильтры Wireshark.

Сайт проекта: brimdata.io
Github: github.com/brimdata/zui

Arkime
Arkime (ранее moloch) - масштабируемая система, которая может хранить, обрабатывать и индексировать pcap.
Arkime это больше инфраструктурное решение, позволяющее расширять уже готовые инструменты . Кроме обычного веб-интерфейса есть API, и всё построено вокруг OpenSearch/Elasticsearch.
Можно даже демо потыкать (arkime / arkime).

Но без минусов тоже не обошлось. Не ясно, запустится ли он в Docker (готового контейнера нет, но есть попытки от сторонних разработчиков вроде docker-arkime и arkime-container), решение само по себе не очень портативное, и как все решения на OpenSearch/Elasticsearch довольно требовательное к ресурсам.

Сайт проекта: arkime.com
Github: github.com/arkime/arkime
Документация: arkime.com/learn
Демо: demo.arkime.com

Есть ли универсальное решение? Нет, как и везде, тут нет серебряной пули.
Wireshark помогает решать круг задач, но удобней собирать креды и строить карты сети в Bruteshark.
Работать с большими дампами в Wireshark сложно, эти вопросы можно попробовать решить с помощью Zui или Arkime.
А если нужно работать со множеством дампов и/или работать с ними в команде, то уже требуются решения вроде Arkime.
The Solution of the Zodiac Killer's 340-Character Cipher

Несколько запоздалая новость из мира криптоаналитики.
3 декабря 2020 года международная команда шифровальщиков из трех человек совершила прорыв в разгадывании 340-символьного шифра Зодиака.
К 5 декабря команда закончила взлом шифра и отправила решение в ФБР.

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

Сам шифр был взломан почти четыре года назад, но был оформлен в виде научной работы только в марте 2024 года.
- arxiv.org: PDF
- arxiv.org: HTML

Для тех, кто не хочет читать, есть видео о дешифровке.
Let's Crack Zodiac - Episode 5 - The 340 Is Solved!
The DDoS Report

Полное руководство по атакам типа "отказ в обслуживании" (DDoS) для разработчиков и операторов от Relaycorp.

Руководство описывает устройство DDoS-атак, а так же способы уменьшения воздействия.

DDoS-атаки сложно избежать, но можно значительно минимизировать последствия таких атак. Сейчас многие прикрыли свои ресурсы различными прокси/CDN вроде Cloudflare и Akamai. Но это скорей отправная точка, а не полноценное решение.
Fine-tuning Semgrep for Ruby Security: Pundit and SQL injection

Semgrep мощный инструмент анализа кода, и хотя в нем есть довольно много правил сообщества, они охватывают не всё, и вы столкнётесь с ситуацией, когда правила необходимо писать в соответствии с кодовой базой.

Статья рассматривает примеры написания правил semgrep для Ruby On Rails.
Первое правило направлено на обнаружение распространенного шаблона неправильного использования API, который может сделать Ruby-приложения уязвимыми для SQL-инъекций. Это общее правило, и его можно использовать без изменений в большинстве Rails-приложений.
Второе правило обеспечивает правильное использование авторизации Pundit в Rails-приложении на определенных моделях. Это скорее "шаблон правила", чем полноценное правило, и требует некоторой настройки в зависимости от сканируемой кодовой базы.

Правила автора доступны на Github.

Для желающих писать свои правила у semgrep есть документация и онлайн-редактор, позволяющий сразу проверять работу правил на куске кода.
CVENotifier - инструмент для парсинга CVE-фида с vuldb.com. CVENotifier фильтрует по ключевым словам и отправляет оповещение в Slack через веб-хук о последних CVE только для той технологии или продуктов, которые вы указали в качестве ключевых слов.

Сами оповещения настраиваются через cronjob. Docker нет, но проект не большой, можно собрать самому (для cron в контейнерах лучше использовать supercronic).

Я костылил похожую штуку несколько проще. В Vulners генерировался rss-feed, который передовался в RSS Reader в Slack. В целом, оно было удобней и более настраиваемое со стороны самих фидов.
Был когда-то ничего не обещающий проект sentinel (он же в гугл-кэше). Названием не примечательный, сентинелов пруд пруди. Весь из себя all-in-one для исследователей-расследователей, с интеграцией кучей API, да почил в Бозе.

Но настойчивые разработчики не оставили попыток, и начали на основе sentinel пилить новый проект - horus. Снова all-in-one OSINT / digital forensics tool. Так же с оригинальным названием (нет), уникальным функционалом (которого на текущий момент почти нет).

К чему это я? Да не знаю.
Но наверное не стоит сразу пилить комбайн, который за кучу времени не довели до ума.

На Reddit проект засветился, звёзд на Github собрал, народ в Discord собрали. Может и за разработку возьмутся.
Тут на днях появился russian-offensive-security-questions - отличный список возможных вопросов для пентестеров и AppSec-специалистов. Он может быть использован для подготовки к предстоящему собеседованию или для оценки областей знаний, которые вам необходимо дополнительно изучить.

Вопросы разбиты по категориям, хотя они довольно условны. Сами вопросы тоже не для сеньоров-помидоров, и немалую часть вопросов встречается и на не-сеньорных позициях. Так же может быть интересно и защищающей стороне, так как темы смежные.

P.S. Это ещё без программирования. Тут я бы ещё учитывал то, что надо джуну/мидлу Python/Go.
Nuclei не даёт покоя писателям разных автоматизаций и иных костылей, и на свет выходят порой занятные штуки. Например NucleiScanner.

Он использует Subfinder для сбора субдоменов, Gau для сбора URL-адресов путем фильтрации нежелательных расширений ParamSpider для выявления потенциальных точек входа и шаблоны Nuclei Scanning для сканирования на наличие уязвимостей.
Может работать как с одним доменом, так и со списком из файла.

Что под капотом:
- Nuclei / Nuclei Templates
- Subfinder
- Gau
- ParamSpider
- httpx

Docker нет, но сам скрипт проверяет наличие установленных инструментов. Правда httpx не один такой, так что будьте внимательны.
Dispo Adventures, Episode 1: Reverse-engineering and “running Windows 95” on a disposable vape with a colour LCD screen

Пока все реверсят разные роутеры и прочее, кто-то реверсит вейпы.
Современые устройства для употребления никотина бывают довольно продвинуты технически: неплохой LCD-экран, интересный контроллер (в статье был N32G031K8Q7-1 на Arm, в целых 48MHz).

Spoiler: нет, Windows 95 запустить не удалось. Но переделать оформление и запустить анимацию в виде скринсейвера 3D Pipes вполне.

А для владельцев схожих девайсов и иных любопытных всё доступно в виде репы на Github.
How an empty S3 bucket can make your AWS bill explode

TLDR: был у автора пустой AWS S3 бакет в eu-west-1, на который он загрузил пару файлов для тестирования. Бакет должен был укладываться в рамки free-tier, но вместо free-tier его ждали почти 100 000 000 PUT-запросов и счет в $1300.

А проблема оказалась в мисконфиге.
Как выяснилось, один из популярных инструментов с открытым исходным кодом по умолчанию хранил свои резервные копии в S3. А в качестве имени бакета они использовали то же самое имя, которое использовал автор.

Но есть нюансы: AWS учитывает для биллинга и неавторизованные запросы. Так же дополнительные косты хранятся в перенаправлении между регионами (S3 без указанного региона по умолчанию направляются в us-east-1 и перенаправляются по мере необходимости, и владелец за это платит).

Так же мисконфиг мог бы привести к заметной утечке данных, так как бэкапы делались в бакет автора.

Итого:
1. На текущий момент имя бакета можно считать чувствительной информацией, так как даже неавторизированные запросы могут привести к большим счетам.
2. Не используйте имена бакетов как есть. Можно добавить дополнительный суффикс к имени. Не стоит использовать короткие и общие имена.
3. При использовании S3 указывайте регион.

AWS уже разбираются с проблемой и автору уже вернули средства. Но ситуация получается довольно странная.
У меня тут вопрос возник: а как вы храните и агрегируете находки?
Речь сейчас не про какой-то коммерческий OSINT, где нашёл-собрал-отрепортил, а так сказать - для души.

Допустим, я ищу что-то по каким-то лицам или организациям. И храню всё это в Obsidian. Вся гибкость и удобство докручиваются руками или плагинами.

Но тут вознкает вопрос: есть ли что-то более удобное и чем пользуетесь вы?
Ещё немного археологии из мира ИБ.

chameleon - ханипот-комбайн, эмулирующий 19 сервисов (DNS, HTTP Proxy, HTTP, HTTPS, SSH, POP3, IMAP, STMP, RDP, VNC, SMB, SOCKS5, Redis, telnet, Postgres, MySQL, MSSQL, Elastic и LDAP) для мониторинга трафика, активностей ботов и попытки логина и брутфорса.

Большинство ханипотов выступают в роли серверов (некоторые эмулируют протоколы прикладного уровня) и был реализован модульный подход (ханипоты запускаются как скрипты или импортируются как объекты).

К этому всему есть Grafana с настроенными дашбордами.

Что ещё:
- Настройки серверов с именем пользователя, паролем и баннером (имя пользователя и пароль по умолчанию являются тестовыми)
- Полезная нагрузка ICMP, DNS TCP и UDP анализируется и проверяется на соответствие общим шаблонам.
- Неструктурированные и структурированные журналы анализируются и хранятся в Postgres
- Все порты открыты и отслеживаются по умолчанию
- Автоматизация и возможность развертывания на AWS ec2

Проект не обновляется с 2020 (разве что иногда readme обновляют иногда).