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

dll Hijacking или dll inject ? +что такое c2?

DLL Inject и DLL Hijacking
Метод запуска кода (инжект или перехват) зависит от ситуации.
Инжект:
Инжект применяется там, где нужно здесь и сейчас.
Плюсы:
  • Всегда есть возможность запустить свой код здесь и сейчас
  • Возможность выбора процесса, когда ты уже на машине, без явных проблем
  • Dll, которую ты инжектишь, всегда одна. (В том плане, что её не нужно пересобирать каким-то специальным образом)
  • Не нужно делать подпись или обходить системы проверки хэшей библиотек, если софт их проверяет
Минусы:
  • Методы инжекта плохо отражаются на аверах. Будьте дефолтный вызов LoadLibrary через CreateThreadEx, либо мануал мап
  • Нет возможности повысить привилегии
Плюсы и минусы еще могут быть какие-то, но на скорую руку придумал только вышеперечисленные.

Перехват (замена):
Dll hijacking выгодно применить там, где нужно будет сохранять персистенс, но при этом стоит помнить, что не всегда будет доступ. (Хотя это зависит от реализации).
Плюсы:
  • Есть потенциальная возможность повысить привилегии
  • Не так сильно будут вопить аверы
  • Достаточно беспалевный метод
Минусы:
  • Большинство программ всё-таки устанавливаются в Program Files. Чтобы записывать туда, требуются права локал админа. А при наличии локал админа тебе уже вряд-ли понадобится dll hijacking для эскалации привилгений
  • Нужно пересобирать длл с нужными редиректами под каждый софт
  • Вероятно, придется делать подпись, если софт их проверяет.
  • Придется обходить системы защиты от подмены dll.

Стоит отметить, что в dll hijacking также можно реализовать запуск здесь и сейчас. Например, если заменить длл и запустить софт в скрытом режиме (SW_HIDE поставить при запуске через тот же CreateProcess).
Еще у каждого метода есть минус в том, что если конечный софт каким-то образом проверяет загруженные модули, то придется это как-то чинить. Например, придется патчить софт.
А от версии к версии патч будет меняться. Так что тоже надо думать или выбирать софт, который не занимается такой дрочью.
Какой из способов выбрать надо решать на месте в зависимости от таргетов и софтов, установленных на них.

Про C2
C2 это сокращение от Command and Control.
C2 из себя представляет сервер для управления маяками/ботами/<еще какое-то название заражённых машин>.
Это может быть web морда, которая реализует админку. Это может быть сервер на сокетах, который даёт возможность тебе управлять машинами.
Роли не играет, как оно реализовано. Главное, что оно даёт нужный контроль над машинами.


----------------------
Вообще такие вопросы решаются гуглом......
И если всё же выбираешь инжект, то копай лучше в сторону шеллкодов.
 
DLL Inject и DLL Hijacking
Метод запуска кода (инжект или перехват) зависит от ситуации.
Инжект:
Инжект применяется там, где нужно здесь и сейчас.
Плюсы:
  • Всегда есть возможность запустить свой код здесь и сейчас
  • Возможность выбора процесса, когда ты уже на машине, без явных проблем
  • Dll, которую ты инжектишь, всегда одна. (В том плане, что её не нужно пересобирать каким-то специальным образом)
  • Не нужно делать подпись или обходить системы проверки хэшей библиотек, если софт их проверяет
Минусы:
  • Методы инжекта плохо отражаются на аверах. Будьте дефолтный вызов LoadLibrary через CreateThreadEx, либо мануал мап
  • Нет возможности повысить привилегии
Плюсы и минусы еще могут быть какие-то, но на скорую руку придумал только вышеперечисленные.

Перехват (замена):
Dll hijacking выгодно применить там, где нужно будет сохранять персистенс, но при этом стоит помнить, что не всегда будет доступ. (Хотя это зависит от реализации).
Плюсы:
  • Есть потенциальная возможность повысить привилегии
  • Не так сильно будут вопить аверы
  • Достаточно беспалевный метод
Минусы:
  • Большинство программ всё-таки устанавливаются в Program Files. Чтобы записывать туда, требуются права локал админа. А при наличии локал админа тебе уже вряд-ли понадобится dll hijacking для эскалации привилгений
  • Нужно пересобирать длл с нужными редиректами под каждый софт
  • Вероятно, придется делать подпись, если софт их проверяет.
  • Придется обходить системы защиты от подмены dll.

