Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.

✉️ Email: [email protected]
📲 Telegram канал: https://t.me/zer0kernelorg
💰 Donate (BTC): bc1qwvrgka76eeley8feqdxjxk2866sv0tnweylxjc
AmsiScanBuffer из amsi.dll. Именно её атакующие пытаются нейтрализовать, чтобы вредоносный код прошёл незамеченным.HRESULT AmsiScanBuffer(
HAMSICONTEXT amsiContext,
const void *buffer,
ULONG length,
LPCWSTR contentName,
HAMSISESSION amsiSession,
AMSI_RESULT *result
);
| Параметр | Назначение |
|---|---|
amsiContext | Контекст, полученный при AmsiInitialize |
buffer | Указатель на данные для сканирования |
length | Размер буфера |
contentName | Опциональное имя контента |
amsiSession | Опциональная сессия (может быть NULL) |
result | Указатель на переменную результата |
AmsiScanBuffer, AMSI передаёт буфер антивирусному провайдеру. Если результат — AMSI_RESULT_DETECTED, выполнение блокируется.AmsiScanBuffer, а затем регистрирует vectored exception handler, который перехватывает срабатывание и подменяет аргументы функции.void SetHardwareBreakpoint(void* address) {
CONTEXT context...
REG_BINARY, а на этапе исполнения считывает его обратно в память и запускает. Такой подход не оставляет файлов на диске, усложняет статический анализ и позволяет обойти часть сигнатурных средств защиты.KEY_SET_VALUE и записывает массив байтов shellcode как значение типа REG_BINARY. На уровне WinAPI это выглядит так:// Открытие ключа
RegOpenKeyExA(HKEY_CURRENT_USER, "Control Panel", 0, KEY_SET_VALUE, &hKey);
// Запись payload как REG_BINARY
RegSetValueExA(hKey, "ValueName", 0, REG_BINARY, pShellcode, dwShellcodeSize);
// Закрытие дескриптора
RegCloseKey(hKey);
// Чтение payload из реестра
RegGetValueA(HKEY_CURRENT_USER, "Control Panel", "ValueName",
RRF_RT_ANY, NULL, pBuffer, &dwBytesRead);
VirtualAlloc, права страницы меняются на исполняемые через VirtualProtect, и создаётся поток через CreateThread. Это стандартная цепочка для любого shellcode-раннера, независимо от источника данных.| Преимущество | Пояснение |
|---|---|
| Отсутствие файла на диске | Payload не появляется в файловой системе... |
192.168.1.1, каждые 6 байтов — MAC-адресом вида 00-1A-2B-3C-4D-5E, каждые 16 байтов — IPv6-адресом или UUID.RtlIpv4StringToAddressA из ntdll.dll, для IPv6 — RtlIpv6StringToAddressA, для MAC — RtlEthernetStringToAddressA. Эти функции легитимны и используются в сетевом стеке Windows, поэтому их вызов сам по себе не вызывает подозрений.0xFC, 0x48, 0x83, 0xE4. В обфусцированном виде они будут храниться как строка "252.72.131.228". При декодировании функция RtlIpv4StringToAddressA преобразует эту строку обратно в 4 байта и записывает их в буфер.RtlIpv4StringToAddressA через GetProcAddress и GetModuleHandle.| Слой | Что закрывает |
|---|---|
| Эвристический анализ | Обнаруживает подозрительные конструкции (расшифровщик + jump в данные) независимо от конкретных байтов |
| Статический анализ структуры PE | Аномалии энтропии секций, нестандартные флаги секций, подозрительные импорты |
| Sandbox / динамический анализ | Запускает файл в изолированной среде и фиксирует поведение, даже если сигнатура не сработала |
.text с машинным кодом).AddressOfEntryPoint в IMAGE_OPTIONAL_HEADER..text (код), .data (инициализированные данные), .rdata (константы, импорт), .reloc (релокации) и других. Если сигнатура привязана к содержимому конкретной секции, её удаление или обнуление устраняет детект..text) или обнуление только секции .data меняет хеш файла и разрушает сигнатуру, при этом исполняемый код может остаться функциональным — программа продолжит работать, если не обращается к затёртым данным.bcdedit /set testsigning on).