Северокорейские хакерские группировки

Инструменты хакинга

Северная Корея начала показательную демилитаризацию, но освободившиеся ресурсы тратит на войны другого формата — кибернетические. Удивительно, как в условиях информационной изоляции ей удается выполнять успешные атаки на инфраструктуру более развитых стран. В сегодняшней статье мы разберем самые масштабные из них и прольем свет на действия хакерских групп, чья деятельность финансируется правительством КНДР.

И числом, и умением!

Эксперты из ClearSky Cyber Security, FireEye, CrowdStrike и NTT Security сходятся в том, что потенциал киберармии КНДР сильно недооценивается. На текущий момент ее численность составляет от 7 до 10 тысяч — это на порядок больше, чем служит в USCYBERCOM на базе Форт-Мид. Более точные данные собрать пока не получается, так как основную деятельность северокорейские хакеры ведут за пределами родной страны.

В отличие от рядовых граждан, обреченных просидеть всю жизнь на северной части полуострова, им оформляют «стажировки» и «деловые» поездки за рубеж. В основном хакеров набирают из студентов-математиков, которые соглашаются делать грязную работу для правительства по разным причинам.

Традиционная идеологическая обработка плохо воздействует на молодых ИТ-специалистов, а вот перспектива побывать за рубежом их очень привлекает. Некоторые даже набираются смелости попросить политического убежища и не возвращаться на родину.

Самим студентам это сделать сложно (их семьи фактически остаются в заложниках), а вот их кураторам порой нечего терять. Например, так для себя решил сбежавший в Южную Корею профессор математики Ким Хен Кван. Он до сих пор поддерживает контакты с некоторыми студентами и в курсе того, как сложилась их дальнейшая судьба.

При подготовке данной статьи использовались как открытые источники, так и закрытые технические отчеты, подготовленные для правительства США разными экспертными группами в 2017–2019 годах. Копии последних распространяются только среди уполномоченных лиц согласно положениям B и C директивы DoDI 5230.24. Эти документы не должны были попадать в публичный доступ (и тем более в поисковую выдачу). Однако мне удалось их обнаружить при помощи Google dorks в доменах .mil и .gov, а также по «закрытым» ссылкам в облачных хранилищах. Спасибо всем, кто ценит удобство превыше конфиденциальности!

APT37 (aka Reaper, Scarcruft, Group123)

Эта группа прославилась тем, что использовала широкий набор эксплоитов, включая уязвимости нулевого дня, ныне получившие идентификаторы угроз CVE-2018-0802 и CVE-2018-4878. Массовое применение последней впервые обнаружили специалисты южнокорейского подразделения кибербезопасности KR-CERT, поскольку главной целью APT37 были именно правительственные и финансовые организации южного соседа.
Первого февраля 2018 года Adobe признала, что Flash Player 28.0.0.137 и более ранние версии содержат критическую уязвимость, теоретически позволяющую получить полный удаленный контроль в любой операционной системе: Windows (включая 10), Linux, macOS и Chrome OS. Однако реальные атаки были замечены только на пользователей Windows. Они получали фишинговые письма, содержащие во вложении злонамеренно модифицированные документы со встроенными flash-объектами.

В качестве вторичных целей группы APT37 выступили промышленные объекты, а также учреждения здравоохранения в Японии и Вьетнаме. Возможно, это был не результат направленных атак, а лишь побочный эффект от выбранной тактики. Дополнительно малварь первой фазы распространялась через торренты.

Северокорейские хакеры
Наиболее масштабные атаки APT37. Инфографика: Cisco Talos Intelligence Group

Попав на компьютер жертвы, малварь отсылала запросы на диапазон IP-адресов, принадлежащих сети STAR-KP. Это совместное предприятие Почтовой и телекоммуникационной корпорации правительства Северной Кореи и базирующейся в Таиланде компании Loxley Pacific. В этой же сети оказались зарегистрированы C&C-серверы, использованные APT37 и физически расположенные в Пхеньяне.

Арсенал

Практически все сетевые атаки предпринимались APT37 в несколько этапов. На зараженных компьютерах постепенно формировалась целая экосистема из разных зловредов, использующих специфичный для данного пользователя софт и его уязвимости.

