disasm.me channel @disasm_me_ch Channel on Telegram

disasm.me channel

@disasm_me_ch


Канал вирусного аналитика, занимающегося безопасностью опенсорса и технологиями искусственного интеллекта. Плюс заметки по аспирантуре :)

Автор: @hexadec1mal
Чат: https://t.me/disasm_me_chat

disasm.me channel (Russian)

disasm.me channel - Этот канал представляет собой вирусный аналитик, который занимается безопасностью опенсорса и технологиями искусственного интеллекта. Здесь вы найдете интересные статьи, аналитику и обзоры в этой области. Кроме того, здесь также можно найти полезные заметки по аспирантуре. Автором контента на канале является @hexadec1mal, который делится своими знаниями и опытом с подписчиками. Если вы интересуетесь информационной безопасностью, разработкой искусственного интеллекта или просто хотите быть в курсе актуальных технологических тенденций, то этот канал обязательно стоит посетить. Присоединяйтесь к обсуждениям, обменивайтесь мнениями и узнавайте новое вместе с сообществом disasm.me! Для коммуникации и общения также доступен чат по ссылке: https://t.me/disasm_me_chat

disasm.me channel

14 Jan, 07:14


Memento mori

Вчера помер SSD Kingston SNV2S на 2TB (3500/2800 MB/s, TBW 640 TB), купленный в марте 2023.

Он служил файловой помойкой для старых виртуалок, наработок по CTF 2018-2021, материалам по машинному обучению.

Ушел без суда и следствия: у меня стоит CrystalDiskInfo в режиме мониторинга здоровья накопителей раз в 10 минут (это дефолт), по SMART-ам (показателям здоровья накопителя) всё было хорошо. Диск решил не церемониться и тихо помер, оставив меня с зависшей виндой, не оценившей такого перфоманса)

Так как SSD не имеет своего радиатора, я купил к нему ID-Cooling ZERO M05 (фото в комментариях), да и CDI контролирует нагрев и алертит в случае чего.

Потеря не фатальная, так как для важных папок настроена репликация, но приятного тоже мало.

Этот пост — напоминание, что даже при должном контроле накопитель может сам откиснуть. Если вы храните свои диплом и курсовые, папку Obsidian, скрипты для Иды/Гидры или другие важные файлы в единственном месте, то хотя бы добавьте репликацию отдельных папок в облако, по крайней мере Google Drive такое позволяет.

Поделитесь вашими стратегиями по хранению данных в комментариям)

Не теряйте свои данные :)
@disasm_me_ch

———

Информация для энтузиастов: в компьютере использую 3 2 SSD разных марок:
INTEL SSDPEKNW010T8 1TB (шёл с ноутбуком, свапнул в ноутбуке на Samsung 980 Pro, а этот сюда)
Samsung SSD 980 PRO 2TB (основное хранилище)
Kingston SNV2S/2000G (почивший диск, служивший файловой помойкой)

disasm.me channel

31 Dec, 19:34


❤️🐱

Дорогие подписчики, подходит к концу 2024 год. Нас ждёт 2025, и хоть это тоже не простое число, но у него всего 15 делителей против текущих 16, а значит судьба будет к нам благосклонна 😉

Казалось бы, этот год пролетел незаметно. Но в действительности он был насыщен событиями:

🟢Инициатива, которую мы начали в 2022, продолжает делать мир открытого программного обеспечения лучше — и надеюсь, что в новом году мы сможем дать ещё более качественный отпор злоумышленникам. Для меня 2024 год стал годом обучения машинному обучению, и я безмерно рад этому 😌🐱🐱

🟢Выступил на PHDays, PyCon Russia, SOC Forum, HITBSecConf2024 (Bangkok, Thailand), митапе SpbCTF x Yandex в Питере, конференциях ИСП РАН (Иванниковские чтения в Великом Новгороде) и МИРЭА (конференция ИНПРО).
🟢Выпускал 2 статьи на Habr и 6 постов в @ptescalator.
Надеюсь, в результате создания этого материала больше людей и организаций озаботились безопасностью процессов разработки 😦

🟢Побывал в двух странах: Китае (Chengdu) и Тайланде (Bangkok). Попробовал замечательную, хоть и очень острую , кухню. В Тайланде было непривычно дышать влагой, очень необычное ощущение).

