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

Статья Исследуем и обходим перехваты/хуки функций на уровне пользователя

Пожалуйста, обратите внимание, что пользователь заблокирован
ВМ никак не спасает от детектов по поведению.
Я скорее имел ввиду от детекта в памяти.
 
Я скорее имел ввиду от детекта в памяти.
Я вижу из менее проблемных путей для обхода авера - чистка сорцов на сигнатуру, чтоб в памяти не детектили
Зачем чистить, если можно скрыть память от авера. Че заебала теория? Ну ловите практику, проверить может любой у кого десятка и есть ав.
Берем Win10 и Defender(вообще любой авер). Открываем консоль powershell. Да любой разрядности бери. Да-да, это интерпретатор, так что компилить ниче не надо, можно вводить по команде и кайфовать. Находим лакмусовый кусок кода. Пример моего лакмусового кода.

1612641348721.png

Write-Host это что то типа функции в powershell, выводит на экран контент. Аналог вашим принтам и сиаутам. 'Invoke-Mimikatz' строка-аргумент для функции, в данном контексте тут очевидно это сигнатура для авера. По этому я назвал это лакмусовым кодом. При попытке исполнения ловим детект. В консоль сообщение не выводится.
А теперь магия.
1612641596008.png

Вводим такое и о чудо, уже дает исполнить. Строка выводится на экран, детектов нет. Шо це за магія хлопці, то взагалі законно таке?

P.S кто хочет осознать глубину и философию конструкции, идущей перед вторым Write-Host 'Invoke-Mimikatz' - читаем https://xss.pro/threads/46583/post-294286.

P.P.S не для нативщиков, им только индеклавы дрочить, при всем уважении)))
P.P.P.S пост будет очищен в ближайшее время.
 
Последнее редактирование:
Пожалуйста, обратите внимание, что пользователь заблокирован
Вводим такое и о чудо, уже дает исполнить. Строка выводится на экран, детектов нет. Шо це за магія хлопці, то взагалі законно таке?
Обход амси никак не относится к детектам по памяти, амси вообще к нативному коду никак не отноносится.
 
Обход амси никак не относится к детектам по памяти, амси вообще к нативному коду никак не отноносится.
К нативному да, не относится. Я где то это сказал сейчас?
"По детектам в памяти". Я хрен знает, что для тебя есть детект в памяти. Но что, по твоему, произошло на скрине?)
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Но что, по твоему, произошло на скрине?)
Это абсолютно не важно, он говорил про совершенно другое, но тебе зачем то нужно было сделать черную магию из публичного обхода амси многолетней давности.
 
Это абсолютно не важно, он говорил про совершенно другое, но тебе зачем то нужно было сделать черную магию из публичного обхода амси многолетней давности.
В том и суть, что магии то никакой нет по факту. И я знаю, что это паблик, я тебе даже дату могу назвать и кто нашел это, есть лишь доля сарказма в сторону того, что люди дрочатся над тем, что по факту решено уже на другом уровне абстракции и называется мифически "Обход AMSI", только суть понимают единицы, что это дает по факту. Иначе это бы это использовали повсеместно, ибо это решает одну из основополагающих задач малвари по обходу сигнатурного детекта в памяти, да, на другом уровне абстракции, но какая разница, если задача решаема легко и просто?). Еще меньше людей понимают причины, почему все так(описанная в посте по ссылке проблематика детекта IR кода в легитимных интерпретаторах и что нужен какой-то канал для анализа, чем и выступает COM AMSI). Сарказм идет от того, что если бы в нативе было чето подобное - это было бы вахвах рокетсаенс за 500к usd в приватных приватах. При этом то, что имеется под носом(в целом .NET тему) - поливают отборным хейтом, хотя из коробки решаются задачи, решения которых все тут ищут.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Сарказм идет от того, что если бы в нативе было чето подобное - это было бы вахвах рокетсаенс за 500к usd в приватных приватах. При этом то, что имеется под носом(в целом .NET тему) - поливают отборным хейтом, хотя из коробки решаются задачи, решения которых все тут ищут
Скрипты и дотнет не решает в глобальном плане детекты по памяти и облака. Вне зависимости от того, как ты обойдешь амси, и сколько слоев эвалов ты сделаешь. Дотнет исполняемые файлы в итоге весят в памяти, как и все текстовые скрипты (не могу сказать, про пауершелл, но вбс и жскрипт висят в памяти на всем протяжении работы процесса, вне зависимости от хоста, будь то вскрипт/цскрипт, мсхта, сцрконс, сцробж и тд). То есть авер может сканировать память, дампить их и отправлять в облако наряду с нативным кодом. Плюс ко всему есть еще ETW и WLDP, которые тоже не мешало бы обойти. Сам запуск скриптов (даже безфайловый) виден всяким EDR системам. Тут тоже куча проблем.
 
То есть авер может сканировать память, дампить их и отправлять в облако наряду с нативным кодом
Сам интерпретатор является причиной многих бед.
1)К примеру JScript логирует стек вызовов, с аргументами в чистом виде, в не зависимости от обфускаций. И это все летит по AMSI каналу аверу на скан.
2)
и сколько слоев эвалов ты сделаешь.
Именно интерпретатор каждый слой эвала процессит по AMSI каналу аверу. Так, чтобы это делал авер, основываясь только на дампе памяти процесса - не находил информации. По этому конкретно в контексте powershell хотелось бы увидеть POC на дамп powershell скриптов не по каналу AMSI. Второй момент - чем только не пугали, но по факту ласт версии дефендера не умеют эмулировать даже конкатенацию строк. Пруф.
1612645798798.png

А ты говоришь про рокетсаенс дамп памяти не по каналу AMSI, какие то сложные эмуляции всех слоев...:)
Они даже клиртекст с под лога интерпретатора эмулить не умеют.
Плюс ко всему есть еще ETW и WLDP, которые тоже не мешало бы обойти. Сам запуск скриптов (даже безфайловый) виден всяким EDR системам. Тут тоже куча проблем.
А еще можно в принципе powershell и его основные фичи вроде рефлексии заблочить. Проблемы везде есть. Знаешь, как сеньор разработки пш считает?
1612646054557.png

Но это что касается бизнеса..но не хомячковых PC, где все по дефолту разрешено, нет навороченных EDR. А теперь сравни эти "проблемы" и дефолтного краба с форума, который паблик стилл покупает, криптует и думает что это его спасет. Мы щас обсуждаем redteam богов или же местный рыночек? Это тоже важно понимать, ибо если второе, озвученные тобой "проблемы" и не проблемы вовсе, по сравнению с тем, на каком уровне находятся "работяги". Это ж совершенно иной уровень бытия энивей.
3) Глобально конечно же не решает. Кто же спорит. Но решает на другом уровне. На уровне IR кода. Пока многие ав не научатся работать идеально хотя бы с клиртекстом с под выхода AMSI - байпасс будет работать. Пока ав не научатся НЕ ориентироваться на AMSI канал, а работать исключительно с дампом памяти(находить там скрипт и его раскручивать) - обход AMSI концептуально будет являться сокрытием исполняемых инструкций от анализа. Но тогда зачем нужно было изобретать AMSI? Если ав могли бы идеально и без него дампить и раскручивать скрипты, анализируя процесс. Не задумывался по теме? Почему все в один голос кричат что тот же powershell V2 является небезопасным..?
Звучит скептически? Тогда почему проблема актуальна с 2016 года по сей день?
Скрипты и дотнет не решает в глобальном плане детекты по памяти и облака
 
Последнее редактирование:
Пожалуйста, обратите внимание, что пользователь заблокирован
P.P.S не для нативщиков, им только индеклавы дрочить, при всем уважении)))
Я более склоняюсь как выше писал, чистить сорцы, вызывать сисколами и исполнить чистый инжект.
Учить пш, переписать проекты, разобраться в амси, все тестить... такое... Знаю, что оно того стоит, но пш те же функции хука делается с гемором т.к. под плюсы и си дохера готовых либ.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Знаю, что оно того стоит, но пш те же функции хука делается с гемором т.к. под плю
Даже до функции хука, чтобы заинжектить пауершелл код в нативный процесс тебе понадобится нативный шелл/длл, который дотнет рантайм подгрузит и пауершельные длл. Этот шелл будет в памяти и вполне может палиться, так что ты обратно придешь к тому от чего пытался уйти.