Обычно на первом этапе атаки APT37 подсовывала жертве GelCapsule или HappyWork через торренты, фишинговые письма или скомпрометированные веб-сайты определенной тематики. Это малварь класса Trojan-Downloader, которая сама по себе не выполняет вредоносных функций, но готова по команде C&C-сервера скачать и установить в систему жертвы разных зловредов.

В случае APT37 даунлоадер чаще всего использовал для их загрузки лончеры MilkDrop и SlowDrift, которые прописывались на автозапуск. Из них MilkDrop выглядит как проба пера, а SlowDrift — довольно продвинутый бэкдор, который взаимодействует с C&C-серверами через облачную инфраструктуру. Он выполняет большой набор удаленных команд, включая поиск, отправку и удаление файлов, а также сам может доустанавливать другие вредоносные программы.

Еще одним бэкдором, часто используемым (а возможно, и написанным) в APT37, стал PoorAim. В период с 2014 по 2017 год он применялся в кампаниях против южнокорейских медийных организаций и сайтов, связанных с деятельностью северокорейских перебежчиков. PoorAim собирал системные данные и списки запущенных процессов для поиска уязвимых компонентов, отправлял скриншоты и копии закладок браузера, а для маскировки коммуникаций с C&C использовал AIM (AOL Instant Messenger).

В связи с закрытием AIM, с апреля 2017 года APT37 стала применять вместо PoorAim другие бэкдоры, в частности DogCall и Karae. Для скрытой связи с C&C они уже использовали API-интерфейсы облачных служб, включая Box, Dropbox и Yandex.

Karae ничем особо не примечателен, а вот DogCall — продвинутый зловред, способный распознавать запуск в виртуальной среде и препятствовать анализу своего кода. Он даже распространялся как закодированный бинарный файл, который расшифровывался уже на компьютере жертвы другими вредоносными компонентами, в частности WineRack.

WineRack — это сложный бэкдор, среди основных функций которого сбор информации о пользователях и хостах, создание и завершение процессов, манипулирование файловой системой и реестром. Свое название WineRack получил за то, что генерирует обратный шелл, использующий статически связанный код Wine cmd для эмуляции командной строки Windows.

DogCall содержит и компоненты кейлоггера. Он умеет регистрировать нажатия клавиш и делать скриншоты для перехвата паролей, набираемых через экранную клавиатуру.

В диком виде DogCall был обнаружен в ходе расследования атак на правительственные учреждения и военные организации Южной Кореи весной 2017-го. Возможно, он так бы и остался незамеченным, если бы на финальном этапе атаки APT37 не решила использовать другой компонент — вайпер RUHappy.

Пожалуй, RUHappy стал наиболее заметным зловредом в арсенале APT37. Он часто обнаруживался на взломанных компьютерах вместе с DogСall, причем в неактивном виде. Анализ показал: получив команду от C&C, RUHappy удалил бы часть основной загрузочной записи (MBR) и перезагрузил компьютер. Запуск ОС стал бы невозможным, а на экране появилась бы надпись: «Are You Happy?», откуда и возникло сокращенное название вайпера.

В реальности это происходило редко. Современные компьютеры чаще используют EFI-загрузчики и разметку GPT, а для старых давно есть средства защиты MBR от перезаписи и методы ее быстрого восстановления. Поэтому особого вреда от RUHappy не было, но шума он наделал изрядно.

Кстати, о шуме: APT37 неоднократно использовала подслушивающую утилиту SoundWave. Она дублировала все данные с микрофонного входа в файл %TEMP%\HncDownload\*.log и отправляла его куда-то в STAR-KP, нарезая кусками по 100 минут. В качестве имени файла использовались текущая дата и время. Поскольку никаких деструктивных действий троян не совершал, он долгое время оставался незамеченным. Проведенное в 2018 году расследование показало, что в некоторых системах он был установлен еще с середины 2015 года.

Помимо аудиоданных, APT37 искала и отправляла с зараженных компьютеров файлы определенного типа. В основном это были документы, содержащие одно из ключевых слов. Их поиск выполнялся при помощи трояна CoralDeck, который запаковывал копии найденных файлов в архив, устанавливал на него пароль и отправлял методом HTTP POST на северокорейские серверы. Интересно, что поначалу использовался формат ZIP, но затем для большей надежности APT37 перешла на WinRAR, чья парольная защита известна своей стойкостью к брутфорсу.

