ims0rry
Omae wa mou shindeiru
Please note, if you want to make a deal with this user, that it is blocked.
Оригинал статьи -
Для просмотра содержимого вам необходимо авторизоваться.
Вся информация предоставлена исключительно в ознакомительных целях. Ни администрация, ни автор не несут ответственности за любой возможный вред, причиненный материалами данной статьи.
Оболочка
Сразу хочется отметить, что в плане внешности, панелька очень даже неплохая.

Тут же отмечу, что имеются некоторые баги:
- Я запускал файл на дедике - он отстучал в двух разных ботов, хотя по данным они идентичны
- Неправильно определяется версия Windows: на дедике Windows Server 2012 R2, а в панели Win8/10x64
Внутренности
Вот тут уже начинается темная сторона этого продукта. Из серьезных недоработок я нашел:
1) Update - автообновление панели, которое можно использовать как бекдор
Класс:

Использование:

Возможно, сделано это ненамеренно, но риск остается.
2) Уязвимость к SQL-инъекциям - хоть и используется mysqli, но толку от него ноль:

Данные вставляются в принятом формате (я где-то видел метод, который регулярками что-то либо сравнивает, либо чистит, но регулярки, я слышал, не спасают):

3) "Шифрование данных" - это HEX. Если уж заявили о шифровании, нужно его сделать адекватно, а не так, чтобы все это через любой онлайн-декодер расшифровывалось:

Анализ файла
PE
Смотрим через PE-сканнеры:

Файл ничем не запакован, ЯП - Delphi.
Данные
Открываем файл в IDA и первое, на что обращаем внимание - строки:

Очень много hex-строк, а как мы уже знаем, в софте именно это является основным шифрованием данных. При декодировании можно найти пару интересных строк:
User-Agent с которым делается http-запрос:

Хост на который привязан лоадер:

Параметры:

А тут мы видим что лоадер использует стандартную автозагрузку:

Функции
Основной метод выглядит так:

Происходят DLL-проверки (чек на песочницу, виртуалку и т.д.), далее происходит запуск в памяти массива байт (предпоследняя строчка).
На графе выглядит примерно так:

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

Переходим:

Далее открываем функцию Main этого массива (sub_420434):


В функции sub_4213B8 происходит запрос к серверу, там же мы видим захексованный хост и параметры:
(картинка не прогружается сюда, https://i.imgur.com/dIyZPfR.png)


Далее в цикле происходит запрос текущих тасков и их выполнение. По названиям строк (str_load, str_udp, str_method_http) не трудно догадаться что первое - это таск загрузки и запуска файла, второе - udp-flood, третье - http-flood.
Смотрим функции по порядку:
Загрузка и запуск файла
Загрузка:


Запуск:

UDP-flood

HTTP-flood

В цикле стартуют потоки этой функции:


Реализация довольно громоздкая, можно было сделать куда проще и эффективнее.
Ссылки
Сорцы панели + семпл - https://github.com/ims0rry/DarkSky-botnet
Продажник -
Для просмотра содержимого вам необходимо авторизоваться.