• XSS.stack #1 – первый литературный журнал от юзеров форума

Руй-лопез

DildoFagins

TPU unit
Забанен
Регистрация
11.08.2020
Сообщения
4 315
Решения
2
Реакции
5 265
Пожалуйста, обратите внимание, что пользователь заблокирован
https://github.com/S3cur3Th1sSh1t/Ruy-Lopez - баян, конечно, но это к вопросу о том, как, например, криптор может спасти от рантайм детектов (перезагрузив себя как саспендед процесс, похукав в нем загрузку длл и сказав аверским дллкам решительное нет в процессе загрузки). Есть в природе идеи и получше (на мой взгляд), но для некоторых вещей можно и такое попробовать, просто держу в курсе))
 
https://github.com/S3cur3Th1sSh1t/Ruy-Lopez - баян, конечно, но это к вопросу о том, как, например, криптор может спасти от рантайм детектов (перезагрузив себя как саспендед процесс, похукав в нем загрузку длл и сказав аверским дллкам решительное нет в процессе загрузки). Есть в природе идеи и получше (на мой взгляд), но для некоторых вещей можно и такое попробовать, просто держу в курсе))
Не спасет тебя это от рантайм детектов, ты наверное и сам знаешь что такое kernel mode, и что авер оттуда внимательно наблюдает за тобой. Детект по поведению это не только юзермод хуки.
Если авер не сможет загрузить в память свои dll, то это наоборот добавит "паники" по отношению к такому процессу, потому что из ядра авер видит, что вызовы сисколов идут (почти все апишки рано или поздно приводят к ntdll и вызову сискола), а в юзермоде никакие хуки не отрабатывают. Авер выставляет флаги прохождения через его хуки в юзермоде и соответствующие флаги в ядре. Если есть несоответствия - привет алерт. Точно так же детектятся прямые сисколы в обход юзермод хуков. Флаг вызова в ядре есть, а в юзермоде нет, значит хуки обошли.
Я уже обьяснял хорошую технику обхода хуков, для этого надо хучить вызываемые сисколы в ntdll через хардварные бряки и дальшейную трассировку до самого сискола с подменой параметров вызова. Рассмотрим именно ту ситуацию, когда сискол в ntdll уже похукан, и этот хук надо обойти, пересылаю цитату
В параметры кладешь указатели на адреса помеченнеые как PAGE_GUARD, при передаче аргумента с такой памятью при обычном вызове ядро сбрасывает гуард и делает нормальный повторный вызов, а в юзермоде если стоит хук сработает эксепшен, когда авер полезет проверять аргументы и вызов не дойдет до ядра. Подсказываю, после срабатывания эксепшена, ты трассируешь код внутри хука ав и сопровождаешь его до сискола внутри ntdll, на тот момент все "флажки" о том, что был произведен вызов уже установлены, и после этого ты делаешь свой прямой syscall в обход хуков с новыми настоящими аргументами, а первый вызов делается с фейковыми, которые не вызовут подозрений. Более простой способ это влепить бряк на инструкцию syscall, которая вызывается после хука и подменить аргументы там. Чаще всего игры с PAGE_GUARD используются для некоторых других целей.
Лучшее решение это заставить авера думать, что его хуки работают как надо, но на самом деле это будет не так.

Вот ссылка на полное сообщение, почитаешь если интересно - https://xss.pro/threads/26447/post-609597 , https://xss.pro/threads/26447/post-610262

А еще надо помнить, что рантайм детект это не всегда один только анализ вызовов апишек. Это еще сигнатурный анализ памяти, после того как процесс стартовал и криптор распаковал тело в память.
Если ты закриптуешь старый DarkCometRat запатчив до этого его точку входа так, что бы там получился бесконечный цикл, а затем запустишь это под авером, ты все равно получишь детект, и тут дело будет совсем не в поведении на анализе вызовов апишек, а в обычном скане памяти. Любой криптор открывает голое тело билда после распаковки. Что бы этого избежать нужна полноценная система защиты памяти, и это не было и никогда не будет реализовано в крипторах, это надо реализовывать в процессе разработки софта. Например расшифровка функций по мере исполнения и шифровка обратно. Либо хотя бы делать подобие Gargoyle/DeepSleep https://github.com/JLospinoso/gargoyle https://github.com/thefLink/DeepSleep
Крипторы это прошлый век, они спасали только тогда, когда аверы еще не научились сканить память процесса.
 