Еще одним геомаркером APT37 служит частое использование уязвимостей в текстовом процессоре Hangul (HWP) южнокорейской компании Hancom. Такое название он получил в честь корейского алфавита хангыль и практически неизвестен за пределами Корейского полуострова. Эксплоиты для HWP применялись APT37 для быстрого внедрения SlowDrift как альтернатива двухшаговой схеме с предварительным заражением GelCapsule.

В мае 2017 года APT37 использовала письмо о ликвидации банка как фишинговую приманку для члена правления ближневосточной финансовой компании. Электронное письмо содержало модифицированное вложение с эксплоитом для CVE-2017-0199 — уязвимости в Microsoft Office, которая была обнаружена менее чем за месяц до начала атаки. С помощью нее APT37 внедряла ShutterSpeed — бэкдор, способный собирать системную информацию, делать скриншоты и отсылать полученные данные на северокорейские серверы, а также выполнять произвольный исполняемый код по удаленной команде.

Кроме почтового спама, источником заражения часто становились взломанные сайты южнокорейских компаний и образовательных учреждений. На их страницах размещался RiceCurry — JS-профайлер, используемый при идентификации ОС жертвы, веб-браузера и его плагинов. Эта информация позволяла подобрать специфические уязвимости и применить их для доставки других вредоносных компонентов.

Особо стоит отметить ZumKong — троян, крадущий сохраненные пароли из браузеров IE и Chrome. Собранные пароли отправлялись в запросах HTTP POST и попадали в ящик, зарегистрированный на zmail.ru — почтовом сервисе компании «Зенон Н.С.П.». Аналитики сначала восприняли это как «русский след», однако быстро обнаружили несоответствие. Запросы доставивших ZumKong дропперов и связанных с ним бэкдоров шли в уже известную сеть STAR-KP, к которой Россия не имеет никакого отношения.

Сам факт использования эксплоитов и особенно 0day-уязвимостей говорит о высоком уровне APT37, но это не единственная группа хакеров, действующая в интересах правительства КНДР.

APT38

Во время чтения отчетов об этой группе воображение рисовало мне, как директор Национального агентства разведки Со Хун вызывает руководителей подразделения 180 и управления 121. Вместе они идут в Шестое техническое бюро и корпус лаборатории 110. Спустя несколько минут делегация проходится вдоль строя хакеров из APT37 и переводит особо отличившихся в APT38. Шеф обводит их проницательным взглядом и солидно молчит, но в глазах явственно читается: «С повышением вас, бойцы невидимого фронта!»

Если серьезно, то все эти подведомственные организации действительно существуют, но APT38 — просто условное обозначение у западных аналитиков. Оно указывает на другую крупную группу хакеров (или их объединение), которая не имеет отношения к APT37, но явно действует в интересах правительства КНДР. Вовсе не обязательно, что их подготовка проходит на базе того же технического бюро.

Одно известно точно: специализация APT38 — кража денег. Она ориентируется на межбанковскую сеть SWIFT и очень хорошо знает ее особенности, используя их в сложных схемах отмывания. У APT38 предположительно были связи с Lazarus (об этом говорят общие инструменты и тактики), но пока нет оснований ставить между ними знак равенства.

К настоящему моменту APT38 провела атаки минимум на шестнадцать финансовых организаций в тринадцати странах. Среди них мексиканское государственное банковское агентство Bancomext (в январе 2018 года) и один из крупнейших банков в Чили Banco de Chile (в мае 2018 года). Главная особенность стратегии APT38 — длительная поддержка скрытого управления зараженными компьютерами. Средний срок от внедрения до обнаружения составляет пять месяцев, а максимальный — два года.

Другая очень характерная черта — агрессивное уничтожение улик при их обнаружении. Обычно отдельные зловреды APT38 резидентно находятся в памяти и отслеживают запуск утилит для криминалистического анализа, блокируя их использование. Часто на скомпрометированных машинах вредоносные компоненты не просто удаляются, а перезаписываются вместе с логами, заодно подменяя атрибуты файлов (в первую очередь — даты создания и последнего обращения).

хакеры кндр
Схема атаки APT38 на SWIFT. Инфографика: FireEye

