Juliy Caesar
Пассажир
- Сообщения
- 6
- Реакции
- 11
Итак, дорогие друзья, в этой статье я хотел бы рассмотреть несколько своих способов детекта автоматического анализа. Под словом "своих" я подразумеваю, что во-первых, они сами прийшли мне в голову, как пуля к Кеннеди. Во-вторых, я немного поискал в гугле, и ничего кроме стандартных так и не нашел (а может и не сильно хотел найти).
Мотивация
Не секрет, что многие техники безнадежно устарели. К примеру, тайминг через замер времени до и после вызова функции Sleep мало того, что абсолютно бесполезен, так еще бинарь получает красный флаг в свою копилку. Тоже самое и с CheckRemoteDebuggerPresent. Да и туевой хучей других методов.
Окей, ближе к делу.
1) Проверяем запущеные процессы
Итак, это можна назвать классикой, если не баяном. По канонам, проверяется запущенность (от слова запускать) процессов таких как wireshark, vmware tools, ida, etc. Ну, такое.
Взамен, я предлагаю проверять не те процессы, что не должны быть запущены. Наоборот, нужно смотреть те процессы, которые должны быть запущены. К примеру, я знаю, что моя лошадка пасется гдето на просторах интернета под многогласным слоганом "Скачать бесплатно усилитель сигнала wifi для Windows" и только там. А теперь посмотрим на ситуацию с точки зрения пользователя. Он видит это чудо, качает и !важный момент! сразу запускает. Очевидно, что в таком случае должен быть запущен Хром/Файрфокс/Амиго/тдтп. Если ничего такого не было в списке процессов - значит самое время делать харакири. (Естественно, пользователь мог и позже открыть наш файлик, но камон, это скорее исключение из правил).
2) Проверяем название окон
Необходимое условие: лошадка должна распостранятся в архиве. Тогда юзер откроет этот архив, увидит там чтото и естественно запустит то чтото. Важный момент: архиватор все еще будет запущеным. И стоит уяснить небольшой момент: в заголовке окна (window title) будет название открытого файла.
Вот пруф.
PS: 7-zip отображает полный путь к файлу, что тоже следует учесть.
3) Интерактивность
Один из огромнейших недочетов полной автоматизации, с которым запросто справляется любой пользователь - это возможность тыкать на кнопочки. К примеру, можна показать пользователю пользовательськое соглашение и начать делать грязные делишки только после того, как тот согласится. В то же время, предки будущих терминатор, эти мерзкие машины падут пред вами на колени! И да, можна детально не прорабатывать приманку, которая покажется пользователю после соглашения. Он ничего не заподозрит, если програма, по никому не ясным причинам, выдаст вместо договоренности к оплате ошибку "Program error 0x391. Try to reinstall program".
Спасибо, что дочитали эту статью до конца. Я не стал ее награждать вставками кода, ведь основная цель - донести мысль к читателю, а кто захочет - тот сам напишет.
И если у вас есть какие-либо идеи касательно других способов, которые являются на ваше мнение достойны внимания и вам не жаль ими поделиться с миром - напишите в коменты, я (как и многие другие) буду рад узнать что-то новое.
2020.02.25, Juliy Caesar
PS: в следующей статье я хочу сделать реализацию этих методов (+ возможно кое-что подкину) и затестить в полевых условиях
Вот еще неплохая подборка
Мотивация
Не секрет, что многие техники безнадежно устарели. К примеру, тайминг через замер времени до и после вызова функции Sleep мало того, что абсолютно бесполезен, так еще бинарь получает красный флаг в свою копилку. Тоже самое и с CheckRemoteDebuggerPresent. Да и туевой хучей других методов.
Окей, ближе к делу.
1) Проверяем запущеные процессы
Итак, это можна назвать классикой, если не баяном. По канонам, проверяется запущенность (от слова запускать) процессов таких как wireshark, vmware tools, ida, etc. Ну, такое.
Взамен, я предлагаю проверять не те процессы, что не должны быть запущены. Наоборот, нужно смотреть те процессы, которые должны быть запущены. К примеру, я знаю, что моя лошадка пасется гдето на просторах интернета под многогласным слоганом "Скачать бесплатно усилитель сигнала wifi для Windows" и только там. А теперь посмотрим на ситуацию с точки зрения пользователя. Он видит это чудо, качает и !важный момент! сразу запускает. Очевидно, что в таком случае должен быть запущен Хром/Файрфокс/Амиго/тдтп. Если ничего такого не было в списке процессов - значит самое время делать харакири. (Естественно, пользователь мог и позже открыть наш файлик, но камон, это скорее исключение из правил).
2) Проверяем название окон
Необходимое условие: лошадка должна распостранятся в архиве. Тогда юзер откроет этот архив, увидит там чтото и естественно запустит то чтото. Важный момент: архиватор все еще будет запущеным. И стоит уяснить небольшой момент: в заголовке окна (window title) будет название открытого файла.
Вот пруф.
PS: 7-zip отображает полный путь к файлу, что тоже следует учесть.
3) Интерактивность
Один из огромнейших недочетов полной автоматизации, с которым запросто справляется любой пользователь - это возможность тыкать на кнопочки. К примеру, можна показать пользователю пользовательськое соглашение и начать делать грязные делишки только после того, как тот согласится. В то же время, предки будущих терминатор, эти мерзкие машины падут пред вами на колени! И да, можна детально не прорабатывать приманку, которая покажется пользователю после соглашения. Он ничего не заподозрит, если програма, по никому не ясным причинам, выдаст вместо договоренности к оплате ошибку "Program error 0x391. Try to reinstall program".
Спасибо, что дочитали эту статью до конца. Я не стал ее награждать вставками кода, ведь основная цель - донести мысль к читателю, а кто захочет - тот сам напишет.
И если у вас есть какие-либо идеи касательно других способов, которые являются на ваше мнение достойны внимания и вам не жаль ими поделиться с миром - напишите в коменты, я (как и многие другие) буду рад узнать что-то новое.
2020.02.25, Juliy Caesar
Сообщение обновлено:
PS: в следующей статье я хочу сделать реализацию этих методов (+ возможно кое-что подкину) и затестить в полевых условиях
Сообщение обновлено:
Вот еще неплохая подборка
Пожалуйста Войдите или Зарегистрируйтесь чтобы видеть скрытые ссылки.
Последнее редактирование: