<?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>ComDllDropper &#8211; PT ESC</title>
	<atom:link href="/tag/comdlldropper/feed/index.xml" rel="self" type="application/rss+xml" />
	<link>/</link>
	<description></description>
	<lastBuildDate>Wed, 30 Sep 2026 19:19:26 +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>ComDllDropper &#8211; PT ESC</title>
	<link>/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Раз-два — и готово. Генерируем FLIRT-сигнатуры</title>
		<link>/one-two-and-its-done-generating-flirt-signatures/</link>
		
		<dc:creator><![CDATA[ti_author]]></dc:creator>
		<pubDate>Mon, 01 Jul 2024 20:02:59 +0000</pubDate>
				<category><![CDATA[Threat Intelligence]]></category>
		<category><![CDATA[APT]]></category>
		<category><![CDATA[ComDllDropper]]></category>
		<category><![CDATA[ExCobalt]]></category>
		<category><![CDATA[reverse]]></category>
		<category><![CDATA[TI]]></category>
		<category><![CDATA[tips]]></category>
		<guid isPermaLink="false">http://localhost:8080/%d1%80%d0%b0%d0%b7-%d0%b4%d0%b2%d0%b0-%d0%b8-%d0%b3%d0%be%d1%82%d0%be%d0%b2%d0%be-%d0%b3%d0%b5%d0%bd%d0%b5%d1%80%d0%b8%d1%80%d1%83%d0%b5%d0%bc-flirt-%d1%81%d0%b8%d0%b3%d0%bd%d0%b0%d1%82/</guid>

					<description><![CDATA[👏 Раз-два — и готово. Генерируем FLIRT-сигнатуры А делаем это, чтобы не тратить время на распознавание библиотечного кода PureBasic, на котором написан COM-DLL-Dropper группировки ExCobalt. Для начала нам понадобится компилятор PureBasic. Скачав…]]></description>
										<content:encoded><![CDATA[<p>👏 <strong>Раз-два — и готово. Генерируем FLIRT-сигнатуры</strong></p>
<p>А делаем это, чтобы не тратить время на распознавание библиотечного кода PureBasic, на котором написан COM-DLL-Dropper группировки ExCobalt.</p>
<p>Для начала нам понадобится <a href="https://www.purebasic.com/download.php" rel="noopener" target="_blank">компилятор PureBasic</a>. Скачав его и установив или распаковав, найдем все .lib-файлы. Далее нам понадобятся входящие <a href="https://hex-rays.com/download-center/" rel="noopener" target="_blank">в состав Flair</a> инструменты:</p>
<p>— <code>pcf</code> — парсер файлов .lib и .obj, создает PAT-файл из COFF-файлов.<br />
— <code>sigmake</code> — конвертирует ранее созданный PAT-файл в SIG-файл для IDA.</p>
<p>С их помощью мы и сгенерируем сигнатуры. Чтобы автоматизировать создание PAT-файла, будем использовать BAT-файл со следующим содержимым:</p>

<pre class="wp-block-code"><span><code class="hljs language-plaintext">
@echo off

\path\pcf.exe -a \path\Debugger.lib 
\path\PureBasic_x86.pat
\path\pcf.exe -a \path\libmariadb.lib 
\path\PureBasic_x86.pat
...
</code></span></pre>

<p>После получения PAT-файла нам нужно преобразовать его в SIG-файл. Для этого выполним следующую команду:</p>

<pre class="wp-block-code"><span><code class="hljs language-plaintext">\path\sigmake.exe -n"PureBasic_Windows_X86_LTS_6.03" \path\PureBasic_x86.pat \path\PureBasic_x86.sig
</code></span></pre>

<p>Так как произошли коллизии при генерации сигнатур, получаем следующий список файлов:</p>
<p>— PureBasic_x86.err,<br />
— PureBasic_x86.exc,<br />
— PureBasic_x86.pat.</p>
<p>При отсутствии коллизий сразу получили бы готовый SIG-файл. Для их устранения нужно отредактировать EXC-файл. Пример коллизии:</p>

<pre class="wp-block-code"><span><code class="hljs language-plaintext">
_PB_WriteFloat@8 0B 5366........E8........85C0742D83780400
_PB_WriteInteger@8 0B 5366........E8........85C0742D83780400
_PB_WriteLong@8 0B 5366........E8........85C0742D83780400
</code></span></pre>

<p>Видим, что три функции имеют одну и ту же сигнатуру, — нам необходимо выбрать, какую из них использовать. </p>
<p>Слева, рядом с именем нужной функции, ставим +. В этом случае коллизия коснулась функций, идентичных по назначению, и мы можем выбрать любую: </p>

<pre class="wp-block-code"><span><code class="hljs language-plaintext">
_PB_WriteFloat@8 0B 5366........E8........85C0742D83780400
+_PB_WriteInteger@8 0B 5366........E8........85C0742D83780400
_PB_WriteLong@8 0B 5366........E8........85C0742D83780400
</code></span></pre>

<p>Но бывает, когда она касается функций с совершенно противоположным назначением, — можно выбрать любую, но запомнить или записать ее: это пригодится, когда будет получен результат.</p>
<p>Нужно также удалить строку &#8212;&#8212;&#8212; в EXC-файле, чтобы выбор учитывался при повторной генерации сигнатур:</p>

<pre class="wp-block-code"><span><code class="hljs language-sql">
;<span class="hljs-comment">--------- (delete these lines to allow sigmake to read this fil</span>
; add '+' at the <span class="hljs-keyword">start</span> <span class="hljs-keyword">of</span> a line <span class="hljs-keyword">to</span> <span class="hljs-keyword">select</span> a <span class="hljs-keyword">module</span>
; add '-' if you are not sure about the selection
; <span class="hljs-keyword">do</span> <span class="hljs-keyword">nothing</span> <span class="hljs-keyword">if</span> you want <span class="hljs-keyword">to</span> <span class="hljs-keyword">exclude</span> <span class="hljs-keyword">all</span> modules
</code></span></pre>

<p>После того как действие будет проделано для всех коллизий, нужно повторить генерацию. Если все сделано правильно, мы получим SIG-файл. Его следует положить в:</p>

<pre class="wp-block-code"><span><code class="hljs language-plaintext">
%IDA Home%\sig\pc
</code></span></pre>

<figure class="wp-block-image"><img width="1024" height="1024" src="/wp-content/uploads/2024/07/photo_14@01-07-2024_20-02-59-1024x1024.jpg" class="attachment-large size-large" alt="" decoding="async" loading="lazy" srcset="/wp-content/uploads/2024/07/photo_14@01-07-2024_20-02-59-1024x1024.jpg 1024w, /wp-content/uploads/2024/07/photo_14@01-07-2024_20-02-59-300x300.jpg 300w, /wp-content/uploads/2024/07/photo_14@01-07-2024_20-02-59-150x150.jpg 150w, /wp-content/uploads/2024/07/photo_14@01-07-2024_20-02-59-768x768.jpg 768w, /wp-content/uploads/2024/07/photo_14@01-07-2024_20-02-59.jpg 1280w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
<figure class="wp-block-image"><img width="1024" height="1024" src="/wp-content/uploads/2024/07/photo_15@01-07-2024_20-02-59-1024x1024.jpg" class="attachment-large size-large" alt="" decoding="async" loading="lazy" srcset="/wp-content/uploads/2024/07/photo_15@01-07-2024_20-02-59-1024x1024.jpg 1024w, /wp-content/uploads/2024/07/photo_15@01-07-2024_20-02-59-300x300.jpg 300w, /wp-content/uploads/2024/07/photo_15@01-07-2024_20-02-59-150x150.jpg 150w, /wp-content/uploads/2024/07/photo_15@01-07-2024_20-02-59-768x768.jpg 768w, /wp-content/uploads/2024/07/photo_15@01-07-2024_20-02-59.jpg 1280w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
<figure class="wp-block-image"><img width="1024" height="1024" src="/wp-content/uploads/2024/07/photo_16@01-07-2024_20-02-59-1024x1024.jpg" class="attachment-large size-large" alt="" decoding="async" loading="lazy" srcset="/wp-content/uploads/2024/07/photo_16@01-07-2024_20-02-59-1024x1024.jpg 1024w, /wp-content/uploads/2024/07/photo_16@01-07-2024_20-02-59-300x300.jpg 300w, /wp-content/uploads/2024/07/photo_16@01-07-2024_20-02-59-150x150.jpg 150w, /wp-content/uploads/2024/07/photo_16@01-07-2024_20-02-59-768x768.jpg 768w, /wp-content/uploads/2024/07/photo_16@01-07-2024_20-02-59.jpg 1280w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>

<p><span class="hashtag">#reverse</span> <span class="hashtag">#tips</span> <span class="hashtag">#ComDllDropper</span> <span class="hashtag">#ExCobalt</span> <span class="hashtag">#APT</span> <span class="hashtag">#TI</span><br />
<a href="https://t.me/ptescalator" rel="noopener" target="_blank">@ptescalator</a></p>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