Чтобы этого избежать, экспертам в области форензики приходилось отключать подозрительные машины и копаться в офлайновых дампах вместо изучения активных процессов. Так гораздо сложнее установить сетевые взаимодействия и восстановить ключи шифрования. К тому же в коде обнаруженных зловредов на каждом шагу применялись методы антиотладки и обфускации. Например, для исполняемых файлов использовались протекторы Enigma, Themida (aka X-Protector), Obsidium и VMProtect плюс шифрование отдельных модулей потоковым алгоритмом Spritz или AES.

Вместо нескольких часов их анализ отнимал месяцы напряженной работы, а за это время криминальная схема APT38 успевала измениться. В общем, эксперты нашли достойного противника.

Арсенал

На этапе разведки APT38 часто использует сканер активных сетевых подключений MapMaker. Он запрашивает у операционной системы таблицу открытых соединений TCP IPv4, а затем записывает ее в лог.

Одна из особенностей APT38 состоит в широком использовании пассивных бэкдоров. Они просто ждут команды от других узлов сети атакуемой организации, что сигнализирует об успешном заражении последних и начале следующей фазы. При этом некоторые из них способны переключаться в активный режим.

Так делает CheeseTray — продвинутый бэкдор с поддержкой прокси. Он устанавливает связь с C&C-сервером, используя собственный бинарный протокол, а TCP-порт каждый раз указывает разным и передает как параметр командной строки. CheeseTray способен искать определенные файлы по заданным критериям, сохранять списки активных процессов, установленных драйверов и запущенных служб. Он отслеживает сеансы удаленного рабочего стола, загружает дополнительные вредоносные компоненты, выгружает «мешающие» процессы и создает обратный шелл. Словом, выполняет глубокую разведку и предоставляет практически полный удаленный контроль.

Помимо CheeseTray, APT38 прославил уникальный бестелесный бэкдор NestEgg. Он существует только в оперативной памяти, поэтому его не могли отловить при офлайновом анализе. Вдобавок к типичным действиям с файлами и процессами он создает правила для брандмауэра Windows, разрешающие входящий трафик на указанный порт.

Кроме собственных зловредов, APT38 использует и модификации публично доступных. Например, DarkComet — продвинутую утилиту удаленного администрирования (RAT), выполняющую более шестидесяти разных функций. Среди них есть сбор системной информации, поиск и изменение ключей реестра, изменение и добавление пунктов автозапуска, сканирование сетей, управление процессами, загрузка произвольных файлов, перезапуск и выключение компьютера. Другой сторонней программой, полюбившейся APT38, был веб-шелл JspSpy. Его код выложен на GitHub, и форкнуть его довольно просто.

Фальсификацию банковских транзакций APT38 выполняет при помощи DyePack — набора вредоносных программ, которые подменяют данные в системе SWIFT. Этот набор скрыто доставляется на компьютер жертвы в зашифрованном виде. Известна его модификация DyePack.Fox, способная также подменять данные в файлах PDF (в данном случае — автоматически генерируемых отчетах об операциях в системе SWIFT).

В начале 2019 года один добрый хакер, чья белая шляпа слегка посерела от времени, получил образцы DyePack, а затем отреверсил их с помощью IDA Pro и Ghidra, после чего выложил результат на GitHub. Изучайте, совершенствуйте… наслаждайтесь!

Для активации боевой нагрузки на компьютере-жертве APT38 чаще всего использовала лоадер BlindToAd. Это 64-битная динамическая библиотека, которая загружает зашифрованный файл с диска, расшифровывает его в оперативной памяти и запускает на исполнение.

В случае угрозы обнаружения на компьютере-жертве может запускаться программа для заметания следов CleanToAd. Она удаляет вредоносные файлы при помощи утилиты CloseShave, которая переименовывает файл перед удалением и забивает отведенное ему место нулями.

Затем CleanToAd очищает журналы событий Windows и прочие логи, а в их атрибутах перезаписывает дату создания и последнего обращения. Также CleanToAd внедряет шелл-код в процесс notepad.exe для быстрого повторного заражения компьютера. Иногда при срабатывании тревоги запускается еще и вайпер BootWreck. Он стирает оригинальную MBR, препятствуя загрузке компьютера.

