Представьте ситуацию: антивирус молчит, система работает нормально, но вы подозреваете, что на компьютере что-то не так. Может быть, кто-то установил программу без вашего ведома, или вредоносный файл пытается скрыться среди системных документов. Один из классических приёмов маскировки — переименование исполняемого файла .exe в .txt и прячущее его в одной из системных папок. Расскажу, как найти такой файл быстро и без специальных инструментов, которые не у всех под рукой.
- Почему вообще кто-то прячет .exe под видом .txt
- Что нужно знать перед поиском
- Шаг 1. Включите отображение скрытых файлов и расширений
- Шаг 2. Поиск через командную строку — самый надёжный способ
- Шаг 3. PowerShell: ищем файлы по сигнатуре, а не по расширению
- Шаг 4. Где искать — приоритетные папки
- Шаг 5. Проверка через встроенный Защитник Windows
- Шаг 6. Проверка цифровой подписи
- Типичные ошибки при поиске
- Что делать в зависимости от ситуации
- Как не допустить появления таких файлов
- Итог
Почему вообще кто-то прячет .exe под видом .txt
Идея простая: пользователь видит файл с расширением .txt и думает, что это безобидный текстовый документ. Даже если он случайно кликнет по нему, Windows по умолчанию откроет его в Блокноте, а не запустит. Но если кто-то изменит ассоциацию файлов или использует другой способ запуска, такой файл может выполнить вредоносный код. Кроме того, многие стандартные проводники и поисковые утилиты по умолчанию не показывают расширения файлов, что делает маскировку ещё эффективнее.
Системные папки — идеальное укрытие. Там сотни и тысячи файлов, пользователь редко туда заглядывает, а антивирусы могут пропустить подозрительный файл, если он не проявляет активности.
Что нужно знать перед поиском
Прежде чем бросаться искать, запомните несколько важных вещей:
- Скрытые файлы и папки не отображаются в проводнике по умолчанию. Включите их показ, иначе вы просто не увидите то, что ищете.
- Расширения файлов тоже скрыты по умолчанию. Это значит, что файл «readme.txt» на самом деле может быть «readme.txt.exe». Обязательно включите отображение расширений.
- Системные папки — не только C:\Windows. Вредоносный файл может прятаться в C:\Windows\Temp, C:\Users\Имя\AppData, C:\ProgramData, C:\Windows\System32\Tasks и десятках других мест.
- Не удаляйте файлы вслепую. Некоторые системные файлы могут выглядеть подозрительно, но быть критически важными для работы системы.
Шаг 1. Включите отображение скрытых файлов и расширений
Это база, без которой всё остальное бессмысленно.
- Откройте любую папку и перейдите на вкладку «Вид» в верхнем меню.
- Поставьте галочку «Скрытые элементы».
- Нажмите «Параметры» → «Изменить параметры папок и поиска».
- Перейдите на вкладку «Вид».
- Снимите галочку «Скрывать расширения для зарегистрированных типов файлов».
- Также снимите галочку «Скрывать защищённые системные файлы» — появится предупреждение, согласитесь.
- Нажмите «Применить» и «ОК».
Теперь вы видите всё, что есть в системе. Это сразу упрощает задачу.
Шаг 2. Поиск через командную строку — самый надёжный способ
Проводник Windows с его графическим поиском — штука удобная, но медленная и не всегда находит то, что нужно. Командная страка работает быстрее и точнее.
Откройте командную строку от имени администратора. Для этого нажмите Win+X и выберите «Командная строка (администратор)» или «Windows PowerShell (администратор)».
Вот команда, которая найдёт все файлы с расширением .txt в системных директориях:
dir /s /a C:\Windows\*.txt
Разберём, что она делает:
/s— искать во всех подпапках рекурсивно/a— показывать файлы с любыми атрибутами, включая скрытые и системныеC:\Windows\*.txt— искать в папке Windows все файлы с расширением .txt
Но нам нужно не просто найти .txt файлы, а проверить, какие из них на самом деле являются исполняемыми. Для этого есть более мощный инструмент — PowerShell.
Шаг 3. PowerShell: ищем файлы по сигнатуре, а не по расширению
Вот где начинается самое интересное. Расширение файла — это просто текст в имени. Настоящий тип файла определяется его содержимым, а конкретно — первыми байтами. У исполняемых файлов есть характерная сигнатура: первые два байта всегда «MZ» (шестнадцатеричные 4D 5A).
Это значит, что если файл называется «log.txt», но внутри начинается с «MZ», перед вами исполняемый файл, замаскированный под текстовый документ.
Вот скрипт для PowerShell, который проверяет все .txt файлы в указанной директории на наличие исполняемой сигнатуры:
Get-ChildItem -Path "C:\Windows" -Recurse -Filter "*.txt" -Force -ErrorAction SilentlyContinue | ForEach-Object {
bytes = [System.IO.File]::ReadAllBytes(_.FullName)
if (bytes.Count -ge 2 -andbytes[0] -eq 0x4D -and $bytes[1] -eq 0x5A) {
Write-Host "ПОДОЗРИТЕЛЬНЫЙ ФАЙЛ: (_.FullName)"
Write-Host "Размер: (_.Length) байт"
Write-Host "Изменён: (_.LastWriteTime)"
Write-Host "---"
}
}
Что делает этот скрипт:
- Берёт все файлы с расширением .txt в папке C:\Windows и всех подпапках
- Читает первые два байта каждого файла
- Если они равны 4D 5A — выводит полный путь, размер и дату изменения
Параметр -Force заставляет PowerShell видеть скрытые и системные файлы. -ErrorAction SilentlyContinue подавляет ошибки доступа — к некоторым системным файлам вы всё равно не сможете получить доступ.
Шаг 4. Где искать — приоритетные папки
Проверять всю систему целиком — долго. Лучше начать с мест, где замаскированные файлы прячутся чаще всего:
| Папка | Почему именно здесь | Что искать |
|---|---|---|
| C:\Users\Имя\AppData\Local\Temp | Временные файлы, сюда часто сбрасывают загрузки и установщики | Любые .exe под видом .txt, особенно с недавней датой создания |
| C:\Users\Имя\AppData\Roaming | Запускается при входе пользователя, популярное место для закрепления | Файлы без цифровой подписи, с подозрительными именами |
| C:\ProgramData | Доступна всем пользователям, не требует повышенных привилегий для записи | Скрытые файлы, маскирующиеся под системные логи |
| C:\Windows\Tasks | Планировщик задач — классический способ автозапуска | Любые файлы, которых здесь быть не должно |
| C:\Users\Имя\Downloads | Сюда всё скачивается по умолчанию | Файлы с двойным расширением типа «document.txt.exe» |
Шаг 5. Проверка через встроенный Защитник Windows
Если вы нашли подозрительный файл, но не уверены, что он вредоносный, можно проверить его через встроенный антивирус без установки дополнительных программ.
Откройте PowerShell от администратора и выполните:
Start-MpScan -ScanPath "C:\Users\Имя\AppData\Local\Temp" -ScanType CustomScan
Или проверьте конкретный файл через командную строку:
"C:\Program Files\Windows Defender\MpCmdRun.exe" -Scan -ScanType 3 -File "C:\путь\к\файлу.txt"Защитник просканирует файл и выдаст результат. Если это действительно вредоносный исполняемый файл, он будет обнаружен.
Шаг 6. Проверка цифровой подписи
Легитимные программы от известных разработчиков имеют цифровую подпись. Если файл выглядит как системный, но подписи не имеет — это повод насторожиться.
Щёлкните правой кнопкой по файлу → Свойства → вкладка «Цифровые подписи». Если вкладки нет — подписи нет. Для массовой проверки можно использовать PowerShell:
Get-AuthenticodeSignature -FilePath "C:\путь\к\файлу.txt"Если статус —
NotSigned, файл не имеет подписи. Это не обязательно означает вредоносность, но в сочетании с исполняемой сигнатурой внутри — серьёзный красный флаг.Типичные ошибки при поиске
Вот что обычно делают неправильно:
- Ищут только по расширению. Если файл называется «svchost.txt», а внутри — исполняемый код, поиск по *.exe его не найдёт. Нужно проверять содержимое, а не имя.
- Не включают показ скрытых файлов. Половина всех спрятанных файлов просто не видна в проводнике по умолчанию.
- Проверяют только C:\Windows. А ведь AppData, ProgramData и Temp — гораздо более вероятные места для маскировки.
- Удаляют файл сразу, не разобравшись. Можно сломать систему, удалив что-то важное. Сначала проверьте, потом решайте.
- Используют только графический поиск проводника. Он медленный, не видит скрытые файлы без дополнительных настроек и не умеет проверять сигнатуру файлов.
Что делать в зависимости от ситуации
Если вы нашли один подозрительный файл и хотите понять, что это: загрузите его на VirusTotal (virustotal.com) — бесплатный сервис, который проверяет файл десятками антивирусов. Не загружайте туда конфиденциальные документы.
Если вы системный администратор и проверяете компьютер сотрудника: используйте PowerShell-скрипт из шага 3, но расширьте его на все профили пользователей. Добавьте логирование результатов в файл, чтобы было что предъявить.
Если компьютер ведёт себя подозрительно и вы хотите проверить всё сразу: загрузите систему с загрузочного антивирусного диска (например, Kaspersky Rescue Disk). Это позволит проверить файлы, которые заблокированы работающей системой.
Если вы нашли файл, но не можете его удалить: скорее всего, он запущен как процесс. Откройте диспетчер задач, найдите процесс по имени файла, завершите его, после чего удалите файл. Если не получается — загрузитесь в безопасном режиме и удалите оттуда.
Как не допустить появления таких файлов
Профилактика проще, чем поиск:
- Включите отображение расширений файлов на всех компьютерах — это снимает половину проблем с маскировкой.
- Настройте политику запуска: файлы из Temp и Downloads по умолчанию не должны запускаться без подтверждения.
- Используйте учётную запись без прав администратора для повседневной работы — это не даст вредоносному файлу закрепиться в системе.
- Регулярно проверяйте папки автозапуска: shell:startup для текущего пользователя и shell:common startup для всех.
Итог
Найти замаскированный .exe под видом .txt — задача на два шага. Первый: включите отображение скрытых файлов и расширений, чтобы видеть реальную картину. Второй: используйте PowerShell для проверки файлов по сигнатуре «MZ» — это единственный надёжный способ отличить настоящий текстовый файл от исполняемого.
Начните с папок Temp, AppData и ProgramData — там вероятность найти замаскированный файл выше всего. Не удаляйте файлы вслепую, сначала проверьте их через VirusTotal или встроенный Защитник. И помните: если файл имеет расширение .txt, но внутри содержит исполняемый код — это почти наверняка не то, чем кажется.