Так, чтобы это делал авер, основываясь только на дампе памяти процесса - не находил информации.
Ну, как говорится, блажен тот, кто верует. Попробуй потестировать на Касперском. Запускаешь пш, делаешь обход амси, грузишь в память какую-нить палевную скриптовую шнягу, открываешь интерфейс Касперского и нажимаешь сканирование важных областей или как то так там это называется. Он тебе просканит память процессов. Я не гарантирую, что это должно спалится, но мало ли.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
если сделать на гейте выдачу сисколов по OC разраядности и версии билда винды?
Это лишнее (в контексте того же лохера), достаточно хардкодить NtCreateFile, а все иное уже брать с реальной ntdll.

в целом .NET тему) - поливают отборным хейтом, хотя из коробки решаются задачи, решения которых все тут ищут.
мне сложно дискутировать на тему, в которой плохо понимаю (как работает шарп и т.д.). В плане, как его детектят аверы и почему так просто пропатчить этот амси. А хейт, потому что уже говорили не раз - таких как ты спецов единицы, остальные кодеры на шарп сам знаешь какие. Это как вот взять Visual Basic - знаю человека, который пропатчил бейсик, поправил там генерацию кода, разреверсил внутренние опкоды и т.д. Но толку, все равно в глазах большинства вб выглядит сам знаешь как, ибо 99% "кодеров" умеют только Form1->click или как там его.

Обсуждали уже когда-то, но напишу еще раз. Вот есть партнерки тех же локеров, с бюджетами в сотни к баксов на чистки и т.д. Почему никто из них не додумался сделать локер чисто на ПШ? Без возни с морферами сорцев и протекторами РЕ файлов, которые ес-но на порядок сложнее, чем код выше. Однако же пишут на нативе. И ладно бы кодеры (да, я консерватор), но овнерам же пофиг на все эти условности, натив-не натив, им нужен результат. Однако, все идет как идет, почему?
 
достаточно хардкодить NtCreateFile, а все иное уже брать с реальной ntdll.
Что-то не пойму, а что ты имеешь в виду под "хардкодить NtCreateFile" ?
Взять из ntdll ассемблерный код, или что ?

Однако, все идет как идет, почему?
Да интересный вопрос, мне кажется потому-что на нативе быстрее, да и думаю не всё можно сделать на ПШ...

Плюс ещё, что локеры могут нацелены на разные ОС, а если использовать тот-же шарп, он не везде и стартанет.)

А-так да, тоже интересно, почему те-же Ревилы используют именно Си, а не какие-то новомодные решения ?)
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Что-то не пойму, а что ты имеешь в виду под "хардкодить NtCreateFile" ?
Номер сискола захардкодить, он там мало менялся, и вызывать в зависимости от ОС (семерка и ниже такой-то, выше другой).

Плюс ещё, что локеры могут нацелены на разные ОС, а если использовать тот-же шарп, он не везде и стартанет.)
Я был очень удивлен, когда узнал что некоторым локерщикам надо поддержка 2003 или вин2к (тут обсуждали), но все же, думаю, большинство ориентированы на 2008 и выше, где пш стоит.

используют именно Си
Я бы ответил, но не хочу опять разжигать холивар на 20 страниц))
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Номер сискола захардкодить, он там мало менялся, и вызывать в зависимости от ОС (семерка и ниже такой-то, выше другой).
Это лишнее (в контексте того же лохера), достаточно хардкодить NtCreateFile, а все иное уже брать с реальной ntdll.
Как думаешь, ринг0 авера хучат все функции, которые с ринг3 идут?
Думаю, если по жесткому хучат CreateFile на ринг0, то брать с ntdll не вариант.
Я был очень удивлен, когда узнал что некоторым локерщикам надо поддержка 2003 или вин2к (тут обсуждали), но все же, думаю, большинство ориентированы на 2008 и выше, где пш стоит.
Да, бывают в сетках пк оч старые. Им нужна гарантия что везде заработает. А у пш вроде с 7.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Зачем чистить, если можно скрыть память от авера. Че заебала теория? Ну ловите практику, проверить может любой у кого десятка и есть ав.
Берем Win10 и Defender(вообще любой авер). Открываем консоль powershell. Да любой разрядности бери. Да-да, это интерпретатор, так что компилить ниче не надо, можно вводить по команде и кайфовать. Находим лакмусовый кусок кода. Пример моего лакмусового кода.
Такой вопрос. Invoke-Mimikatz - это инвок переписанного мимика под пш или маппинг exe мимикатза?
Если второй случай, то байпасом амси думаю можно сделать чистый крипт loadpe/runpe.
 
Как думаешь, ринг0 авера хучат все функции, которые с ринг3 идут?
Думаю, если по жесткому хучат CreateFile на ринг0, то брать с ntdll не вариант.
Всё зависит от антивируса, например нод на ринг3 вообще ничего не хучит, значит смысл сисколов для него нет, Аваст как мы видели много хучит, Касперский не знаю, да запусти тулзу Рела из-под антивируса, да посмотри...)

Сисколы я думаю тоже не самый такой новый вариант, у антивирусов появились другие методы детекта, просто по какой-то причине, не все используют...

Там-же всякие виртуальные машны, гипревизоры и т.д., также и облака.)

Если говорить про файловые системы, да можно сделать фильтр и тем самым мониторить процессы, кто и как использует этот самый CreateFile.)
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Там-же всякие виртуальные машны, гипревизоры и т.д., также и облака.)
До поры до времени все это введут, а амси поумнеет. И закроют дыры всякие.
По поводу пш - это еще на 10-15 лет.
А нейтив почему не лочат? Вопрос года.
 
А нейтив почему не лочат? Вопрос года.
Так уверен что не лочат ?

Если про локеры, вопрос как они распространяются, может там ав просто вырубают и всё.
Ну и штатный АВ винды ещё далек от идеала, хотя его так просто тоже не обойти сейчас...)))
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Так уверен что не лочат?
Говно стиллеры с рантаймом +10 дают 80 отстука. При этом бывает, что мажорные аверы стоят судя по логам.
Если про локеры, вопрос как они распространяются, может там ав просто вырубают и всё.
Да, бывает цитрикс и рдп аксесс. Вручную вырубают. Хотя в теории можно написать тулзу, которая запускает авер, скрывает от юзера, эмулирует нажатие кнопок off и вырубает... Софт на лям будет и превад превад xD Даже интересное такое написать.
Ну и штатный АВ винды ещё далек от идеала, хотя его так просто тоже не обойти сейчас...)))
Писал софт, который по идее должен палиться, но деф не детектит. Если примерно, то софт, который прямо хуярит трастовый процесс венды. Как тебе такое Илон Маск?
 
Хотя в теории можно написать тулзу, которая запускает авер, скрывает от юзера, эмулирует нажатие кнопок off и вырубает...
Это кстати относительно не сложно делать, покури AutoIT, язык очень простой и позволяет писать такие штуки...)

Я когда-то давно-давно, баловался РМС, незнаю помнит-кто, раньше очень модно было у скрипткиддисов, скрытый радмин, можно например было скрыто нафоткать например как девочка что-то там делает и т.д.)))

Я даже статью про это на Хабре написал:https://habr.com/ru/post/238495/

Так-вот, эта РМС палила себя, там скрытой установки не было, в своё время писал скрипт, при помощи аутоит в автомате нажимались кнопочки, типо там "Далее", закрывались окна и т.д.:)

Короче по факту была незаметная работа, для жертвы, окошки только немного мелькали и всё.:)

Ну это так, вспомнил просто...:)
 


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