Помимо кражи денег через SWIFT, APT38 занималась и вымогательством. Группа использовала трояна-шифровальщика Hermes, который считывал дисковую разметку и запускал свой отдельный поток для каждого раздела. Он быстро зашифровывал все пользовательские файлы по алгоритму AES с ключом длиной 256 бит, а затем удалял оригиналы и выводил на экран сообщение с требованием о выкупе.

Каждая атака APT38 была уникальна, однако их общий жизненный цикл выглядит так:

  1. Сбор информации о механизме транзакций в системе SWIFT у организации-жертвы. APT38 никогда не взламывала саму SWIFT, достигая своих целей атаками на софт сторонних поставщиков и проводя таргетированные фишинговые атаки в отношении персонала, имеющего доступ к SWIFT.
  2. Внедрение через уязвимые компоненты (чаще всего — фреймворк Apache Struts старой версии).
  3. Загрузка вредоносного софта для углубленного сканирования системы, сбора учетных данных и изучения топологии сети.
  4. Запуск фальшивых серверов для выполнения MitM-атак. Они давали доступ к сегментированным внутренним системам и помогали избежать обнаружения.
  5. Собственно перевод средств. При помощи бэкдоров и обратных шеллов в зараженную систему отправлялись фальшивые транзакции и подменялась их история для обмана системы SWIFT. Обычно деньги переводились небольшими суммами (ниже порога срабатывания средств защиты) в банки разных стран, откуда перемещались в другие, третьи и так далее вплоть до потери следа. К моменту расследования нередко выяснялось, что одного из промежуточных банков уже не существует.
  6. Уничтожение улик (срабатывало, только если обнаруживались признаки противодействия и запуска сканеров безопасности).

Похоже, КНДР давно рассматривает киберармию как источник дохода. На самоокупаемость северокорейские правительственные хакеры вышли еще в тот период, когда промышляли кражей у южнокорейских, китайских и японских геймеров. Они перепродавали угнанные аккаунты и выводили с них игровую валюту, получая за виртуальные деньги вполне реальные воны и доллары.

Пару лет назад ставки выросли. Основной целью стали SWIFT, а также криптовалютные биржи и крупные биткойн-инвесторы. Следы взлома японской Coincheck в 2018 году и южнокорейской Youbit годом раньше ведут в Пхеньян, а общая сумма похищенных средств превышает 559 миллионов долларов. Это только с двух обменников!

Основным способом проведения массовых атак остается социальная инженерия. Уязвимости патчатся, технологии меняются, а люди — нет. В том же 2017 году из КНДР начали массово регистрировать аккаунты Facebook, что само по себе было удивительно. Еще интереснее выглядело сравнение профилей. Как показало дальнейшее расследование, они все были сделаны под копирку.

Тысячи мнимых «криптоинвесторов из США и Европы» знакомились через соцсеть с реальными, а затем под разными предлогами отправляли им зараженный документ, чтобы получить wallet.dat по стандартному адресу и подсмотреть пароль к нему на этапе ввода.

К этому моменту хакеры уже выясняли в переписке с жертвой, какой кошелек она использует для хранения криптовалюты. Такой вопрос, заданный «в лоб», насторожил бы любого, а вот просьба дать рекомендацию, наоборот, располагала к дальнейшей беседе. Далее срабатывал простой принцип: человек с наибольшей вероятностью порекомендует то, чем пользуется сам. Подробнее хронологию развития APT38 и ее техник можно проследить в статье «Взлом по-северокорейски».

Выводы

Хакеры на службе правительства — норма в любом современном государстве. Как иначе вести необъявленные войны и отстаивать государственные интересы в закулисной борьбе? Северная Корея выделяется на общем фоне как целями, так и средствами их достижения. Если основная задача правительственных хакеров развитых стран сводится к получению разведданных, а Китая — краже перспективных технологий, то для КНДР своя киберармия стала еще и значимым источником дохода, особенно на фоне санкционного давления. Свежий отчет для Министерства юстиции США содержит следующие строки: «… несмотря на предпринятые меры и международное сотрудничество в банковской сфере, деятельность APT38 до сих пор представляет угрозу системе SWIFT и финансовым учреждениям во всем мире».

Еще по теме: Китайские хакерские группировки

Дима (Kozhuh)

Эксперт в кибербезопасности. Работал в ведущих компаниях занимающихся аналитикой компьютерных угроз. Анонсы новых статей в Телеграме.

Добавить комментарий