У меня увели аккаунт Telegram через поддельную ссылку на видеозвонок: в адресе были подменены две буквы, вместо microsoft teams стояло miclosoft teams. Процесс прописался в системе за доли секунды, просидел там около десяти дней и дождался, пока я введу код двухфакторной проверки. Ни один антивирус его не увидел. Аккаунт я вернул, схему разобрал, и ниже она целиком.

Как выглядела схема

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

На самой встрече у второй стороны «не работает камера». Вас просят поправить драйвер: открыть страницу, скачать файл, вставить команду в терминал. В этот момент всё и происходит.

Почему это сработало на мне

Три детали, из которых складывается доверие, и каждая из них подделана.

Первое, встречу назначил я. Мозг не проверяет ссылку, по которой перешёл сам. Защита включается на входящие ссылки, а не на свои.

Второе, на созвоне было видео знакомого человека. Его записали, когда взламывали его самого. Вы видите живое лицо партнёра и перестаёте сомневаться.

Третье, просьба звучит технически и мелко. Не «переведите денег», а «поправь драйвер, у меня камера отвалилась». Это просьба помочь, и отказать неловко.

Чего не увидели антивирусы

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

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

Тревожные признаки на встрече

Что происходит Что это значит
Просят вставить команду в терминал Остановиться, это почти всегда захват
Просят скачать файл или открыть страницу для «починки» драйвера Остановиться
У второй стороны внезапно не работают камера или микрофон Предложить перенести встречу
Торопят и говорят, что иначе не успеем обсудить Давление по времени это часть схемы

Правильная реакция одинаковая во всех четырёх случаях: выйти и перенести. Нормальный собеседник на это не обижается.

Что делать до встречи

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

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

Двухфакторную проверку включите везде, и по возможности на независимых каналах: приложение генератора кодов плюс отпечаток или лицо, а не один и тот же почтовый ящик на всё.

Промпт, которым я проверяю машину

Я прогоняю эту проверку раз в неделю. Промпт на английском намеренно: модели на нём точнее, и менять язык под каждую сессию смысла нет. Он написан под macOS, под Windows попросите модель переписать его под вашу систему.

Скопируйте текст целиком и дайте его агенту с доступом к терминалу (Claude Code, Codex).

You are a security auditor doing a threat hunt on this macOS machine. Assume nothing:
this machine MAY BE COMPLETELY CLEAN, and "no threat found" is a valid, expected result.
Do not invent a problem to justify action. Your job is to (1) surface anything suspicious
or anomalous, (2) explain each finding so I understand it, and (3) be ready to neutralise
ONLY if something real is confirmed and ONLY after I approve.

GROUND RULES
- The whole hunt is READ-ONLY. Do not delete, kill, move, or modify anything.
- Distinguish clearly between "normal", "needs a human glance", and "actually malicious".
  Most machines have lots of the first two. Do not raise alarms on legitimate software.
- Hunt by behaviour and anomaly, not a fixed list. Treat as worth checking:
  code running from user-writable paths (~/Library, /tmp, /var/folders, /Users/Shared),
  unsigned / adhoc / non-notarized binaries that have persistence or network access,
  LaunchAgents whose label impersonates a trusted brand (com.apple.* over a third-party
  name like 1Password/Google/CleanMyMac), persistence that launches an interpreter
  (bash/python/osascript) with -c / base64 / curl / eval, established connections to raw
  public IPs with no reverse DNS on odd ports by non-browser processes, several artifacts
  created in the same minute, and recently cleared shell history.

PHASE 1 - COLLECT (read-only). Report what you see at each step, good or empty.
1. Shell history (~/.zsh_history, ~/.bash_history): curl|wget piped to a shell, chmod +x
   in temp, nohup, tput reset, base64 -d | sh, osascript -e, suspicious TLDs
   (.online/.xyz/.top/.shop), any download-and-run one-liners.
2. Persistence: ~/Library/LaunchAgents, /Library/LaunchAgents, /Library/LaunchDaemons.
   Print Label + ProgramArguments + RunAtLoad/KeepAlive + mtime. Flag brand-impersonating
   labels, interpreter launches, and binaries living in user-writable paths.
3. ~/Library/Application Support: flag any com.apple.* folder that contains a Mach-O binary.
4. Processes running from /tmp, /var/folders, /Users/Shared, or fake Application Support
   paths (ps + executable path). Note that AppTranslocation is often a legit quarantined app.
5. Live network: lsof -nP -iTCP -sTCP:ESTABLISHED. Flag established connections to raw public
   IPs (no rDNS) on unusual ports by non-browser processes. Ignore LAN/private/loopback IPs.