В 2025 году мне предстоит защитить кандидатскую. Надеюсь, что всё получится, это будет ne prosto 🤪 Но зато интересно! В рамках канала я уже рассказывал про кандидатские экзамены по философии и по английскому в РТУ МИРЭА.

———

Ну и как же без традиционных новостей 🐾

В опенсорсе тоже празднуют Новый год. Разработчик Rahul Prajapati выпустил 31 декабря в Python Package Index новый пакет. Он называется romantic и реализует среди прочего следующий функционал:

🟢Авторизацию в самописном сервисе для получения романтических посланий. Подразумевается, что суженный будет читать ежедневные мотивирующие/любовные письма 🤣
🟢Функцию mood, которую можно вызвать из CLI (текст на скрине ниже) и набор посланий (скрины ниже).
🟢Милый любовный квиз (тоже на скрине ниже).

Этот пакет имеет сетевую активность + функционал сокрытия файлов и папок в Windows через атрибут hidden, из-за чего он попал в фид высокорисковых пакетов PyAnalysis.
Хоть ранее я уже писал про троян в рамках романтической трагедии, я не делаю это целенаправленно, оно само так получается 🐱

———

Счастливого Нового года! Пусть всё хорошее случается, а всё нехорошее... вы сами знаете)

@disasm_me_ch 🤣

disasm.me channel

24 Dec, 11:58


Первые шаги на хакерском поприще 🐱

Опенсорс — интересная среда для наблюдений за развитием проектов. Занятно изучать реализацию первых версий популярных библиотек наподобие boto3, scikit-learn, requests (концепт-план версии 0.2.0 — вполне креативный).

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

1️⃣ Пользователь SpaceyLad создал цепочку из двух пакетов:

🟢not-so-evil-package-spaceylad, код которого представлен на скриншотах 1 (оригинальная версия) и 2 (после автоматической деобфускации). Этот пакет отвечает за хранение строки с командой для скачивания нагрузки.

🟢not-evil-calculator-spaceylad, который непосредственно запустит команду, — скриншот 3.

В первом пакете во всех версиях, кроме 0.0.5, скачивается безобидный файл с расширением .css. Если вам не повезло, со страницы автора на PythonAnywhere скачан файл evil_python.exe, представляющий собой... calc.exe из пакета стандартных программ Windows. Но и в этом случае нагрузка отработает при наличии пользователя IXY.

Из занятного — в релизах проектов оставлены папки .idea (папка проекта в IDE PyCharm) и .venv (папка с виртуальным окружением Python), которые, помимо скудной информации об авторе пакета, позволили узнать нам оригинальное название проекта — pip_evil_package. Также благодаря нехитрой цепочке «гугления» выясняется, что разработчик является студентом факультета кибербезопасности одного из университетов Норвегии 🐈

2️⃣ В июле-августе 2024 года существовал пакет recovery, задача которого согласно описанию была простой: Checks recovery phone numbers against login page on yahoo. Имя автора, ExodusChecker, вызывает смутные подозрения, но давайте не будем торопиться.

Первые версии пакета выглядят безобидными (скриншот 4 — для версий 0.0.1–0.0.3), затем появляются первые подсказки по вредоносной функциональности (скриншот 5 — версии 0.0.4–0.0.9). Начиная с версии 0.1.0 появляется логика замены файла ресурсов для криптокошелька Exodus (скриншот 6), а с версии 0.1.4 злоумышленник учится прикладывать бинарные файлы в релиз.

Автор на протяжении 19 релизов наращивает функциональность, постепенно превращая proof of concept с абсолютными путями (привет, юзер с именем hammy, тестирующий на Exodus 24.31.4) в универсальный работающий код. Далее велись лишь QoL-работы. Конечный результат вы можете видеть на скриншоте 7, он отражает тридцатый по счeту релиз — 0.3.1. Скрипт suckme.bat, сохраняемый в папку автозагрузки, — это отдельный анекдот.

Сам подменяемый app.asar использует технику, ранее описанную JFrog в Impala Stealer, по отношению к хранилищу пакетов .NET NuGet: функция unlock из app/wallet/index.js получает функциональность отправки сид-фразы злоумышленнику (скриншоты 8, 9).