Последнее редактирование:
Когда речь заходит за обходы, то первое что стоит спросить - на каких EDR и AV это тестировалось, названия, версии.
 
Когда речь заходит за обходы, то первое что стоит спросить - на каких EDR и AV это тестировалось, названия, версии.
EDR ничем не отличается от обычного хорошего авера, за исключением того, что каждый пук в системе логгируется и доступен для дальшейшей форензики инциндента. А методы мониторинга вредоносной активности те же самые.
 
EDR ничем не отличается от обычного хорошего авера, за исключением того, что каждый пук в системе логгируется и доступен для дальшейшей форензики инциндента. А методы мониторинга вредоносной активности те же самые.
А еще оно любит ребутить тачку когда устанавливаешь вех обработчик :) Так что теории это конечно хорошо а вот послушать бы умных людей от практики.
 
А еще оно любит ребутить тачку когда устанавливаешь вех обработчик :) Так что теории это конечно хорошо а вот послушать бы умных людей от практики.
Ну кто как не ты у нас лучший теоретик, в каждой теме умудряешься развести теоретическую духоту и раздуть ее до невозможных размеров. А вот практики от тебя реально никто не видел на этом форуме, одна теория.
 
Ну кто как не ты у нас лучший теоретик, в каждой теме умудряешься развести теоретическую духоту и раздуть ее до невозможных размеров. А вот практики от тебя реально никто не видел на этом форуме, одна теория.
А еще у меня есть сентинель на котором я тестируюсь. И не только. А то что ты принял за духоту было - по жопе тапком, причем ласково так.
 
А еще у меня есть сентинель на котором я тестируюсь. И не только.
Да ты что, не у тебя одного, у меня целый риг виртуалок стоит на каждой из которых и едр и обычные аверы, и я прекрасно понимаю чем отличается авер от едр системы. А про духоту твою уже всему форуму известно, можешь не доказывать что медь это золото.
 
Да ты что, не у тебя одного, у меня целый риг виртуалок стоит на каждой из которых и едр и обычные аверы, и я прекрасно понимаю чем отличается авер от едр системы. А про духоту твою уже всему форуму известно, можешь не доказывать что медь это золото.
Ну то так и прикладывай версии где ты тестил обход, это была бы нормальная практика, иначе неясно что твоя метода конкретно обходит. А за весь форум говорить не спеши, не правильно это когда за большой форму говорит маленькая жопка. Че то ты нервный какой то, агрессивный. У тебя все ок?
 
иначе неясно что твоя метода конкретно обходит.
Начнем с того, что метода это не моя, и не я ее придумал. Но это все гуглится, при наличии мозгов.

А за весь форум говорить не спеши, не правильно это когда за большой форму говорит маленькая жопка. Че то ты нервный какой то, агрессивный. У тебя все ок?
Я знаю во что это перерастет, давно понял что с тобой только так, держи наперед:
Давай напиши еще сообщение, ты же ведь не можешь это так оставить, мастер хочет обладать правом последнего "тяф" в диалоге, как же так, его пнули, а он промолчит, неет, такого нельзя допустить. Надо что-то написать. Что нибудь, лишь бы последним тяфкнуть. Теперь понятно откуда почти 2к сообщений. Тяф тут, тяф там. А если ответили, снова тяф.
 
Оно снова тяфкает. Вот сейчас опять....
Давай напиши еще сообщение, ты же ведь не можешь это так оставить, мастер хочет обладать правом последнего "тяф" в диалоге, как же так, его пнули, а он промолчит, неет, такого нельзя допустить. Надо что-то написать. Что нибудь, лишь бы последним тяфкнуть. Теперь понятно откуда почти 2к сообщений. Тяф тут, тяф там. А если ответили, снова тяф.
 
