owonline
  • Blog
  • Blog

Инструкцию К Ac 3105.Doc

12/17/2016

0 Comments

 

Документы. Кем принятвсе. JSC Russian Railways. Высший Арбитражный Суд РФГлавный государственный санитарный врач РФГосударственная Дума РФМежрайонная инспекция МНС России . Москве. Министерство путей сообщения РФМинистерство транспорта РФОАО.

  • Вам не обязательно печатать всю инструкцию Rosen Entertainment Systems AC 3105 а только некоторые страницы. Ниже Вы найдете заявки которые находятся на очередных страницах инструкции для Rosen Entertainment Systems AC 3105.
  • HAMD, которая не предусматривает четких инструкций для определения Guelfi JD, White AC, Hackett D, Guichoux JV (1995).
  • Шифрует заранее заданные расширения, doc в их числе точно помню был.
  • Объединенных Наций (ST/SG/AC.10/11/Rev.5 с поправками, приведенными в документах&nbsp.
  • Написать руководителю. Днепр:(056) 767-85-63. Калькулятор Assistant AC - 3105 инженерный.
  • Курантил - Официальная инструкция . Фармакотерапевтическая группа: Вазодилатирующее средство.

Assistant AC–3105 инженерный калькулятор http:// />g/calculatory-engineer/ac-3105-inzhenernyiy-kalkulyator Инструкция (мануал) на Assistant AC–3105 http:// />kcii/Manual Воздуху ( Doc 9284) в целях их внесения в издание 2013–2014 гг. Глава 6 (ST/SG/ AC.10/1/Rev.

Инструкцию К Ac 3105.Doc

Trojan- Downloader. Win. 32. Cabby. cemx — Часть первая — Распаковка / Хабрахабр. Привет, Хабр! Скажу сразу: я не вирусный аналитик и не занимаюсь этой деятельностью профессионально. Работаю сетевым инженером в одной из компаний в группе компаний из трех букв. Так что прошу строго не судить и отнестись с пониманием. Цель данной статьи — не экспресс анализ вредоносного ПО с целью написания отчета о высокоуровневой логике его работы, а погружение в реверс- инжиниринг с головой для повышения своих знаний и опыта.

Поэтому пройдемся по всему алгоритму распаковки подробно. Сразу предупрежу, будет много картинок и листингов дизассемблированного кода. Готов к конструктивной критике и буду рад вашим советам по оптимизации моих мыслей. В недалеком прошлом в нашу компанию проник нашумевший CTB- Locker, что заинтересовало нашу службу информационной безопасности: почему не сработали антивирусы и фильтрация веб- трафика? Что конкретно делает данный зловред, хорошо описано на securelist.

С этим все ясно и не имеет смысла проводить повторный анализ того, что и так неплохо описано. С целью понимания причин инцидента рассмотрим именно вектор распространения данного зловреда. Как это выглядит с точки зрения пользователя: Пришло письмо с вложенным архивом . Пользователь открывает архив и запускает из него .

Открывается . rtf файл с непонятными и неинтересными данными; Пользователь спокойно закрывает данный файл и продолжает работу; Через некоторое время на рабочем столе выскакивает окно CTB- Locker'а с печальной для пользователя информацией. Декрипт. Итак, достаем из . Открываем его в Immunity Debugger и, нажав пару раз на F9, попадаем на Entry Point 0x. C6, не встретив на пути каких- либо приемов антиотладки — уже хорошо. Полистав немного листинг и окинув взглядом импорт не нашел ничего внятного и «полезного».

Ничего связанного с сетевой деятельностью — наводит на мысль, что что- то спрятано глубже. Пакер? Что нам на это поведает PEi. D: Ни один известный пакер не обнаружен. Кроме того, анализ энтропии говорит нам, что файл, скорее всего, не упакован. Но давайте смотреть дальше. Переменные, передаваемые в Heap. Create, не особо хитро завуалированы: Размер выделяемой памяти 0x.

D0. Ок, наблюдаем за выделенным участком памяти, установив на него Memory BP на запись, и обнаруживаем цикл расшифровки и копирования данных из секции . Heap. Create): 0. F4. A. C3 RETNГоворим отладчику дизассемблировать целевую область памяти и получаем ожидаемый результат — вполне себе исполняемый код: Переход к расшифрованному коду не заставил себя ждать: В самом начале встречаем интересный метод передачи параметров процедурам. Рассмотрим на примере первой такой функции. Как видно происходит вызов функции Load.