Простой способ защититься от такого рода напастей — использовать изолированное от пользовательских файлов окружение, например Docker-контейнеры. Это может не спасти конечных пользователей, но разработчики будут в определенной степени защищены от типовых атак. Кроме того, можно посмотреть в сторону PyAnalysis 😍

Желаем в наступающем новом году оставаться в безопасности от проделок злоумышленников 🎂

#ti #pypi #pyanalysis #scs
@ptescalator

disasm.me channel

16 Dec, 06:37


Равенство действий 🐱

В рамках Linux Foundation существует Open Source Security Foundation (OSSF). Они ведут репозиторий с отчётами о вредоносных пакетах - malicious-packages.

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

Так, в MAL-2024-7418 багхантер спорит, что его npm-пакет react-devtools-fusebox не должен был попасть в этот список, так как занимается лишь отстуками.

Однако он лукавит:
- Версии 2.0.1 и 2.1.1 собирают достаточно полную информацию о системе, которую потом отправит себе:
const trackingData = JSON.stringify({
p: package,
c: __dirname,
hd: os.homedir(),
hn: os.hostname(),
un: os.userInfo().username,
dns: dns.getServers(),
r: packageJSON ? packageJSON.___resolved : undefined,
v: packageJSON.version,
pjson: packageJSON,
});

- В 2.2.1 было решено, что информации лишко, и пакет ограничился эксфильрацией имени хоста в домене: ${hostname}.[EDITED].oast.fun

Неделю назад произошел схожий случай: автор просит удалить пакет с обоснованием: "все перечисленное было просто тестом в целях безопасности, сейчас нет публичных репозиториев captivateiq".

На что OSSF ответила (ниже перевод):

Привет, radical-izak.

У нас есть политика не удалять отчеты о вредоносных пакетах после их добавления.

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

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

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

Надеюсь, это поможет объяснить. Если есть конкретная проблема, которую вы пытаетесь решить, а не просто удалить их из репозитория, я был бы рад обсудить ее подробнее.


———

А как считаете вы — правильно ли поступают авторы репозитория, относясь к багбаунти-активности так же, как и к вредоносам?

Stay informed,
@disasm_me_ch

disasm.me channel

02 Dec, 07:49


Проект Python Package Index (основной репозиторий, используется по умолчанию при pip install что-то) в сентябрьском коммите добавил текст на страницу регистрации:

Before creating an account on PyPI, familiarize yourself with the following guidelines:

Do not use PyPI for any illegal or harmful activities.
Do not impersonate others or post private information without their consent.
Be respectful of other users and avoid abusive or discriminatory language.
Do not post spam or distribute malware.
Do not use PyPI to conduct security research.


Вероятно команда добавила такие пояснения в связи с серьезными злоупотреблениями, наблюдаемыми последние несколько лет.

Примечательно, что в рамках информационной безопасности тут присутствуют сразу два пункта:
* Не спамьте и не распространяйте вредоносы.
* Не используйте PyPI для проведения исследований безопасности.


Формально под запрет попадает пентестерская/багбаунти активность, но я надеюсь, что на деле будет не так строго. Последний пункт наверняка относится к полчищам пакетов, которые на этапе установки совершают отстук на httpbin-сервисы и в описании упоминают слова "pentest", "bugbounty", "security research".

Будет занятно, если найдётся организация, которая решит не засчитывать пробив через PyPI по багбаунти, ведь сервис запрещает использовать себя для этого 💀

———
Following guidelines,
@disasm_me_ch

disasm.me channel

28 Nov, 04:59


Похоже, что идёт очередная кампания фейков-попрошаек, таргетом стали люди из ИБ-сообщества (комично, ведь они обычно более настороженно относятся к внезапным контактам без истории переписки), будьте осторожны)

———
Stay origin,
@disasm_me_ch

disasm.me channel

28 Nov, 04:57


утро начинается с того, что на меня создали фейк 💬

disasm.me channel

28 Nov, 04:57


У меня тут произошел инцидент: какой-то хмырь скопировал мой профиль и стучался к людям в личку с просьбой скинуть денег)

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

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

Чел даже премиумом заморочился, поразительно.

disasm.me channel

26 Nov, 13:07


С ресёрчем помогал @ryans_lounge 🐱)