Такая хорошая тема, но столько дерьма налито уже от двух сапогов
Не спасет тебя это от рантайм детектов, ты наверное и сам знаешь что такое kernel mode, и что авер оттуда внимательно наблюдает за тобой. Детект по поведению это не только юзермод хуки.
Если авер не сможет загрузить в память свои dll, то это наоборот добавит "паники" по отношению к такому процессу, потому что из ядра авер видит, что вызовы сисколов идут (почти все апишки рано или поздно приводят к ntdll и вызову сискола), а в юзермоде никакие хуки не отрабатывают. Авер выставляет флаги прохождения через его хуки в юзермоде и соответствующие флаги в ядре. Если есть несоответствия - привет алерт. Точно так же детектятся прямые сисколы в обход юзермод хуков. Флаг вызова в ядре есть, а в юзермоде нет, значит хуки обошли.
Я уже обьяснял хорошую технику обхода хуков, для этого надо хучить вызываемые сисколы в ntdll через хардварные бряки и дальшейную трассировку до самого сискола с подменой параметров вызова. Рассмотрим именно ту ситуацию, когда сискол в ntdll уже похукан, и этот хук надо обойти, пересылаю цитату

Лучшее решение это заставить авера думать, что его хуки работают как надо, но на самом деле это будет не так.

Вот ссылка на полное сообщение, почитаешь если интересно - https://xss.pro/threads/26447/post-609597 , https://xss.pro/threads/26447/post-610262

А еще надо помнить, что рантайм детект это не всегда один только анализ вызовов апишек. Это еще сигнатурный анализ памяти, после того как процесс стартовал и криптор распаковал тело в память.
Если ты закриптуешь старый DarkCometRat запатчив до этого его точку входа так, что бы там получился бесконечный цикл, а затем запустишь это под авером, ты все равно получишь детект, и тут дело будет совсем не в поведении на анализе вызовов апишек, а в обычном скане памяти. Любой криптор открывает голое тело билда после распаковки. Что бы этого избежать нужна полноценная система защиты памяти, и это не было и никогда не будет реализовано в крипторах, это надо реализовывать в процессе разработки софта. Например расшифровка функций по мере исполнения и шифровка обратно. Либо хотя бы делать подобие Gargoyle/DeepSleep https://github.com/JLospinoso/gargoyle https://github.com/thefLink/DeepSleep
Крипторы это прошлый век, они спасали только тогда, когда аверы еще не научились сканить память процесса.
Спасибо хотя бы за это....
 
Пожалуйста, обратите внимание, что пользователь заблокирован
EDR ничем не отличается от обычного хорошего авера
бред. кортекс и сентинель малварь в рантайме банят даже если юзермодные процессы все кикнуты.
вообще целый ряд отличий там. sentinel one в сэйфмод ребутается вместе с тобой и если процессы его не убьешь и там будет работать.
также у саентила буткит стоит.

cortex еще серьезднее. там забнен весь импакет по дефолту.
даже дешовый Defender for Endpoint - куда серьезднее своей хоум версии - уводит тачку в ребут при детектах и канареку добавили ему - если хост локнут его отрезают от сети.
у меня целый риг виртуалок стоит на каждой из которых и едр и обычные аверы
может они у тебя и стоят - только сранно что они стоят а отличий не видишь. зачем они у тебя стоят?
хз в чем я не прав?
А методы мониторинга вредоносной активности те же самые.
методы те же, но сравнивать реализацию которую продают за 100уе с реализацией за 100к+ - и называть одной и той же - это как минимум странно
но только по суммам - также судить нельзя - к примеру фулл пакет Тренд Микро стоит денег конских - а есета даже хоум версия будет куда серьезднее
что значит серьезднее? -> базы обновляются быстрее, больше хуков выставлено + всякая хрень на тему защиты от эксплоитов + есет EDR также как и кортекс не хочет умирать без выгрузки драйверов. вообще все далеко не однозначно там.
 
бред. кортекс и сентинель малварь в рантайме банят даже если юзермодные процессы все кикнуты.
вообще целый ряд отличий там. sentinel one в сэйфмод ребутается вместе с тобой и если процессы его не убьешь и там будет работать.
также у саентила буткит стоит.

