Комментарии 8
Нет ли общего списка признаков, характерных для виртуальных сред и песочниц? Раз вредоносы часто завершаются, обнаруживая себя в песочнице, напрашивается простой перестраховочный способ - снабдить компьютер признаками песочницы.
Количество признаков и вариантов их проверки стремится к бесконечности, но не проще ли тогда работать в настоящей виртуальной машине?
Один из самых лучших таких детектеров тут https://github.com/hfiref0x/VMDE/blob/master/src/vmde/detect.c . Однако, мимикрировать под такие признаки сложнее, чем создавать просто папки в "Program Files".
Все очень хорошо, мне лично только атрибуция и вывод не очень понравились.
А функция хеширования на рис. 16 - это Chromium SuperFastHash ;-)
вот здесь не очень понятно - ищет kernel32.dll по crc32 хэшу (0x6A4ABC5B)
- в разных виндах и битности у kernel32.dll разные наверное crc?
Конечно, в разных версиях ОС у kernel32.dll разные CRC.
Поиск kernel32.dll осуществляется через PEB в памяти текущего процесса по имени библиотеки (BaseDllName). Чтобы не было явного сравнения с kernel32 в коде, имя библиотеки хешируется и сравнивается с 0x6A4ABC5B. Это стандартная практика неявного получения необходимых функций. Обычно получают LoadLibrary, GetProcAddress, VirtualAlloc, VirtualProtect). Здесь можно посмотреть пример поиска
https://www.ired.team/offensive-security/code-injection-process-injection/finding-kernel32-base-and-function-addresses-in-shellcode . Только по ссылке не используется хеширование.
А что там в пдфке, открываемой в MSIE? Чем отвлекают жертву?
Изучаем троянскую повестку с мимикрией под XDSpy