Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
AMSI-patches-learned-till-now — Я задокументировал все AMSI-патчи, которые мне известны на данный момент. | Kitploit
Инструменты/GitHubGitHub/reveng007/amsi-patches-learned-till-now
Обход IDS/IPSОбратная инженерияПост-эксплуатацияОбучение и ОбразованиеRed TeamingПодобранные Ресурсы
GitHubreveng007/amsi-patches-learned-till-now

AMSI-patches-learned-till-now

Я задокументировал все AMSI-патчи, которые мне известны на данный момент.

Репозиторий
7211610 месяцев назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Изученные AMSI-патчи на данный момент

Я задокументировал все AMSI-патчи, которые изучил до сих пор

❗ Моё изучение AMSI-патчей на данный момент. Не относится к активам моей компании!

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Этот код пока не предназначен для обхода защиты! Только концептуальный подход!

Ссылки:

  1. https://web.archive.org/web/20220718153535/https://pre.empt.dev/posts/maelstrom-etw-amsi/#Antimalware_Scan_Interface_(AMSI)
  2. https://rastamouse.me/memory-patching-amsi-bypass/

Что ещё предстоит реализовать:

  1. Патчинг AMSI через аппаратные точки останова и VEH: In-Process Patchless AMSI Bypass

Изображение:

Capture

Один из способов патчинга AMSI:

AMSI_patch

Концепции:

1. AmsiOpenSession: Открывает сеанс, в рамках которого можно сопоставлять несколько запросов на сканирование.

a. Чтобы пропустить вход в amsi!AmsiOpenSession+0x4c с помощью jne, если все инструкции до вызова jne выполняются успешно,
=> Мы попадём сразу в amsi!AmsiCloseSession.

Ссылка на видео: https://drive.google.com/file/d/1H0JheGNGzIyWZ62HNLmJ_oeAAUtDGIKd/view?usp=sharing

Спасибо @D1rkMtr за демонстрацию техники использования jne из amsi!AmsiOpenSession Github. Я использовал его шаблон кода для патча AMSI и добавил другие методы, с которыми работал до сих пор.

b. Чтобы пропустить вход в amsi!AmsiOpenSession+0x4c (открывает сеанс, в рамках которого можно сопоставлять несколько запросов на сканирование) с помощью ret, напрямую вставив c3 в начало amsi!AmsiOpenSession,
=> Мы попадём сразу в amsi!AmsiCloseSession.

Ссылка на видео: https://drive.google.com/file/d/1_tpCfJ-aO1wzeEx3Id7b7bTJUyc5ExBw/view?usp=sharing

2. AmsiScanBuffer: Сканирует содержимое буфера на наличие вредоносных программ.

a. Чтобы пропустить выполнение основных инструкций amsi!AmsiScanBuffer с помощью ret, напрямую вставив c3 в начало amsi!AmsiScanBuffer

Ссылка на видео: https://drive.google.com/file/d/1PljZld1aXz89nCO3gQCjYpwSqbEbi4J_/view?usp=sharing

b. Чтобы пропустить ветвь, которая выполняет непосредственное сканирование в amsi!AmsiScanBuffer, и вернуться, напрямую вставив \\xB8\\x57\\x00\\x07\\x80\\xC3 ('mov eax, 0x80070057; ret') в начало amsi!AmsiScanBuffer

Здесь значением (точнее, кодом ошибки) HRESULT является 'E_INVALIDARG' (Источник: https://pre.empt.dev/posts/maelstrom-etw-amsi/#Historic_AMSI_Bypasses)

Спасибо @_RastaMouse_ за этот блог

c. Чтобы пропустить ветвь, которая выполняет непосредственное сканирование в amsi!AmsiScanBuffer, и вернуться, напрямую вставив \\xB8\\x05\\x00\\x07\\x80\\xC3 ('mov eax, 0x80070005; ret') в начало amsi!AmsiScanBuffer

Здесь значением (точнее, кодом ошибки) HRESULT является 'E_ACCESSDENIED' (Источник: https://pre.empt.dev/posts/maelstrom-etw-amsi/#Historic_AMSI_Bypasses)

d. Чтобы пропустить ветвь, которая выполняет непосредственное сканирование в amsi!AmsiScanBuffer, и вернуться, напрямую вставив \\xB8\\x06\\x00\\x07\\x80\\xC3 ('mov eax, 0x80070006; ret') в начало amsi!AmsiScanBuffer

Здесь значением (точнее, кодом ошибки) HRESULT является 'E_HANDLE' (Источник: https://pre.empt.dev/posts/maelstrom-etw-amsi/#Historic_AMSI_Bypasses)

e. Чтобы пропустить ветвь, которая выполняет непосредственное сканирование в amsi!AmsiScanBuffer, и вернуться, напрямую вставив \\xB8\\x0E\\x00\\x07\\x80\\xC3 ('mov eax, 0x8007000E; ret') в начало amsi!AmsiScanBuffer

Здесь значением (точнее, кодом ошибки) HRESULT является 'E_OUTOFMEMORY' (Источник: https://pre.empt.dev/posts/maelstrom-etw-amsi/#Historic_AMSI_Bypasses)

Другие важные блоги:

Автор Ritaban Das: https://github.com/dosxuz/TradecraftImrprovement

  1. Обход AMSI с помощью нулевого символа: https://standa-note.blogspot.com/2018/02/amsi-bypass-with-null-character.html
  2. Win10: Внутреннее устройство AMSI: Обход AMSI: Техника патчинга: https://www.cyberark.com/resources/threat-research-blog/amsi-bypass-patching-technique
  3. Охота за подменой памяти AMSI: https://blog.f-secure.com/hunting-for-amsi-bypasses/
  4. BlackHat 2018: https://i.blackhat.com/briefings/asia/2018/asia-18-Tal-Liberman-Documenting-the-Undocumented-The-Rise-and-Fall-of-AMSI.pdf
  5. Исследование PowerShell AMSI, ведения журнала Script Block и журналирования PowerShell — обход через подозрительные строки: https://www.mdsec.co.uk/2018/06/exploring-powershell-amsi-and-logging-evasion/
  6. Отключение AMSI WLDP Dotnet: https://modexp.wordpress.com/2019/06/03/disable-amsi-wldp-dotnet/
  7. BlackHat 2022: AMSI и обход: обзор известных техник обхода AMSI и представление новой: https://www.youtube.com/watch?v=8y8saWvzeLw
  8. Обход AMSI в локальном процессе с помощью хука NtCreateSection: https://waawaa.github.io/es/amsi_bypass-hooking-NtCreateSection/
  9. Пожизненный обход AMSI: пропатчить первый байт и изменить его с JE на JMP, чтобы он возвращался напрямую... : https://github.com/ZeroMemoryEx/Amsi-Killer
  10. Нейтрализация AMSI во всей системе от имени администратора: https://www.pavel.gr/blog/neutralising-amsi-system-wide-as-an-admin
  11. Попытка отслеживать использование поставщиками средств безопасности интерфейса Microsoft Antimalware Scan Interface: https://github.com/subat0mik/whoamsi
  12. Обход AMSI без патчей, который не обнаруживается сканерами, ищущими патчи кода Amsi.dll во время выполнения: https://github.com/CCob/SharpBlock
  13. Обход AMS1 в Powershell: https://github.com/S3cur3Th1sSh1t/Amsi-Bypass-Powershell
  14. Отключение AMSI и ETW с помощью обфусцированной DLL: https://github.com/icyguider/LightsOut
Скачать инструмент