disasm.me channel

26 Nov, 13:00


Через блокчейн к данным ⭐️

Исследователи из Socket и Checkmarx рассказали об интересной вредоносной кампании в NPM. Злоумышленники мимикрировали под плагины для Puppeteer и блокчейн-клиенты. Для получения IP-адреса актуального командного сервера используется смарт-контракт в блокчейне Ethereum 😦

Из занятного — в коде библиотек используется несколько комментариев на русском:

console.error("Ошибка при получении IP адреса:", err);
console.error("Ошибка при запуске файла:", _0x88fda8);
console.error("Ошибка установки:", _0x14ce94);

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

В зависимости от вашей платформы будет скачан и запущен один из следующих исполняемых файлов: node-win.exe, node-linux, node-macos. Ниже мы будем называть их агентами.

Мы изучили кампанию подробнее и обнаружили еще несколько интересных деталей.

1️⃣ Несмотря на то что Socket и Checkmarx приводят только один IP-адрес в качестве сетевого IoC, функция назначения нового URL в смарт-контракте вызывалась несколько раз. Всего нам известно о пяти адресах, и самым ранним из них был http://localhost:3001 😈, остальные представляют собой VPS-серверы.

2️⃣ Агент умеет закрепляться в системе и так же, как и JS-библиотеки, скачивающие и запускающие его, получать C2 через блокчейн. Исполняемый файл представляет собой Node.js Single Executable Application, который упаковывает проект и интерпретатор JS в единый файл.

3️⃣ Агент периодически опрашивает сервер на предмет команд в виде JS-кода. Первая нагрузка собирает информацию о системе жертвы: модель процессора, количество ядер, объем оперативной памяти, данные о видеокарте. Полученная информация отправляется обратно на сервер.

4️⃣ Агенты получают просто true, если нет новых задач. Из интересного: корень HTTP-сервера возвращал следующую ошибку:

{"statusCode":404,"message":"ENOENT: no such file or directory, stat '/root/botnet-server/public/index.html'"}

Эта строка проливает свет на возможные цели злоумышленника ☕️

IoCs:

http://194.53.54.188:3001
http://193.233.201.21:3001
http://45.125.67.172:1337
http://45.125.67.172:1228
194.53.54.188
193.233.201.21
45.125.67.172

#ti #npm #pyanalysis #scs
@ptescalator

disasm.me channel

06 Nov, 13:15


PT ESC на SOC FORUM 2024 👀

На юбилейном, десятом, #socforum специалисты нашего экспертного центра безопасности представят семь презентаций по различным направлениям.

Выбирайте, какие вам по душе, и приходите послушать (или смотрите онлайн)!

🗓 7 ноября

14:35–15:00 | Зал 2
«Осмысленная открытость: как мы разрабатываем open-source-проекты в сфере ИБ и зачем создали комитет по открытому коду внутри компании»

Кутепов Антон — руководитель направления развития инициатив ИБ-сообществ

Попов Александр — главный исследователь безопасности операционных систем

▶️▶️▶️

15:00–15:30 | Зал 3
«Кто автор? Как работает автоматизированный модуль атрибуции вредоносного ПО»

Медведев Сергей — руководитель группы углубленного исследования угроз экспертного центра безопасности PT ESC

▶️▶️▶️

16:30–17:00 | Зал 3
«Stratocaster: как мы автоматизировали рутинный поиск неизвестного ВПО в сетевом трафике»

Бечкало Евгений — руководитель отдела сетевой экспертизы антивирусной лаборатории ESC

Наумова Ксения — специалист отдела сетевой экспертизы антивирусной лаборатории ESC

▶️▶️▶️

18:00–18:30 | Зал 3
«Неочевидное, но опасное: как мы научились ловить редкие буткиты с помощью динамического анализа в виртуальных машинах»

Максютин Павел — ведущий специалист отдела экспертизы PT Sandbox

🗓 8 ноября

12:40–13:20 | Зал 4
«Результаты расследований инцидентов ИБ за 2024 год»

Гойденко Денис — руководитель отдела расследования и реагирования на инциденты ИБ

▶️▶️▶️

14:40–15:20 | Зал 5
«Змеиный улов: обзор интересных троянов, опубликованных в Python Package Index за 2024 год»

Раковский Станислав — руководитель группы Supply Chain Security

▶️▶️▶️

16:00–16:40 | Зал 4
«Livehunt своими руками: какие технологии нужны, чтобы автоматизировать процесс обработки миллиона файлов»

Похлебин Максим — ведущий специалист отдела разработки департамента Threat Intelligence

Андреев Максим — руководитель отдела исследования сложных угроз департамента Threat Intelligence

@ptescalator

disasm.me channel

05 Nov, 13:52


Участвуешь в PT Start?

Присмотрись к INT-11 - интенсиву от Threat Intelligence. Мы с коллегами рассказывали про наше направление по исследованию вредоносного программного обеспечения.

Очень советую послушать запись интенсива и порешать домашку (особенно мою, завязанную на исследование ВПО в опенсорсе
🧋)

🔥 — всё понятно, буду решать INT-11!
🌚 — таргетированная реклама потерпела крах

———
Stay positive
@disasm_me_ch

disasm.me channel

28 Oct, 11:45


Визуализация коннектов

Синие - TCP, Зелёные - UDP, красные - ICMP

disasm.me channel

28 Oct, 11:45


Карта популярности портов. Самый популярный порт - 22, при этом постуки на него составляют всего лишь 0.99% от общего траффика.

Port     Connects  Purpose
22 7509 SSH
22222 5430 SSH & HTTP
23 4481 Telnet
8080 2656 HTTP
80 2620 HTTP
443 2533 HTTPS
42069 2453 Memetic?
8728 2409 RouterOS
3389 2023 RDP
25565 1415 Minecraft Srv
34567 1388 Smart Cameras
445 1225 SMB
6379 1094 Redis
3306 1006 MySQL
8888 890 HTTP
34588 738 ?
53 700 DNS
1433 685 MS SQL
623 664 Remote management protocols
2222 638 SSH

disasm.me channel

28 Oct, 11:45


В час в среднем приходит 3904 коннекта (если брать медиану, получится 3257).

На графике видно, что в ночь с 24 на 25 октября ещё и сканером кто-то проехался.

disasm.me channel

28 Oct, 11:45


Интернет вещей ботнетов и сканнеров

Посматривая логи sshd или своего веб-сервера, вы наверняка видели, что много кто пытается к вам постучаться. Несколько дней назад, настраивая веб-сервер, меня позабавило, что на 80-й порт постучался чей-то сканер ещё до того, как я успел сам на него зайти. При этом самой VPS было всего несколько минут отроду.

Настроил iptables на логирование всех входящих соединений и оставил "настояться". За 8 дней набежала статистика, которую вы можете наблюдать ниже. Уже в первые часы жизни сервер получал не менее тысячи посторонних соединений.

Прилетело 750 896 TCP-соединения, 6 478 UDP, 46 ICMP. Всего постучалось 17 795 посторонних хоста.

Мораль? Да нет морали. Неудивительно, что интернет сканят, но объемы конечно расстраивают 💀

———

Stay data-driven,
@disasm_me_ch

disasm.me channel

18 Oct, 12:08


Снова ловим багхантеров 💀

В одном из предыдущих постов мы писали про следы багбаунти-деятельности по отношению к «Яндексу». История повторилась, но уже с нами.

Сработал алерт на активность, связанную с новыми вредоносными пакетами innostage и innostage_group. История нетипичная: почта у разработчика — [email protected] (о, русскоговорящий человек!), а нагрузка скачивается с доменов files.inostage.ru (мимикрия под innostage-group.ru) и files.pythonhosted.ru (мимикрия под files.pythonhosted.org).

Человеку — большое уважение: озаботился покупкой домена, еще и перед этим, вероятно, ознакомился с атаками, проводимыми ранее... Отправляем репорт в Python Package Index, уведомляем коллег из Innostage.

🐈 Подозреваем, автор читал мартовскую статью Checkmarx, где злоумышленник «протроянил» пакет colorama. Был сделан pull request, который, помимо всего прочего, в ссылках на дистрибутивы легитимный домен files.pythonhosted.org поменял на управляемый атакующим files.pypihosted.org.

Хоть в описании проекта и упоминается, что это багбаунти, в качестве нагрузки человек использовал не отстук (как это делал багхантер из истории с «Яндексом»), а реверс-шеллы (на скриншотах). Не совсем исследовательский подход, к сожалению.

Далее к пакетам innostage и innostage_group прибавились cyberart, ... posi, maxpatrol и ptsecurity 🤨 Занятно. Нагрузка все та же — реверс-шеллы.

Домен inostage.ru уже ранее светился на Standoff. Получается, снова обнаружили деятельность багхантеров, в этот раз еще и помешав исследованию 🤬. Что-ж...

———
PT PyAnalysis. Профессионально отслеживаем багхантеров с 2024 года.

#ti #pypi #pyanalysis
@ptescalator

disasm.me channel

11 Oct, 10:55


Продолжаю непериодическую рубрику интересностей с конференций.

Прямо сейчас идёт Positive Security Day (PSD) - позитивная конференция, в которой рассказывают об интересностях в продуктах компании.

Приметил интересности:

Четверг, зал Физика, ML в деле обнаружения новых семейств ВПО. Выступление заряжено на желание попробовать машинное обучение в автоматизации вердиктов) Спикеры рассказали о том, как ML-решение для сетевых вердиктов прошло путь от маленького POC до production.

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

Четверг, зал Физика, Как понимание ландшафта угроз помогает выстроить защиту. Хороший рассказ в сфере Threat Intelligence для всех уровней. Интересен не только людям, которые управляют безопасностью в компании, но и самим сотрудникам, так как позволяет понимать, почему ИБ-отдел настолько строг и параноичен в своих мерах) Неудивительно, учитывая, насколько комплексная система обеспечения безопасности в организации и как много всего необходимо учесть.

Конкретно сейчас идёт доклад от команды PT Application Inspector, тоже интереснота (пятница, зал Молекула, Проведение статического анализа веб-приложения), полезно не только для девсекопсов, но и для просто девелоперов, здорово повышает осознанность в рамках процесса разработки. Много про Taint 😺

День ещё не закончился, там есть ещё интересные технические доклады, тот же побег из контейнера)

———

Expand your view 😼
@disasm_me_ch

disasm.me channel

02 Oct, 17:59


Мда... Кто-то нехороший отравляет метаданные в официальной Lumina...


Объяснение для не-IDA пользователей:

У IDA Pro, инструмента по обратной разработке от компании Hex-Rays, есть технология по сетевому обмену метаданными уже разревёшенных функций, называется Lumina. Она позволяет ревёрсерам со всего света объединять усилия по обратной разработке прошивок, троянов и других бинарей. Грубо говоря она даёт тебе возможность положить результаты обратной разработки функций в общее хранилище, чтобы IDA, столкнувшись с этой функцией у другого исследователя, сразу же показала разревёршенный вариант. Ну и ты тоже можешь пользоваться результатами работы других людей, если у тебя есть лицензия (существуют и публичные сервера, но сейчас не об этом). Обычно там полезно получить метаданные популярных библиотек, типа openssl, MFC, ....

На скрине - имена функций из одного челленджа на Flare-On, которые были получены из Lumina. Кто-то нехороший нарочно написал скрипт, который исковеркает названия функций, а затем отправил эти метаданные на официальный сервер. Таким образом этот человек не просто поднасрал участникам соревнования, но и мог попортить жизнь простых исследователей, перезатря имена дефолтных функций мусором.

На минуточку, официальной Lumina могут использовать люди, у которых есть полноценная версия инструмента (так, самая дешёвая облачная версия IDA PRO стоит 1099 долларов за год, а standalone - 2999 долларов).

We live in society,
@disasm_me_ch

disasm.me channel

29 Sep, 08:20


О, начался Flare-On. Это ежегодное соревнование ревёрсеров продолжительностью 6 недель, содержащее ~10-12 задач.

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

Всем участникам удачи, а их руководителям, в связи с уменьшением плотности решения задач, - соболезную 😭

disasm.me channel

25 Sep, 11:41


Вдогонку немного фотографий с митапа. Также посчастливилось побывать в корпусе "Феррум" Яндекса, там есть занятные плакаты Школы Анализа Данных

(Этот текст решил прикрепиться как подпись к первой картинке, а не текст поста 🤬)

disasm.me channel

25 Sep, 11:38