Library, в которую необходимо передать строковую переменную имени библиотеки для загрузки. B7. 42. 4 0. 4 MOV ESI,DWORD PTR SS.

Вот, что она из себя представляет: 0. E9 5. 8 POP EAX     ; 0. A0. 21. 20. 1EA FFD0 CALL EAX. Что же в этот момент происходит? При вызове «CALL 0. E9» в стек помещается адрес следующей после этого вызова инструкции для возврата из процедуры.

После вызова из стека извлекается адрес возврата и помещается в EAX. Далее происходит вызов «CALL EAX», который в свою очередь снова помещает в стек адрес следующей инструкции для возврата. Смотрим в дампе — видим имя библиотеки: Далее по листингу еще не раз встречается такой метод. Следующий интересный момент — процедура поиска необходимых функций из подключенной библиотеки. Среди параметров, передаваемых в процедуру — указатель на непонятный набор байтов, полученный вышеописанным методом, далее разберемся зачем и что это. Итак, сама процедура: 0. B 6. 0 PUSHAD0. 21.

C EB 0. 7 JMP SHORT 0. E AD LODS DWORD PTR DS.

Далее логика по порядку: По заголовкам PE вычисляется адрес таблицы экспорта целевой DLL; Берется имя каждой функции из таблицы экспорта и вычисляется некая хеш- сумма; Проверяется совпадение вычисленной хеш- суммы и полученной в параметре; Если хеш- суммы совпали вычисляется и возвращается адрес найденной функции. Как видно из новой таблицы секций — будет две секции . Далее по циклу находится Raw. Data и Virtual. Size каждой секции, обнуление основных участков памяти и запись новых секции.

Тем самым формируется новое «тело» текущего процесса. Далее встречаем вызов процедуры: 0. E8 AE0. 00. 00. 0 CALL 0. C. Она выполняет восстановление IAT (Import Address Table) в начале секции . Итог работы процедуры: Далее освобождается память, в которой ранее хранились данные для формирования нового окружения процесса (0x.

BD FF5. 5 1. 4 CALL DWORD PTR SS. Расшифровка и копирование данных из секции .

E6. 3 — 0x. 00. 40. Перенос исполнения кода на нулевое смещение выделенной памяти; Поиск необходимых API функций и создание массива с их адресами по смещению 0x. Создание нового участка памяти с правами RWE, того же размера 0x. D0 (1. 74. 4 байта) с помощью Virtual. Alloc. Копирование содержимого текущего участка памяти в новый; Перенос исполнения кода на новый участок памяти по смещению 0x.

PUSH — RETN»; Выделение нового участка памяти размером 0x. C0. 0 (1. 1 2. 64 байта) с правами RW; Открытие исходного файла для чтения.

Копирование данных (с файловым смещением 0x. E6. 2) из файла в новый участок памяти; Расшифровка скопированных данных; Формирование нового окружения процесса; Переход к OEP (0x. BA). Дамп процесса. Остается сделать дамп процесса для получения исполняемого распакованного файла вируса.

Чтобы не заниматься ручным фиксом после дампа я воспользовался плагином Olly. Dump. Ex для Immunity Debugger: Полученный исполняемый файл при запуске имеет следующую структуру: Заключение. В ходе проделанной работы получили распакованный исполняемый файл Downloader'а.

Да, можно было бы сократить описание, пройдясь по ключевым точкам копирования и расшифровки данных и переходу к OEP. В боевых условиях при анализе вредоносного ПО наверняка редко разбирают логику декриптора подробно. Но напомню, цель статьи — погрузиться в реверсинг и, как бонус, понять, как работают протекторы вредоносного ПО. Цель, которой я так и не смог достичь в данной статье — локализация основных моментов протектора, которые отвечают за «обман» эмулятора антивируса.

Данные конструкции наверняка присутствуют в декрипторе. Если кто подскажет, как их идентифицировать — буду признателен. Во второй части статьи рассмотрим функциональную нагрузку Downloader'а и каким образом запускается сам шифровальщик CTB- Locker. Не обещаю, что она появится на днях, т.

0 Comments



Leave a Reply.

    Author

    Write something about yourself. No need to be fancy, just an overview.

    Archives

    November 2016

    Categories

    All

    RSS Feed

Powered by Create your own unique website with customizable templates.