Перейти к содержанию

theoretic

Пользователь
  • Публикаций

    16
  • Зарегистрирован

  • Посещение

Репутация

39 Excellent

Информация о theoretic

  • Звание
    Rank №2
  1. VS 2015/2017 и obfuscator-llvm(4.0)

    VS 2015/2017 и obfuscator-llvm(4.0). Кто-нибудь пробывал подружить эти две вещи?
  2. Cтатьи: Reverse Engineering a JavaScript Obfuscated Dropper Javascript Deobfuscation Tools Redux Люди сталкивались с подобной проблемой: https://reverseengineering.stackexchange.co...ated-javascript https://stackoverflow.com/questions/1292171...-readable-again В журналу “INCEPTION #4” есть статья "Билдим свой JScript лоадер". В комплекте файлы JS-loader и обфускатор на питоне. Начинающему разрабу можно начинать с этого примера обфускаторa. А дальше гугл в помощь Гугли: javascript deobfuscation, javascript obfuscation patterns, javascript malware :kiss:
  3. Apocalypse Спасибо за комментарий. Абстрагируемся от сферической разработки. На ней и питоне свет клином у меня не сошелся. Веб не рассматриваю - в свое время им пересытился. Хочу уточнить Ваше мнение по возможным путям движения для себя. Стартовые навыки: *python - выше среднего *С - ниже среднего *Reversing - средний(х86, все кроме кроме того, что требует Dynamic Symbolic Execution) *знания про АВ почерпнуты из Antivirus Hacker Book Вариат №1: С криптор Какие исходники лучше взять за основу с открытого доступа? Какой срок создания MVP(minimum valuable product)? Вариант №2: Downloaders based on Microsoft Office Exploits Предусловие: до месяца изучение по книге Modern Exploit Development Какой срок создания MVP(minimum valuable product)? Вариант №3: Криптолокер. Написать самостоятельно -> заказать крипт -> заказать средство доставки -> заказать рассылку -> профит. Какие исходники лучше взять за основу с открытого доступа? Какие стартовые вложения в крипт, средства доставки и рассылку? Что по срокам и отдаче? Какие подводные камни для каждого из вариантов? В каком порядке по приоритетности(по легкости старта) вы бы расставили эти варианты? Какие варианты вы бы могли дописать к этому списку? Список не исчерпывающий ! - предлагайте также свои варианты - буду признателен!
  4. for al1en фигня - это "кейв". пруф оф концепт засовывания стаба в фигню тут. Уважаемый, поменьше пустого скепсиса, побольше конструктива, в том числе конструктивной критики и рекомендаций. А я-я-й! :P for Apocalypse :D Буду рад если телепортируете меня в свой суровый мир )). И это шутка с большой доле-е-ей правды! Места нет, мы раздвигаем екзешник и создаем между cуществующими функциями code_cave нужного нам размера(несколько кило или мегабайт например) for Cream and ALL стоит ли игра свеч при создании криптора на Питоне на базе данного ExeGapper по аналогии с peCloack и с тем что написал Cream ? - ниже цитата: Python oтличается от Пыха большим наличием библиотек от парсинга до обфускации. Будет ли коммерчески актуальна и выгодна такая реализация криптора? Как соотношение трудозатраты/окупаемость по сравнению с классической реализацией на С ? for pixe1 and ALL В сторону инфекторов РЕ не смотрю, нет видения как их монетизировать. Как их монетизировать? for ALL Вопрос который больше всего меня волнует - это коммерчески правильная точка приложения усилий в данном направлении(Reversing,Python,Packers), или в системном (C\С and system programming). Цель - MVP(minimum valuable product) готовый для продажи или как сервис за 1-2 месяца. Будет плюсом, если наработки описанные здесь пойдут в дело, если это возможно.
  5. Синхронизируем употребляемые термины "кейв" == щель == code_cave == gap_in_text Если крипт-сервис получает екзешник на крипт и "кейв" в конце секции '.text' меньше размера заготовленного стаба со всеми антисендбоксами, фальш таблицой импорта, резолвингом оригинального импорта и прочим. Тогда есть 3 варианта: :snooks: 1) присобачить в конце секцию со стабом(самый технически простой), но есть одно но. АВ эвристика, увидев исполняемую секцию в конце файла, вторую по счету в РЕ-файле, вознаградит Вас дополнительными баллами, чего хотелось бы избежать. Для реализации требуется корректировка только РЕ-хедеров. :snooks: 2) если РЕ-файл имеет Relocation Directory(Table), возможно создать кейв либо в начале, либо в конце любой секции. Ввиду минимального опыта реверсинга х86-64 предположу, что данный вариант подходит только для х86-32, так как х86-64 код является Position Independent Code (PIC) и, в том числе, использует RIP-relative addressing для относительной адресации данных(с секции кода в секции данных). Последнее предложение требует подтверждения, либо опровержения. Это вариант уже немного посложнее - требуется корректировка не только РЕ-хедеров, но и абсолютных ссылок. :snooks: 3) создать "кейв" в середине секции '.text', что делает предложенный мною ExeGapper. По сравнению с вторым вариантом тут нужно также скорректировать относительные ссылки в коде(relative Call,Jmp,Jcc instructions) и "кейв" делать между функциями, чтобы не поломать последние, и без IdaPro тут никак. Кто-то возможно возразить, что можно воспользоваться дизассемблером capstone, - но опять есть но - это линейнный дизассемблер, задизассемблит в том числе и то что не нужно - например Jump Table и некоторые прочие артефакты от компилятора в секции кода('.text'). Кто-то возможно посоветует radare2 - но и там не сахар, определение функций желает лучшего. Единственное, что может быть шустрой альтернативой, - это BinaryNinja с его Python API, Multi-Threading и GUI-less processing, нужно купить Нинзю и пpобывать.
  6. Да, некоторые из, например BitDefender.
  7. Сигнатура - в самом простом своем проявлении узнаваемая последовательность байт - любых байт(инструкции, байты с секции '.data', '.rsrc', байты хедеров), в том числе могут быть байты иконки. Бывают: >>Простые: ----Byte-Streams signature (по последовательности байт) - самая простая форма, самый известный пример: (EICAR) antivirus testing fle ----Checksums/Hashsum signature - контрольные суммы, или криптографические хешы последовательностей байт. >>Сложные: -----Fuzzy Hash signature - файл по определенным правилам(как правило основываясь на структуре РЕ) делиться на блоки и для каждого считается хеш. По сути тепер сигнатура - это много хешей, и для срабатывания детекта, нужно чтобы, на совпало, не меньше там какого-то количества хешей. То есть, чтоб обойти такую сигнатуру - не достаточно изменить допустим один байт в хедерах. -----Graph-Based Hashes for Executable Files (call graph, flow graph) - хеш графа вызовов или контрол графа. Очень жрет ресурсы, поэтому применяется ограничено. ------ и прочие
  8. :P тут да перестарался c детализацией) Хотя ....... возражу, -- х86 архитектура, 32/64 разрядность. Принято писать х86(подразумевая разрядность 32) и х86-64. Перестарался и написал х86-32, каюсь - грешен.... Читай название топика : Наработки по манипуляции РЕ-файлом PE может быть ехе, или dll. Вах, дАрaгой. тут я с тобой не соглашусь. Без релоков - не раздвинешь секции, а тем более на сделаешь щель в середине секции .text, Ибо релоки содержат относительные адреса абсолютных ссылок (RVA of VA в простонародье). Которые нужно соответственно корректировать - все смещается. Без релоков - это анрил. Ну чисто гипотетически можно с того IdaPro или BinaryNinja вытянуть абсолютные ссылки, а также их относительные адреса или оффсеты, но это будет error prone , и каждый n-ый екзешник будет поломан. Ну а radare2 - я даже не хочу упоминать в этом контексте. В конце процесса создание щели секция .reloc может быть удалена за ненадобностью(опционально). Малварь может содержать иконку привлекательную, может содержать также рандомные ресурсы в секции .rsrc для замыливания глаз(читай уменьшения энтропии, изменения сигнатуры и т.д.) Секции смогут раздвинуть, но только с помощью релоков, без них только за аппендидь в конец секцию можно, чтобы нечего не поломать, ну а раздвинуть секцию '.text' без Иды смогут только используя ее аналог. А че ее таскать - сама в фоне запускается, выгребает Control Flow Graph (список функций и составляющих блоков) , и также тихо закрывается. Плюс - лучшее решения по извлечению CFG, на Линуксе с Вайном работает. Минус - это то, что она медленная и тяжеловесная. P.S.: Юмор воспринимать не в ущерб конструктивности диалога. Фух, еле накатал )) P.P.S.: al1en, я с Вами не соглашусь. Добавьте в это винегрет еще capstone, многообразие структур данных в РЕ-файле, которые нуждаются в корректировке, абсолютные, относительный адреса, относительные ссылки, файловые оффсеты, оффсеты относительно начала секций, и в итоге задачa явно не для новичка и явно не быстро разрабатываемая. Возможно на данный код нет, или маленький, или не такой большой, как бы мне хотелось, спрос - это мы как раз и выясняем в ходе нашей дисскусии. А вообще Всем реально спасибо.. Show must go on, пишем еще
  9. Все вышеперечисленные наработки могут быть пригодны крипт-сервисам? Особенно интересно мнение самих крипт сервисов. Ау! Крипт-сервисы отзовитесь!
  10. потенциальный заказчик такого рода кода - спасибо, recv32 , за мысль. Я также думал, что как заказчиков можно рассматривать крипт-сервисы у которых ,возможно, например, нет морфера иконок.
  11. с помощью IdaPython извлекал функции и графы, пробовал делать это с помощью Angr,R2Pipe - но они не распознают switch statement и jump tables, да и вообще качество определения функции и графа в IdaPro далеко впереди остальных. остальное делал с pefile,LIEF. В принципе код взаимодействия с IdaPro заменим, нo не на кого по качеству на данный момент - опенсорс еще должен поработать. Это технический момент, меня больше интересует коммерческий - куда(к чему) в моем случае лучше на экспе прикладывать усилие.
  12. Ok, в каком мне направлении двигаться с Питоном (IdaPython,pefile,LIEF,ctypes,....) и системным программированием( веб не предлагать) для заработка на экспе.
  13. Прошу совета, как в дальнейшем монетизировать наработки на python по манипуляции РЕ-файлом №1 готовая наработка: Создает пустое пространство(щели) любого размера в секции кодa '.text' между существующими функциями. Рабочее название: PE text Gapper Как работает: парсит РЕ-файл, потом открывает файл в IdaPro, выгребает нужную инфу оттуда и закрывает IdaPro, - дампит на диск файл в котором в секции '.text' есть щель нужного размера. При это все абсолютные и относительные ссылки, файловые оффсеты, заголовки, таблицы дата директории и прочие структуры РЕ-файла корректируются - файл остается рабочим. Требования к входящему РЕ-файлу: --> х86-32, ехе --> 1ая секция .text, это единственная исполняемая секция в файле, далее следуют любые секции данных, в конце секции '.rsrc', '.reloc'. Секция '.reloc' обязательна. Пример: '.text' - '.rdata' - '.data' - '...' - '.rsrc' - '.reloc' --> Таблицы дата директории не должны располагаться в секции '.text'. --> поддерживаются следующие дата директории: ........> 'import table' ........> 'certificate table', если присутствует все данные удаляются ........> 'resource table' ........> 'base relocation table' наличие обязательно ........> 'debug directory', если присутствует все данные удаляются ........> 'tls table', ........> 'load configuration table' ........> 'import address table' --> не поддерживаються, но возможна разработка поддержки: ........> 'export table' *, ........> 'bound import table', ........> 'delay import descriptor' Пустое пространство может вставляться в начале, в конце, или посередине(рандомно между функциями) секции '.text'. При наличии спроса возможна доработка дополнительных возможностей данного продукта или адаптация под х64. №2 готовая наработка: Морфит и сжимает иконки встроенные в екзешник. Рабочее название: Icon Morpher Морфит и сжимает иконки в исполняемом файле, что дает возможность изменить сигнатуру иконок, и уменьшить вес екзешника примерно на 30КБ +/-. Требования к входящему РЕ-файлу: --> х86-32, ехе --> последняя секция '.rsrc', либо предпоследняя и последняя '.rsrc' - '.reloc'. --> только для CUI(console user interface) РЕ. Возможна доработка дополнительных возможностей данного продукта или адаптация под х64 при наличии спроса. №3 могу сделать: --> заменa манифеста (полностью или, например, изменение только requestedExecutionLevel) --> Генератор рандомных ресурсов для РЕ --> PE data Gapper, по аналогии с готовой наработкой №1. --> добавление пустой секции в начало файл, середину, конец. --> замена таблицы импорта и импорт резолвинг, как у експлойтов через TEB/PEB. Прошу совета как монитезировать данные разработки и приобретенный опыт. Продавать? Запилить веб-сервис с Апишкой? Опираться на наработки как на опыт и начать на экспе с выполнения сдельных заказов? искать удаленную работу в команде по данному направлению?
  14. JS лоадырь что это?

    В журналу “INCEPTION #4” есть статья "Билдим свой JScript лоадер". В комплекте файлы JS-loader и обфускатор на питоне. Начинающему разрабу можно начинать с этого примера. А дальше гугл в помощь
  15. Насколько могу предположить что, наверное, ничего не надо делать так как криптуемый файл когда начинает работу регистрирует обработчики , следующим образом: push ExceptionHandler push fs:[0] mov fs:[0], esp и это не забота криптора и стаба. Если можете потвердить или опровергнуть даное предположение, напишите пожалуйста P.S.: Для освежения информации по SEH. Спойлер Спойлер
×