cortex еще серьезднее. там забнен весь импакет по дефолту.
даже дешовый Defender for Endpoint - куда серьезднее своей хоум версии - уводит тачку в ребут при детектах и канареку добавили ему - если хост локнут его отрезают от сети.

может они у тебя и стоят - только сранно что они стоят а отличий не видишь. зачем они у тебя стоят?
хз в чем я не прав?

методы те же, но сравнивать реализацию которую продают за 100уе с реализацией за 100к+ - и называть одной и тойже - это как минимум странно
но только по суммам - также судить нельзя - к примеру фулл пакет Тренд Микро стоит денег конских - а есета даже хоум версия будет куда серьезднее
что значит серьезднее? базы обновляются быстрее, больше хуков выставлено + всекая хрень на тему защиты от эксплоитов + есет EDR также как и кортекс не хочет умирать без выгрузки драйверов. вообще все далеко не однозначно там.
Сейчас он и тебя облает.
 
также у саентила буткит стоит.
Ты про ELAM драйвер?Он и у домашних стоит
Кастомный .EFI подписанный?
методы те же, но сравнивать реализацию которую продают за 100уе с реализацией за 100к+ - и называть одной и тойже - это как минимум странно
Ну он и написал что отличий глобально нет, то что корпоративный продукт с облаком, ML и прочим будет детектить лучше никто не спорит
вообще целый ряд отличий там.
Го, распиши в чем технические отличия edr от AV?
Что EDR делает EDR, а не AV, помимо того что написал dopple
т.е допустим, вот ав делает то-то то-то, а если он еще делает XXX то он уже EDR

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

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

пересылаю цитату
Да ты можешь сразу перед вызовом хука взвести TF и трассировать сколько душе угодно без пейджгардов (даже если хука там не стоит), это тоже баян. Вопрос только в целесообразности этого действия в случае с конкретным авером.

ЗЫ: если мне память не изменяет всем известный в узких кругах "визор" через TF и работал. Надо будет что-нибудь такое запилить потом...

ЗЗЫ: для любознательных, которые не понимают о чем речь, чтобы было удобнее гуглить... TF - trap flag, когда его устанавливаешь, процессор "переходит" в single step режим. После исполнения каждой инструкции возникает исключение, которое можно отловить, допустим, через VEH и трассировать исполнение кода, проводя какой-то анализ над тем, что происходит.
 
Последнее редактирование:
Да ты можешь сразу перед вызовом хука взвести TF и трассировать сколько душе угодно без пейджгардов (даже если хука там не стоит), это тоже баян. Вопрос только в целесообразности этого действия в случае с конкретным авером.
Если бы ты внимательнее читал то что я прислал, в том числе и ссылки, ты бы увидел там описание действий с TF флагом. Ставим хард-бряк на сискол, а дальше трассируем его вплоть до инструкции syscall, и перед самим вызовом подменяем аргументы. Спокойно проходя через весь хук и останавливаясь, там где нам надо. Если хука нет, это никак не виляет на работоспособность алгоритма. При наичии хука трасса пройдет через весь хук, а при его отсутствии только через пролог до инструкции syscall.

ЗЫ: если мне память не изменяет всем известный в узких кругах "визор" через TF и работал. Надо будет что-нибудь такое запилить потом...
Если ты про визоры индюка, то там вообще неизвестно работали они или нет конкретно у него, там было больше болтовни, чем дела, одни интрижки. Но то, что он описывал реализовать можно, и через TF и через PAGE_GUARD на весь код, я проверял это на проекте пошаговой расшифровки кода в процессе исполнения, вполне рабочий метод, правда медленно. Он это называл софт анклавами, но это слишком громкое название для такой примитивной вещи. Ты вроде реализовывал подобное, только не для шифрования отдельных ассемблерных инструкций кода, а целиком шифровал и расшифровывал функции.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Ты вроде реализовывал подобное, только не для шифрования отдельных ассемблерных инструкций кода, а целиком шифровал и расшифровывал функции.
Да, там вся секция кода для простоты заливалась int3 и по одной инструкции расшифровывалось, это можно было бы делать и через TF, но с секцией кода целиком состоящей из int3 (кроме одной инструкции) мне показалось забавнее.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх