Вопрос Не могу понять почему Windows Defender не детектит XOR-шифрование

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
21 Июн 2025
Сообщения
69
Реакции
2
Почему дефендер не детектит шифрование строк?(винда у меня лицензированная)
Я когда это заметил, решил написать простой шифровальщик .txt файлов на Си для проверки, дефендер тоже не задетектил, хотя была подозрительная последовательность вызовов апи функций:
Шифрование AES-256
1759771324718.png

И вот еще, только тест с полезной нагрузкой, строки зашифрованы с помощью XOR:
1759771409160.png


Мне просто интересно, с помощью XOR шифрования так просто обойти статический анализ дефендера?

Алгоритм XOR-а:
xor:
Expand Collapse Copy
void xor_encrypt_decrypt(char *input, char *output, const char *key, int input_len) {
    int key_len = strlen(key);
  
    for (int i = 0; i < input_len; i++) {
        output[i] = input[i] ^ key[i % key_len];
    }
    output[input_len] = '\0';
}
 
Почему дефендер не детектит шифрование строк?(винда у меня лицензированная)
Я когда это заметил, решил написать простой шифровальщик .txt файлов на Си для проверки, дефендер тоже не задетектил, хотя была подозрительная последовательность вызовов апи функций:
Шифрование AES-256
Посмотреть вложение 317164
И вот еще, только тест с полезной нагрузкой, строки зашифрованы с помощью XOR:
Посмотреть вложение 317165

Мне просто интересно, с помощью XOR шифрования так просто обойти статический анализ дефендера?

Алгоритм XOR-а:
xor:
Expand Collapse Copy
void xor_encrypt_decrypt(char *input, char *output, const char *key, int input_len) {
    int key_len = strlen(key);
 
    for (int i = 0; i < input_len; i++) {
        output[i] = input[i] ^ key[i % key_len];
    }
    output[input_len] = '\0';
}
возможно он устал...
 
Почему дефендер не детектит шифрование строк?(винда у меня лицензированная)
Я когда это заметил, решил написать простой шифровальщик .txt файлов на Си для проверки, дефендер тоже не задетектил, хотя была подозрительная последовательность вызовов апи функций:
Шифрование AES-256
Посмотреть вложение 317164
И вот еще, только тест с полезной нагрузкой, строки зашифрованы с помощью XOR:
Посмотреть вложение 317165

Мне просто интересно, с помощью XOR шифрования так просто обойти статический анализ дефендера?

Алгоритм XOR-а:
xor:
Expand Collapse Copy
void xor_encrypt_decrypt(char *input, char *output, const char *key, int input_len) {
    int key_len = strlen(key);
 
    for (int i = 0; i < input_len; i++) {
        output[i] = input[i] ^ key[i % key_len];
    }
    output[input_len] = '\0';
}
Защитник в основном ищет известные сигнатуры и шаблоны поведения. XOR это базовый алгоритм, который используется в куче легального ПО для обфускации, поэтому он сам по себе не считается вредоносным.

Насчёт твоего теста:
Дефендер не видит в XOR угрозы, потому что это просто операция с байтами. Нет вызовов подозрительных API, которые явно говорят о чем то подозрительном, ратке например.

Если бы твоя программа массово шифровала файлы разных расширений (не только .txt) и меняла их расширения, тогда бы сработала поведенческая защита (Cloud Protection). Но для .txt файлов это маловероятно они не считаются критичными.


AES не детектит потому что скорее всего, потому что ты используешь системные Crypto API (как в коде на скриншоте). Обычные проги тоже так делают. Если бы ты использовал кастомную реализацию AES с подозрительными действиями, тогда бы мог сработать поведенческий анализ.
 
Защитник в основном ищет известные сигнатуры и шаблоны поведения. XOR это базовый алгоритм, который используется в куче легального ПО для обфускации, поэтому он сам по себе не считается вредоносным.

Насчёт твоего теста:
Дефендер не видит в XOR угрозы, потому что это просто операция с байтами. Нет вызовов подозрительных API, которые явно говорят о чем то подозрительном, ратке например.

