Полиморфизм в Delphi. А почему бы и нет?
| |
Anton93 | Дата: Воскресенье, 29.09.2013, 13:36 | Сообщение # 1 |
Продвинутый
Зарегистрирован: 06.01.2010
Группа: Модераторы
Сообщений: 320
Статус: Offline
| Доступно только для пользователей
ICQ: 41896
Сообщение отредактировал Anton93 - Воскресенье, 29.09.2013, 13:43 |
|
| |
Neo | Дата: Воскресенье, 29.09.2013, 15:41 | Сообщение # 2 |
Модератор
Зарегистрирован: 04.05.2010
Группа: Модераторы
Сообщений: 317
Статус: Offline
| А я думал,что будет пример)))
|
|
| |
Anton93 | Дата: Воскресенье, 29.09.2013, 16:08 | Сообщение # 3 |
Продвинутый
Зарегистрирован: 06.01.2010
Группа: Модераторы
Сообщений: 320
Статус: Offline
| Neo, пример если выкладывать то только в приват, полиморфных движков на delphi я еще не встречал вообще.
ICQ: 41896
|
|
| |
Slash | Дата: Воскресенье, 29.09.2013, 22:36 | Сообщение # 4 |
Постоянный
Зарегистрирован: 20.12.2012
Группа: Пользователи
Сообщений: 161
Статус: Offline
| Цитата (Anton93) Neo, пример если выкладывать то только в приват, полиморфных движков на delphi я еще не встречал вообще. Криптор Morphine полиморфный, при этом с открытым исходным кодом.
|
|
| |
Anton93 | Дата: Воскресенье, 29.09.2013, 23:16 | Сообщение # 5 |
Продвинутый
Зарегистрирован: 06.01.2010
Группа: Модераторы
Сообщений: 320
Статус: Offline
| Slash, морфин использует Assembler, более того, его уже не обновляют и собраные приложения не идут под x64. я же предлагаю метод без ассемблера, чтобы не возникало таких нежданчиков.
ICQ: 41896
|
|
| |
Anton93 | Дата: Вторник, 01.10.2013, 11:24 | Сообщение # 6 |
Продвинутый
Зарегистрирован: 06.01.2010
Группа: Модераторы
Сообщений: 320
Статус: Offline
| Доступно только для пользователей
ICQ: 41896
Сообщение отредактировал Anton93 - Вторник, 01.10.2013, 15:37 |
|
| |
Anton93 | Дата: Вторник, 05.11.2013, 14:53 | Сообщение # 7 |
Продвинутый
Зарегистрирован: 06.01.2010
Группа: Модераторы
Сообщений: 320
Статус: Offline
| Доступно только для пользователей
ICQ: 41896
Сообщение отредактировал Anton93 - Вторник, 05.11.2013, 14:55 |
|
| |
ramzeswr | Дата: Среда, 06.11.2013, 08:08 | Сообщение # 8 |
Участник
Зарегистрирован: 17.04.2013
Группа: Пользователи
Сообщений: 61
Статус: Offline
| Anton93, молодец, прям слов нет. Респект и уважуха)
|
|
| |
xXxSh@dowxXx | Дата: Среда, 06.11.2013, 12:41 | Сообщение # 9 |
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
| Да, зачетно!, большую работу проделал, молодец) Удивило, особенно реакция аверов, а в частности "Avira", никогда бы не подумал что она может показывать такие результаты
Сообщение отредактировал xXxSh@dowxXx - Среда, 06.11.2013, 12:42 |
|
| |
Anton93 | Дата: Воскресенье, 17.11.2013, 20:39 | Сообщение # 10 |
Продвинутый
Зарегистрирован: 06.01.2010
Группа: Модераторы
Сообщений: 320
Статус: Offline
| Доступно только для пользователей
ICQ: 41896
Сообщение отредактировал Anton93 - Воскресенье, 17.11.2013, 20:41 |
|
| |
xXxSh@dowxXx | Дата: Понедельник, 18.11.2013, 01:14 | Сообщение # 11 |
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
| Отлично!, будем ждать результатов, прям заинтриговал)))
|
|
| |
dolphin | Дата: Понедельник, 18.11.2013, 10:20 | Сообщение # 12 |
Администратор
Сообщений: 906
Статус: Offline
| Anton93, к твоему посту №10, когда то тоже заморачивался с таблицей импорта и шифрованием функций на делфи, правда приходилось кое где использовать ассемблерные вставки, но все таки вот такой ехе получился на выходе (во вложении), вполне рабочий и без использования таблички импорта, функции импортируются по ходу выполнения программы, можно убрать секции размер которых по 512 байт, их Делфийский линковщик все равно вставляет, но они пустые и не используются. Приложил очищеные системные модули, в dpr необходимо все равно вписать exitprocess в конце, потому что я и ее удалил из них, думаю пригодятся наработки.
А вообще по теме в моем понимании полиморфизм на делфи будет представлять собой некое соединение DCC32.EXE (Компилятор делфи) и функционала привязанного к нему то есть генератор исходного полиморфного кода который будет каждый раз генерировать новый модифицированный исходник и DCC32.EXE в свою очередь будет его компилировать, без него в принципе не обойтись в нашем случае. А все приведённые выше блок схемки относятся скорее всего к возможным задачам ассемблера.
Плюс еще добавил Project2 где просто облегченная версия, на стадии облегчения №1 (когда код очищается от ненужных функций)
Система: Windows 10 x64, Kali Linux Среды программирования: Delphi 7, Delphi 10.x
Я не профессионал, я всего лишь любитель Я не вредитель, я всего лишь теоретик
Сообщение отредактировал dolphin - Понедельник, 18.11.2013, 10:42 |
|
| |
Anton93 | Дата: Понедельник, 18.11.2013, 14:52 | Сообщение # 13 |
Продвинутый
Зарегистрирован: 06.01.2010
Группа: Модераторы
Сообщений: 320
Статус: Offline
| Доступно только для пользователей
ICQ: 41896
Сообщение отредактировал Anton93 - Понедельник, 18.11.2013, 14:55 |
|
| |
Neo | Дата: Среда, 20.11.2013, 15:51 | Сообщение # 14 |
Модератор
Зарегистрирован: 04.05.2010
Группа: Модераторы
Сообщений: 317
Статус: Offline
| Anton93, Зачётно,моложец!
|
|
| |
Anton93 | Дата: Суббота, 30.11.2013, 18:48 | Сообщение # 15 |
Продвинутый
Зарегистрирован: 06.01.2010
Группа: Модераторы
Сообщений: 320
Статус: Offline
| Доступно только для пользователей
ICQ: 41896
Сообщение отредактировал Anton93 - Суббота, 30.11.2013, 18:52 |
|
| |
C@T | Дата: Вторник, 03.12.2013, 01:43 | Сообщение # 16 |
Авторитетный
Зарегистрирован: 06.03.2010
Группа: Модераторы
Сообщений: 265
Статус: Offline
| Anton93, молодец что решил посвятить себя таким вещам как крипторы. насколько я понял твой крипт работает как матрешка(ехе-ха внутри расшифровщика), т.е крипт несет в себе шифрованное тело другого ехе файла, который он потом загружает в память и исполняет. такой вид крипторов очень популярный, я писал аналогичный криптор но на плюсах, который давал на chk4me.com результат 0/24. но у него есть огромный минус, хоть он и спасает от антивирусов, но это все пока ты его не "пустишь в бой" , начнет палится сам стаб(контейнер который несет в себе шифрованную ехе-шку) , далее в таком крипте не заставит труда вытащить тело твоей зашифрованной ехе-шки , что умеют делать некоторые антивирусы, даже достаточно большая часть. в итоге приходится чистить стабы, что очень трудоемко, в данном виде крипторов очень сложно сделать именно полиморф, который бы генерил не просто разные по сигнатуре файлы, забивая их мусором, к примеру, в данном крипторе почти не спасает криптонуть ехе-шку с другим ключем шифрования, например(все выше сказанное это не догадки, а личный опыт).(еще как минус можно отнести отсутствие ресурсов, но это не страшно)
по поводу криптора советовал бы тебе сделать так же подгрузку ДЛЛ-лек при обработки импортов, т.е не вызывать LoadLibrary и GetProcAddress , а подгрузать длл из файла в память и в ней тоже обрабатывать импорты и релоки , желательно еще и tls. и подумать все таки над алгоритмом рандомизирования кода, что в высокоуровневых языках очень сложно.
пожелания, надеюсь ты доведешь все это хотя бы до того что бы твой расшифровщик был на асме и напишешь алгоритм рандомизации ассемблерных инструкций + посмотришь в сторону интерпритации кода, что бы с твоего криптора не могли стянуть дамп зашифрованной внутри ехе-хи.(с последним у самого большие проблеммы)
|
|
| |
Anton93 | Дата: Вторник, 03.12.2013, 10:29 | Сообщение # 17 |
Продвинутый
Зарегистрирован: 06.01.2010
Группа: Модераторы
Сообщений: 320
Статус: Offline
| Доступно только для пользователей
ICQ: 41896
Сообщение отредактировал Anton93 - Вторник, 03.12.2013, 10:38 |
|
| |
d4rkzy | Дата: Четверг, 19.12.2013, 17:28 | Сообщение # 18 |
Постоянный
Зарегистрирован: 15.11.2013
Группа: Пользователи
Сообщений: 135
Статус: Offline
| Anton93, Молочуля - прям слов нет. Можешь чуть больше рассказать о работе стаба (Т.e как происходит запуск полезной нагрузки, твоими словами боеголовки=) А то щас криптор пишу, на делфях, работает как шифрованный ехе в стабе который расшифрует этот ехе и заинжектит в память (Т/е все в памяти) - Смог обойти рыночные антивирусы (Дрвеб, аваст и тк) а вот мелочные палять эвристикой - что делать уже не знаю, думаю твой рассказ поможет и мне и другим ребятам =)
|
|
| |
Anton93 | Дата: Воскресенье, 22.12.2013, 20:37 | Сообщение # 19 |
Продвинутый
Зарегистрирован: 06.01.2010
Группа: Модераторы
Сообщений: 320
Статус: Offline
| Цитата больше рассказать о работе стаба
на самом деле, по понятным причинам, пока не хотелось бы палить работу стаба . Во всяком случае я уже нашел три разных способа "выполнения внутри себя".
Цитата А то щас криптор пишу, на делфях, работает как шифрованный ехе в стабе который расшифрует этот ехе и заинжектит в память (Т/е все в памяти)
метод, как писали выше популярный и эффективный, так что работаешь в верном направлении
Цитата Смог обойти рыночные антивирусы (Дрвеб, аваст и тк) а вот мелочные палять эвристикой - что делать уже не знаю
по обходу, и в частности по обфускации, хотелось бы сказать многое, за последние полгода, взрыв топовой эвристики идет с пол щелчка, я понял на, что они смотрят, и как это можно обойти/замусорить/растянуть, что ни эмулятор кода, ни анализатор не выдерживают, поэтому постом тут не ограничиться, хотелось бы вынести все в отдельную статью/тему. Что касается не топовых решений, я думаю там в большинстве случаев можно отнести к ложным срабатываниям, известно что на пустой проект делфи из 20 ав 10-8 дают реакцию на безобидный файл, поэтому я с большей уверенностью могу сказать, что идет ложное срабатывание, и я не верю, что они настолько могут сильно раскрутить в эмуляторе exe'шку чтобы добраться до нужного, когда абсолютные лидеры уже бессильны.
ICQ: 41896
|
|
| |
xXxSh@dowxXx | Дата: Среда, 25.12.2013, 21:18 | Сообщение # 20 |
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
| Anton93 слушай, я так понимаю ты каждый раз тестируешь то что у тебя получается на вирустотале, так?
а на самих антивирусах тестировать не пробовал? да, конечно я понимаю что это муторно ставить каждый раз новый АВ для теста, но что то мне подсказывает, я даже больше скажу, скорее всего так и есть, что на вирустотале тупо ложные срабатывания, и результаты оттуда будут значительно отличаться от реальной ситуации с установленным АВ.
Так что не поленись, попробуй установить и проверить хотя бы часть из тех что у тебя на вирустотале показывали детектед.
Сообщение отредактировал xXxSh@dowxXx - Среда, 25.12.2013, 21:20 |
|
| |
Anton93 | Дата: Среда, 25.12.2013, 21:44 | Сообщение # 21 |
Продвинутый
Зарегистрирован: 06.01.2010
Группа: Модераторы
Сообщений: 320
Статус: Offline
| Доступно только для пользователей
ICQ: 41896
Сообщение отредактировал Anton93 - Среда, 25.12.2013, 21:59 |
|
| |
d4rkzy | Дата: Пятница, 27.12.2013, 14:51 | Сообщение # 22 |
Постоянный
Зарегистрирован: 15.11.2013
Группа: Пользователи
Сообщений: 135
Статус: Offline
| Anton93, Спасибо за ответ Большинство ав ушли после запутки кода (Функция в функции и опять в функции) Рынок сбил, в итоге скан файла вышел 24/3 - Из маинстрима кричит только Avira - что с ней не так я не пойму, толи ученные в их лаборатории сидят толи что. Цитата понял на, что они смотрят, и как это можно обойти/замусорить/растянуть, что ни эмулятор кода, ни анализатор не выдерживают, поэтому Надеюсь в скором времени напишешь статью, было бы интересно почитать =)
Не можешь написать что нибудь про обход Avira? А то уже мозг переломал - не понимаю почему детект срабатывает
Цитата скажу больше, даже премиум акк взял на chk4me чтобы тестировать прям сразу после компиляции и фиксить, помню в день файлов по 50 сливал, не меньше. вот тогда и понял кто на что кричит)) А я вот тоже купил премиум у них В день слил им более 60файлов - искал часть кода на которую ав кричат =)
|
|
| |
Anton93 | Дата: Суббота, 28.12.2013, 17:34 | Сообщение # 23 |
Продвинутый
Зарегистрирован: 06.01.2010
Группа: Модераторы
Сообщений: 320
Статус: Offline
| Доступно только для пользователей
ICQ: 41896
|
|
| |
d4rkzy | Дата: Суббота, 28.12.2013, 19:46 | Сообщение # 24 |
Постоянный
Зарегистрирован: 15.11.2013
Группа: Пользователи
Сообщений: 135
Статус: Offline
| Anton93, chk4me щас не работает - скан кину сразу как отвиснет он, а кричала вроде бы как get.drop (не то что - скину скан позже)))
Цитата Anton93 ( ) необходимо опытным путем установить, на какую именно функцию идет реакция, чтобы точно знать что обфускацировать Т/е просто удалять функции и проверять на вирусы (если да, то я весь код можно сказать снес уже - авира кричать не перестала)
|
|
| |
Anton93 | Дата: Суббота, 28.12.2013, 21:18 | Сообщение # 25 |
Продвинутый
Зарегистрирован: 06.01.2010
Группа: Модераторы
Сообщений: 320
Статус: Offline
| Доступно только для пользователей
ICQ: 41896
|
|
| |
|