6. Other vectors: login/logout hooks (com.apple.loginwindow), cron / at / periodic / emond,
   configuration profiles (profiles list), system/kernel extensions, DYLD_INSERT_LIBRARIES
   in shell env files and launchd EnvironmentVariables, /etc/hosts redirects of sensitive
   domains, proxy (scutil --proxy), DNS overrides, ~/.ssh/authorized_keys, new admin users
   (dscl . -read /Groups/admin), sudoers / sudoers.d, injected lines in shell rc files, GUI
   login items, browser extensions (especially crypto wallets and broad-permission ones).

PHASE 2 - VERIFY each non-obvious item.
- codesign -dv --verbose=4 <path> and spctl --assess --type execute -v <path>.
- shasum -a 256 <path> for any suspect binary (record the hash).
- Trace the parent process and what the binary connects to.
- Give each item a verdict: legitimate / needs-review / malicious, with your reasoning.
- One known campaign to also check for (an EXAMPLE, do not limit to it; absence means nothing):
  domain webcamsdk-update.online ; C2 172.86.126.215 ; files teamsSDK.sh / teamsSDK.bin ;
  fake LaunchAgents com.apple.1Password / com.apple.CleanMyMac / com.apple.Google.

PHASE 3 - REPORT (always). Give a clear overall verdict:
  CLEAN          - nothing malicious found (list the few review items as a sanity check),
  NEEDS REVIEW   - ambiguous items I should confirm, none clearly malicious yet,
  COMPROMISED    - confirmed malicious persistence/process/connection (list evidence).
Be honest. If it is clean, say so plainly and stop. Do not proceed to Phase 4.

PHASE 4 - PREPARE CONTAINMENT (only if Phase 3 = COMPROMISED, and only after I approve
each item). Do not act unprompted.

- First write all evidence to a file: plist contents, hashes, paths, C2 IPs, process list.
- Then propose exact, reversible steps: quarantine (move, NOT delete) to
  ~/quarantine_malware_<date>/, unload the LaunchAgents/Daemons (launchctl bootout), kill
  the live process. Show me the commands and wait for my go-ahead before running them.
- After I approve and you run them, re-check: confirm no malware process and no C2 connection.

PHASE 5 - ADVISE (always, scaled to what you found).
- If COMPROMISED: list every credential/secret to rotate from a CLEAN device (password
  manager, browser passwords, crypto wallets/seeds, .env API keys, SSH keys, email,
  exchanges), tell me to check the mailbox for attacker forwarding rules, and state plainly
  that after an interactive backdoor the only certain cleanup is a full macOS reinstall.
- If CLEAN or NEEDS REVIEW: give short hardening tips (hardware/app 2FA not SMS, do not run
  commands sent during calls, keep seeds off the work machine) and what to glance at manually
  (System Settings > Privacy > Accessibility / Input Monitoring / Screen Recording, which a
  keylogger would need and which this hunt cannot fully read without Full Disk Access).

Start with Phase 1 now and report findings as you go. Remember: finding nothing is a good
and valid outcome. Do not delete or change anything without my explicit approval.

Три вещи в этом промпте важнее остальных.

Вся проверка только на чтение. Агент, который сам удаляет найденное, уносит вместе с этим доказательства, а иногда и рабочие части системы. Удалять он предлагает только после подтверждения, и не удалять, а перемещать в карантин.

«Ничего не нашёл» это нормальный результат. Это сказано в первом же абзаце и повторено в конце. Без такой оговорки модель почти всегда что-нибудь «находит», лишь бы не отвечать пустотой.

Охота идёт по поведению, а не по списку известного. Конкретная кампания с домен webcamsdk-update.online и подменными метками автозапуска указана как пример, а не как весь перечень: её отсутствие ничего не доказывает.

Что делать, если уже случилось

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

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

Что спасло рабочий контур

В корпоративную инфраструктуру они не попали, и причина скучная: двухфакторная и трёхфакторная проверка с разных устройств, весь контур за VPN, доступы разделены по ролям. Личный периметр у большинства людей слабее рабочего, а увести пытаются именно личный, потому что через него легче дойти до остальных.

Если запомнить только одно

Просьба что-то вставить в терминал или скачать во время видеозвонка это не технический сбой. Это и есть атака. В этот момент встреча заканчивается, а не продолжается.

Если это про вашу ситуацию

Разовая сессия на час, 450 евро, или менторство 2000 евро в месяц: 3 созвона по часу и стратегический разбор, работа над одним проектом. Начинается всё с анкеты.

Открыть анкету