• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Конкурс Reverse Engineering/Анализ различных Malware

Статья для участия в конкурсе на codeby.

Хэй, это моя первая статья здесь и уже для конкурса. Здесь будет минимум воды, статья разделена на 2 части:

  1. Вступление, справка
  2. Анализ ПО
Вступление
Reverse engineering или же Обратная Разработка - это исследование/анализ определенного ПО, также документации на него с целью понять принцип его работы. Например, чтобы как-либо модифицировать его или произвести поиск уязвимых мест в исходном коде. Есть огромное количество программ, позволяющих вам провернуть подобное многие из них будут рассмотрены здесь.

Miner- программа для добычи криптовалюты злоумышленником с помощью компьютера ни о чём не подозревающей жертвы. Чаще всего используется скрытый майнинг Monero или ZCash, так как эти криптовалюты являются полностью анонимными. Майнер может распространяться независимо от установленной операционной системы.

Botnet( 'robot' + 'network') - сеть ботов(компьютеров), которые связанны с командным центром. Командный центр может отдавать команды ботам, которые они в свою очередь будут выполнять. Чаще всего создается злоумышленниками для автоматизации каких-либо задач, которые требуют огромного количества ресурсов.

ПО, которое вам сегодня пригодится:

  1. ExeinfoPe (анализ pe файлов)
  2. Aegys Crypter (используем чтобы распаковать файлы, накрытые протекторами)
  3. Exe2Aut (Exe to Autoit code)
  4. Peid (анализ pe файлов)
  5. de4dot (.Net дуобфускатор)
  6. DIE (анализ pe файлов)
Это все, что вам нужно знать на данный момент

Анализ ПО
C# Botnet

Сканируем файл

Воспользуемся утилитой Peid:


30639


Из приведенной выше фотографии можно сказать, что файл зависим от .NET, а также сверху накрыт .netReactor.

Выясняем точную версию .netReactor:

30641


И распаковываем, используя de4dot.

Функционал

Бот состоит из задач, которые выполняются асинхронно.

Конфигурация / Задачи

Для работы с носками используется ProxySocket и WinInet:

30642


Есть конструкторы классов для различных атак, которые выполняют роль получения HTML страницы, а также конструкторы, предназначенные для ассинхронных методов:

30643


Имеется отдельный класс для работы с Internet Explorer, таким образом, можно получать/создавать/редактировать версию через реестр:

30644

30647


Также, присутствуют методы для изменения User-Agent/Cookie/Referrer:

30649


Получение текущего IP происходит путем парсинга следующей страницы: :

30651


Также, присутствует проверка наличия языков СНГ-стран в раскладке:

30652


System.Management отвечает за получение данных о машине.

Есть проверка на наличие анализаторов и снифферов:

30653


Установка и закрепление в системе

Для автозагрузки используется Powershell и Task Scheduler:

30654


30656


Также, приложение проверяет правильность имени , и в случае неудачи, перезаписывается под правильным именем:

30657


Имеется очень странная часть в коде, видимо, автор забыл ее убрать:

30658


Следующее меня также немного напрягло:

30659


DDoS-функционал и алгоритм работы

dexecute
:

Загружает и запускает указанный файл.

30660


execute:

Запускает файл.

30661


suicide:

Самоудаление.

30665



update:

Обновление бота.

30666


DDoS-методы и обходы:

Реализации сделана на сокетах. Все работает асинхронно.

Anti-Captcha:

Обход капчи реализован через сервис . Все обходы построены именно на основе этого метода, с небольшими доработками (вроде удаления каких-то html элементов и отправки доп. запросов)


30667


AutoIt Miner

Имеется 2 файла, прогоняем Exe через DIE/ExeinfoPe/Peid:

30668


DLL сломано и не отображается в Pe-сканнере никак.

Опа! Автоит => прогоняем через exe2Aut:

30669


30670


Оказывается, в Dll заменены первые 8 байт. Открываем в hex-editor и меняем на стандартные, получаем 7-zip архив:

30671


С start.exe также дропнулся файл CLDebugLog.txt - это распаковщик архива. Как видим в коде, он с параметром в виде пароля от архива распаковывает DLL, далее, в зависимости от поддержки AES на ПК, определяется, какой батник запускать.

start.bat:

30672


start2.bat:

30674


SystemCheck.xml:

30675


32.exe:

30676


Снимаем EnigmaVB через Aegys Crypter:

30677


Получаем еще 2 файла + распакованный 32.exe:

30678


Checking.exe и msvcr120.dll накрыты UPX:

30679


Как уже очевидно - консольный майнер.

В 64.exe ровно то же самое, только консольный майнер с поддержкой AES:

30680


Да, это конец статьи, надеюсь, что тебе было интересно почитать про Reverse Engineering и разобрать со мной некоторые зловреды. Удачи!
 

D108

One Level
11.09.2017
3
4
BIT
0
Очень годный копипаст двух статей с канала сорика
 

SISHA256

One Level
08.06.2019
8
17
BIT
0
Да, действительно, основная информация(примеры) была взята из статей IM50RRY, отрицать это или как-либо оправдываться не буду. На основе этого вы имеете полное право исключить меня. Единственное, что хотел бы попросить, чтобы вы отдали мой промокод 3 участнику. Парниша все-таки старался :)
 
  • Нравится
Реакции: D108
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!