<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>avlab &#8211; PT ESC</title>
	<atom:link href="/tag/avlab/feed/index.xml" rel="self" type="application/rss+xml" />
	<link>/</link>
	<description></description>
	<lastBuildDate>Wed, 30 Sep 2026 19:23:00 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.3</generator>

<image>
	<url>/wp-content/uploads/2026/09/cropped-cropped-large_icon-32x32.png</url>
	<title>avlab &#8211; PT ESC</title>
	<link>/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Гражданин, обновитесь 🫵</title>
		<link>/citizen-update-yourself/</link>
		
		<dc:creator><![CDATA[ti_author]]></dc:creator>
		<pubDate>Fri, 03 Jul 2026 15:38:53 +0000</pubDate>
				<category><![CDATA[Threat Intelligence]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[avlab]]></category>
		<category><![CDATA[sandbox]]></category>
		<category><![CDATA[TI]]></category>
		<guid isPermaLink="false">/%d0%b3%d1%80%d0%b0%d0%b6%d0%b4%d0%b0%d0%bd%d0%b8%d0%bd-%d0%be%d0%b1%d0%bd%d0%be%d0%b2%d0%b8%d1%82%d0%b5%d1%81%d1%8c-%f0%9f%ab%b5/</guid>

					<description><![CDATA[Гражданин, обновитесь 🫵 Недавно к нам в песочницу залетел семпл mir-pay.apk. На первый взгляд — ничего необычного: очередная вариация хорошо известного вредоноса Mamont, подумали мы. Тем более что название платежной системы уже…]]></description>
										<content:encoded><![CDATA[<p><strong>Гражданин, обновитесь 🫵</strong></p>
<p>Недавно к нам в песочницу залетел семпл <code>mir-pay.apk</code>. На первый взгляд — ничего необычного: очередная вариация хорошо известного вредоноса Mamont, подумали мы. Тем более что название платежной системы уже не раз встречалось в этом семействе ВПО.</p>
<p>В песочнице сработала метка «Формат подделан» с вердиктом <code>apk.tampered</code>, образец сохранял подозрительные файлы с расширением <code>.png</code> (файловые дропы) и загружал код напрямую в память (DEX-дампы).</p>
<p><strong>Мы решили копнуть глубже — и не зря.</strong> В ходе исследования нам удалось:</p>
<p><strong>•</strong> Выяснить, что к Mamont этот семпл отношения не имеет — поиск по найденным IoCs вывел нас на вредоносную кампанию Falcon, первые образцы которой были описаны еще в 2022 году.</p>
<p><strong>•</strong> Восстановить всю цепочку атаки — от загрузчика фейкового «обновления приложения» до полноценного Android-бэкдора — и разобраться, как злоумышленники используют легитимные сервисы, включая Trello, для доставки вредоносного ПО.</p>
<p><strong>•</strong> Сравнить образцы четырехлетней давности с актуальными версиями и узнать, как за это время эволюционировал Falcon: появились новые техники обфускации, расширился функционал, изменились методы доставки вредоносной нагрузки.</p>
<p>О том, как устроена вредоносная кампания Falcon — читайте в подробном анализе в <a href="https://habr.com/ru/companies/pt/articles/1036620/" rel="noopener" target="_blank">нашем блоге на Хабре</a>.</p>
<p><span class="hashtag">#avlab</span> <span class="hashtag">#sandbox</span> <span class="hashtag">#ti</span> <span class="hashtag">#android</span><br />
<a href="https://t.me/ptescalator" rel="noopener" target="_blank">@ptescalator</a></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Dirty Frag 🐧</title>
		<link>/dirty-frag/</link>
		
		<dc:creator><![CDATA[global_author]]></dc:creator>
		<pubDate>Fri, 08 May 2026 12:08:09 +0000</pubDate>
				<category><![CDATA[Разное]]></category>
		<category><![CDATA[avlab]]></category>
		<category><![CDATA[cve]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[sandbox]]></category>
		<guid isPermaLink="false">/dirty-frag-%f0%9f%90%a7/</guid>

					<description><![CDATA[Dirty Frag 🐧💥 Спустя неделю после нашумевшего Copy.Fail исследователь v4bel раскрыл новую технику повышения привилегий в ядре Linux — Dirty Frag. По состоянию на 8 мая у Dirty Frag нет CVE-номера и,…]]></description>
										<content:encoded><![CDATA[<p><strong>Dirty Frag 🐧</strong>💥</p>
<p>Спустя неделю после нашумевшего <a href="https://t.me/ptescalator/714" rel="noopener" target="_blank">Copy.Fail</a> исследователь v4bel <a href="https://github.com/V4bel/dirtyfrag" rel="noopener" target="_blank">раскрыл</a> новую технику повышения привилегий в ядре Linux — Dirty Frag.</p>
<p>По состоянию на 8 мая у Dirty Frag нет CVE-номера и, что более критично, официального патча от мейнтейнеров ядра тоже нет. Dirty Frag относится к тому же классу, что Dirty Pipe и Copy.Fail, но использует другой механизм: вместо pipe_buffer атакуется структура <code>sk_buff</code>.</p>
<p><em>Общие механизмы работы позволяют надежно блокировать эксплойт поведенческой экспертизой в PT Sandbox (Exploit.Linux.CVE-2022-0847.a, Exploit.Linux.CVE-2026-31431.a, Backdoor.Linux.Generic.a) — смотрите на скриншоте.</em></p>
<p><strong>Как это работает?</strong> 🧐</p>
<p>Dirty Frag — это цепочка из двух уязвимостей, которые дополняют друг друга, чтобы охватить все основные дистрибутивы:</p>
<p>1️⃣ Page-Cache Write (с 2017 года): предоставляет возможность для записи 4 байт в кэш страниц, но требует права на создание пользовательских пространств имен, что в некоторых системах (например, Ubuntu) может блокироваться AppArmor.</p>
<p>2️⃣ RxRPC Page-Cache Write (с июня 2023 года): не требует прав на пространства имен, но модуль <code>rxrpc.ko</code> присутствует только в некоторых дистрибутивах, включая Ubuntu, где он загружен по умолчанию.</p>
<p>Объединив их, атакующий получает рабочий эксплойт на любой системе, что позволяет:</p>
<p>• Подменить <code>suid-файлы</code> (например, <code>/usr/bin/su</code>) на свою версию<br />
• Изменить <code>/etc/passwd</code>, очистив пароль root-пользователя</p>
<p><strong>Кто под угрозой? ⛳️</strong></p>
<p>Практически все системы с ядром Linux, выпущенные с 2017 года. Исследователь подтвердил работу эксплойта на следующих версиях: Ubuntu 24.04.4, RHEL 10.1, openSUSE Tumbleweed, CentOS Stream 10, AlmaLinux 10, Fedora 44 и других.</p>
<p><strong>Как защититься? </strong><strong>🔧</strong></p>
<p>Так как официального патча от мейнтейнеров ядра пока нет, единственный способ защиты — немедленно отключить и выгрузить уязвимые модули ядра.</p>
<p><strong>Команда для отключения:</strong></p>
<pre><code>sh -c &quot;printf &#039;install esp4 /bin/false\ninstall esp6 /bin/false\ninstall rxrpc /bin/false\n&#039; &gt; /etc/modprobe.d/dirtyfrag.conf; rmmod esp4 esp6 rxrpc 2&gt;/dev/null; true&quot;</code></pre>
<p>Некоторые дистрибутивы (например, AlmaLinux) начали выпускать <a href="https://almalinux.org/blog/2026-05-07-dirty-frag/" rel="noopener" target="_blank">собственные патчи</a>, не дожидаясь апстрима.</p>
<p>UPD: уязвимость получила идентификатор — <a href="https://nvd.nist.gov/vuln/detail/CVE-2026-43284" rel="noopener" target="_blank">CVE-2026-43284</a>, патч добавлен в код ядра (<a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=f4c50a4034e62ab75f1d5cdd191dd5f9c77fdff4" rel="noopener" target="_blank">f4c50a4034e6</a>).</p>
<p><span class="hashtag">#avlab</span> <span class="hashtag">#cve</span> <span class="hashtag">#linux</span> <span class="hashtag">#sandbox</span><br />
<a href="https://t.me/ptescalator" rel="noopener" target="_blank">@ptescalator</a> (<a href="https://x.com/ptescalator" rel="noopener" target="_blank">X</a>, <a href="https://max.ru/join/V8dhsWy0FytLHcY_2m9KM99gsnBlr0v5RxOZFTOClho" rel="noopener" target="_blank">Max</a>)</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Засунь свои претензии в&#8230; PT Sandbox!</title>
		<link>/shove-your-claims-up-pt-sandbox/</link>
		
		<dc:creator><![CDATA[ti_author]]></dc:creator>
		<pubDate>Fri, 06 Feb 2026 15:56:45 +0000</pubDate>
				<category><![CDATA[Threat Intelligence]]></category>
		<category><![CDATA[avlab]]></category>
		<category><![CDATA[ioc]]></category>
		<category><![CDATA[malware]]></category>
		<category><![CDATA[sandbox]]></category>
		<category><![CDATA[TI]]></category>
		<guid isPermaLink="false">http://localhost:8080/%d0%b7%d0%b0%d1%81%d1%83%d0%bd%d1%8c-%d1%81%d0%b2%d0%be%d0%b8-%d0%bf%d1%80%d0%b5%d1%82%d0%b5%d0%bd%d0%b7%d0%b8%d0%b8-%d0%b2-pt-sandbox/</guid>

					<description><![CDATA[Засунь свои претензии в&#8230; PT Sandbox! 🫵 В конце января мы обнаружили вредоносную кампанию с рассылкой вредоносного PureRat (PureHVNC) по российским организациям финансового сектора. Как и многие подобные рассылки, атака начиналась с…]]></description>
										<content:encoded><![CDATA[<strong>Засунь свои претензии в&#8230; PT Sandbox!</strong> 🫵<br />
<br />
В конце января мы обнаружили вредоносную кампанию с рассылкой вредоносного PureRat (PureHVNC) по российским организациям финансового сектора.<br />
<br />
Как и многие подобные рассылки, атака начиналась с письма под названием «Акт сверки и претензия» (<em>скриншот 1</em>). <br />
<br />
В письме была ссылка на архив:<br />
<br />
<pre class="wp-block-code"><span><code lang="yaml" class="hljs language-yaml language-yaml"><span class="hljs-string">https://github.com/sergo20261/proxi/raw/refs/heads/main/претензия.rar</span></code></span></pre><br />
<br />
с причудливо обфусцированным bat-файлом (<em>скриншот 2</em>).<br />
<br />
🕵️‍♂️ Его функционал прост — всего лишь декодирование из base64 огромного куска данных (перед этим каждое вхождение подстроки <code>`h@`</code> заменяется на <code>`d`</code>) и его последующий запуск, после чего он копирует себя в <code>C:\ProgramData\avtoproxi.bat</code> (<em>скриншот 3</em>).<br />
<br />
Декодированные данные представляют собой PowerShell-скрипт (<em>скриншот 4</em>), который скачивает картинку с URL:<br />
<br />
<pre class="wp-block-code"><span><code lang="plaintext" class="hljs language-plaintext language-plaintext">firebasestorage.googleapis.com/v0/b/remasd-6c702.firebasestorage.app/o/image.jpg?alt=media&amp;token=c16438a4-4eeb-4116-adc7-373fbf7359b0
modaaura.store/image.jpg?12711343</code></span></pre><br />
<br />
🖼 В картинке ищутся теги <code>BASE64_START</code> и <code>BASE64_END</code>, между которыми находится закодированный в base64 .NET-загрузчик AndeLoader, который скачивает <code>exe</code> с переданного ему URL:<br />
<br />
<pre class="wp-block-code"><span><code lang="yaml" class="hljs language-yaml language-yaml"><span class="hljs-string">https://raw.githubusercontent.com/sergo20261/proxi/refs/heads/main/vc27012026upload.txt</span></code></span></pre><br />
<br />
AndeLoader запускает легитимный процесс <code>MsBuild.exe</code> и внедряет в него полученный вредоносный код. Подобная схема характерна для инструмента Crypters and Tools, <a href="https://ptsecurity.com/research/pt-esc-threat-intelligence/crypters-and-tools-odin-instrument-dlya-tysyach-vredonosnyh-fajlov/#id8" rel="noopener" target="_blank">описанного нами ранее.</a><br />
<br />
В этот раз C2 оказался по адресу <code>62.84.98.217:56001</code> (<em>скриншот 5</em>). Естественно, подобные трюки не могли остаться незамеченными в PT Sandbox, и ВПО было заблокировано песочницей.<br />
<br />
🚧 <strong>Покопавшись в репозитории sergo20261, мы нашли три проекта:</strong><br />
<br />
• proxihost<br />
• proxi<br />
• text<br />
<br />
<strong>Файлов в них великое множество, самые интересные из них:</strong><br />
<br />
• написанные на Rust загрузчики вредоноса PureRat;<br />
• исполняемые файлы PureRat;<br />
• различные .txt-файлы, в которых содержатся закодированные данные в Base64 (файл <code>vc27012026upload.txt</code>, упоминаемый по ссылке выше, относится к ним же).<br />
<br />
Напоследок хотелось бы отметить, что описанный здесь набор инструментов, запускавшихся с помощью Crypters and Tools, — PureRat и его rust-загрузчики — мелькал в сентябрьских атаках 2025 года и <a href="https://research.checkpoint.com/2025/under-the-pure-curtain-from-rat-to-builder-to-coder/" rel="noopener" target="_blank">подробно описывался в статье.</a><br />
<br />
<strong>IoCs</strong><br />
<br />
<pre class="wp-block-code"><span><code lang="plaintext" class="hljs language-plaintext language-plaintext">Акт сверки и претензия.eml -&gt; 71a8920aa71afde02a466e08508642561b98a99632351cdd1c1ce3ab805a10ba
pretenziya_27012026_akt_sverka_1C_PDF.bat -&gt; 1d3e6b81479717282fb0f661fba3603b3f9f9c9d857a0f2fa8035b7015ab1f0a
vc27012026upload.txt -&gt; 9abcfce5cb991f60652c4b410e45ad40f4b0eafe30c2209f0c6e6636b424d5db
Rust загрузчик -&gt; 93e0fb947cff4ab361c307590a078549ab9e885d04e23b12a800296dd4d6c4a4
PureHVNC -&gt; 49fde62919aec811780e67073a7e70566594477ef7b19905e1b8aa42438f6d98

62.84.98.217
firebasestorage.googleapis.com/v0/b/remasd-6c702.firebasestorage.app/o/image.jpg?alt=media&amp;token=c16438a4-4eeb-4116-adc7-373fbf7359b0
modaaura.store/image.jpg?12711343</code></span></pre>

<figure class="wp-block-image"><img width="1024" height="740" src="/wp-content/uploads/2026/02/photo_497@06-02-2026_15-56-45-1024x740.jpg" class="attachment-large size-large" alt="" decoding="async" loading="lazy" srcset="/wp-content/uploads/2026/02/photo_497@06-02-2026_15-56-45-1024x740.jpg 1024w, /wp-content/uploads/2026/02/photo_497@06-02-2026_15-56-45-300x217.jpg 300w, /wp-content/uploads/2026/02/photo_497@06-02-2026_15-56-45-768x555.jpg 768w, /wp-content/uploads/2026/02/photo_497@06-02-2026_15-56-45.jpg 1280w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
<figure class="wp-block-image"><img width="1024" height="531" src="/wp-content/uploads/2026/02/photo_498@06-02-2026_15-56-46-1024x531.jpg" class="attachment-large size-large" alt="" decoding="async" loading="lazy" srcset="/wp-content/uploads/2026/02/photo_498@06-02-2026_15-56-46-1024x531.jpg 1024w, /wp-content/uploads/2026/02/photo_498@06-02-2026_15-56-46-300x156.jpg 300w, /wp-content/uploads/2026/02/photo_498@06-02-2026_15-56-46-768x398.jpg 768w, /wp-content/uploads/2026/02/photo_498@06-02-2026_15-56-46.jpg 1280w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
<figure class="wp-block-image"><img width="1024" height="466" src="/wp-content/uploads/2026/02/photo_499@06-02-2026_15-56-46-1024x466.jpg" class="attachment-large size-large" alt="" decoding="async" loading="lazy" srcset="/wp-content/uploads/2026/02/photo_499@06-02-2026_15-56-46-1024x466.jpg 1024w, /wp-content/uploads/2026/02/photo_499@06-02-2026_15-56-46-300x136.jpg 300w, /wp-content/uploads/2026/02/photo_499@06-02-2026_15-56-46-768x349.jpg 768w, /wp-content/uploads/2026/02/photo_499@06-02-2026_15-56-46.jpg 1280w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
<figure class="wp-block-image"><img width="1024" height="740" src="/wp-content/uploads/2026/02/photo_500@06-02-2026_15-56-46-1024x740.jpg" class="attachment-large size-large" alt="" decoding="async" loading="lazy" srcset="/wp-content/uploads/2026/02/photo_500@06-02-2026_15-56-46-1024x740.jpg 1024w, /wp-content/uploads/2026/02/photo_500@06-02-2026_15-56-46-300x217.jpg 300w, /wp-content/uploads/2026/02/photo_500@06-02-2026_15-56-46-768x555.jpg 768w, /wp-content/uploads/2026/02/photo_500@06-02-2026_15-56-46.jpg 1280w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>

<br />
<br />
<span class="hashtag">#avlab</span> <span class="hashtag">#sandbox</span> <span class="hashtag">#TI</span> <span class="hashtag">#ioc</span> <span class="hashtag">#malware</span><br />
<a href="https://t.me/ptescalator" rel="noopener" target="_blank">@ptescalator</a>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Препарируем сетевой трафик с помощью ML в поисках новых вредоносов</title>
		<link>/dissecting-network-traffic-with-ml-in-search-of-new-malware/</link>
		
		<dc:creator><![CDATA[global_author]]></dc:creator>
		<pubDate>Thu, 05 Feb 2026 16:54:42 +0000</pubDate>
				<category><![CDATA[Разное]]></category>
		<category><![CDATA[avlab]]></category>
		<category><![CDATA[ml]]></category>
		<category><![CDATA[network]]></category>
		<guid isPermaLink="false">/%d0%bf%d1%80%d0%b5%d0%bf%d0%b0%d1%80%d0%b8%d1%80%d1%83%d0%b5%d0%bc-%d1%81%d0%b5%d1%82%d0%b5%d0%b2%d0%be%d0%b9-%d1%82%d1%80%d0%b0%d1%84%d0%b8%d0%ba-%d1%81-%d0%bf%d0%be%d0%bc%d0%be%d1%89%d1%8c%d1%8e-ml/</guid>

					<description><![CDATA[Препарируем сетевой трафик с помощью ML в поисках новых вредоносов 📖 🧪 Мы — команда отдела сетевой экспертизы антивирусной лаборатории ESC и команда машинного обучения — однажды уже построили ML-модель на сетевом…]]></description>
										<content:encoded><![CDATA[<p><strong>Препарируем сетевой трафик с помощью ML в поисках новых вредоносов</strong> 📖</p>
<p>🧪 Мы — команда отдела сетевой экспертизы антивирусной лаборатории ESC и команда машинного обучения — однажды уже построили ML-модель на сетевом трафике, обучили ее на реальных сетевых сессиях и запустили в песочнице PT Sandbox для усиления возможностей по обнаружению вредоносов. Но мы решили не останавливаться на достигнутом — провели серию новых экспериментов, расширили набор входных признаков и протестировали модель на более сложных сценариях.</p>
<p>👾 Благодаря обновлению модель уже успела поймать несколько ранее неизвестных образцов: новую версию бэкдора Oyster, загрузчик APT GOFFEE, несколько стилеров (например, JustAskJacky) и еще ряд небольших, но подозрительных загрузчиков.</p>
<p>💡 Этот опыт подтверждает, что машинное обучение — отличный помощник традиционным сигнатурным решениям: оно видит скрытые паттерны и повышает общую детектируемость вредоносных сетевых сценариев.</p>
<p>Обо всем этом и не только рассказали <a href="https://habr.com/ru/companies/pt/articles/993058/" rel="noopener" target="_blank">в нашей статье на Хабре</a>.</p>
<p><span class="hashtag">#network</span> <span class="hashtag">#avlab</span> <span class="hashtag">#ml</span><br />
<a href="https://t.me/ptescalator" rel="noopener" target="_blank">@ptescalator</a></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Новая порция супа</title>
		<link>/a-new-portion-of-soup/</link>
		
		<dc:creator><![CDATA[ti_author]]></dc:creator>
		<pubDate>Wed, 04 Feb 2026 21:52:44 +0000</pubDate>
				<category><![CDATA[Threat Intelligence]]></category>
		<category><![CDATA[avlab]]></category>
		<category><![CDATA[emailsecurity]]></category>
		<category><![CDATA[ioc]]></category>
		<category><![CDATA[Phishing]]></category>
		<category><![CDATA[sandbox]]></category>
		<category><![CDATA[TI]]></category>
		<guid isPermaLink="false">http://localhost:8080/%d0%bd%d0%be%d0%b2%d0%b0%d1%8f-%d0%bf%d0%be%d1%80%d1%86%d0%b8%d1%8f-%d1%81%d1%83%d0%bf%d0%b0/</guid>

					<description><![CDATA[Новая порция супа 🍜 Летом 2025 зарубежные коллеги уже писали про троян SoupDealer — атака специализированная под пользователей из Турции. У семпла было много особенностей, ключевая из которых — он представлял из…]]></description>
										<content:encoded><![CDATA[<strong>Новая порция супа</strong> 🍜<br />
<br />
Летом 2025 зарубежные коллеги уже писали про троян <a href="http://malwation.com/blog/technical-analysis-of-a-stealth-java-loader-used-in-phishing-campaigns-targeting-turkiye" rel="noopener" target="_blank">SoupDealer</a> — атака специализированная под пользователей из Турции. У семпла было много особенностей, ключевая из которых — он представлял из себя JAR-файл с множественными техниками обфускации AllatoriObfuscator и защитами от динамического анализа. Например, он запускается исключительно на устройствах с турецкой локалью (<em>скриншот 1</em>). Не будем вдаваться во все подробности — семейство уже было подробно происследовано.<br />
<br />
Сегодня мы заметили, что началась новая волна атак с использованием того же семейства (<em>скриншот 2</em>), заблокированная в нашей песочнице PT Sandbox. Все они соответствуют примерно одному паттерну: письмо со ссылкой на Google Drive с просьбой проверить документы; по ссылке находится вредоносный JAR-файл. И мы бы не стали обращать на это внимание (каждый день мы блокируем огромное множество семплов), но на текущий момент все еще не все семплы детектируются популярными защитными средствами (<em>скриншот 3</em>).<br />
<br />
Поэтому — выкладываем индикаторы компрометации, чтобы средства защиты смогли оперативно доработать свою экспертизу.<br />
<br />
<strong>Адреса отправителей:</strong><br />
<pre class="wp-block-code"><span><code lang="plaintext" class="hljs language-plaintext language-plaintext">arslan@arsavukatlik.com
bilgi@dermamed.com.tr</code></span></pre><br />
<br />
<strong>C2:</strong><br />
<pre class="wp-block-code"><span><code lang="plaintext" class="hljs language-plaintext language-plaintext">gocmenkusgiller.blog</code></span></pre><br />
<br />
<strong>Имена файлов:</strong><br />
<pre class="wp-block-code"><span><code lang="plaintext" class="hljs language-plaintext language-plaintext">YENI URUNLER ICIN FIYAT TALEBI3.jar
FIYAT TEKLIFI BEKLENEN URUN LISTESI.jar</code></span></pre><br />
<br />
<strong>Хеши файлов SHA-256:</strong><br />
<pre class="wp-block-code"><span><code lang="plaintext" class="hljs language-plaintext language-plaintext">90ead7a262450a9bace5686f11fc39cbd607a0d681ef9ff39d8766d9b4c0de2e
8dc7f7d298291c042e9f51feff3c8d690f4889a9a141e9657d33da7bb8456c7f</code></span></pre>

<figure class="wp-block-image"><img width="1024" height="570" src="/wp-content/uploads/2026/02/photo_493@04-02-2026_21-52-44-1024x570.jpg" class="attachment-large size-large" alt="" decoding="async" loading="lazy" srcset="/wp-content/uploads/2026/02/photo_493@04-02-2026_21-52-44-1024x570.jpg 1024w, /wp-content/uploads/2026/02/photo_493@04-02-2026_21-52-44-300x167.jpg 300w, /wp-content/uploads/2026/02/photo_493@04-02-2026_21-52-44-768x427.jpg 768w, /wp-content/uploads/2026/02/photo_493@04-02-2026_21-52-44.jpg 1280w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
<figure class="wp-block-image"><img width="1024" height="599" src="/wp-content/uploads/2026/02/photo_494@04-02-2026_21-52-45-1024x599.jpg" class="attachment-large size-large" alt="" decoding="async" loading="lazy" srcset="/wp-content/uploads/2026/02/photo_494@04-02-2026_21-52-45-1024x599.jpg 1024w, /wp-content/uploads/2026/02/photo_494@04-02-2026_21-52-45-300x176.jpg 300w, /wp-content/uploads/2026/02/photo_494@04-02-2026_21-52-45-768x449.jpg 768w, /wp-content/uploads/2026/02/photo_494@04-02-2026_21-52-45.jpg 1280w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>

<br />
<br />
<span class="hashtag">#phishing</span> <span class="hashtag">#ti</span> <span class="hashtag">#ioc</span> <span class="hashtag">#avlab</span> <span class="hashtag">#emailsecurity</span> <span class="hashtag">#sandbox</span><br />
<a href="https://t.me/ptescalator" rel="noopener" target="_blank">@ptescalator</a>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>PDQ-Masters</title>
		<link>/pdq-masters/</link>
		
		<dc:creator><![CDATA[global_author]]></dc:creator>
		<pubDate>Fri, 30 Jan 2026 14:53:53 +0000</pubDate>
				<category><![CDATA[Разное]]></category>
		<category><![CDATA[avlab]]></category>
		<category><![CDATA[emailsecurity]]></category>
		<category><![CDATA[malware]]></category>
		<category><![CDATA[Phishing]]></category>
		<category><![CDATA[sandbox]]></category>
		<guid isPermaLink="false">/pdq-masters/</guid>

					<description><![CDATA[PDQ-Masters 🧙‍♂️ Главный вектор атак с использованием ВПО — это фишинговые рассылки через электронную почту. Идеальный фишинг с малварью отличается от легитимного письма лишь содержимым вложенной нагрузки: он рассылается от доверенного отправителя…]]></description>
										<content:encoded><![CDATA[<p><strong>PDQ-Masters</strong> 🧙‍♂️</p>
<p>Главный вектор атак с использованием ВПО — это фишинговые рассылки через электронную почту. Идеальный фишинг с малварью отличается от легитимного письма лишь содержимым вложенной нагрузки: он рассылается от доверенного отправителя в результате его компрометации и содержит ВПО. Но сегодня для примера рассмотрим фишинговую атаку с небольшой попыткой персонализации под цель, которая обошла базовые средства защиты и была остановлена на подступе к почте сотрудника более продвинутыми технологиями защиты почты.</p>
<p>Письмо от анонимного отправителя с легитимного домена — <code>info@koyoshobo.net</code>, с явной попыткой привлечения внимания (тема: «Action Required: Document Review&#8230;», <em>скриншот 1</em>). Содержимое представляет собой HTML с закосом под форму системы ЭДО с кнопкой для перехода к документу (<em>скриншот 2</em>). Из страницы статически извлечена ссылка на «документ» по данной кнопке:</p>
<p><code>https://click.convertkit-mail2.com/75u5pv4wxga8h69dp74fzhwl85666tnhrg6p3/m2h7h5h38zwp97cm/aHR0cHM6Ly93d3cubXRmcGxhc3RpY29zLmNvbS5ici9vb3BzL3NoYXJlZmlsZWRvYy5tc2k</code></p>
<p>На момент атаки ссылка была новой и не заблокировалась репутационным анализом. Она была автоматически запущена в изолированной браузерной среде, в результате чего удалось получить все перенаправления (<em>скриншот 3</em>) и прийти к итоговой ссылке на «документ» — <code>https://www.mtfplasticos.com.br/oops/sharefiledoc.msi</code>, выкачав для проверки файл <code>04276b7f1cf487e52f8927134365ae55</code>, очевидно являющийся исполняемым.</p>
<p>💁‍♂️ На этом можно было бы закончить — исполняемые файлы на почте можно легко заблокировать (главное, обратите внимание, чтобы в вашем средстве защиты блокировка осуществлялась по формату файла, а не исключительно по расширению), например, как показано <em>на скриншоте 4</em> в случае с PT Sandbox. Но если вам нужна гибкая конфигурация, позволяющая обмениваться различными файлами и ссылками на них через почту, всегда важно понимать, что именно представляет собой файл. Для этого в базовых средствах защиты предусмотрена антивирусная проверка, а в продвинутых — проверка файла в песочнице, позволяющая обнаружить самые изощренные угрозы и новое ВПО, еще не засветившееся в антивирусных базах.</p>
<p>Песочница сразу дала понять поведение и сетевую суть семпла (<em>скриншот 5</em>) и заблокировала его за опасные трюки в PowerShell — внутри оказалась утилита PDQ Connect. «И что же тут вредоносного?!» — спросите вы. А мы ответим — несанкционированные политикой ИБ утилиты удаленного доступа сами по себе являются запрещенными 🙅‍♂️</p>
<p><strong>Но тут все чуть сложнее</strong> — исходный MSI-файл не просто обобщенный установщик ПО PDQ Connect, это «тихий» установщик PDQ Connect Agent, который генерируется индивидуально для пользователя, с уникальным токеном, и разворачивается в рамках инфраструктуры организации. Если злоумышленник сгенерирует такой установщик и установит его кому-то без его ведома, то данная утилита превращается в самый настоящий бэкдор. Анализ в песочнице позволил автоматически получить токен агента — <code>0yfer-ks1g2uufaxwpfam81pmasj9bk5e-q7btltzsrkhvz4xxyoonu8cb7kokkd7fc6esztcx1uqccmabxn3w</code>.</p>
<p>Таким образом, атакующий мог получить возможность управления компьютером жертвы через легитимный сервис удаленного доступа <code>pdq.com</code>.</p>
<p>🔍 <strong>Характерные строки YARA, которые помогут вам найти артефакты от подобных «агентов» в ваших системах:<br />
</strong></p>
<pre><code>strings:
        $a  = &quot;pdqconnectagent-setup&quot; ascii wide
        $s1 = &quot;PDQ.com&quot; fullword wide
        $s2 = &quot;CustomActions.StartService&quot; wide
        $s3 = &quot;CustomActions.WriteToken&quot; wide
        $s4 = &quot;CustomActions.DeleteEvent&quot; wide
        $s5 = &quot;CustomActions.CreateEventSource&quot; wide
        $s6 = &quot;CustomActions.CleanData&quot; wide
    condition:
        (uint16(0) == 0x5a4d or (uint32be(0) == 0xd0cf11e0 and uint32be(4) == 0xa1b11ae1))
        and $a
        and 3 of ($s*)</code></pre>
<p>Не забывайте контролировать конфигурацию ваших средств защиты: они должны блокировать, когда это возможно, а не только уведомлять об угрозах. Защищаться всегда проще, если ограничить поверхность атаки — возможные типы файлов и ссылок, которыми можно обмениваться по почте.</p>
<figure class="wp-block-image"><img width="891" height="791" src="/wp-content/uploads/2026/01/photo_486@30-01-2026_14-53-53.jpg" class="attachment-large size-large" alt="" decoding="async" loading="lazy" srcset="/wp-content/uploads/2026/01/photo_486@30-01-2026_14-53-53.jpg 891w, /wp-content/uploads/2026/01/photo_486@30-01-2026_14-53-53-300x266.jpg 300w, /wp-content/uploads/2026/01/photo_486@30-01-2026_14-53-53-768x682.jpg 768w" sizes="auto, (max-width: 891px) 100vw, 891px" /></figure>
<figure class="wp-block-image"><img width="1024" height="472" src="/wp-content/uploads/2026/01/photo_487@30-01-2026_14-53-53-1024x472.jpg" class="attachment-large size-large" alt="" decoding="async" loading="lazy" srcset="/wp-content/uploads/2026/01/photo_487@30-01-2026_14-53-53-1024x472.jpg 1024w, /wp-content/uploads/2026/01/photo_487@30-01-2026_14-53-53-300x138.jpg 300w, /wp-content/uploads/2026/01/photo_487@30-01-2026_14-53-53-768x354.jpg 768w, /wp-content/uploads/2026/01/photo_487@30-01-2026_14-53-53.jpg 1280w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
<figure class="wp-block-image"><img width="843" height="1024" src="/wp-content/uploads/2026/01/photo_488@30-01-2026_14-53-53-843x1024.jpg" class="attachment-large size-large" alt="" decoding="async" loading="lazy" srcset="/wp-content/uploads/2026/01/photo_488@30-01-2026_14-53-53-843x1024.jpg 843w, /wp-content/uploads/2026/01/photo_488@30-01-2026_14-53-53-247x300.jpg 247w, /wp-content/uploads/2026/01/photo_488@30-01-2026_14-53-53-768x933.jpg 768w, /wp-content/uploads/2026/01/photo_488@30-01-2026_14-53-53.jpg 931w" sizes="auto, (max-width: 843px) 100vw, 843px" /></figure>
<figure class="wp-block-image"><img width="1024" height="605" src="/wp-content/uploads/2026/01/photo_489@30-01-2026_14-53-53-1024x605.jpg" class="attachment-large size-large" alt="" decoding="async" loading="lazy" srcset="/wp-content/uploads/2026/01/photo_489@30-01-2026_14-53-53-1024x605.jpg 1024w, /wp-content/uploads/2026/01/photo_489@30-01-2026_14-53-53-300x177.jpg 300w, /wp-content/uploads/2026/01/photo_489@30-01-2026_14-53-53-768x454.jpg 768w, /wp-content/uploads/2026/01/photo_489@30-01-2026_14-53-53.jpg 1280w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
<p><span class="hashtag">#phishing</span> <span class="hashtag">#malware</span> <span class="hashtag">#emailsecurity</span> <span class="hashtag">#sandbox</span> <span class="hashtag">#avlab</span><br />
<a href="https://t.me/ptescalator" rel="noopener" target="_blank">@ptescalator</a></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Новое окно в темном режиме</title>
		<link>/new-window-in-dark-mode/</link>
		
		<dc:creator><![CDATA[global_author]]></dc:creator>
		<pubDate>Fri, 26 Dec 2025 14:26:59 +0000</pubDate>
				<category><![CDATA[Разное]]></category>
		<category><![CDATA[avlab]]></category>
		<category><![CDATA[C2]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[Phishing]]></category>
		<guid isPermaLink="false">/%d0%bd%d0%be%d0%b2%d0%be%d0%b5-%d0%be%d0%ba%d0%bd%d0%be-%d0%b2-%d1%82%d0%b5%d0%bc%d0%bd%d0%be%d0%bc-%d1%80%d0%b5%d0%b6%d0%b8%d0%bc%d0%b5/</guid>

					<description><![CDATA[Новое окно в темном режиме 🫣 В процессе мониторинга новых сетевых угроз в отделе сетевой экспертизы был замечен подозрительный трафик, который порождался файлом INTIMACAO_2025_006647.exe. Он маскировался под PDF и в переводе с…]]></description>
										<content:encoded><![CDATA[<p><strong>Новое окно в темном режиме</strong> 🫣</p>
<p>В процессе мониторинга новых сетевых угроз в отделе сетевой экспертизы был замечен подозрительный трафик, который порождался файлом <code>INTIMACAO_2025_006647.exe.</code> Он маскировался под PDF и в переводе с португальского означал «Вызов в суд» (<em>скриншот 1</em>). </p>
<p>После запуска на хосте открывался документ-приманка и инициировалось сетевое взаимодействие с API Google, причем внешне оно было похоже на легитимные запросы, а не на типичный обмен с C2. Эта история нас заинтриговала, поэтому мы решили углубиться в анализ образца и понять, что именно он делает и какую роль в этой схеме играют неожиданные сетевые запросы к Google 🔍</p>
<p><strong>Сразу перейдем к поведенческому анализу</strong>. После запуска в директорию <code>/Temp</code> дропались несколько PowerShell-скриптов: <code>Clean_policies</code>, <code>Get_token</code> и <code>Apply_cbcm</code>. Суть работы первого заключалась в подготовке зараженной машины — зачистке реестра от уже существующих локальных политик и настроек различных Chromium-браузеров, а также перезапуске браузерных процессов для оперативного применения внесенных изменений (<em>скриншот 2</em>). После этого <code>Get_token.ps1</code> обращался к удаленному серверу и вытягивал оттуда некий токен (<em>скриншот 3</em>). В завершение третий скрипт, <code>Apply_cbcm</code> (<em>скриншот 4</em>), записывал полученный токен в политики Chrome на уровне системного реестра.</p>
<p>🙆 <strong>После более внимательного взгляда на имена параметров все стало достаточно прозрачно:</strong> вредонос проставлял <code>CloudManagementEnrollmentToken</code> и включал <code>CloudPolicyOverridesPlatformPolicy</code>, то есть явно переключал браузер на приоритет облачных политик. Такой набор названий практически прямым текстом указывал на использование <strong>Chrome Browser Cloud Management</strong> (судя по <a href="https://cloud.google.com/blog/products/chrome-enterprise/4-more-reasons-use-chromes-cloud-based-management" rel="noopener" target="_blank">блогу</a> Google Cloud, этот механизм должен был бороться со злом, а не примкнуть к нему) и на то, что основная цель здесь — привязать браузер к удаленной консоли управления, созданной злоумышленником.</p>
<p>Именно последствия работы этих скриптов мы в первую очередь и увидели в сетевом дампе (<em>скриншот 5</em>). Сначала обычным GET-запросом на C2 <code>servidorunico.com</code> возвращался тот самый enrollment-токен. Далее, после того как значение оказывалось прописано в реестре, браузер автоматически поднимал следующий этап цепочки — сам инициировал регистрацию в инфраструктуре Google и отправлял POST на API-эндпоинт с параметром <code>request=register_browser</code>. Ключевой маркер в этом запросе находился в заголовке Authorization, где токен передавался как <code>GoogleEnrollmentToken</code>, и именно это превращало внешне легитимный трафик к Google в индикатор привязки браузера к удаленному облачному управлению.</p>
<p>🌐 Такая тактика дает злоумышленнику устойчивый рычаг управления браузером. Как только пользователь «попался», атакующий получает возможность централизованно развернуть вредоносные политики и расширения либо настроить прокси для перехвата трафика. Самое неприятное — часть активности выглядит как легитимное администрирование, поэтому без контекста такую компрометацию довольно легко пропустить.</p>
<p><strong>Stay tuned and happy hunting!</strong></p>
<p>IoCs:</p>
<pre><code>SHA256: 4442e1b545f0a571af113b0cc7455ecba1a603c81bbf84a52b9e61d332f97233
C2: servidorunico.com</code></pre>
<figure class="wp-block-image"><img width="832" height="885" src="/wp-content/uploads/2025/12/photo_465@26-12-2025_14-26-59.jpg" class="attachment-large size-large" alt="" decoding="async" loading="lazy" srcset="/wp-content/uploads/2025/12/photo_465@26-12-2025_14-26-59.jpg 832w, /wp-content/uploads/2025/12/photo_465@26-12-2025_14-26-59-282x300.jpg 282w, /wp-content/uploads/2025/12/photo_465@26-12-2025_14-26-59-768x817.jpg 768w" sizes="auto, (max-width: 832px) 100vw, 832px" /></figure>
<figure class="wp-block-image"><img width="1024" height="501" src="/wp-content/uploads/2025/12/photo_466@26-12-2025_14-26-59-1024x501.jpg" class="attachment-large size-large" alt="" decoding="async" loading="lazy" srcset="/wp-content/uploads/2025/12/photo_466@26-12-2025_14-26-59-1024x501.jpg 1024w, /wp-content/uploads/2025/12/photo_466@26-12-2025_14-26-59-300x147.jpg 300w, /wp-content/uploads/2025/12/photo_466@26-12-2025_14-26-59-768x376.jpg 768w, /wp-content/uploads/2025/12/photo_466@26-12-2025_14-26-59.jpg 1280w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
<figure class="wp-block-image"><img width="1024" height="516" src="/wp-content/uploads/2025/12/photo_467@26-12-2025_14-26-59-1024x516.jpg" class="attachment-large size-large" alt="" decoding="async" loading="lazy" srcset="/wp-content/uploads/2025/12/photo_467@26-12-2025_14-26-59-1024x516.jpg 1024w, /wp-content/uploads/2025/12/photo_467@26-12-2025_14-26-59-300x151.jpg 300w, /wp-content/uploads/2025/12/photo_467@26-12-2025_14-26-59-768x387.jpg 768w, /wp-content/uploads/2025/12/photo_467@26-12-2025_14-26-59.jpg 1274w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
<figure class="wp-block-image"><img width="1024" height="444" src="/wp-content/uploads/2025/12/photo_468@26-12-2025_14-26-59-1024x444.jpg" class="attachment-large size-large" alt="" decoding="async" loading="lazy" srcset="/wp-content/uploads/2025/12/photo_468@26-12-2025_14-26-59-1024x444.jpg 1024w, /wp-content/uploads/2025/12/photo_468@26-12-2025_14-26-59-300x130.jpg 300w, /wp-content/uploads/2025/12/photo_468@26-12-2025_14-26-59-768x333.jpg 768w, /wp-content/uploads/2025/12/photo_468@26-12-2025_14-26-59.jpg 1280w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
<p><span class="hashtag">#network</span> <span class="hashtag">#C2</span> <span class="hashtag">#phishing</span> <span class="hashtag">#AVLab</span><br />
<a href="https://t.me/ptescalator" rel="noopener" target="_blank">@ptescalator</a></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>А у нас большое событие!</title>
		<link>/and-we-have-big-news/</link>
		
		<dc:creator><![CDATA[global_author]]></dc:creator>
		<pubDate>Tue, 01 Jul 2025 15:50:29 +0000</pubDate>
				<category><![CDATA[Разное]]></category>
		<category><![CDATA[avlab]]></category>
		<guid isPermaLink="false">/%d0%b0-%d1%83-%d0%bd%d0%b0%d1%81-%d0%b1%d0%be%d0%bb%d1%8c%d1%88%d0%be%d0%b5-%d1%81%d0%be%d0%b1%d1%8b%d1%82%d0%b8%d0%b5/</guid>

					<description><![CDATA[А у нас большое событие! 😡 В PT ESC открылась Антивирусная лаборатория: мы объединили экспертизу «ВИРУСБЛОКАДА» с нашей, анализируем множество сэмплов и самостоятельно пишем сигнатуры для антивирусной базы. 🌚 Более того, на…]]></description>
										<content:encoded><![CDATA[<p><strong>А у нас большое событие! </strong><strong>😡</strong></p>
<p>В PT ESC <a href="https://ptsecurity.com/ru-ru/about/news/positive-technologies-otkryvaet-antivirusnuyu-laboratoriyu/?utm_source=tg_esc&#038;utm_medium=avlab&#038;utm_campaign=01_07" rel="noopener" target="_blank">открылась</a> <strong>Антивирусная лаборатория</strong>: мы объединили экспертизу «ВИРУСБЛОКАДА» с нашей, анализируем множество сэмплов и самостоятельно пишем сигнатуры для антивирусной базы. </p>
<p>🌚 Более того, на днях эксперт Позитива впервые создал детектирующую запись для антивирусного движка. А перед этим освоил теорию и практику новой для нас технологии и навык использования необходимого набора инструментов. Сможете угадать название детекта? Голосуйте в опросе ниже.</p>
<p>Если у вас есть интересный вредонос, который надо проанализировать и для которого необходимо создать правила обнаружения в наших продуктах, то не стесняйтесь: <a href="mailto:avlab@ptsecurity.com">avlab@ptsecurity.com</a></p>
<p><span class="hashtag">#avlab</span><br />
<a href="https://t.me/ptescalator" rel="noopener" target="_blank">@ptescalator</a></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>.NET Reactor: эволюция защиты с 6.7 до 7.0 и методы снятия обфускации</title>
		<link>/net-reactor-the-evolution-of-protection-from-6-7-to-7-0-and-methods-for-removing/</link>
		
		<dc:creator><![CDATA[global_author]]></dc:creator>
		<pubDate>Mon, 03 Mar 2025 18:06:33 +0000</pubDate>
				<category><![CDATA[Разное]]></category>
		<category><![CDATA[avlab]]></category>
		<category><![CDATA[dotnet]]></category>
		<category><![CDATA[obfuscation]]></category>
		<category><![CDATA[sandboxteam]]></category>
		<guid isPermaLink="false">/net-reactor-%d1%8d%d0%b2%d0%be%d0%bb%d1%8e%d1%86%d0%b8%d1%8f-%d0%b7%d0%b0%d1%89%d0%b8%d1%82%d1%8b-%d1%81-6-7-%d0%b4%d0%be-7-0-%d0%b8-%d0%bc%d0%b5%d1%82%d0%be%d0%b4%d1%8b-%d1%81%d0%bd%d1%8f%d1%82/</guid>

					<description><![CDATA[.NET Reactor: эволюция защиты с 6.7 до 7.0 и методы снятия обфускации 🔄 .NET Reactor — это мощный инструмент для защиты исполняемых файлов, написанных на С#, от декомпиляции и обратного инжиниринга. Он…]]></description>
										<content:encoded><![CDATA[<p><strong>.NET Reactor: эволюция защиты с 6.7 до 7.0 и методы снятия обфускации</strong> 🔄</p>
<p>.NET Reactor — это мощный инструмент для защиты исполняемых файлов, написанных на С#, от декомпиляции и обратного инжиниринга. Он предоставляет различные методы обфускации и лицензирования, обеспечивая безопасность интеллектуальной собственности разработчиков. </p>
<p>Но, как это обычно бывает, применяется он не только в благих целях: экспертам антивирусной лаборатории PT ESC часто попадаются вредоносные файлы, защищенные от анализа именно .Net Reactor.</p>
<p>🔓 <strong>Как защищен?</strong></p>
<p>.NET Reactor использует несколько уровней защиты для предотвращения декомпиляции и анализа кода:</p>
<p><strong>• NecroBit IL Code Protection:</strong> заменяет CIL-код методов на зашифрованный, делая невозможной декомпиляцию и восстановление исходного кода.</p>
<p><strong>• Виртуализация кода:</strong> преобразует исходный код в набор инструкций отличный от .NET IL, которые интерпретируются во время выполнения виртуальной машиной, что затрудняет анализ и восстановление оригинального кода.</p>
<p><strong>• Обфускация потока управления (Control Flow Obfuscation):</strong> преобразует код методов в запутанную структуру, усложняя понимание логики программы и затрудняя работу декомпиляторов (<em>пример — на скриншоте 1</em>).</p>
<p><strong>• Шифрование строк (String Encryption):</strong> шифрует строки в коде, предотвращая их чтение и анализ, что усложняет понимание функциональности приложения, как показано <em>на скриншоте 2</em>.</p>
<p><strong>• Антиотладочные механизмы (Anti Debug):</strong> внедряет проверки на наличие отладчиков, завершая процесс при их обнаружении, что препятствует динамическому анализу приложения. </p>
<p>🆕 <strong>Что нового?</strong></p>
<p>• Поддержка .NET 6.0: обеспечивает защиту для новейших приложений на этой платформе.</p>
<p>• Улучшения в виртуализации кода и Control Flow Obfuscation обеспечивают дальнейшее повышение надежности и сложности обфускации.</p>
<p>• Скрытие содержимого объединенных приложений .NET Core, 5.0, 6.0 предотвращает просмотр содержимого с помощью инструментов, таких как ILSpy / dnSpy.</p>
<p>🧐 <strong>Как анализировать?</strong></p>
<p>Несмотря на сложность защиты, существуют инструменты, которые облегчают жизнь реверсерам.<br />
NETReactorSlayer — мощный инструмент для реверса приложений, обфусцированных с помощью .NET Reactor. Его главные фишки:</p>
<p>• дешифровка NecroBit — восстанавливает CIL-код из зашифрованных методов;</p>
<p>• удаление прокси и оберток — очищает код от мусора, добавленного обфускатором (<em>смотрите на скриншоте 3</em>);</p>
<p>• декодирование строк и ресурсов — возвращает читаемые строки, зашифрованные в приложении;</p>
<p>• обход антиотладки и защиты от изменения кода.</p>
<p>Однако начиная с версии 6.9 изначальная версия Net Reactor Slayer перестала справляться с деобфускацией защиты даже с базовыми параметрами. Благодаря открытому исходному коду и довольно большому комьюнити, в pull requests можно найти исправленный код, который прекрасно отрабатывает даже на самой свежей версии обфускатора.</p>
<p>Но вот с виртуализированным кодом не все так гладко: Net Reactor Slayer с ним не справляется. Если вам повезло и файл был защищен версией <code>6.9.0.0</code>, то можно не тратить время на ручной анализ виртуальной машины, а применить VMAttack — инструмент для девиртуализации приложений .NET, в котором есть поддержка этой версии .NET Reactor. А если не повезло — проще всего проанализировать файл по его поведению, например с помощью PT Sandbox.</p>
<p>☝️ <strong>Вывод</strong></p>
<p>.NET Reactor остается одним из самых популярных обфускаторов для .NET. С каждой версией защита усложняется, особенно за счет виртуализации. Если собираетесь его анализировать — запасайтесь терпением и хорошими инструментами.</p>
<figure class="wp-block-image"><img width="1024" height="320" src="/wp-content/uploads/2025/03/photo_214@03-03-2025_18-06-33-1024x320.jpg" class="attachment-large size-large" alt="" decoding="async" loading="lazy" srcset="/wp-content/uploads/2025/03/photo_214@03-03-2025_18-06-33-1024x320.jpg 1024w, /wp-content/uploads/2025/03/photo_214@03-03-2025_18-06-33-300x94.jpg 300w, /wp-content/uploads/2025/03/photo_214@03-03-2025_18-06-33-768x240.jpg 768w, /wp-content/uploads/2025/03/photo_214@03-03-2025_18-06-33.jpg 1280w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
<figure class="wp-block-image"><img width="1024" height="601" src="/wp-content/uploads/2025/03/photo_215@03-03-2025_18-06-33-1024x601.jpg" class="attachment-large size-large" alt="" decoding="async" loading="lazy" srcset="/wp-content/uploads/2025/03/photo_215@03-03-2025_18-06-33-1024x601.jpg 1024w, /wp-content/uploads/2025/03/photo_215@03-03-2025_18-06-33-300x176.jpg 300w, /wp-content/uploads/2025/03/photo_215@03-03-2025_18-06-33-768x451.jpg 768w, /wp-content/uploads/2025/03/photo_215@03-03-2025_18-06-33.jpg 1280w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
<p><span class="hashtag">#avlab</span> <span class="hashtag">#sandboxteam</span> <span class="hashtag">#dotnet</span> <span class="hashtag">#obfuscation</span><br />
<a href="https://t.me/ptescalator" rel="noopener" target="_blank">@ptescalator</a></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>А вы автоматизируете отладку?</title>
		<link>/do-you-automate-debugging/</link>
		
		<dc:creator><![CDATA[global_author]]></dc:creator>
		<pubDate>Fri, 21 Feb 2025 14:34:37 +0000</pubDate>
				<category><![CDATA[Разное]]></category>
		<category><![CDATA[avlab]]></category>
		<category><![CDATA[sandboxteam]]></category>
		<category><![CDATA[tips]]></category>
		<guid isPermaLink="false">http://localhost:8080/%d0%b0-%d0%b2%d1%8b-%d0%b0%d0%b2%d1%82%d0%be%d0%bc%d0%b0%d1%82%d0%b8%d0%b7%d0%b8%d1%80%d1%83%d0%b5%d1%82%d0%b5-%d0%be%d1%82%d0%bb%d0%b0%d0%b4%d0%ba%d1%83/</guid>

					<description><![CDATA[А вы автоматизируете отладку? 🧐 Команде экспертов PT Sandbox в работе часто приходится отлаживать различные компоненты ядра Windows, и без ядерного отладчика здесь не обойтись. Чем чаще мы этим занимаемся, тем больше…]]></description>
										<content:encoded><![CDATA[<strong>А вы автоматизируете отладку?</strong> 🧐<br />
<br />
Команде экспертов PT Sandbox в работе часто приходится отлаживать различные компоненты ядра Windows, и без ядерного отладчика здесь не обойтись. Чем чаще мы этим занимаемся, тем больше желание оптимизировать этот процесс.<br />
<br />
Часто при отладке хочется посмотреть изменение переменных, аргументов, различных значений рантайма. Этого можно добиться условными брейк-пойнтами и командами. Много лет назад в WinDbg появилась поддержка <a href="https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/using-linq-with-the-debugger-objects" rel="noopener" target="_blank">новой модели данных.</a> Командой <code>dx</code> можно объявлять свои переменные, структуры, вызывать JavaScript-функции и делать LINQ-запросы.<br />
<br />
Например, мы хотим зажурналировать все открытые файлы процессом <code>explorer.exe</code>:<br />
<br />
<pre class="wp-block-code"><span><code lang="powershell" class="hljs language-powershell language-powershell"><span class="hljs-number">0</span>: kd&gt; dx <span class="hljs-selector-tag">@</span><span class="hljs-variable">$explorer</span> = <span class="hljs-string">"explorer.exe"</span>
<span class="hljs-number">0</span>: kd&gt; bp /w <span class="hljs-string">"@<span class="hljs-variable">$curprocess</span>.Name.ToLower().StartsWith(@<span class="hljs-variable">$explorer</span>)"</span> nt!NtCreateFile <span class="hljs-string">"dx ((_OBJECT_ATTRIBUTES*)@r8)-&gt;ObjectName-&gt;Buffer; gc"</span>
</code></span></pre><br />
<br />
Если же условия или логика перехвата более сложная, без скрипта не обойтись. Рассмотрим пример.<br />
<br />
Допустим, мы хотим поймать и сохранить шеллкод, внедряемый в удаленный процесс. Для этого потребуется перехватить функцию <code>NtWriteVirtualMemory</code>, проверить, принадлежит ли описатель текущему процессу, и в противном случае сохранить регион памяти на диск. Как это выглядит в скрипте:<br />
<br />
<pre class="wp-block-code"><span><code lang="javascript" class="hljs language-javascript language-javascript"><span class="hljs-meta">"use strict"</span>;

<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">WriteMemoryCallback</span>(<span class="hljs-params"></span>)
</span>{
    <span class="hljs-keyword">if</span>  (host.currentThread.Registers.User.rcx == <span class="hljs-number">-1</span>)
    {
        <span class="hljs-keyword">return</span>;
    }

    <span class="hljs-keyword">let</span> address = host.currentThread.Registers.User.rdx; 
    <span class="hljs-keyword">let</span> buffer  = host.currentThread.Registers.User.r8;
    <span class="hljs-keyword">let</span> length  = host.currentThread.Registers.User.r9;
    <span class="hljs-keyword">let</span> filename = ${host.currentProcess.Name}-${buffer.toString(<span class="hljs-number">16</span>)}.dmp;

    <span class="hljs-keyword">let</span> file = host.namespace.Debugger.Utility.FileSystem.TempDirectory.CreateFile(
        filename, <span class="hljs-string">'CreateNew'</span>);

    file.WriteBytes(host.memory.readMemoryValues(buffer, length, <span class="hljs-number">1</span>));
    host.diagnostics.debugLog(<span class="hljs-string">`dumped <span class="hljs-subst">${length}</span> bytes to <span class="hljs-subst">${filename}</span>\n`</span>);
    file.Close();
}

<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">initializeScript</span>(<span class="hljs-params"></span>)
</span>{
    <span class="hljs-keyword">return</span> &#91;<span class="hljs-keyword">new</span> host.apiVersionSupport(<span class="hljs-number">1</span>, <span class="hljs-number">9</span>)];
}

<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">invokeScript</span>(<span class="hljs-params"></span>)
</span>{
    <span class="hljs-keyword">let</span> bp = host.namespace.Debugger.Utility.Control.SetBreakpointAtOffset(<span class="hljs-string">"NtWriteVirtualMemory"</span>, <span class="hljs-number">0</span>, <span class="hljs-string">"nt"</span>);
    bp.Command = <span class="hljs-string">`dx @$scriptContents.WriteMemoryCallback(); gc`</span>;
}
</code></span></pre><br />
<br />
Иногда может не хватать набора API JavaScript-движка — с помощью <code>ExecuteCommand</code> можно вызвать любую команду отладчика, например чтобы удалить брейк-пойнт или поставить его по конкретному адресу:<br />
<br />
<pre class="wp-block-code"><span><code lang="javascript" class="hljs language-javascript language-javascript"><span class="hljs-keyword">let</span> exec = host.namespace.Debugger.Utility.Control.ExecuteCommand;
<span class="hljs-keyword">let</span> command = <span class="hljs-string">`dx @$scriptContents.BreakPointCallback(); gc`</span>;
exec(<span class="hljs-string">"bc *"</span>);
exec(<span class="hljs-string">`bp 0xfffffc024d546a88 "<span class="hljs-subst">${command}</span>"`</span>);
</code></span></pre><br />
<br />
Также JavaScript позволяет <a href="https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/using-linq-with-the-debugger-objects" rel="noopener" target="_blank">дополнять модель данных отладчика,</a> например добавлять инфу о секциях загруженных DLL или дополнительную команду, аналогичную <code>!handle</code>, <code>!address</code> и т. п.<br />
<br />
Допустим, мы хотим перечислить коллбэки на создание процесса, потока и загрузку DLL. Для этого нужно создать команду, например <code>!callbacks</code>:<br />
<br />
<pre class="wp-block-code"><span><code lang="javascript" class="hljs language-javascript language-javascript"><span class="hljs-keyword">const</span> log  = <span class="hljs-function"><span class="hljs-params">x</span> =&gt;</span> host.diagnostics.debugLog(x + <span class="hljs-string">'\n'</span>);
<span class="hljs-keyword">const</span> u64  = <span class="hljs-function"><span class="hljs-params">x</span> =&gt;</span> host.memory.readMemoryValues(x, <span class="hljs-number">1</span>, <span class="hljs-number">8</span>)&#91;<span class="hljs-number">0</span>];
<span class="hljs-keyword">const</span> exec = <span class="hljs-function"><span class="hljs-params">x</span> =&gt;</span> host.namespace.Debugger.Utility.Control.ExecuteCommand(x);

<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">ParseCallbacks</span>(<span class="hljs-params">Symbol, Size</span>)
</span>{
    log(&#91;+] ${<span class="hljs-built_in">Symbol</span>}:);
    <span class="hljs-keyword">let</span> base = host.getModuleSymbolAddress(<span class="hljs-string">"nt"</span>, <span class="hljs-built_in">Symbol</span>);
    <span class="hljs-keyword">if</span> (base == <span class="hljs-literal">null</span>)
        <span class="hljs-keyword">return</span>;
    <span class="hljs-keyword">for</span> (<span class="hljs-keyword">let</span> i = <span class="hljs-number">0</span>; i &lt; Size; i++)
    {
        <span class="hljs-keyword">let</span> entry = u64(base.add(i * <span class="hljs-number">8</span>));
        <span class="hljs-keyword">if</span> (entry.compareTo(<span class="hljs-number">0</span>) != <span class="hljs-number">0</span>)
        {
            entry = entry.bitwiseAnd(<span class="hljs-number">-16</span>);
            <span class="hljs-keyword">let</span> callback = u64(entry.add(<span class="hljs-number">8</span>));
            log(\t${exec(.printf <span class="hljs-string">"%y"</span>, ${callback}).First()});
        }
    }
}

<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">CallbackEnumerator</span>(<span class="hljs-params"></span>)
</span>{
    ParseCallbacks(<span class="hljs-string">"PspCreateProcessNotifyRoutine"</span>, <span class="hljs-number">64</span>);
    ParseCallbacks(<span class="hljs-string">"PspCreateThreadNotifyRoutine"</span>, <span class="hljs-number">64</span>);
    ParseCallbacks(<span class="hljs-string">"PspLoadImageNotifyRoutine"</span>, <span class="hljs-number">8</span>);
}

<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">initializeScript</span>(<span class="hljs-params"></span>)
</span>{
    <span class="hljs-keyword">return</span> &#91;<span class="hljs-keyword">new</span> host.apiVersionSupport(<span class="hljs-number">1</span>, <span class="hljs-number">7</span>),
            <span class="hljs-keyword">new</span> host.functionAlias(CallbackEnumerator, <span class="hljs-string">"callbacks"</span>)];
}
</code></span></pre><br />
<br />
<strong>Результат на скрине. </strong>Современный WinDbg позволяет сильно автоматизировать процесс реверса, и у опытного аналитика наверняка есть комплект часто используемых скриптов.<em>
</em><br />
<span class="hashtag">#avlab</span> <span class="hashtag">#sandboxteam</span> <span class="hashtag">#tips</span><br />
<a href="https://t.me/ptescalator" rel="noopener" target="_blank">@ptescalator</a>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