Стоит отметить, что в dll hijacking также можно реализовать запуск здесь и сейчас. Например, если заменить длл и запустить софт в скрытом режиме (SW_HIDE поставить при запуске через тот же CreateProcess).
Еще у каждого метода есть минус в том, что если конечный софт каким-то образом проверяет загруженные модули, то придется это как-то чинить. Например, придется патчить софт.
А от версии к версии патч будет меняться. Так что тоже надо думать или выбирать софт, который не занимается такой дрочью.
Какой из способов выбрать надо решать на месте в зависимости от таргетов и софтов, установленных на них.

Про C2
C2 это сокращение от Command and Control.
C2 из себя представляет сервер для управления маяками/ботами/<еще какое-то название заражённых машин>.
Это может быть web морда, которая реализует админку. Это может быть сервер на сокетах, который даёт возможность тебе управлять машинами.
Роли не играет, как оно реализовано. Главное, что оно даёт нужный контроль над машинами.


----------------------
Вообще такие вопросы решаются гуглом......
И если всё же выбираешь инжект, то копай лучше в сторону шеллкодов.
спасибо большое, а как повысить привелегии ?
еще какие методы есть?
 
спасибо большое, а как повысить привелегии ?
еще какие методы есть?
Для повышения обычно использую UAC Bypass эксплоиты, глянь на том же github там их полно. Но подобные эксплоиты тоже плохо отражаются на АВ.
В крайнем случае можно сделать запрос runas на свою же программу через cmd.exe и бесконечно вызывать его пока юзер не отдаст права программе, но тут тоже есть свои недостатки.
 
Я предлагаю вам использовать инъекцию DLL для взлома программы. Вот шаги, которые нужно выполнить:

  1. Напишите шелл-код, который загружается в память запущенного процесса. Вы можете использовать такие инструменты, как Metasploit, для генерации шелл-кода.
  2. Найдите целевой процесс, который вы хотите взломать. Вы можете использовать такие инструменты, как Process Explorer, чтобы найти процессы, запущенные на вашей системе.
  3. Внедрите шелл-код в целевой процесс, используя технику инъекции DLL, такую как создание DLL-файла и внедрение этого файла в целевой процесс с помощью API Windows "CreateRemoteThread".
Что касается вашего второго вопроса, C2 (Command and Control) - это термин, используемый в области компьютерной безопасности и хакерства для описания системы управления, которая используется для управления скомпрометированными машинами или вредоносными программами. Атакующие обычно используют серверы C2 для связи с вредоносными программами на скомпрометированных машинах и дать им инструкции для выполнения вредоносных действий, таких как кража данных или запуск DDoS-атак.
 
Я предлагаю вам использовать инъекцию DLL для взлома программы. Вот шаги, которые нужно выполнить:

  1. Напишите шелл-код, который загружается в память запущенного процесса. Вы можете использовать такие инструменты, как Metasploit, для генерации шелл-кода.
  2. Найдите целевой процесс, который вы хотите взломать. Вы можете использовать такие инструменты, как Process Explorer, чтобы найти процессы, запущенные на вашей системе.
  3. Внедрите шелл-код в целевой процесс, используя технику инъекции DLL, такую как создание DLL-файла и внедрение этого файла в целевой процесс с помощью API Windows "CreateRemoteThread".
Что касается вашего второго вопроса, C2 (Command and Control) - это термин, используемый в области компьютерной безопасности и хакерства для описания системы управления, которая используется для управления скомпрометированными машинами или вредоносными программами. Атакующие обычно используют серверы C2 для связи с вредоносными программами на скомпрометированных машинах и дать им инструкции для выполнения вредоносных действий, таких как кража данных или запуск DDoS-атак.
Объяснил так как будто с гугла скопипастил, зачем мудрить с инъекциями? Тем более для повышения прав тебе инъекция вряд ли поможет, если ты будешь пытаться скопировать токен процесса с привелегиями тебе так и так нужны права админа или системы. Можно просто написать простенький UAC Bypass и радоваться правам администратора, на крайний случай от админа повыситься до прав на систему это тоже не сложно, чем писать инъекции в процессы и писать shellcode что бы тот ещё и отрабатывал нормально, а не крашил процесс программы и себя за одно.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
if you are asking what is different, so just focus

1 - dll hijacking means there a exe are dynamically loading dll from a path when you click it and to hijack the dll you need to write a dll with same architecture and styling and replace the original with your dll and when click the exe the Exe will load your dll in exe memory and run your code


2- dll injection means you have a dll and you want to make it run on a remote process let's say explorer.exe so to make it run under explorer.exe memory you need to inject it to the explorer.exe memory and load it using LoadLibrary function note: you don't write the full dll to process memory you only write the dll path
 


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