ESCalator
@ptescalator
13 1.5K
Основные векторы первоначального доступа:
[LEGITIMATE_DOMAIN]/?wp-json/oembed/1.0/embed/url=[COMPROMISED_DOMAIN_URL]Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 ([USERDOMAIN], like [USERNAME]) Chrome/141.0.0.0 Safari/537.36 Edg/141.0.3405.86
mir-pay.apk. На первый взгляд — ничего необычного: очередная вариация хорошо известного вредоноса Mamont, подумали мы. Тем более что название платежной системы уже не раз встречалось в этом семействе ВПО.apk.tampered, образец сохранял подозрительные файлы с расширением .png (файловые дропы) и загружал код напрямую в память (DEX-дампы).
Nicholas Currannpm-sandbox-ping-[4 символа]npm-sandbox-research-[4 символа]postinstall-logger-7x9zpkg-telemetry-r4f9runtime-metrics-w7k2event-metrics-q3x7build-tracker-n5p1
Пакеты безопасны.
Все чувствительные данные перед отправкой хэшируются — не происходит никакого разглашения секретов.
Пакеты не выполняют закрепления в системе, перемещения в сети и деструктивных действий.
Цель исследования: изучить, изолирует ли npm-песочница небезопасные установочные скрипты.beaconXX.js, все остальные платформы обрабатываются beacon_linux.js. Даже macOS.beaconXX.js (скриншот 3):
Эксплуатирует известный обход UAC через fodhelper.exe. Для этого, помимо запуска файла, необходимо внести изменения в реестр Windows.
Дропает PowerShell-скрипт в %TEMP% и запускает его с повышенными привилегиями.
Удаляет внесенные в реестр изменения.
Собирает:findings.xml;npm config list — сюда попадают в том числе токены аутентификации для учетной записи npm;
Заметает следы, перезаписывая findings.xml следующим текстом:<ArrayOfTaskFinding></ArrayOfTaskFinding>
Собранные данные кодирует в base64 и просто отправляет на управляющий сервер... без хэширования, о котором заявлено в README.md
В вечном цикле каждые 5 секунд обращается к управляющему серверу за командами на исполнение.beacon_linux.js (скриншот 4):
Собирает:
Проверяет возможности для побега из контейнера, собирая:/proc/1/cgroup (информация об ограничениях контейнера);PID 1;capabilities своего процесса;/var/run/docker.sock (позволяет управлять Docker с потенциалом полностью захватить устройство);/proc/sched_debug (позволяет разведать процессы, запущенные на хосте).
Собирает артефакты, связанные с CI/CD: список файлов текущего проекта и /home/runner/work, логи GitHub.
Отправляет отчет на управляющий сервер.README.md, — поэтому мы зарепортили админам NPM об этом недоразумении.Хотите проверить свои проекты на наличие вредоносных внешних зависимостей? Попробуйте фиды для безопасной разработки из PT Fusion.
const deterministicStatus = (station) => {
const base = Number(station.id ?? station.lat * 1000 + station.lon * 1000);
const pseudo = Math.abs(Math.sin(base)) % 1;
if (pseudo < 0.58) return 'green';
if (pseudo < 0.85) return 'yellow';
return 'red';
};ru-lukoil.online
tes-td.site
voentoplivo.site
gdebenzin.org
sverdlova.online
mobilecash.club
https://s3.eu-central-003.backblazeb2.com/centbrinben/benzin/
https://storage.tacticlib.com/uploads/benzin/
b192114cc04b872095015bcb0d7f708c34680eafbd43ff5393df791ea0dc04e9
140ecec54f6249370cec2f6dc0e5f485af359295bb27f6f458c5b3cf30260e3e
462611f6f8e65229e8b729038438785d447bc4da386a74fafae095b65578525c
51e18c21203e930ab3ca13327dc7d67a404e597fcf3a99f8901fdbfb169da63c
81a623c9a3b3f4a9340dd4c6bdfb5299f247b54f81ae1d39671afcf24229859a
f4102ea1718653528c503dcaaef3a2ea05ddaf6ad782e84ee7d7b2e6b073ffae
15174043fc56ca9fd8c47d2bfc0e0a2f491a17a8805afcc5eb58b8252677ef69