Реверс малвари на примере njRAT
Дисклеймер:Мы не несём ответственности за ваши действия! Статья предоставлена в ознакомительных целях.
Предисловие:
Трояны семейства njRAT написаны на VB.NET и зависимы от платформы .NET .Наиболее распространенной версией njRAT на данный момент является njRAT v 0.7d Green Edition.Однако встречаются и другие более сложные модификации...
.NET-ные программы легко декомпилируются в исходный код, однако опытные разработчики малвари используют различные обфускаторы типа .NET Reactor, Confuser и других...
План действий:
1 .Определить, действительно ли это njRAT
2. Определить, закриптован/упакован ли билд
3. Декомпилировать его в VB.NET код
4. Поискать в строках IP-адрес создателя билда
Шаг 1: Детектим njRAT:
Зальем наш семпл на вирустотал:
Большинство антивирусов говорят нам , что это Backdoor.NJRAT / MSIL.Bladabindi
Окей, теперь посмотрим, что нам скажет DiE
Как видно на скрине, файл скомпилирован при помощи VB.NET компилера и не накрыт каким либо протектором.Значит можно приступать к декомпиляции...
Шаг 2: Декомпилируем бинарник
Для декомпиляции .NET-ных бинарников существует множество программ.Самые известные - ILSpy и dnSpy.
Я буду использовать dnSpy, так как он поддерживает VB.NET (родной язык для этого троянца).
Открываем бинарник и видим вот такую картину:
Первым делом надо найти точку входа:
Рассмотрим функцию ko подробнее:
Данная функция берет переменные из основного класса OK.У класса OK есть конструктор, в котором объявляются все переменные, рассмотрим теперь его.
Мы нашли айпи и открытый порт владельца njRAT.С этими данными можно сделать что угодно...
Выводы:
Обычно вирусописатели используют ряд техник для противодействия исследованиям своих творений.Это может быть обфускация, скрытие вызовов WinAPI, шифрование памяти... но в этом случае все гораздо проще, и нам даже не пришлось включать отладчик.