Если бы твоя программа массово шифровала файлы разных расширений (не только .txt) и меняла их расширения, тогда бы сработала поведенческая защита (Cloud Protection). Но для .txt файлов это маловероятно они не считаются критичными.


AES не детектит потому что скорее всего, потому что ты используешь системные Crypto API (как в коде на скриншоте). Обычные проги тоже так делают. Если бы ты использовал кастомную реализацию AES с подозрительными действиями, тогда бы мог сработать поведенческий анализ.


Писал уже ту, которая массово шифрует рекурсивным методом, не детектит, принцип тот же

Я же говорю, последовательность вызовов апи подозрительная,но я их зашифровал с помощью xor
 
Последнее редактирование:
дефендер всегда детектил шифрование строк
+ зашифрованы строки с подозрительной последовательностью апи вызовов
не правда, он может закрывать глаза на шифрование строк
 
Писал уже ту, которая массово шифрует реверсивным методом, не детектит, принцип тот же

Я же говорю, последовательность вызовов апи подозрительная,но я их зашифровал с помощью xor
Мало того, я даже делал так, чтобы для каждого зашифрованного файла был свой RSA ключ, то есть не один статический какой то char key = какое-то колво, а с использованием динамической памяти. Это максимальное подозрение должно было вызвать у дефендера, но ему чет похуй
не правда, он может закрывать глаза на шифрование строк
да дефендер сам по себе странно работает, либо да, либо нет. мне помню говорили что это лучший антивирус и на "анализ его логики детекта у тебя уйдут недели", но чет пока не видно что он лучший
 
Последнее редактирование:
Писал уже ту, которая массово шифрует реверсивным методом, не детектит, принцип тот же

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

Настоящие шифровальщики бьют по документам, базам, фото, архивам всему, что ценное а .txt файлы редко бывают конечной целью.
Ты не удаляешь теневые копии (VSS), не меняешь расширения файлов, не оставляешь угроз вымогателя. Это ключевые триггеры для поведенческого анализа.
Crypto API и базовые операции вроде XOR используются в тысячах нормальных программ для защиты данных. Сам по себе вызов CryptEncrypt не преступление.
Если бы твоя программа:

Рекурсивно шифровала C:\Users\, C:\Documents
Меняла расширения на .encrypted или .locked
Удаляла теневые копии через vssadmin.exe delete shadows /all /quiet
Оставляла в каждой папке READ_ME_FOR_DECRYPT.txt
Тогда бы сработала Cloud Protection и, скорее всего, появилось бы предупреждение о ransomware.

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

Вывод:
Не стоит недооценивать Защитник. Он пропускает твои тесты не потому что "тупой", а потому что они не попадают под профиль реальной угрозы. Для детекта нужна комплексная вредоносная активность, а не просто факт использования шифрования.
 
Ты шифруешь только .txt файлы. Для Защитника это не выглядит как настоящая атака, потому что:
Я же написал, что шифрую абсолютно все файлы кроме системных, я реализовывал это уже, не детектит
 
да дефендер сам по себе странно работает, либо да, либо нет. мне помню говорили что это лучший антивирус и на "анализ его логики детекта у тебя уйдут недели", но чет пока не видно что он лучший
я занимался его изучением, и анализ логики действительно занимает кучу времени
 
я занимался его изучением, и анализ логики действительно занимает кучу времени
седня гляну что там
в первую очередь хочу проанализировать MsMpEng.exe, т.к как говорят это некий "движок детектора" задача которого сканирование файлов на диске, проверка запускаемых процессов
 
Последнее редактирование:
седня гляну что там
в первую очередь хочу проанализировать MsMpEng.exe, т.к как говорят это некий "движок детектора" задача которого сканирование файлов на диске, проверка запускаемых процессов
я сейчас чекнул, я обнаружил сканер, а дальше лень было, завтра чекну

msmpeng вызывает функцию CreateFileW для открытия файла, после чего вызывает FindFirstFileW чтобы проходить по папкам/файлам

IMG_20251008_054443_279.jpg


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

завтра через отладку чекну, надо чекнуть что происходит во время динамической дешифровки памяти и что там вообще будет
 
Последнее редактирование:
Назад
Сверху Снизу