Вдогонку немного фотографий с митапа. Также посчастливилось побывать в корпусе "Феррум" Яндекса, там есть занятные плакаты Школы Анализа Данных

disasm.me channel

22 Sep, 10:05


Я в питерском офисе Яндекса: *счастлив*

disasm.me channel

18 Sep, 06:14


На выступлениях я часто поднимаю тему того, насколько фатально опечататься в названии пакета в рамках его установки. Да и в принципе грустно в свежем окружении видеть ModuleNotFoundError: No module named 'some_library'.
Похоже, человечество решило и эту проблему.

Разработчик LiadOz занимается разработкой проекта module-found, хукающегося на импорт библиотек в importlib. В случае если библиотека не найдена, module-found возьмёт ваш токен от ChatGPT из переменной окружения MODULE_FOUND_KEY и попросит нейронку (определяется переменной окружения MODULE_FOUND_MODEL, по умолчанию 'gpt-4o-mini') сгенерировать содержимое библиотеки.

Библиотека учитывает, что вы импорт может быть не просто "import pandas", а "from pandas import dataframe", и в таком случае попросит сгенерировать требуемые методы/классы/поля.

Ваша жизнь изменится раз и навсегда:

pip install module-found


Если у вас есть токен для ChatGPT 😂
———

И правда, наступили тёмные времена. Своими впечатлениями можете поделиться в комментариях 😖

Stay generative,
@disasm_me_ch

disasm.me channel

13 Sep, 11:14


Хакерский митап от Яндекс x SPbCTF!

Буду очень рад встретиться с людьми, которые пойдут на мероприятие)

disasm.me channel

09 Sep, 08:34


Python Package Index as a Love Drama Tool 🌼

2 недели назад я рассказывал про человека, который использовал PyPI для доставки своего любовного признания. К сожалению, something went wrong...

С версии 0.0.7 пакет, столкнувшись с не-Windows системой, отправляет разработчику весточку "Intruder Detected", дополнительно собирая имя пользователя и название ОСи.

Версия 0.1.6 обзавелась дампером WiFi-паролей с тачки "вторженца". Начиная с версии 0.1.7 автор, к сожалению, решил логировать пароли и с устройства своей возлюбленной.

В версии 0.2.0, которая вышла за 2 дня до даты назначенного свидания, он удалил весь код - и признания, и "телеметрии".

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

Грустно это всё 😺

———
No, love isn't always a good thing,
@disasm_me_ch

disasm.me channel

03 Sep, 14:56


Страсти опенсорса: часть вторая

Инфостилеры 🧋

Ими уже никого не удивишь, ведь это популярный класс вредоносного программного обеспечения, часто упоминаемый в новостях. Большинство троянов крадут наши данные, но делают это без уважения. И тут разработчик GeorgeTheMightyDev подумал: «А что, если...»

И выпустил пакет pojang-resorter, который благодарит вас за то, что вы установили его приложение, ведь вы даете ему возможность сделать скриншот и отправить его на сервер Discord (скриншот 1). В следующих версиях нагрузка будет упакована в PyInstaller, а код — обфусцирован, однако мы оценили изначальное благородство автора

1001 мимикрия под requests 😵‍💫

Злоумышленники не перестают использовать кодовую базу популярной библиотеки requests для сокрытия своей вредоносной нагрузки. За эти две недели такое произошло в рамках пакетов flophttp и invokehttp. Так как в обоих случаях автор подписал себя как Kiany Reeves, у нас нет сомнений, что это одна кампания 🐶

Вредоносная нагрузка расположена в __init__.py и представляет собой обфусцированный однострочник (скриншот 2). Учитывая, что автор задает для библиотек и методов такие алиасы, как borrow, blacktrone, pickachu, takihao (скриншот 3), становится понятно, что наш злоумышленник — человек культуры.

Сезон отстуков 🏖

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

На скриншотах 4–7 представлены различные варианты реализации такого функционала: это пакеты artifact-lab-3-package-77d0c154, artifact-lab-3-package-89883da3, tiktok-session-lite-sdk.

———

А вы знали про фичу pip с отсутствием приоритетов репозиториев? Надеемся, что вам было интересно 👍

#ti #stealer #pypi #pyanalysis
@ptescalator