<?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>tips &#8211; PT ESC</title>
	<atom:link href="/tag/tips/feed/index.xml" rel="self" type="application/rss+xml" />
	<link>/</link>
	<description></description>
	<lastBuildDate>Mon, 05 Oct 2026 13:05:41 +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>tips &#8211; PT ESC</title>
	<link>/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Восстановление EVTX-записей: методы карвинга</title>
		<link>/recovering-evtx-records-carving-methods/</link>
		
		<dc:creator><![CDATA[oUth0R]]></dc:creator>
		<pubDate>Wed, 23 Sep 2026 14:49:54 +0000</pubDate>
				<category><![CDATA[Incident Response]]></category>
		<category><![CDATA[dfir]]></category>
		<category><![CDATA[ir]]></category>
		<category><![CDATA[tips]]></category>
		<guid isPermaLink="false">/%d0%b2%d0%be%d1%81%d1%81%d1%82%d0%b0%d0%bd%d0%be%d0%b2%d0%bb%d0%b5%d0%bd%d0%b8%d0%b5-evtx-%d0%b7%d0%b0%d0%bf%d0%b8%d1%81%d0%b5%d0%b9-%d0%bc%d0%b5%d1%82%d0%be%d0%b4%d1%8b-%d0%ba%d0%b0%d1%80%d0%b2/</guid>

					<description><![CDATA[Восстановление EVTX-записей: методы карвинга 🧩 При расследовании инцидентов, когда злоумышленники шифруют образы виртуальных машин, нередко возникает ситуация, при которой файловая система повреждается настолько, что штатное монтирование становится невозможным. Восстановить ее вручную теоретически…]]></description>
										<content:encoded><![CDATA[<p><strong>Восстановление EVTX-записей: методы карвинга</strong> 🧩</p>
<p>При расследовании инцидентов, когда злоумышленники шифруют образы виртуальных машин, нередко возникает ситуация, при которой файловая система повреждается настолько, что штатное монтирование становится невозможным. </p>
<p>Восстановить ее вручную теоретически можно, но это отнимает много времени и сопровождается потерями данных. В таких случаях применяется карвинг — побайтовый поиск сигнатур непосредственно в сыром образе, в обход файловой системы.</p>
<p>❗️ <strong>Команда PT ESC IR уделяет приоритетное внимание автоматизации разбора артефактов для последующего обнаружения вредоносной активности</strong> — это ускоряет восстановление картины инцидента. </p>
<p>Наш пайплайн преимущественно реализован на Go, поэтому мы разработали собственную библиотеку на том же языке. Она разбирает готовые EVTX-файлы даже при несовпадении контрольных сумм или повреждении файла, а также выполняет карвинг событий из побитовых копий, дампов памяти и образов виртуальных дисков.</p>
<p>О том, что поддается восстановлению и почему одни подходы дают полную структуру записи, а другие — лишь отдельные поля, <a href="https://habr.com/ru/companies/pt/articles/1084600/" rel="noopener" target="_blank">читайте в нашем материале на Хабре</a> 🫲</p>
<p><span class="hashtag">#ir</span> <span class="hashtag">#dfir</span> <span class="hashtag">#tip</span><br />
<a href="https://t.me/ptescalator" rel="noopener" target="_blank">@ptescalator</a></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>We will croc you</title>
		<link>/we-will-croc-you/</link>
		
		<dc:creator><![CDATA[oUth0R]]></dc:creator>
		<pubDate>Wed, 02 Sep 2026 18:56:38 +0000</pubDate>
				<category><![CDATA[Incident Response]]></category>
		<category><![CDATA[APT]]></category>
		<category><![CDATA[detect]]></category>
		<category><![CDATA[dfir]]></category>
		<category><![CDATA[ir]]></category>
		<category><![CDATA[tips]]></category>
		<guid isPermaLink="false">/we-will-croc-you/</guid>

					<description><![CDATA[We will croc you 👻 PhantomCore продолжает активно использовать ошибки в конфигурации 1С для атак на российские организации. Об атаках на 1С с помощью 1cshell мы писали ранее (1, 2, 3). В…]]></description>
										<content:encoded><![CDATA[<p><strong>We will croc you </strong><strong>👻</strong></p>
<p>PhantomCore продолжает активно использовать ошибки в конфигурации 1С для атак на российские организации. </p>
<p>Об атаках на 1С с помощью <code>1cshell</code> мы писали ранее (<a href="https://t.me/ptescalator/276" rel="noopener" target="_blank">1</a>, <a href="https://t.me/ptescalator/383" rel="noopener" target="_blank">2</a>, <a href="https://t.me/ptescalator/385" rel="noopener" target="_blank">3</a>). </p>
<p>В рамках расследования инцидента команда PT ESC IR обнаружила компрометацию сервера 1С, работающего на операционной системе семейства Linux 🐧</p>
<p>Среди характерных признаков — наличие вредоносных исполняемых файлов в подкаталогах домашней директории служебного пользователя <code>usr1cv8</code> и команд в <code>.bash_history</code> того же пользователя — в частности просмотр и удаление файла <code>res.txt</code>, в который записывается результат выполнения кода посредством <code>1cshell</code>.</p>
<pre><code>/home/usr1cv8/.bash_history: cat res.txt

/home/usr1cv8/.bash_history: rm res.txt</code></pre>
<p>После получения доступа в систему PhantomCore установили ReverseSSH-туннель, что является типичным поведением для данной группировки.</p>
<p>🕵️‍♂️ Помимо часто используемого инструментария, мы встретили и более диковинную утилиту <code>croc</code>, предназначенную для удаленной загрузки и эксфильтрации файлов.</p>
<p>На исследуемом узле были обнаружены команды формата: <code>CROC_SECRET=[REDACTED] ./croc</code></p>
<p>С помощью нее злоумышленники могли загрузить на скомпрометированный узел файл, который был предварительно отправлен через веб-интерфейс <code>https://getcroc.com/</code> (на скриншоте) или с другого компьютера, на котором установлен <code>croc</code>.</p>
<p>💡 Для поиска следов использования croc можно поискать исполняемый файл с соответствующим именем, а также использование переменной окружения <code>CROC_SECRET</code>.</p>
<p>В качестве сетевого индикатора может служить домен <code>getcroc.com</code>.</p>
<p><span class="hashtag">#ir</span> <span class="hashtag">#tip</span> <span class="hashtag">#apt</span> <span class="hashtag">#detect</span> <span class="hashtag">#dfir</span><br />
<a href="https://t.me/ptescalator" rel="noopener" target="_blank">@ptescalator</a></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>VMkatz: скрытая угроза для виртуальной инфраструктуры 🫣</title>
		<link>/vmkatz-a-hidden-threat-to-virtual-infrastructure/</link>
		
		<dc:creator><![CDATA[oUth0R]]></dc:creator>
		<pubDate>Wed, 01 Jul 2026 14:58:43 +0000</pubDate>
				<category><![CDATA[Incident Response]]></category>
		<category><![CDATA[dfir]]></category>
		<category><![CDATA[esxi]]></category>
		<category><![CDATA[ir]]></category>
		<category><![CDATA[tips]]></category>
		<guid isPermaLink="false">/vmkatz-a-hidden-threat-to-virtual-infrastructure/</guid>

					<description><![CDATA[В 2026 году был опубликован инструмент VMkatz. По функционалу он напоминает широко известный инструмент Mimikatz, но, в отличие от него, целью VMkatz является извлечение учетных данных напрямую из файлов виртуальных машин (снимков…]]></description>
										<content:encoded><![CDATA[<p>В 2026 году был опубликован инструмент <a href="https://github.com/nikaiw/VMkatz" rel="noopener" target="_blank">VMkatz</a>. По функционалу он напоминает широко известный инструмент Mimikatz, но, в отличие от него, целью VMkatz является извлечение учетных данных напрямую из файлов виртуальных машин (снимков памяти и виртуальных дисков) без необходимости входа внутрь гостевых Windows-систем. VMkatz может работать с файлами виртуальных машин разных платформ, включая VMware ESXi, Microsoft Hyper-V, VirtualBox и QEMU/KVM.</p>
<p>Для ESXi-систем разработчиком был подготовлен отдельный <a href="https://github.com/nikaiw/VMkatz/blob/main/tools/vmkatz_loader.py" rel="noopener" target="_blank">Python-загрузчик</a>, предназначенный для размещения VMkatz в памяти без запуска бинарного файла через <code>execve()</code>. Вместо этого скрипт открывает ELF-бинарь как набор байтов, разбирает его заголовки и загружаемые сегменты, выделяет области памяти в адресном пространстве текущего процесса, копирует туда содержимое ELF и затем передает управление на его точку входа.</p>
<p>В результате VMkatz не запускается как отдельный процесс, а выполняется внутри уже существующего процесса Python. Такой механизм используется для обхода ограничений параметра <code>execInstalledOnly</code>, который запрещает запуск неподписанных бинарных файлов. На <em>скриншоте 1</em> представлен пример работы VMkatz на ESXi, запущенного с помощью Python-загрузчика. В качестве входных данных инструменту был передан снимок оперативной памяти виртуальной машины. В результате VMkatz извлек доступные учетные данные.</p>
<figure class="wp-block-image"><img width="1024" height="789" src="/wp-content/uploads/2026/07/photo_585@01-07-2026_14-58-43-1024x789.jpg" class="attachment-large size-large" alt="" decoding="async" loading="lazy" srcset="/wp-content/uploads/2026/07/photo_585@01-07-2026_14-58-43-1024x789.jpg 1024w, /wp-content/uploads/2026/07/photo_585@01-07-2026_14-58-43-300x231.jpg 300w, /wp-content/uploads/2026/07/photo_585@01-07-2026_14-58-43-768x592.jpg 768w, /wp-content/uploads/2026/07/photo_585@01-07-2026_14-58-43.jpg 1400w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
<p>В одном из расследований команда PT ESC IR столкнулась со сценарием, в котором злоумышленники, получив доступ к гипервизору VMware ESXi, использовали подобный подход для извлечения учетных данных из виртуальных машин с помощью следующих команд:</p>
<pre><code class="language-python">python /tmp/vmkatz_loader.py /tmp/vmkatz --dump lsass /vmfs/volumes/DATA/VM-DC01/VM-DC01-Snapshot.vmsn
python /tmp/vmkatz_loader.py /tmp/vmkatz /vmfs/volumes/DATA/VM-DC01/VM-DC01-Snapshot.vmsn
python /tmp/vmkatz_loader.py /tmp/vmkatz /vmfs/volumes/DATA/VM-DC01/VM-DC01.vmdk</code></pre>
<p>Отдельный риск представляет функция утилиты для извлечения базы данных Active Directory <code>NTDS.dit</code> и раздела реестра <code>SYSTEM</code> с контроллеров доменов (<em>пример показан на скриншоте 2</em>). В таком случае компрометация гипервизора может привести не только к компрометации отдельных виртуальных машин, но и к компрометации всего домена.</p>
<figure class="wp-block-image"><img width="1024" height="667" src="/wp-content/uploads/2026/07/photo_586@01-07-2026_14-58-43-1024x667.jpg" class="attachment-large size-large" alt="" decoding="async" loading="lazy" srcset="/wp-content/uploads/2026/07/photo_586@01-07-2026_14-58-43-1024x667.jpg 1024w, /wp-content/uploads/2026/07/photo_586@01-07-2026_14-58-43-300x195.jpg 300w, /wp-content/uploads/2026/07/photo_586@01-07-2026_14-58-43-768x500.jpg 768w, /wp-content/uploads/2026/07/photo_586@01-07-2026_14-58-43.jpg 1400w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
<h2>Как защититься?</h2>
<ul>
<li>Включать шифрование всех файлов виртуальных машин.</li>
<li>Отключать SSH-доступ и не использовать его как основной способ администрирования. SSH должен включаться только временно, когда это необходимо для диагностики или устранения неисправностей. В качестве метода аутентификации следует использовать SSH-ключи вместо паролей. Также необходимо организовать мониторинг событий входа на гипервизор под привилегированными учетными записями.</li>
<li>Доступ к TCP-порту 22 необходимо ограничить с помощью межсетевых экранов или выделенного административного сегмента. Подключения должны разрешаться только с jump-узлов или доверенных административных IP-адресов, доступ к которым защищен многофакторной аутентификацией.</li>
</ul>
<p><span class="hashtag">#ir</span> <span class="hashtag">#dfir</span> <span class="hashtag">#esxi</span> <span class="hashtag">#tip</span><br />
<a href="https://t.me/ptescalator" rel="noopener" target="_blank">@ptescalator</a></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Заглядываем внутрь ESE</title>
		<link>/a-look-inside-ese/</link>
		
		<dc:creator><![CDATA[oUth0R]]></dc:creator>
		<pubDate>Fri, 19 Jun 2026 14:20:09 +0000</pubDate>
				<category><![CDATA[Incident Response]]></category>
		<category><![CDATA[dfir]]></category>
		<category><![CDATA[ir]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[win]]></category>
		<guid isPermaLink="false">/%d0%b7%d0%b0%d0%b3%d0%bb%d1%8f%d0%b4%d1%8b%d0%b2%d0%b0%d0%b5%d0%bc-%d0%b2%d0%bd%d1%83%d1%82%d1%80%d1%8c-ese/</guid>

					<description><![CDATA[Заглядываем внутрь ESE 🫣 В ходе расследования инцидентов мы в PT ESC IR регулярно сталкиваемся с необходимостью анализа баз данных в формате ESE (Extensible Storage Engine), поскольку в подобных артефактах можно найти…]]></description>
										<content:encoded><![CDATA[<p><strong>Заглядываем внутрь ESE</strong> 🫣</p>
<p>В ходе расследования инцидентов мы в PT ESC IR регулярно сталкиваемся с необходимостью анализа баз данных в формате ESE (Extensible Storage Engine), поскольку в подобных артефактах можно найти много интересного.</p>
<p>Чтобы эффективнее работать с такими файлами, важно понимать, как этот формат устроен изнутри. Поэтому по итогам исследования мы подготовили подробный разбор внутреннего устройства ESE (также известного как Jet Blue) — встроенной СУБД от Microsoft, которая используется во многих продуктах компании. </p>
<p>В статье рассказываем, как на низком уровне организовано хранение данных, как устроены страницы и записи, а также разбираем особенности реализации движка, которые могут быть полезны при анализе содержимого БД и разработке собственных парсеров для работы с такими файлами.</p>
<p>🫱 Подробности — <a href="https://habr.com/ru/companies/pt/articles/1048794/" rel="noopener" target="_blank">на Хабре</a>.</p>
<p><span class="hashtag">#ir</span> <span class="hashtag">#dfir</span> <span class="hashtag">#win</span> <span class="hashtag">#tip</span><br />
<a href="https://t.me/ptescalator" rel="noopener" target="_blank">@ptescalator</a></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>::%16777216 — так что же ты такое?</title>
		<link>/777216-so-what-exactly-are-you/</link>
		
		<dc:creator><![CDATA[global_author]]></dc:creator>
		<pubDate>Thu, 18 Jun 2026 14:11:09 +0000</pubDate>
				<category><![CDATA[Разное]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[win]]></category>
		<guid isPermaLink="false">/%16777216-%d1%82%d0%b0%d0%ba-%d1%87%d1%82%d0%be-%d0%b6%d0%b5-%d1%82%d1%8b-%d1%82%d0%b0%d0%ba%d0%be%d0%b5/</guid>

					<description><![CDATA[::%16777216 — так что же ты такое? Известно, что в ходе атак злоумышленники могут использовать туннелирование. Например, прокинуть обратный туннель со взломанного Windows-хоста в глубине сети организации, чтобы с его помощью легко…]]></description>
										<content:encoded><![CDATA[<p><strong>::%16777216 — так что же ты такое?</strong></p>
<p>Известно, что в ходе атак злоумышленники могут использовать <a href="https://attack.mitre.org/techniques/T1572/" rel="noopener" target="_blank">туннелирование</a>. Например, прокинуть обратный туннель со взломанного Windows-хоста в глубине сети организации, чтобы с его помощью легко подключиться интерактивно по RDP к этому же хосту.</p>
<p>Методы выявления такой активности также известны. Например, стоит обязательно обращать внимание на наличие в логах IP-адресов <code>127.0.0.1</code> или <code>::1</code> в качестве источника — именно с таких адресов в пределах атакованной системы могут устанавливаться подключения к целевым сервисам.</p>
<p>😳 Много лет специалисты, расследовавшие взломы, отмечали и описывали в отчетах, что когда в подобных атаках для туннеля использовался ngrok, при подключении по RDP в логах вместо IP-адреса источника заносилось странное значение — <code>::%16777216</code>.</p>
<p>С одной стороны, это отличный артефакт, который легко искать: он вряд ли встречается в нормальной активности и поэтому его наличие служит хорошим и довольно точным индикатором атаки.</p>
<p>Но, с другой стороны, нигде не было понятного объяснения, что это за «магическое число», почему именно оно возникает в логах и всегда ли это признак использования именно ngrok.</p>
<p>😎 <strong>Мы решили разобраться, и нам удалось получить ответы:</strong></p>
<p>🔴 <code>::%16777216</code> появляется в логах в событии <code>1149</code> (а еще <code>4778</code> и <code>4779</code>) вместо IP-адреса <code>::1</code> в результате ошибки в Windows.</p>
<p>🔴 Ошибка не связана с наличием какой-либо уязвимости, а вызвана несогласованной интерпретацией данных в памяти разными модулями протокола RDP</p>
<p>🔴 Ошибка возникает не только с адресом <code>::1</code>, но и в любом другом случае, когда происходит подключение к RDP с использованием протокола IPv6 (например, вместо адреса <code>fe80::6e1d:980d:9401:719b</code> вы увидите в логах строку <code>0:0:fe80::6e1d:980d%2607874452</code>)</p>
<p>🔴 Проблема чаще всего связывалась с утилитой ngrok, так как в ходе туннелирования она создает подключение на узле с использованием IPv6 по умолчанию, в отличие от многих других утилит, которые используют IPv4.</p>
<p>🔴 Адрес в логах «портится» не безвозвратно, его можно восстановить:</p>
<p><strong>1.</strong> Взять значение из лога: <code>0:0:fe80::6e1d:980d%2607874452</code></p>
<p><strong>2. </strong>Часть после <code>%</code> перевести в HEX: <code>2607874452 dec = 9b710194 hex</code></p>
<p><strong>3.</strong> Убрать слева два нуля, дописать справа полученные цифры с учетом обратного порядка байт: <code>fe80::6e1d:980d:9401:719b</code></p>
<p>Ошибка существовала как минимум начиная с Windows Server 2012 R2 во всех версиях Windows. В начале лета 2025 года мы направили информацию об этом в Microsoft, и результаты недавних тестов показывают, что в актуальных версиях (с майскими обновлениями 2026 года) ошибка была исправлена (ответа о факте исправления мы не получили).</p>
<p>А о нюансах исследования, интересных подробностях представления IP-адресов и подходах к проведению экспериментов, которые помогли найти объяснение, автор рассказал в докладе на прошедшей в мае конференции ËPRSTCON — запись доклада, презентацию и расшифровку ищите <a href="https://www.yoprstcon.ru/articles_manual_locB_html/07-ngrok-windows.html" rel="noopener" target="_blank">на сайте конференции</a>.</p>
<p><strong>И что же теперь делать?</strong> 😨</p>
<p>1️⃣ В старых версиях Windows, которые уже не получают обновлений, продолжать обращать внимание на <code>::%16777216</code> в логах.</p>
<p>2️⃣ В актуальных версиях Windows, где, возможно, были установлены обновления, дополнительно проверять на наличие <code>::1</code> там, где такого адреса не должно быть в норме.</p>
<p>3️⃣ Учитывайте, что есть множество различных утилит для создания туннелей, и подобный индикатор никак не подтверждает использование именно ngrok.</p>
<p>0️⃣ По желанию — доработайте свой парсинг логов так, чтобы восстанавливать нормальный IP-адрес: это поможет учитывать адрес в корреляционных правилах и получать больше релевантных результатов при ретроспективном поиске событий или тредхантинге.</p>
<p><strong>P.S.: </strong>и не забывайте обращать внимание на появление <code>127.0.0.1</code> в неподходящих местах. </p>
<p><strong>P.P.S.:</strong> и не только <code>127.0.0.1</code>, а любого адреса из сети <code>127.0.0.0/8</code>: все эти адреса соответствуют интерфейсу <code>localhost</code> согласно <a href="https://datatracker.ietf.org/doc/html/rfc5735" rel="noopener" target="_blank">RFC5735</a>, и это работает во всех популярных ОС. Использовать как источник адрес типа <code>127.0.13.37</code> у злоумышленника вряд ли легко получится, а вот указывать в качестве назначения подобные адреса для подключения к процессам на локальном хосте — вполне.</p>
<p><span class="hashtag">#tip</span> <span class="hashtag">#win</span><br />
<a href="https://t.me/ptescalator" rel="noopener" target="_blank">@ptescalator</a></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Редкие техники закрепления. Часть 4</title>
		<link>/rare-persistence-techniques-part-4/</link>
		
		<dc:creator><![CDATA[oUth0R]]></dc:creator>
		<pubDate>Tue, 09 Jun 2026 16:48:42 +0000</pubDate>
				<category><![CDATA[Incident Response]]></category>
		<category><![CDATA[dfir]]></category>
		<category><![CDATA[ir]]></category>
		<category><![CDATA[tips]]></category>
		<guid isPermaLink="false">/%d1%80%d0%b5%d0%b4%d0%ba%d0%b8%d0%b5-%d1%82%d0%b5%d1%85%d0%bd%d0%b8%d0%ba%d0%b8-%d0%b7%d0%b0%d0%ba%d1%80%d0%b5%d0%bf%d0%bb%d0%b5%d0%bd%d0%b8%d1%8f-4/</guid>

					<description><![CDATA[Редкие техники закрепления. Часть 4 Читайте также про: Zabbix Agent, TimeProvider, COM Hijacking, WMICLNT. 5️⃣ Systemd Generator Systemd Generator — это исполняемый файл, который systemd запускает на этапе загрузки системы (или при…]]></description>
										<content:encoded><![CDATA[<p><strong>Редкие техники закрепления</strong>. Часть 4</p>
<p><em>Читайте также про: </em><a href="https://t.me/ptescalator/734" rel="noopener" target="_blank">Zabbix Agent</a><em>, </em><a href="https://t.me/ptescalator/734" rel="noopener" target="_blank">TimeProvider</a><em>, </em><a href="https://t.me/ptescalator/735" rel="noopener" target="_blank">COM Hijacking</a><em>, </em><a href="https://t.me/ptescalator/737" rel="noopener" target="_blank">WMICLNT</a><em>. </em></p>
<p>5️⃣<strong> Systemd Generator</strong></p>
<p>Systemd Generator — это исполняемый файл, который systemd запускает на этапе загрузки системы (или при выполнении daemon-reload) для динамического создания unit-файлов служб, целей и точек монтирования. Злоумышленники используют этот механизм для скрытого закрепления, поскольку генераторы выполняются с привилегиями root до запуска основных служб и редко проверяются администраторами.</p>
<p><strong>Ключевые директории:</strong></p>
<p>• <code>/etc/systemd/system-generators/*</code><br />
• <code>/usr/local/lib/systemd/system-generators/*</code><br />
• <code>/lib/systemd/system-generators/*</code> (или <code>/usr/lib/systemd/system-generators/</code>)</p>
<p>😐 <strong>Механизм закрепления:</strong></p>
<p>1. Злоумышленник помещает исполняемый файл в одну из ключевых директорий — скрипт или бинарный файл (обычно с маскирующим именем, например <code>systemd-cp-generator</code>).</p>
<p>2. При каждой загрузке системы или выполнении <code>systemctl daemon-reload</code> — <code>systemd</code> запускает все найденные генераторы.</p>
<p>3. Генератор может: создать свой сервис в <code>/run/systemd/system/</code> и включить его, перезаписать юниты существующих служб (особенно через <code>/run/systemd/generator.early/</code>, где приоритет выше, чем у <code>/etc/systemd/system/</code>), отключить критически важные средства защиты, выполнить полезную нагрузку напрямую.</p>
<p>😮 <strong>Рекомендации:</strong></p>
<p>Поскольку генераторы запускаются до систем мониторинга, основной метод — мониторинг файловой системы на предмет создания и изменения файлов в директориях генераторов.</p>
<p>1. Мониторинг файловой системы — в первую очередь отслеживайте создание и изменение файлов в перечисленных директориях. Используйте <code>auditd</code>, так как он работает на уровне ядра и может сработать даже при ранней загрузке.</p>
<p>2. Контроль целостности — периодически сверяйте хеш-суммы файлов в директориях генераторов с эталонными.</p>
<p>3. Ограничение прав — запретите обычным пользователям и непривилегированным процессам запись в эти директории.</p>
<p>4. Анализ генераторов — проверяйте нестандартные или недавно появившиеся генераторы, особенно если они не от легитимных пакетов (openvpn, <code>systemd-rc-local-generator</code> и т.п.).</p>
<p>На этом с этой серией постов — пока что все 😉</p>
<p><span class="hashtag">#ir</span> <span class="hashtag">#dfir</span> <span class="hashtag">#tips</span><br />
<a href="https://t.me/ptescalator" rel="noopener" target="_blank">@ptescalator</a></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Редкие техники закрепления. Часть 3</title>
		<link>/rare-persistence-techniques-part-3/</link>
		
		<dc:creator><![CDATA[oUth0R]]></dc:creator>
		<pubDate>Mon, 08 Jun 2026 15:25:04 +0000</pubDate>
				<category><![CDATA[Incident Response]]></category>
		<category><![CDATA[dfir]]></category>
		<category><![CDATA[ir]]></category>
		<category><![CDATA[tips]]></category>
		<guid isPermaLink="false">/%d1%80%d0%b5%d0%b4%d0%ba%d0%b8%d0%b5-%d1%82%d0%b5%d1%85%d0%bd%d0%b8%d0%ba%d0%b8-%d0%b7%d0%b0%d0%ba%d1%80%d0%b5%d0%bf%d0%bb%d0%b5%d0%bd%d0%b8%d1%8f-3/</guid>

					<description><![CDATA[Редкие техники закрепления. Часть 3 Читайте также про: Zabbix Agent, TimeProvider, COM Hijacking. 4️⃣ WMICLNT Эта техника закрепления основана на перехвате DLL, загружаемой легитимной службой Windows Management Instrumentation (WMI), и в MITRE…]]></description>
										<content:encoded><![CDATA[<p><strong>Редкие техники закрепления</strong>. Часть 3</p>
<p><em>Читайте также про: </em><a href="https://t.me/ptescalator/734" rel="noopener" target="_blank">Zabbix Agent</a><em>, </em><a href="https://t.me/ptescalator/734" rel="noopener" target="_blank">TimeProvider</a><em>, </em><a href="https://t.me/ptescalator/735" rel="noopener" target="_blank">COM Hijacking</a><em>.</em></p>
<p>4️⃣ <strong>WMICLNT</strong></p>
<p>Эта техника закрепления основана на перехвате DLL, загружаемой легитимной службой Windows Management Instrumentation (WMI), и в MITRE ATT&amp;CK классифицируется как <a href="https://mitre.ptsecurity.com/ru-RU/T1546.008" rel="noopener" target="_blank">T1546.008</a> (Event Triggered Execution: Accessibility Features) или как частный случай DLL Hijacking.</p>
<p>Злоумышленники используют особенность запуска консоли WMIC (<code>wmic.exe</code>), которая является стандартным инструментом системного администрирования. При запуске WMIC пытается загрузить библиотеку <code>wmiclnt.dll</code>, но эта библиотека может отсутствовать в стандартной поставке Windows.</p>
<p>Штатный <code>wmic.exe</code> работает и без нее — функциональность может быть ограничена, однако сам факт попытки загрузки позволяет атакующему разместить по пути поиска DLL свою вредоносную библиотеку.</p>
<p>Атакующий размещает вредоносную <code>wmiclnt.dll</code> в <code>C:\Windows\System32\wbem</code>. Для активации может использоваться любой удобный злоумышленнику триггер — как конкретное задание в планировщике, так и перезапуск системной службы. </p>
<p>В первом случае создается Scheduled Task, периодически дергающий легитимную утилиту (например, <code>wmic os get name</code>), что приводит к загрузке DLL и выполнению вредоносного кода в DllMain. </p>
<p>Во втором — применяется циклический перезапуск службы WMI командами <code>net stop winmgmt /y</code> и <code>net start winmgmt</code>, что также провоцирует обращение к подставной библиотеке и обеспечивает закрепление.</p>
<p>⬇️ Для успешной загрузки и скрытной работы вредоносная<code> wmiclnt.dll</code> должна удовлетворять следующим условиям:</p>
<p>• Функции экспорта: вредоносная DLL обязана реализовать и экспортировать все те же функции, которые пытается импортировать<code> wmic.exe</code> (<em>скриншот 3</em>), чтобы процесс не упал с ошибкой.</p>
<p>• Чаще всего вредоносная логика выполняется прямо в DllMain (функция <code>DLL_PROCESS_ATTACH</code>), так как это гарантирует выполнение кода сразу после загрузки библиотеки без необходимости вызова конкретных экспортируемых процедур.</p>
<p>• Проксирование: для максимальной маскировки вредоносная DLL может выступать в роли «прокси», пробрасывая вызовы на реальный системный API, чтобы wmic.exe отрабатывал штатно и не вызывал подозрений.</p>
<p>👀 <strong>Признаки компрометации:</strong></p>
<p>• Появление файла <code>wmiclnt.dll</code> в директории <code>C:\Windows\System32\wbem</code>\ (в чистой системе этот файл отсутствует, хотя на старых версиях мог существовать; в современных Windows 10/11 и Server 20xx файл находится в директории <code>C:\Windows\System32</code>\).</p>
<p>• Нестандартные дочерние процессы у wmic.exe (например, если из-под WMIC вдруг запускается <code>powershell.exe</code> или <code>rundll32.exe</code> с сетевым взаимодействием).</p>
<p>• Еще одним признаком компрометации может служить событие <strong>Event ID 11</strong> (Image Load), где поле <code>&quot;SignatureLevel&quot;: 1</code> указывает на <code>unsigned</code>/<code>untrusted</code> образ.</p>
<pre><code>{&quot;Event&quot;…&quot;EventID&quot;:11,&quot;Version&quot;:0,&quot;Level&quot;:0,&quot;Task&quot;:6,&quot;Opcode&quot;:0,&quot;Keywords&quot;:&quot;0x8000000000000000&quot;,&quot;TimeCreated&quot;:{&quot;#att  
ributes&quot;:{&quot;SystemTime&quot;:&quot;2026-02-27T10:26:15.414597Z&quot;}},…,&quot;Channel&quot;:&quot;Microsoft-Windows-SecurityMitigations/KernelMode&quot;,&quot;Computer&quot;:“REDACTED&quot;,&quot;Security&quot;:{&quot;#attributes&quot;:{&quot;UserID&quot;:&quot;S-1-5-  
18&quot;}}},&quot;EventData&quot;:{&quot;ProcessPathLength&quot;:52,&quot;ProcessPath&quot;:&quot;\\Device\\HarddiskVolume4\\Windows\\System32\\svchost.exe  
&quot;,&quot;ProcessCommandLineLength&quot;:56,&quot;ProcessCommandLine&quot;:&quot;C:\\Windows\\system32\\svchost.exe -k netsvcs -p -s  
Winmgmt&quot;,&quot;ProcessId&quot;:37383,&quot;ProcessCreateTime&quot;:&quot;2026-02-  
27T10:26:15.254827Z&quot;,&quot;ProcessStartKey&quot;:19140298416383003,&quot;ProcessSignatureLevel&quot;:0,&quot;ProcessSectionSignatureLevel&quot;:0,  
&quot;ProcessProtection&quot;:0,&quot;TargetThreadId&quot;:29700,&quot;TargetThreadCreateTime&quot;:&quot;2026-02-  
25T08:24:13.276875Z&quot;,&quot;RequiredSignatureLevel&quot;:8,&quot;SignatureLevel&quot;:1,&quot;ImageNameLength&quot;:34,&quot;ImageName&quot;:&quot;\\Windows\  
\System32\\wbem\\wmiclnt.dll&quot;}}}</code></pre>
<p>Продолжение будет в следующем посте 🔽</p>
<p><span class="hashtag">#ir</span> <span class="hashtag">#dfir</span> <span class="hashtag">#tips</span><br />
<a href="https://t.me/ptescalator" rel="noopener" target="_blank">@ptescalator</a></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Редкие техники закрепления. Часть 2</title>
		<link>/rare-persistence-techniques-part-2/</link>
		
		<dc:creator><![CDATA[oUth0R]]></dc:creator>
		<pubDate>Fri, 05 Jun 2026 14:25:03 +0000</pubDate>
				<category><![CDATA[Incident Response]]></category>
		<category><![CDATA[dfir]]></category>
		<category><![CDATA[ir]]></category>
		<category><![CDATA[tips]]></category>
		<guid isPermaLink="false">/%d1%80%d0%b5%d0%b4%d0%ba%d0%b8%d0%b5-%d1%82%d0%b5%d1%85%d0%bd%d0%b8%d0%ba%d0%b8-%d0%b7%d0%b0%d0%ba%d1%80%d0%b5%d0%bf%d0%bb%d0%b5%d0%bd%d0%b8%d1%8f-2/</guid>

					<description><![CDATA[Редкие техники закрепления. Часть 2 Читайте также про: Zabbix Agent, TimeProvider. 3️⃣ COM Hijacking Для закрепления в инфраструктуре злоумышленники использовали редкую технику Component Object Model Hijacking (перехват COM-объектов). Суть метода — не…]]></description>
										<content:encoded><![CDATA[<p><strong>Редкие техники закрепления</strong>. Часть 2</p>
<p><em>Читайте также про: </em><a href="https://t.me/ptescalator/734" rel="noopener" target="_blank">Zabbix Agent</a><em>, </em><a href="https://t.me/ptescalator/734" rel="noopener" target="_blank">TimeProvider</a><em>.</em></p>
<p><strong>3️⃣ COM Hijacking</strong></p>
<p>Для закрепления в инфраструктуре злоумышленники использовали редкую технику Component Object Model Hijacking (перехват COM-объектов). </p>
<p>Суть метода — не в прямой подмене DLL системного сервиса (что легко обнаруживается), а в манипуляции структурой реестра Component Object Model. Атакующие создают собственный COM-объект, указывающий на вредоносную библиотеку, и перенаправляют на него вызовы доверенных системных компонентов через легитимный механизм совместимости.</p>
<p>Ключевым элементом атаки выступает раздел реестра <code>TreatAs</code>, изначально предназначенный для прозрачного перенаправления запросов с одного COM-объекта на другой. Злоумышленники находят системный <code>CLSID</code>, обращение к которому происходит регулярно и незаметно, и подменяют его обработку на свой объект.</p>
<p>Особый интерес представляет COM-объект Network List Manager с идентификатором <code>{DCB00C01-570F-4A9B-8D69-199FDBA5723B}</code>, отвечающий за управление сетевыми профилями (<code>netprofm</code>). Обращения к нему происходят при каждой смене сетевого подключения, запуске диагностики сети и старте операционной системы.</p>
<p>Злоумышленники модифицируют ветку:<br />
<code>HKLM\Software\Classes\CLSID{DCB00C01-570F-4A9B-8D69-199FDBA5723B}\TreatAs,</code></p>
<p>прописывая в значении по умолчанию CLSID своего вредоносного COM-объекта. В результате при работе с сетевыми профилями система автоматически перенаправляет вызов и загружает вредоносную DLL, размещенную по пути <code>%systemroot%\system32\netprofmaaa.dl</code>l (имя мимикрирует под оригинальную <code>netprofm.dll</code>).</p>
<p>❗️ <strong>Требования к DLL:</strong> библиотека должна быть полноценным COM-сервером, реализующим все интерфейсы, ожидаемые от подменяемого объекта Network List Manager, и корректно экспортировать стандартные функции (<em>скриншот 2</em>): <code>DllGetClassObject()</code>, <code>DllCanUnloadNow()</code>, <code>DllRegisterServer()</code> и <code>DllUnregisterServer()</code>.</p>
<p>При вызове <code>DllGetClassObject()</code> она должна возвращать фабрику классов, способную создавать экземпляры объекта с ожидаемыми интерфейсами (включая <code>INetworkListManager</code>). Это необходимо для безаварийной работы вызывающих процессов и сохранения скрытности — в противном случае приложения, обращающиеся к сетевому менеджеру, будут аварийно завершаться и демаскировать присутствие вредоносного кода.</p>
<p><em>Продолжение будет в следующих постах 🙂</em></p>
<p><span class="hashtag">#ir</span> <span class="hashtag">#dfir</span> <span class="hashtag">#tips</span> <br />
<a href="https://t.me/ptescalator" rel="noopener" target="_blank">@ptescalator</a></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Редкие техники закрепления</title>
		<link>/rare-persistence-techniques-part-1/</link>
		
		<dc:creator><![CDATA[oUth0R]]></dc:creator>
		<pubDate>Thu, 04 Jun 2026 15:33:33 +0000</pubDate>
				<category><![CDATA[Incident Response]]></category>
		<category><![CDATA[dfir]]></category>
		<category><![CDATA[ir]]></category>
		<category><![CDATA[tips]]></category>
		<guid isPermaLink="false">/%d1%80%d0%b5%d0%b4%d0%ba%d0%b8%d0%b5-%d1%82%d0%b5%d1%85%d0%bd%d0%b8%d0%ba%d0%b8-%d0%b7%d0%b0%d0%ba%d1%80%d0%b5%d0%bf%d0%bb%d0%b5%d0%bd%d0%b8%d1%8f/</guid>

					<description><![CDATA[Редкие техники закрепления За первые шесть месяцев 2026 года команда PT ESC IR зафиксировала ряд редких техник закрепления на скомпрометированных хостах, которые мы и обсудим в ближайших постах. 1️⃣ Zabbix Agent Zabbix…]]></description>
										<content:encoded><![CDATA[<p><strong>Редкие техники закрепления</strong></p>
<p>За первые шесть месяцев 2026 года команда PT ESC IR зафиксировала ряд редких техник закрепления на скомпрометированных хостах, которые мы и обсудим в ближайших постах.</p>
<p><strong>1️⃣ Zabbix Agent</strong></p>
<p>Zabbix Agent — это легковесная служба сбора метрик с хоста и их передачи на сервер, штатно используемая администраторами. </p>
<p>Суть техники закрепления злоумышленников (например, группы PhantomCore) сводится к превращению легитимного агента в скрытый бэкдор. Они доставляют на хост собственный установщик (<code>zabbix.msi</code>) и подменяют в конфигурационном файле адрес сервера на подконтрольный C2.</p>
<p><strong>Ключевые поля конфигурации для атаки:</strong></p>
<p>• <code>Server=</code> и <code>ServerActive=</code> задают IP или домен C2-сервера для пассивных и активных проверок;</p>
<p>• <code>Hostname=</code> служит уникальным идентификатором жертвы в панели C2;</p>
<p>• <code>ListenPort=</code> переназначает порт (по умолчанию <code>10050</code>), чтобы избежать конфликта с родным агентом;</p>
<p>• <code>UserParameter=</code> является ключевым элементом, позволяя регистрировать произвольные команды ОС как метрики Zabbix;</p>
<p>• <code>AllowKey=system.run[*]</code> разрешает прямое выполнение команд.</p>
<p>Канал управления работает по нативному протоколу Zabbix (JSON поверх TCP/TLS), маскируя вредоносный трафик под легитимный мониторинг и позволяя агентам в активном режиме самостоятельно «стучаться» к C2. В рамках постэксплуатации злоумышленник через графическую оболочку Zabbix-сервера централизованно получает доступ к файлам, процессам и возможность бесшумно доставлять и запускать дополнительные скрипты на скомпрометированном хосте.</p>
<p><strong>Основные признаки компрометации: </strong>внезапные исходящие соединения с нестандартными портами мониторинга (<code>10050</code>/<code>10051</code>) на внешние IP-адреса и наличие в конфигурационном файле агента вызовов оболочек (<code>cmd</code>, <code>sh</code>, <code>powershell</code>).</p>
<p>2️⃣ <strong>TimeProvider</strong></p>
<p>Злоумышленники применяли редкую технику закрепления через механизм <code>TimeProvider</code> (поставщик времени Windows), соответствующую тактике <a href="https://mitre.ptsecurity.com/ru-RU/T1543.003" rel="noopener" target="_blank">MITRE ATT&amp;CK T1543.003</a>.</p>
<p>Суть метода в том, что служба времени Windows (<code>W32Time</code>) при каждом запуске системы автоматически загружает все библиотеки, зарегистрированные в ветке реестра: <code>HKLM\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders</code></p>
<p>Атакующие создавали в этом разделе собственного поставщика: в параметре <code>DllName</code> прописывали путь к вредоносной <code>DLL</code>, а параметру <code>Enabled</code> присваивали значение <code>1</code>. После перезагрузки ОС служба W32Time загружает указанную библиотеку в контексте процесса <code>svchost.exe</code> с привилегиями <code>Local System</code>, что обеспечивает скрытное и надежное закрепление в системе.</p>
<p><strong>Требования к DLL:</strong> для успешной загрузки она должна экспортировать функцию <code>TimeProvOpen()</code> (<em>скриншот 1</em>), которую <code>W32Time</code> вызывает при инициализации провайдера. Эта функция служит точкой входа и обычно используется злоумышленниками для запуска основной полезной нагрузки.</p>
<p>Продолжение завтра (в следующих постах) 🔽</p>
<p><span class="hashtag">#ir</span> <span class="hashtag">#tips</span> <span class="hashtag">#dfir</span><br />
<a href="https://t.me/ptescalator" rel="noopener" target="_blank">@ptescalator</a></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Бриллиант почти не виден</title>
		<link>/the-diamond-is-barely-visible/</link>
		
		<dc:creator><![CDATA[oUth0R]]></dc:creator>
		<pubDate>Fri, 29 May 2026 11:03:33 +0000</pubDate>
				<category><![CDATA[Incident Response]]></category>
		<category><![CDATA[ir]]></category>
		<category><![CDATA[malware]]></category>
		<category><![CDATA[tips]]></category>
		<guid isPermaLink="false">/%d0%b1%d1%80%d0%b8%d0%bb%d0%bb%d0%b8%d0%b0%d0%bd%d1%82-%d0%bf%d0%be%d1%87%d1%82%d0%b8-%d0%bd%d0%b5-%d0%b2%d0%b8%d0%b4%d0%b5%d0%bd/</guid>

					<description><![CDATA[Бриллиант почти не виден 💎 В ходе анализа дампов PT ESC IR периодически сталкивается с новыми семействами ВПО, которые не обнаруживаются по известным индикаторам и YARA-сигнатурам и хорошо мимикрируют под легитимные или…]]></description>
										<content:encoded><![CDATA[<p><strong>Бриллиант почти не виден</strong> 💎</p>
<p>В ходе анализа дампов PT ESC IR периодически сталкивается с новыми семействами ВПО, которые не обнаруживаются по известным индикаторам и YARA-сигнатурам и хорошо мимикрируют под легитимные или системные файлы.</p>
<p>При наличии некоторого количества дампов машин со схожими ОС, содержащих результаты файлового сканирования, для поиска могут использоваться «нечеткие» (fuzzy) хэши, применение которых традиционно ограничено задачами поиска файлов, относительно схожих с ранее выявленными образцами ВПО.</p>
<p>🧐 На первом скриншоте показано распределение исполняемых файлов nix-подобной системы с учетом размера файлов (масштаб «обратно-логарифмический»: большие файлы системы расположены ближе к центру, малые — на периферии). Для группировки файлов с учетом их размера и сходства содержимого (необходимо учитывать, что данные переменные не всегда являются независимыми — например, при использовании алгоритма TLSH) потребуется провести процедуру «кластеризации» с учетом матрицы «перекрестных расстояний» между всеми (<code>N</code>) файлами системы, которая будет иметь размер (<code>N^2</code>).</p>
<p>Очевидно, что для сокращения размера данной матрицы возможно ввести разбиение диапазона размеров файлов одной либо нескольких совместно анализируемых систем — весь диапазон размеров может быть представлен как совокупность непересекающихся отрезков <code>[x-ax;x+ax]</code>, где <code>a&lt;1</code>, а <code>x</code> — центральная точка отрезка. Опыт показывает, что такое разделение позволяет, как правило, получить менее сотни размерных «поясов» при значении <code>a=0.1</code>. При дальнейшем анализе в пределах отдельных «поясов» количество образцов будет существенно меньше исходного общего количества.</p>
<p>Анализ «аномальности» образцов в пределах отдельного «пояса» возможно произвести с учетом различных факторов — среднего расстояния до остальных образцов, количества образцов, схожих с данным в пределах заданного порогового значения и т.п., за исключением случаев, когда в пределах «пояса» оказывается совсем малое (например, менее 10) количество файлов — в таком случае можно считать, что все они являются «условно аномальными».</p>
<p>Финальным этапом подобного анализа является выявление в пределах полученных для каждой из анализируемых систем «аномальных» групп файлов, которые удовлетворяют следующим критериям:</p>
<p>1️⃣ имеют малое количество схожих образцов либо высокое среднее расстояние до остальных образцов (для формализации можно задаться верхней половиной динамического диапазона);</p>
<p>2️⃣ не имеют в пределах одной системы файлов с идентичным именем, но отличным путем (что позволяет фильтровать системные файлы nix-подобных систем);</p>
<p>3️⃣ имеют малое количество файлов с аналогичным путем/именем на совместно анализируемых системах (или не имеют аналогов вовсе — то есть не являются обязательными для функционирования системы).</p>
<p>👀<strong> Результатом подобного анализа является картина, показанная на втором скриншоте:</strong> размер файлов снова в «обратно-логарифмическом» масштабе, «максимально отличающиеся» файлы в пределах «размерного пояса» стремятся к угловой координате π радиан, а минимально отличающиеся — к 0. «Условно аномальные», т.е. практически уникальные по размеру файлы, имеют угловую координату 3π/2. </p>
<p>Общее количество определенных «аномалий» составляет для различных систем от 0,7% до 8% от исходного количества анализируемых исполняемых файлов, что позволяет проводить дальнейший анализ в ряде случаев просто «глазами» — из исходных тысяч файлов остается около полусотни.</p>
<p>Первый же «существенно отличающийся» файл в данном случае действительно представляет собой ВПО, причем для ансамбля из 12 анализируемых систем аналогичный образец уверенно обнаруживается еще на одной машине, а дальнейший поиск при «TLSH-расстоянии» не более 70 единиц позволяет выявить еще 5 образцов на различных машинах ансамбля с одинаковыми путями — все они принадлежат к одному семейству и реализуют закрепление ВПО посредством использования <code>system-generators</code>.</p>
<figure class="wp-block-image"><img width="1024" height="1024" src="/wp-content/uploads/2026/05/photo_563@29-05-2026_11-03-33-1024x1024.jpg" class="attachment-large size-large" alt="" decoding="async" loading="lazy" srcset="/wp-content/uploads/2026/05/photo_563@29-05-2026_11-03-33-1024x1024.jpg 1024w, /wp-content/uploads/2026/05/photo_563@29-05-2026_11-03-33-300x300.jpg 300w, /wp-content/uploads/2026/05/photo_563@29-05-2026_11-03-33-150x150.jpg 150w, /wp-content/uploads/2026/05/photo_563@29-05-2026_11-03-33-768x768.jpg 768w, /wp-content/uploads/2026/05/photo_563@29-05-2026_11-03-33.jpg 1280w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
<p><span class="hashtag">#tip</span> <span class="hashtag">#ir</span> <span class="hashtag">#malware</span><br />
<a href="https://t.me/ptescalator" rel="noopener" target="_blank">@ptescalator</a></p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
