Как Android-троян Gustuff снимаСт сливки (Ρ„ΠΈΠ°Ρ‚ ΠΈ ΠΊΡ€ΠΈΠΏΡ‚Ρƒ) с Π²Π°ΡˆΠΈΡ… счСтов

Как Android-троян Gustuff снимаСт сливки (Ρ„ΠΈΠ°Ρ‚ ΠΈ ΠΊΡ€ΠΈΠΏΡ‚Ρƒ) с Π²Π°ΡˆΠΈΡ… счСтов

Π‘ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ Π½Π° днях Group-IB сообщала ΠΎΠ± активности мобильного Android-трояна Gustuff. Он Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π° ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹Ρ… Ρ€Ρ‹Π½ΠΊΠ°Ρ…, атакуя ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² 100 ΠΊΡ€ΡƒΠΏΠ½Π΅ΠΉΡˆΠΈΡ… иностранных Π±Π°Π½ΠΊΠΎΠ², ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… 32 ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠΊΠΎΡˆΠ΅Π»ΡŒΠΊΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… e-commerce рСсурсов. А Π²ΠΎΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Gustuff β€” русскоязычный кибСрпрСступник ΠΏΠΎΠ΄ Π½ΠΈΠΊΠΎΠΌ Bestoffer. Π•Ρ‰Π΅ Π½Π΅Π΄Π°Π²Π½ΠΎ ΠΎΠ½ Π½Π°Ρ…Π²Π°Π»ΠΈΠ²Π°Π» свой троян ΠΊΠ°ΠΊ Β«ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ для людСй со знаниями ΠΈ ΠΎΠΏΡ‹Ρ‚ΠΎΠΌΒ».

БпСциалист ΠΏΠΎ Π°Π½Π°Π»ΠΈΠ·Ρƒ врСдоносного ΠΊΠΎΠ΄Π° Group-IB Иван ΠŸΠΈΡΠ°Ρ€Π΅Π² Π² своСм исслСдовании ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ рассказываСт ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Gustuff ΠΈ Π² Ρ‡Π΅ΠΌ Π΅Π³ΠΎ ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ.

Π—Π° ΠΊΠ΅ΠΌ охотится Gustuff

Gustuff относится ΠΊ Π½ΠΎΠ²ΠΎΠΌΡƒ поколСнию врСдоносных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ с ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ функциями. По словам Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, троян стал Π½ΠΎΠ²ΠΎΠΉ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π½ΠΎΠΉ вСрсиСй врСдоносной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ AndyBot, которая с ноября 2017 Π³ΠΎΠ΄Π° Π°Ρ‚Π°ΠΊΡƒΠ΅Ρ‚ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Ρ‹ с ОБ Android ΠΈ ΠΊΡ€Π°Π΄Π΅Ρ‚ дСньги Ρ‡Π΅Ρ€Π΅Π· Ρ„ΠΈΡˆΠΈΠ½Π³ΠΎΠ²Ρ‹Π΅ Π²Π΅Π±-Ρ„ΠΎΡ€ΠΌΡ‹, ΠΌΠ°ΡΠΊΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ΡΡ ΠΏΠΎΠ΄ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ прилоТСния извСстных ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹Ρ… Π±Π°Π½ΠΊΠΎΠ² ΠΈ ΠΏΠ»Π°Ρ‚Π΅ΠΆΠ½Ρ‹Ρ… систСм. Bestoffer сообщал, Ρ‡Ρ‚ΠΎ Ρ†Π΅Π½Π° Π°Ρ€Π΅Π½Π΄Ρ‹ Β«Gustuff BotΒ» составляла $800 Π² мСсяц.

Анализ сэмпла Gustuff ΠΏΠΎΠΊΠ°Π·Π°Π», Ρ‡Ρ‚ΠΎ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ троян Π½Π°Ρ†Π΅Π»Π΅Π½ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ прилоТСния ΠΊΡ€ΡƒΠΏΠ½Π΅ΠΉΡˆΠΈΡ… Π±Π°Π½ΠΊΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Bank of America, Bank of Scotland, J.P.Morgan, Wells Fargo, Capital One, TD Bank, PNC Bank, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π° ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠΊΠΎΡˆΠ΅Π»ΡŒΠΊΠΈ Bitcoin Wallet, BitPay, Cryptopay, Coinbase ΠΈ Π΄Ρ€.

Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ созданный ΠΊΠ°ΠΊ классичСский банковский троян, Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ вСрсии Gustuff Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΠ» список ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² для Π°Ρ‚Π°ΠΊΠΈ. ΠšΡ€ΠΎΠΌΠ΅ Android-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π±Π°Π½ΠΊΠΎΠ², Ρ„ΠΈΠ½Ρ‚Π΅Ρ…-ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ ΠΈ криптосСрвисов, Gustuff Π½Π°Ρ†Π΅Π»Π΅Π½ Π½Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ маркСтплСйсов, ΠΎΠ½Π»Π°ΠΉΠ½-ΠΌΠ°Π³Π°Π·ΠΈΠ½ΠΎΠ², ΠΏΠ»Π°Ρ‚Π΅ΠΆΠ½Ρ‹Ρ… систСм ΠΈ мСссСндТСров. Π’ частности, PayPal, Western Union, eBay, Walmart, Skype, WhatsApp, Gett Taxi, Revolut ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ….

Π’ΠΎΡ‡ΠΊΠ° Π²Ρ…ΠΎΠ΄Π°: расчСт Π½Π° массовоС Π·Π°Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅

Для Gustuff Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π΅Π½ «классичСский» Π²Π΅ΠΊΡ‚ΠΎΡ€ проникновСния Π½Π° Android-смартфоны Ρ‡Π΅Ρ€Π΅Π· БМБ-рассылки со ссылками Π½Π° APK. ΠŸΡ€ΠΈ Π·Π°Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ Android-устройства трояном ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ сСрвСра ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΡ‚ΠΈ дальнСйшСС распространСниС Gustuff’Π° ΠΏΠΎ Π±Π°Π·Π΅ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ² ΠΈΠ½Ρ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π° Π»ΠΈΠ±ΠΎ ΠΏΠΎ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… сСрвСра. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ возмоТности Gustuff рассчитаны Π½Π° массовоС Π·Π°Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΊΠ°ΠΏΠΈΡ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ бизнСса своих ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² – Π² Π½Π΅ΠΌ присутствуСт ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Π°Ρ функция Β«Π°Π²Ρ‚ΠΎΠ·Π°Π»ΠΈΠ²Π°Β» Π² Π»Π΅Π³ΠΈΡ‚ΠΈΠΌΠ½Ρ‹Π΅ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ банковскиС прилоТСния ΠΈ ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠΊΠΎΡˆΠ΅Π»ΡŒΠΊΠΈ, Ρ‡Ρ‚ΠΎ позволяСт ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΡ€Π°ΠΆΡƒ Π΄Π΅Π½Π΅Π³.

ИсслСдованиС трояна ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΎ, Ρ‡Ρ‚ΠΎ функция Π°Π²Ρ‚ΠΎΠ·Π°Π»ΠΈΠ²Π° Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² Π½Π΅ΠΌ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Accessibility Service β€” сСрвиса для людСй с ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ возмоТностями. Gustuff – Π½Π΅ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ троян, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΡ‚ Π·Π°Ρ‰ΠΈΡ‚Ρƒ ΠΎΡ‚ взаимодСйствия с элСмСнтами ΠΎΠΊΠΎΠ½ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄Π°Π½Π½ΠΎΠ³ΠΎ сСрвиса Android. Однако использованиС Accessibility Service Π² сочСтании с Π°Π²Ρ‚ΠΎΠ·Π°Π»ΠΈΠ²ΠΎΠΌ остаСтся Π΄ΠΎ сих ΠΏΠΎΡ€ достаточно Ρ€Π΅Π΄ΠΊΠΈΠΌ явлСниСм.

ПослС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ ΠΆΠ΅Ρ€Ρ‚Π²Ρ‹ Gustuff, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Accessibility Service, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с элСмСнтами ΠΎΠΊΠΎΠ½ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (банковских, ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ²Π°Π»ΡŽΡ‚Π½Ρ‹Ρ…, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для ΠΎΠ½Π»Π°ΠΉΠ½-шоппинга, ΠΎΠ±ΠΌΠ΅Π½Π° сообщСниями ΠΈ Π΄Ρ€.), выполняя Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΠΎΠ² дСйствия. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ сСрвСра троян ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΆΠΈΠΌΠ°Ρ‚ΡŒ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ значСния тСкстовых ΠΏΠΎΠ»Π΅ΠΉ Π² банковских прилоТСниях. ИспользованиС ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Accessibility Service позволяСт трояну ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ Π·Π°Ρ‰ΠΈΡ‚Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π±Π°Π½ΠΊΠ°ΠΌΠΈ для противодСйствия ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ троянам ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ³ΠΎ поколСния, Π° Ρ‚Π°ΠΊΠΆΠ΅ измСнСния Π² ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ΅ бСзопасности, Π²Π½Π΅Π΄Ρ€Π΅Π½Π½Ρ‹Π΅ Google Π² Π½ΠΎΠ²Ρ‹Π΅ вСрсии ОБ Android. Π’Π°ΠΊ, Gustuff Β«ΡƒΠΌΠ΅Π΅Ρ‚Β» ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π·Π°Ρ‰ΠΈΡ‚Ρƒ Google Protect: ΠΏΠΎ завСрСниям Π°Π²Ρ‚ΠΎΡ€Π°, данная функция срабатываСт Π² 70% случаСв.

Как Android-троян Gustuff снимаСт сливки (Ρ„ΠΈΠ°Ρ‚ ΠΈ ΠΊΡ€ΠΈΠΏΡ‚Ρƒ) с Π²Π°ΡˆΠΈΡ… счСтов

Π’Π°ΠΊΠΆΠ΅ Gustuff ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π΅ΠΉΠΊΠΎΠ²Ρ‹Π΅ PUSH-увСдомлСния с ΠΈΠΊΠΎΠ½ΠΊΠ°ΠΌΠΈ Π»Π΅Π³ΠΈΡ‚ΠΈΠΌΠ½Ρ‹Ρ… ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΊΠ»ΠΈΠΊΠ°Π΅Ρ‚ Π½Π° PUSH-ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΈ Π²ΠΈΠ΄ΠΈΡ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΠ΅ с сСрвСра Ρ„ΠΈΡˆΠΈΠ½Π³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, ΠΊΡƒΠ΄Π° сам Π²Π²ΠΎΠ΄ΠΈΡ‚ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ банковской ΠΊΠ°Ρ€Ρ‚Ρ‹ ΠΈΠ»ΠΈ ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠΊΠΎΡˆΠ΅Π»ΡŒΠΊΠ°. Π’ Π΄Ρ€ΡƒΠ³ΠΎΠΌ сцСнарии Ρ€Π°Π±ΠΎΡ‚Ρ‹ Gustuff происходит ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ прилоТСния, ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Π»ΠΎΡΡŒ PUSH-ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅. Π’ этом случаС врСдоносная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ сСрвСра Ρ‡Π΅Ρ€Π΅Π· Accessibility Service ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ поля Ρ„ΠΎΡ€ΠΌΡ‹ банковского прилоТСния для ΠΌΠΎΡˆΠ΅Π½Π½ΠΈΡ‡Π΅ΡΠΊΠΎΠΉ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ.

Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ возмоТности Gustuff Ρ‚Π°ΠΊΠΆΠ΅ входят ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Π½Π° сСрвСр ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Π·Π°Ρ€Π°ΠΆΡ‘Π½Π½ΠΎΠΌ устройствС, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ чтСния/отправлСния БМБ-сообщСний, ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ USSD-запросов, запуск SOCKS5 Proxy, ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΏΠΎ ссылкС, ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² (Π² Ρ‚ΠΎΠΌ числС фотосканов Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ΠΎΠ², Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΉ) Π½Π° сСрвСр, сброс устройства Π΄ΠΎ заводских настроСк.

Анализ врСдоносной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

ΠŸΠ΅Ρ€Π΅Π΄ установкой врСдоносного прилоТСния ОБ Android дСмонстрируСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΎΠΊΠ½ΠΎ, содСрТащСС Π² сСбС список Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… Gustuff’ΠΎΠΌ ΠΏΡ€Π°Π²:

Как Android-троян Gustuff снимаСт сливки (Ρ„ΠΈΠ°Ρ‚ ΠΈ ΠΊΡ€ΠΈΠΏΡ‚Ρƒ) с Π²Π°ΡˆΠΈΡ… счСтов
Установка прилоТСния ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС получСния согласия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ПослС запуска прилоТСния троян ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΎΠΊΠ½ΠΎ:

Как Android-троян Gustuff снимаСт сливки (Ρ„ΠΈΠ°Ρ‚ ΠΈ ΠΊΡ€ΠΈΠΏΡ‚Ρƒ) с Π²Π°ΡˆΠΈΡ… счСтов
ПослС Ρ‡Π΅Π³ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ свою ΠΈΠΊΠΎΠ½ΠΊΡƒ.

Gustuff ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½, ΠΏΠΎ словам Π°Π²Ρ‚ΠΎΡ€Π°, ΡƒΠΏΠ°ΠΊΠΎΠ²Ρ‰ΠΈΠΊΠΎΠΌ ΠΎΡ‚ FTT. ПослС запуска ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ пСриодичСски обращаСтся ΠΊ CnC- сСрвСру с Ρ†Π΅Π»ΡŒΡŽ получСния ΠΊΠΎΠΌΠ°Π½Π΄. Π’ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… исслСдованных Π½Π°ΠΌΠΈ Ρ„Π°ΠΉΠ»Π°Ρ… Π² качСствС ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ сСрвСра использовался IP-адрСс 88.99.171[.]105 (Π² дальнСйшСм Π±ΡƒΠ΄Π΅ΠΌ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ <%CnC%>).

ПослС запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ сообщСний сСрвСру http://<%CnC%>/api/v1/get.php.

Π’ качСствС ΠΎΡ‚Π²Π΅Ρ‚Π° оТидаСтся JSON ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°:

{
    "results" : "OK",
    "command":{
        "id": "<%id%>",
        "command":"<%command%>",
        "timestamp":"<%Server Timestamp%>",
        "params":{
		<%Command parameters as JSON%>
        },
    },
}

ΠŸΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ отправляСт ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π·Π°Ρ€Π°ΠΆΠ΅Π½Π½ΠΎΠΌ устройствС. Π€ΠΎΡ€ΠΌΠ°Ρ‚ сообщСния прСдставлСн Π½ΠΈΠΆΠ΅. Π‘Ρ‚ΠΎΠΈΡ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ поля full, extra, apps ΠΈ permission – ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² случаС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹-запроса ΠΎΡ‚ CnC.

{
    "info":
    {
        "info":
        {
            "cell":<%Sim operator name%>,
            "country":<%Country ISO%>,
            "imei":<%IMEI%>,
            "number":<%Phone number%>,
            "line1Number":<%Phone number%>,
            "advertisementId":<%ID%>
        },
        "state":
        {
            "admin":<%Has admin rights%>,
            "source":<%String%>,
            "needPermissions":<%Application needs permissions%>,
            "accesByName":<%Boolean%>,
            "accesByService":<%Boolean%>,
            "safetyNet":<%String%>,
            "defaultSmsApp":<%Default Sms Application%>,
            "isDefaultSmsApp":<%Current application is Default Sms Application%>,
            "dateTime":<%Current date time%>,
            "batteryLevel":<%Battery level%>
        },
        "socks":
        {
            "id":<%Proxy module ID%>,
            "enabled":<%Is enabled%>,
            "active":<%Is active%>
        },
        "version":
        {
            "versionName":<%Package Version Name%>,
            "versionCode":<%Package Version Code%>,
            "lastUpdateTime":<%Package Last Update Time%>,
            "tag":<%Tag, default value: "TAG"%>,
            "targetSdkVersion":<%Target Sdk Version%>,
            "buildConfigTimestamp":1541309066721
        },
    },
    "full":
    {
        "model":<%Device Model%>,
        "localeCountry":<%Country%>,
        "localeLang":<%Locale language%>,
        "accounts":<%JSON array, contains from "name" and "type" of accounts%>,
        "lockType":<%Type of lockscreen password%>
    },
    "extra":
    {
        "serial":<%Build serial number%>,
        "board":<%Build Board%>,
        "brand":<%Build Brand%>,
        "user":<%Build User%>,
        "device":<%Build Device%>,
        "display":<%Build Display%>,
        "id":<%Build ID%>,
        "manufacturer":<%Build manufacturer%>,
        "model":<%Build model%>,
        "product":<%Build product%>,
        "tags":<%Build tags%>,
        "type":<%Build type%>,
        "imei":<%imei%>,
        "imsi":<%imsi%>,
        "line1number":<%phonenumber%>,
        "iccid":<%Sim serial number%>,
        "mcc":<%Mobile country code of operator%>,
        "mnc":<%Mobile network codeof operator%>,
        "cellid":<%GSM-data%>,
        "lac":<%GSM-data%>,
        "androidid":<%Android Id%>,
        "ssid":<%Wi-Fi SSID%>
    },
    "apps":{<%List of installed applications%>},
    "permission":<%List of granted permissions%>
} 

Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…

Gustuff Ρ…Ρ€Π°Π½ΠΈΡ‚ Π²Π°ΠΆΠ½ΡƒΡŽ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² preference-Ρ„Π°ΠΈΜ†Π»Π΅. Имя Ρ„Π°ΠΈΜ†Π»Π°, ΠΊΠ°ΠΊ ΠΈ ΠΈΠΌΠ΅Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π² Π½Π΅ΠΌ – Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ вычислСния MD5-суммы ΠΎΡ‚ строки 15413090667214.6.1<%name%>, Π³Π΄Π΅ <%name%> β€” исходноС имя-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Python-интСрпрСтация Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΠΌΠ΅Π½ΠΈ:

 nameGenerator(input):
    output = md5("15413090667214.6.1" + input) 

Π’ Π΄Π°Π»ΡŒΠ½Π΅ΠΈΜ†ΡˆΠ΅ΠΌ Π±ΡƒΠ΄Π΅ΠΌ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ nameGenerator(input).
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, имя ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Ρ„Π°ΠΈΜ†Π»Π°: nameGenerator(Β«API_SERVER_LISTΒ»), ΠΎΠ½ содСрТит значСния со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ:

Имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΈΜ† Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
nameGenerator(Β«API_SERVER_LISTΒ») Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ список CnC-адрСсов Π² Π²ΠΈΠ΄Π΅ массива.
nameGenerator(Β«API_SERVER_URLΒ») Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ CnC-адрСс.
nameGenerator(Β«SMS_UPLOADΒ») Π€Π»Π°Π³ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ установлСн. Если Ρ„Π»Π°Π³ установлСн – отправляСт БМБ-сообщСния Π½Π° CnC.
nameGenerator(Β«SMS_ROOT_NUMBERΒ») НомСр Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΈΜ† Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ SMS-сообщСний принятыС Π·Π°Ρ€Π°ΠΆΠ΅Π½Π½Ρ‹ΠΌ устрйоством. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ null.
nameGenerator(Β«SMS_ROOT_NUMBER_RESENDΒ») Π€Π»Π°Π³ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΡΠ±Ρ€ΠΎΡˆΠ΅Π½. Если установлСн – ΠΏΡ€ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠΈ Π·Π°Ρ€Π°ΠΆΠ΅Π½Π½Ρ‹ΠΌ устройством SMS ΠΎΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½ΠΎ Π½Π° root-Π½ΠΎΠΌΠ΅Ρ€.
nameGenerator(Β«DEFAULT_APP_SMSΒ») Π€Π»Π°Π³ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΡΠ±Ρ€ΠΎΡˆΠ΅Π½. Если Π΄Π°Π½Π½Ρ‹ΠΈΜ† Ρ„Π»Π°Π³ установлСн – ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ входящиС SMS- сообщСния.
nameGenerator(Β«DEFAULT_ADMINΒ») Π€Π»Π°Π³ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΡΠ±Ρ€ΠΎΡˆΠ΅Π½. Если Ρ„Π»Π°Π³ установлСн – ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€Π°Π²Π° администратора.
nameGenerator(Β«DEFAULT_ACCESSIBILITYΒ») Π€Π»Π°Π³ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΡΠ±Ρ€ΠΎΡˆΠ΅Π½. Если Ρ„Π»Π°Π³ установлСн – Π·Π°ΠΏΡƒΡ‰Π΅Π½ сСрвис, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΈΜ† Accessibility Service.
nameGenerator(Β«APPS_CONFIGΒ») JSON-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, содСрТит список дСйствий, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ срабатывании Accessibility-события, связанного с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ.
nameGenerator(Β«APPS_INSTALLEDΒ») Π₯Ρ€Π°Π½ΠΈΡ‚ список установлСнных Π½Π° устройствС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈΜ†.
nameGenerator(Β«IS_FIST_RUNΒ») Π€Π»Π°Π³ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ запускС сбрасываСтся.
nameGenerator(Β«UNIQUE_IDΒ») Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΈΜ† ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€. ГСнСрируСтся ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ запускС Π±ΠΎΡ‚Π°.

ΠœΠΎΠ΄ΡƒΠ»ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΎΡ‚ сСрвСра

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΡ‚ адрСса CnC-сСрвСров Π² Π²ΠΈΠ΄Π΅ массива Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ Base85 строк. Бписок CnC β€” сСрвСров ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ ΠΏΡ€ΠΈ поступлСнии ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΈΜ† ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Π² Ρ‚Π°ΠΊΠΎΠΌ случаС адрСса Π±ΡƒΠ΄ΡƒΡ‚ хранится Π² preference-Ρ„Π°ΠΈΜ†Π»Π΅.

Π’ ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° запрос сСрвСр отправляСт ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ. Π‘Ρ‚ΠΎΠΈΡ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ прСдставлСны Π² JSON-Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

Команда ОписаниС
forwardStart ΠΠ°Ρ‡Π°Ρ‚ΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌΡ‹Ρ… Π·Π°Ρ€Π°ΠΆΠ΅Π½Π½Ρ‹ΠΌ устройством SMS-сообщСний Π½Π° CnC-сСрвСр.
forwardStop ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌΡ‹Ρ… Π·Π°Ρ€Π°ΠΆΠ΅Π½Π½Ρ‹ΠΌ устройством SMS-сообщСний Π½Π° CnC-сСрвСр.
ussdRun Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ USSD-запрос. НомСр, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ USSD-запрос находится Π² JSON-ΠΏΠΎΠ»Π΅ Β«numberΒ».
sendSms ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΎΠ΄Π½ΠΎ SMS-сообщСниС (ΠΏΡ€ΠΈ нСобходимости сообщСниС «дробится» Π½Π° части). Π’ качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ JSON-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, содСрТащий поля Β«toΒ» β€” Π½ΠΎΠΌΠ΅Ρ€ назначСния ΠΈ Β«bodyΒ» β€” Ρ‚Π΅Π»ΠΎ сообщСния.
sendSmsAb ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ SMS-сообщСния (ΠΏΡ€ΠΈ нСобходимости сообщСниС «дробится» Π½Π° части) всСм ΠΈΠ· списка ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ² Π·Π°Ρ€Π°ΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ устройства. Π˜Π½Ρ‚Π΅Ρ€Π²Π°Π» ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ сообщСний – 10 сСкунд. Π’Π΅Π»ΠΎ сообщСния находится Π² JSON-ΠΏΠΎΠ»Π΅ Β«bodyΒ»
sendSmsMass ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ SMS-сообщСния (ΠΏΡ€ΠΈ нСобходимости сообщСниС «дробится» Π½Π° части) ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π°ΠΌ, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ… ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Π˜Π½Ρ‚Π΅Ρ€Π²Π°Π» ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ сообщСний – 10 сСкунд. Π’ качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ JSON-массив (ΠΏΠΎΠ»Π΅ Β«smsΒ»), элСмСнты ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ содСрТат поля Β«toΒ» β€” Π½ΠΎΠΌΠ΅Ρ€ назначСния ΠΈ Β«bodyΒ» β€” Ρ‚Π΅Π»ΠΎ сообщСния.
changeServer Данная ΠΊΠΎΠΌΠ°Π½Π΄Π° Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ с ΠΊΠ»ΡŽΡ‡ΠΎΠΌ Β«urlΒ» β€” Ρ‚ΠΎΠ³Π΄Π° Π±ΠΎΡ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ nameGenerator(β€œSERVER_URL”), Π»ΠΈΠ±ΠΎ Β«arrayΒ» β€” Ρ‚ΠΎΠ³Π΄Π° Π±ΠΎΡ‚ Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚ массив Π² nameGenerator (β€œAPI_SERVER_LIST”) Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ мСняСт адрСс CnC-сСрвСров.
adminNumber Команда ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с root-Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ. Команда ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ JSON-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ: Β«numberΒ» β€” ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ nameGenerator(β€œROOT_NUMBER”) Π½Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Β«resendΒ» β€” ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ nameGenerator(β€œSMS_ROOT_NUMBER_RESEND”), Β«sendIdΒ» β€” ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π½Π° nameGenerator(β€œROOT_NUMBER”) uniqueID.
updateInfo ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π½Π° сСрвСр ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π·Π°Ρ€Π°ΠΆΠ΅Π½Π½ΠΎΠΌ устройствС.
wipeData Команда ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для удалСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ…. Π’ зависимости ΠΎΡ‚ ΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ Π±Ρ‹Π»ΠΎ Π·Π°ΠΏΡƒΡ‰Π΅Π½ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ происходит Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ»Π½ΠΎΠ΅ стираниС Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ устройства (primary user), Π»ΠΈΠ±ΠΎ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ… (secondary user).
socksStart Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Proxy-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ. Π Π°Π±ΠΎΡ‚Π° модуля описана Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅.
socksStop ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Proxy-модуля.
openLink ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΏΠΎ ссылкС. Бсылка находится Π² JSON-ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Ρƒ Β«urlΒ». Для открытия ссылки ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Β«android.intent.action.VIEWΒ».
uploadAllSms ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π½Π° сСрвСр всС принятыС устройством SMS-сообщСния.
uploadAllPhotos ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π½Π° URL изобраТСния с Π·Π°Ρ€Π°ΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ устройства. URL ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ ΠΊΠ°ΠΊ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€.
uploadFile ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π½Π° URL Ρ„Π°ΠΉΠ» с Π·Π°Ρ€Π°ΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ устройства. URL ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ ΠΊΠ°ΠΊ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€.
uploadPhoneNumbers ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π½Π° сСрвСр Π½ΠΎΠΌΠ΅Ρ€Π° Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ΠΎΠ² ΠΈΠ· списка ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ². Если Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ JSON-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ с ΠΊΠ»ΡŽΡ‡ΠΎΠΌ Β«abΒ», ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ список ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ² ΠΈΠ· Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ. Если Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ JSON-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ с ΠΊΠ»ΡŽΡ‡ΠΎΠΌ Β«smsΒ», ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ список ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ² ΠΈΠ· ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚Π΅Π»Π΅ΠΉ SMS-сообщСний.
changeArchive ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Ρ„Π°ΠΉΠ» с адрСса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Ρƒ Β«urlΒ». Π—Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» сохраняСтся с ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«archive.zipΒ». ПослС этого ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π·Π°Ρ€Ρ…ΠΈΠ²ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ„Π°ΠΉΠ», ΠΏΡ€ΠΈ нСобходимости ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ для Π°Ρ€Ρ…ΠΈΠ²Π° Β«b5jXh37gxgHBrZhQ4j3DΒ». Π Π°Π·Π°Ρ€Ρ…ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ»Ρ‹ сохраняСт Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ [external storage]/hgps. Π’ Π΄Π°Π½Π½ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΡ‚ web-Ρ„Π΅ΠΉΠΊΠΈ (описано Π΄Π°Π»Π΅Π΅).
actions Команда ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Action Service, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ описан Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅.
test НичСго Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ‚.
download Команда ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ„Π°ΠΉΠ»Π° с ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ сСрвСра ΠΈ сохранСнии Π΅Π³ΠΎ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ Β«DownloadsΒ». URL ΠΈ имя Ρ„Π°ΠΉΠ»Π° приходят Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°, поля Π² JSON-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ соотвСтствСнно: Β«urlΒ» ΠΈ Β«fileNameΒ».
remove УдаляСт Ρ„Π°ΠΉΠ» ΠΈΠ· Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Β«DownloadsΒ». Имя Ρ„Π°ΠΉΠ»Π° ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ Π² JSON-ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ с ΠΊΠ»ΡŽΡ‡ΠΎΠΌ Β«fileNameΒ». Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎΠ΅ имя Ρ„Π°ΠΉΠ»Π° – Β«tmp.apkΒ».
notification ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ с тСкстами описания ΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°, опрСдСляСмыми ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΌ сСрвСром.

Π€ΠΎΡ€ΠΌΠ°Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ notification:

{
    "results" : "OK",
    "command":{
    "id": <%id%>,
    "command":"notification",
    "timestamp":<%Server Timestamp%>,
    "params":{
        "openApp":<%Open original app or not%>,
        "array":[
                      {"title":<%Title text%>,
                      "desc":<%Description text%>,
                      "app":<%Application name%>}
                   ]
                   },
        },
}

Π£Π²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅, создаваСмоС исслСдуСмым Ρ„Π°ΠΉΠ»ΠΎΠΌ, выглядит ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½ΠΎ увСдомлСниям, создаваСмым ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ Π² ΠΏΠΎΠ»Π΅ app. Если Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ поля openApp β€” True, ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ увСдомлСния запускаСтся ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π² ΠΏΠΎΠ»Π΅ app. Если Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ поля openApp β€” False, Ρ‚ΠΎ:

  • открываСтся Ρ„ΠΈΡˆΠΈΠ½Π³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, содСрТимоС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ загруТаСтся ΠΈΠ· Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ <%external storage%>/hgps/<%filename%>
  • открываСтся Ρ„ΠΈΡˆΠΈΠ½Π³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, содСрТимоС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ загруТаСтся с сСрвСра <%url%>?id=<%Bot id%>&app=<%Application name%>
  • открываСтся Ρ„ΠΈΡˆΠΈΠ½Π³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, замаскированноС ΠΏΠΎΠ΄ Google Play Card, с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ ввСсти Π΄Π°Π½Π½Ρ‹Π΅ ΠΊΠ°Ρ€Ρ‚Ρ‹.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ исполнСния любой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ отправляСт Π½Π° <%CnC%>set_state.php Π² Π²ΠΈΠ΄Π΅ JSON-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°:

{
    "command":
    {
        "command":<%command%>,
        "id":<%command_id%>,
        "state":<%command_state%>
    }
    "id":<%bot_id%>
}

ActionsService
Π’ список ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π²Ρ…ΠΎΠ΄ΠΈΡ‚ action. ΠŸΡ€ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ обращаСтся ΠΊ Π΄Π°Π½Π½ΠΎΠΌΡƒ сСрвису с Ρ†Π΅Π»ΡŒΡŽ исполнСния Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠΈΜ† ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Π’ качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° сСрвис ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ JSON-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. БСрвис ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

1. PARAMS_ACTION β€” ΠΏΡ€ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠΈ Ρ‚Π°ΠΊΠΎΠΈΜ† ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ сСрвис Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΈΠ· JSON- ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Ρƒ Type, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ:

  • serviceInfo – ΠΏΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΈΠ· JSON-ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Ρƒ includeNotImportant. Если Ρ„Π»Π°Π³ Ρ€Π°Π²Π΅Π½ True β€” ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ устанавливаСт Ρ„Π»Π°Π³ FLAG_ISOLATED_PROCESS Π½Π° сСрвис, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΈΜ† Accessibility Service. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, сСрвис Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡƒΡ‰Π΅Π½ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ процСссС.
  • root β€” ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π½Π° сСрвСр ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ΠΎΠΊΠ½Π΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ сСйчас Π² фокусС. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ класса AccessibilityNodeInfo.
  • admin β€” Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²Π° администратора.
  • delay β€” ΠΏΡ€ΠΈΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ ActionsService Π½Π° Ρ‚ΠΎ количСство миллисСкунд, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Ρƒ Β«dataΒ».
  • windows β€” ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ список Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΎΠΊΠΎΠ½.
  • install β€” ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π·Π°Ρ€Π°ΠΆΠ΅Π½Π½ΠΎΠ΅ устройство. НазваниС ΠΏΠ°ΠΊΠ΅Ρ‚Π° β€” Π°Ρ€Ρ…ΠΈΠ²Π° находится Π² ΠΊΠ»ΡŽΡ‡Π΅ Β«fileNameΒ». Π‘Π°ΠΌ Π°Ρ€Ρ…ΠΈΠ² находится Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Downloads.
  • global – ΠΏΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для осущСствлСния ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° с Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΎΠΊΠ½Π°:
    • Π½Π° мСню Quick Settings
    • Π½Π°Π·Π°Π΄
    • Π΄ΠΎΠΌΠΎΠΈΜ†
    • ΠΊ увСдомлСниям
    • ΠΊ ΠΎΠΊΠ½Ρƒ Π½Π΅Π΄Π°Π²Π½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈΜ†

  • launch β€” Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. НаимСнованиС прилоТСния ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ ΠΊΠ°ΠΊ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Ρƒ data.
  • sounds β€” ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ Π·Π²ΡƒΠΊΠ° Π½Π° silence.
  • unlock β€” Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ подсвСтку экрана ΠΈ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ Π½Π° ΠΏΠΎΠ»Π½ΡƒΡŽ ΡΡ€ΠΊΠΎΡΡ‚ΡŒ. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ выполняСт Π΄Π°Π½Π½ΠΎΠ΅ дСйствиС ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ WakeLock, Π² качСствС тэга ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ строку [Application lable]:INFO
  • permissionOverlay β€” функция Π½Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° (ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° исполнСниС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ β€” {Β«messageΒ»:Β«Not supportΒ»} ΠΈΠ»ΠΈ {Β«messageΒ»:Β«low sdkΒ»})
  • gesture β€” функция Π½Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° (ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° исполнСниС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ β€” {Β«messageΒ»:Β«Not supportΒ»}ΠΈΠ»ΠΈ {Β«messageΒ»:Β«Low APIΒ»})
  • permissions β€” данная ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° для запроса ΠΏΡ€Π°Π² для прилоТСния. Однако функция запроса Π½Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π°, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ смысла. Бписок Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… ΠΏΡ€Π°Π² ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ ΠΊΠ°ΠΊ JSON-массив с ΠΊΠ»ΡŽΡ‡ΠΎΠΌ Β«permissionsΒ». Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΈΜ† список:
    • android.permission.READ_PHONE_STATE
    • android.permission.READ_CONTACTS
    • android.permission.CALL_PHONE
    • android.permission.RECEIVE_SMS
    • android.permission.SEND_SMS
    • android.permission.READ_SMS
    • android.permission.READ_EXTERNAL_STORAGE
    • android.permission.WRITE_EXTERNAL_STORAGE

  • open β€” вывСсти Π½Π° экран Ρ„ΠΈΡˆΠΈΠ½Π³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ. Π’ зависимости ΠΎΡ‚ приходящСго ΠΎΡ‚ сСрвСра ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„ΠΈΡˆΠΈΠ½Π³ΠΎΠ²Ρ‹Π΅ ΠΎΠΊΠ½Π°:
    • ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ„ΠΈΡˆΠΈΠ½Π³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, содСрТимоС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ прописано Π² Ρ„Π°ΠΈΜ†Π»Π΅ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ <%external directory%>/hgps/<%param_filename%>. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ взаимодСйствия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ с ΠΎΠΊΠ½ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½ ΠΏΠΎ адрСсу <%CnC%>/records.php
    • ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ„ΠΈΡˆΠΈΠ½Π³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, содСрТимоС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ грузится с адрСса <%url_param%>?id=<%bot_id%>&app=<%packagename%>. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ взаимодСйствия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ с ΠΎΠΊΠ½ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½ ΠΏΠΎ адрСсу <%CnC%>/records.php
    • ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ„ΠΈΡˆΠΈΠ½Π³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, замаскированноС ΠΏΠΎΠ΄ Google Play Card.

  • interactive β€” ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для взаимодСйствия с элСмСнтами ΠΎΠΊΠΎΠ½ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈΜ† ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ AcessibilityService. Для взаимодСйствия Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΈΜ† сСрвис. Π˜ΡΡΠ»Π΅Π΄ΡƒΠ΅ΠΌΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΈΜ†ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с ΠΎΠΊΠ½Π°ΠΌΠΈ:
    • Активным Π½Π° Π΄Π°Π½Π½Ρ‹ΠΈΜ† ΠΌΠΎΠΌΠ΅Π½Ρ‚. Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ содСрТит id Π»ΠΈΠ±ΠΎ text (Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅) ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΈΜ†ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ.
    • Π’ΠΈΠ΄ΠΈΠΌΡ‹ΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚ исполнСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ ΠΎΠΊΠ½Π° ΠΏΠΎ id.

    ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ AccessibilityNodeInfo для ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰ΠΈΡ… элСмСнтов ΠΎΠΊΠ½Π°, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² зависимости ΠΎΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ дСйствия:

    • focus β€” ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ фокус Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.
    • click β€” ΠΊΠ»ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.
    • actionId β€” Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ дСйствиС ΠΏΠΎ ID.
    • setText β€” ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ тСкст ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ИзмСнСниС тСкста Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ двумя способами: Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ дСйствиС ACTION_SET_TEXT (Ссли вСрсия Android Π·Π°Ρ€Π°ΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ устройства – ΠΌΠΎΠ»ΠΎΠΆΠ΅ Π»ΠΈΠ±ΠΎ Ρ€Π°Π²Π½Π° LOLLIPOP), Π»ΠΈΠ±ΠΎ помСстив Π² Π±ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π° строку ΠΈ вставив Π΅Π³ΠΎ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (для вСрсий ΡΡ‚Π°Ρ€ΡˆΠ΅). Данная ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использована для измСнСния Π΄Π°Π½Π½Ρ‹Ρ… Π² банковском ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.

2. PARAMS_ACTIONS β€” Ρ‚ΠΎ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ PARAMS_ACTION, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ JSON-массив ΠΊΠΎΠΌΠ°Π½Π΄.

ΠšΠ°ΠΆΠ΅Ρ‚ΡΡ, ΠΌΠ½ΠΎΠ³ΠΈΠΌ Π±ΡƒΠ΄Π΅Ρ‚ интСрСсно, ΠΊΠ°ΠΊ выглядит функция взаимодСйствия с элСмСнтами ΠΎΠΊΠ½Π° Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ прилоТСния. Π’ΠΎΡ‚ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° данная Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π² Gustuff’Π΅:

boolean interactiveAction(List aiList, JSONObject action, JsonObject res) {
    int count = action.optInt("repeat", 1);
    Iterator aiListIterator = ((Iterable)aiList).iterator();
    int count = 0;
    while(aiListIterator.hasNext()) {
        Object ani = aiListIterator.next();
        if(1 <= count) {
            int index;
            for(index = 1; true; ++index) {
                if(action.has("focus")) {
                    if(((AccessibilityNodeInfo)ani).performAction(1)) {
                        ++count;
                    }
                }
                else if(action.has("click")) {
                    if(((AccessibilityNodeInfo)ani).performAction(16)) {
                        ++count;
                    }
                }
                else if(action.has("actionId")) {
                    if(((AccessibilityNodeInfo)ani).performAction(action.optInt("actionId"))) {
                        ++count;
                    }
                }
                else if(action.has("setText")) {
                    customHeader ch = CustomAccessibilityService.a;
                    Context context = this.getApplicationContext();
                    String text = action.optString("setText");
                    if(performSetTextAction(ch, context, ((AccessibilityNodeInfo)ani), text)) {
                        ++count;
                    }
                }
                if(index == count) {
                    break;
                }
            }
        }
        ((AccessibilityNodeInfo)ani).recycle();
    }
    res.addPropertyNumber("res", Integer.valueOf(count));
}

Ѐункция Π·Π°ΠΌΠ΅Π½Ρ‹ тСкста:

boolean performSetTextAction(Context context, AccessibilityNodeInfo ani, String text) {
    boolean result;
    if(Build$VERSION.SDK_INT >= 21) {
        Bundle b = new Bundle();
        b.putCharSequence("ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE", ((CharSequence)text));
        result = ani.performAction(0x200000, b);  // ACTION_SET_TEXT
    }
    else {
        Object clipboard = context.getSystemService("clipboard");
        if(clipboard != null) {
        ((ClipboardManager)clipboard).setPrimaryClip(ClipData.newPlainText("autofill_pm", ((CharSequence)text)));
        result = ani.performAction(0x8000);  // ACTION_PASTE
        }
        else {
            result = false;
        }
    }
    return result;
}

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΡ€ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ настройкС ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ сСрвСра Gustuff способСн Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ тСкстовыС поля Π² банковском ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΈ Π½Π°ΠΆΠ°Ρ‚ΡŒ Π½Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ. Врояну Π΄Π°ΠΆΠ΅ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΡŽ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ β€” достаточно ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π½Π° Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ PUSH-увСдомлСния с ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ΠΌ Ρ€Π°Π½Π΅Π΅ установлСнного банковского прилоТСния. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ сам ΠΏΡ€ΠΎΠΉΠ΄Π΅Ρ‚ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΡŽ, послС Ρ‡Π΅Π³ΠΎ Gustuff смоТСт произвСсти Π°Π²Ρ‚ΠΎΠ·Π°Π»ΠΈΠ².

ΠœΠΎΠ΄ΡƒΠ»ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ БМБ-сообщСний

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ устанавливаСт ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события Π½Π° принятиС Π·Π°Ρ€Π°ΠΆΠ΅Π½Π½Ρ‹ΠΌ устройством БМБ-сообщСний. Π˜ΡΡΠ»Π΅Π΄ΡƒΠ΅ΠΌΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ приходят Π² Ρ‚Π΅Π»Π΅ БМБ- сообщСния. ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ приходят Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅:

7!5=<%Base64 encoded command%>

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΡ‰Π΅Ρ‚ Π²ΠΎ всСх приходящих БМБ-сообщСниях строку 7!5=, ΠΏΡ€ΠΈ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠΈ строки – Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈΠ· Base64 строку ΠΏΠΎ ΡΠΌΠ΅Ρ‰Π΅Π½ΠΈΡŽ 4 ΠΈ исполняСт ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ. ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ с CnC. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ исполнСния отправляСтся Π½Π° Ρ‚ΠΎΡ‚ ΠΆΠ΅ Π½ΠΎΠΌΠ΅Ρ€, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ поступила ΠΊΠΎΠΌΠ°Π½Π΄Π°. Π€ΠΎΡ€ΠΌΠ°Ρ‚ ΠΎΡ‚Π²Π΅Ρ‚Π°:

7*5=<%Base64 encode of Β«result_code commandΒ»%>

ΠžΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ всС ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌΡ‹Π΅ сообщСния Π½Π° Root-Π½ΠΎΠΌΠ΅Ρ€. Для этого Π² preference-Ρ„Π°ΠΈΜ†Π»Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½ Root-Π½ΠΎΠΌΠ΅Ρ€ ΠΈ установлСн Ρ„Π»Π°Π³ Ρ€Π΅Π΄ΠΈΡ€Π΅ΠΊΡ‚Π° сообщСний. БМБ-сообщСниС отправляСтся Π½Π° Π½ΠΎΠΌΠ΅Ρ€ Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΠ° Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅:

<%From number%> β€” <%Time, format: dd/MM/yyyy HH:mm:ss%> <%SMS body%>

Π’Π°ΠΊΠΆΠ΅ ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ сообщСния Π½Π° CnC. БМБ-сообщСниС отправляСтся Π½Π° сСрвСр Π² JSON-Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅:

{
    "id":<%BotID%>,
    "sms":
    {
        "text":<%SMS body%>,
        "number":<%From number%>,
        "date":<%Timestamp%>
    }
}

Если установлСн Ρ„Π»Π°Π³ nameGenerator(Β«DEFAULT_APP_SMSΒ») – ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ останавливаСт ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ БМБ-сообщСния ΠΈ ΠΎΡ‡ΠΈΡ‰Π°Π΅Ρ‚ список входящих сообщСний.

Proxy-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ

Π’ исслСдуСмом ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ присутствуСт Backconnect Proxy ΠΌΠΎΠ΄ΡƒΠ»ΡŒ (Π΄Π°Π»Π΅Π΅ Proxy-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΈΜ† ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΈΜ† класс, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΈΜ† Π² сСбя статичСскиС поля с ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠ΅ΠΈΜ†. ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ хранятся Π² сСмплС Π² ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌ Π²ΠΈΠ΄Π΅:

Как Android-троян Gustuff снимаСт сливки (Ρ„ΠΈΠ°Ρ‚ ΠΈ ΠΊΡ€ΠΈΠΏΡ‚Ρƒ) с Π²Π°ΡˆΠΈΡ… счСтов

Вся дСйствия, ΡΠΎΠ²Π΅Ρ€ΡˆΠ°Π΅ΠΌΡ‹Π΅ Proxy-ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ, Π»ΠΎΠ³ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² Ρ„Π°ΠΈΜ†Π»Ρ‹. Для этого ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² External Storage создаСт Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Β«logsΒ» (ΠΏΠΎΠ»Π΅ ProxyConfigClass.logsDir Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΌ классС), Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΈΜ† хранятся Π»ΠΎΠ³-Ρ„Π°ΠΈΜ†Π»Ρ‹. Π›ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ происходит Π² Ρ„Π°ΠΈΜ†Π»Ρ‹ с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ:

  1. main.txt – Π² Π΄Π°Π½Π½Ρ‹ΠΈΜ† Ρ„Π°ΠΈΜ†Π» происходит Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ класса с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ CommandServer. Π’ Π΄Π°Π»ΡŒΠ½Π΅ΠΈΜ†ΡˆΠ΅ΠΌ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ строки str Π² Π΄Π°Π½Π½Ρ‹ΠΈΜ† Ρ„Π°ΠΈΜ†Π» Π±ΡƒΠ΄Π΅ΠΌ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ mainLog(str).
  2. session-<%id%>.txt β€” Π² Π΄Π°Π½Π½Ρ‹ΠΈΜ† Ρ„Π°ΠΈΜ†Π» происходит сохранСниС Π»ΠΎΠ³-Π΄Π°Π½Π½Ρ‹Ρ…, связанных с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΈΜ† сСссиСй проксирования. Π’ Π΄Π°Π»ΡŒΠ½Π΅ΠΈΜ†ΡˆΠ΅ΠΌ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ строки str Π² Π΄Π°Π½Π½Ρ‹ΠΈΜ† Ρ„Π°ΠΈΜ†Π» Π±ΡƒΠ΄Π΅ΠΌ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ sessionLog (str).
  3. server.txt – Π² Π΄Π°Π½Π½Ρ‹ΠΈΜ† Ρ„Π°ΠΈΜ†Π» происходит Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ всСх Π΄Π°Π½Π½Ρ‹Ρ…, записываСмых Π² Π²Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½Ρ‹Π΅ Ρ„Π°ΠΈΜ†Π»Ρ‹.

Π€ΠΎΡ€ΠΌΠ°Ρ‚ Π»ΠΎΠ³-Π΄Π°Π½Π½Ρ‹Ρ…:

<%Date%> [Thread[<%thread id%>], id[]]: log-string

Π’ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΠ΅ Π² процСссС Ρ€Π°Π±ΠΎΡ‚Ρ‹ Proxy-модуля ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Ρ‚Π°ΠΊΠΆΠ΅ Π»ΠΎΠ³ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² Ρ„Π°ΠΈΜ†Π». Для этого ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ JSON-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°:

{
    "uncaughtException":<%short description of throwable%>
    "thread":<%thread%>
    "message":<%detail message of throwable%>
    "trace":        //Stack trace info
        [
            {
                "ClassName":
                "FileName":
                "LineNumber":
                "MethodName":
            },
            {
                "ClassName":
                "FileName":
                "LineNumber":
                "MethodName":
            }
        ]
}

ПослС Ρ‡Π΅Π³ΠΎ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π΅Π³ΠΎ Π² строковоС прСдставлСниС ΠΈ Π»ΠΎΠ³ΠΈΡ€ΡƒΠ΅Ρ‚.

Запуск Proxy-модуля осущСствляСтся послС поступлСния ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΠ²ΡƒΡŽΡ‰Π΅ΠΈΜ† ΠΊΠΎΠΌΠ½Π°Π΄Ρ‹. ΠŸΡ€ΠΈ поступлСнии ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π° запуск Proxy-модуля ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ запускаСт сСрвис с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ MainService, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΈΜ† ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΈΜ† Proxy-модуля – Π΅Π³ΠΎ запуск ΠΈ остановку.

Π­Ρ‚Π°ΠΏΡ‹ запуска сСрвиса:

1. ЗапускаСт Ρ‚Π°ΠΈΜ†ΠΌΠ΅Ρ€, ΡΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΈΜ† Ρ€Π°Π· Π² ΠΌΠΈΠ½ΡƒΡ‚Ρƒ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‰ΠΈΠΈΜ† Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Proxy-модуля. Если ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π½Π΅ Π°ΠΊΡ‚ΠΈΠ²Π΅Π½ – запускаСт Π΅Π³ΠΎ.
Π’Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈ срабатывании события android.net.conn.CONNECTIVITY_CHANGE происходит запуск Proxy-модуля.

2. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ создаСт wake-lock с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ PARTIAL_WAKE_LOCK ΠΈ Π·Π°Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π΅Π³ΠΎ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π½Π΅ позволяСт ΠΏΠ΅Ρ€Π΅ΠΈΜ†Ρ‚ΠΈ CPU устройства Π² спящий Ρ€Π΅ΠΆΠΈΠΌ.

3. ЗапускаСт класс ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ Proxy-модуля, ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ логируя строку mainLog(Β«start serverΒ») ΠΈ

Server::start() host[<%proxy_cnc%>], commandPort[<%command_port%>], proxyPort[<%proxy_port%>]

Π³Π΄Π΅ proxy_cnc, command_port ΠΈ proxy_port – ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΈΠ· ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Proxy- сСрвСра.

Класс ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ CommandConnection. Π‘Ρ€Π°Π·Ρƒ послС запуска выполняСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия:

4. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΊ ProxyConfigClass.host: ProxyConfigClass.commandPort ΠΈ отправляСт Ρ‚ΡƒΠ΄Π° Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ Π·Π°Ρ€Π°ΠΆΠ΅Π½Π½ΠΎΠΌ устройствС Π² JSON-Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅:

{
    "id":<%id%>,
    "imei":<%imei%>,
    "imsi":<%imsi%>,
    "model":<%model%>,
    "manufacturer":<%manufacturer%>,
    "androidVersion":<%androidVersion%>,
    "country":<%country%>,
    "partnerId":<%partnerId%>,
    "packageName":<%packageName%>,
    "networkType":<%networkType%>,
    "hasGsmSupport":<%hasGsmSupport%>,
    "simReady":<%simReady%>,
    "simCountry":<%simCountry%>,
    "networkOperator":<%networkOperator%>,
    "simOperator":<%simOperator%>,
    "version":<%version%>
}

Π“Π΄Π΅:

  • id – ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, пытаСтся ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ· Shared Preference Ρ„Π°ΠΈΜ†Π»Π° с ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«xΒ» Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ с ΠΏΠΎΠ»Π΅ΠΌ Β«idΒ». Если Π΄Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ β€” Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Π½ΠΎΠ²ΠΎΠ΅. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Proxy-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈΠΌΠ΅Π΅Ρ‚ свой ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΈΜ† гСнСрируСтся Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ Bot ID.
  • imei β€” IMEI устройства. Если Π² процСссС получСния значСния ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ошибка β€” вмСсто этого поля Π±ΡƒΠ΄Π΅Ρ‚ записано тСкстовоС сообщСниС ΠΎΠ± ошибкС.
  • imsi β€” International Mobile Subscriber Identity устройства. Если Π² процСссС получСния значСния ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ошибка β€” вмСсто этого поля Π±ΡƒΠ΄Π΅Ρ‚ записано тСкстовоС сообщСниС ΠΎΠ± ошибкС.
  • model β€” The end-user-visible name for the end product.
  • manufacturer β€” The manufacturer of the product/hardware (Build.MANUFACTURER).
  • androidVersion β€” строка Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ «<%release_version%> (<%os_version%>),<%sdk_version%>»
  • country β€” Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ мСстополоТСниС устройства.
  • partnerId – пустая строка.
  • packageName – package name.
  • networkType β€” Ρ‚ΠΈΠΏ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ сСтСвого соСдинСния (ΠΏΡ€ΠΈΠΌΠ΅Ρ€: Β«WIFIΒ», Β«MOBILEΒ»). Π’ случаС ошибки Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ null.
  • hasGsmSupport – true – Ссли Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ GSM, ΠΈΠ½Π°Ρ‡Π΅ false.
  • simReady – состояниС SIM-ΠΊΠ°Ρ€Ρ‚Ρ‹.
  • simCountry β€” ISO-ΠΊΠΎΠ΄ страны (Π½Π° основании ΠΏΡ€ΠΎΠ²Π°ΠΈΜ†Π΄Π΅Ρ€Π° сим-ΠΊΠ°Ρ€Ρ‚Ρ‹).
  • networkOperator β€” Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°. Если Π² процСссС получСния значСния ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ошибка β€” вмСсто этого поля Π±ΡƒΠ΄Π΅Ρ‚ записано тСкстовоС сообщСниС ΠΎΠ± ошибкС.
  • simOperator β€” The Service Provider Name (SPN). Если Π² процСссС получСния значСния ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ошибка β€” вмСсто этого поля Π±ΡƒΠ΄Π΅Ρ‚ записано тСкстовоС сообщСниС ΠΎΠ± ошибкС.
  • version β€” Π΄Π°Π½Π½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ хранится Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³-классС, для исслСдуСмых вСрсий Π±ΠΎΡ‚Π° ΠΎΠ½ΠΎ Π±Ρ‹Π»ΠΎ Ρ€Π°Π²Π½ΠΎ Β«1.6Β».

5. ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Ρ€Π΅ΠΆΠΈΠΌ оТидания ΠΊΠΎΠΌΠ°Π½Π΄ ΠΎΡ‚ сСрвСра. ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΎΡ‚ сСрвСра ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅:

  • 0 offset – command
  • 1 offset – sessionId
  • 2 offset – length
  • 4 offset β€” data

ΠŸΡ€ΠΈ поступлСнии ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π»ΠΎΠ³ΠΈΡ€ΡƒΠ΅Ρ‚:
mainLog(Β«Header { sessionId<%id%>], type[<%command%>], length[<%length%>] }Β»)

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΎΡ‚ сСрвСра:

Name Command Data Description
connectionId 0 Connection ID Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅
SLEEP 3 Time ΠŸΡ€ΠΈΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Proxy-модуля
PING_PONG 4 ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ PONG-сообщСниС

PONG-сообщСниС состоит ΠΈΠ· 4 Π±Π°ΠΉΡ‚ ΠΈ выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: 0x04000000.

ΠŸΡ€ΠΈ поступлСнии ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ connectionId (Π½Π° созданиС Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ) CommandConnection создаСт экзСмпляр класса ProxyConnection.

  • Π’ проксировании ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ участиС Π΄Π²Π° класса: ProxyConnection ΠΈ end. ΠŸΡ€ΠΈ создании класса ProxyConnection происходит ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ адрСсу ProxyConfigClass.host: ProxyConfigClass.proxyPort ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° JSON-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°:

 {
    "id":<%connectionId%>
}

Π’ ΠΎΡ‚Π²Π΅Ρ‚ сСрвСр присылаСт SOCKS5-сообщСниС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ содСрТит адрСс ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ сСрвСра, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ соСдинСниС. ВзаимодСйствиС с эти сСрвСром происходит посрСдством класса end. Π‘Ρ…Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ установку соСдинСния ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Как Android-троян Gustuff снимаСт сливки (Ρ„ΠΈΠ°Ρ‚ ΠΈ ΠΊΡ€ΠΈΠΏΡ‚Ρƒ) с Π²Π°ΡˆΠΈΡ… счСтов

Π‘Π΅Ρ‚Π΅Π²Ρ‹Π΅ взаимодСйствия

Для прСдотвращСния Π°Π½Π°Π»ΠΈΠ·Π° Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° сСтСвыми сниффСрами взаимодСйствиС ΠΌΠ΅ΠΆΠ΄Ρƒ CnC-сСрвСром ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Ρ‰ΠΈΡ‰Π΅Π½ΠΎ посрСдством ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° SSL. ВсС ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΊΠ°ΠΊ с сСрвСра Ρ‚Π°ΠΊ ΠΈ Π½Π° сСрвСр прСдставлСны Π² JSON-Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² Ρ…ΠΎΠ΄Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ выполняСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ запросы:

  • http://<%CnC%>/api/v1/set_state.php β€” Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ исполнСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.
  • http://<%CnC%>/api/v1/get.php β€” ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.
  • http://<%CnC%>/api/v1/load_sms.php β€” Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ° SMS-сообщСний с Π·Π°Ρ€Π°ΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ устройства.
  • http://<%CnC%>/api/v1/load_ab.php β€” Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ° списка ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ² с Π·Π°Ρ€Π°ΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ устройства.
  • http://<%CnC%>/api/v1/aevents.php – запрос производится ΠΏΡ€ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², находящихся Π² preference-Ρ„Π°ΠΈΜ†Π»Π΅.
  • http://<%CnC%>/api/v1/set_card.php β€” Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ„ΠΈΡˆΠΈΠ½Π³-ΠΎΠΊΠ½Π°, ΠΌΠ°ΡΠΊΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎΡΡ ΠΏΠΎΠ΄ Google Play Market.
  • http://<%CnC%>/api/v1/logs.php – Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ° Π»ΠΎΠ³-Π΄Π°Π½Π½Ρ‹Ρ….
  • http://<%CnC%>/api/v1/records.php – Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ„ΠΈΡˆΠΈΠ½Π³ΠΎΠ²Ρ‹Ρ… ΠΎΠΊΠΎΠ½.
  • http://<%CnC%>/api/v1/set_error.php – ΠΎΠΏΠΎΠ²Π΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΡˆΠ΅ΠΈΜ† ошибкС.

Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ

Π’ цСлях Π·Π°Ρ‰ΠΈΡ‚Ρ‹ своих ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² ΠΎΡ‚ ΡƒΠ³Ρ€ΠΎΠ·Ρ‹ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… троянов ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ комплСксныС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π±Π΅Π· установки Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Π½Π° устройства ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΈ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°Ρ‚ΡŒ Π²Ρ€Π΅Π΄ΠΎΠ½ΠΎΡΠ½ΡƒΡŽ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ.

Для этого сигнатурныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ обнаруТСния ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… троянов Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΠΈΠ»ΠΈΠ²Π°Ρ‚ΡŒ тСхнологиями Π°Π½Π°Π»ΠΈΠ·Π° повСдСния ΠΊΠ°ΠΊ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, Ρ‚Π°ΠΊ ΠΈ самого прилоТСния. Π’Π°ΠΊ ΠΆΠ΅ Π·Π°Ρ‰ΠΈΡ‚Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π² сСбя Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ устройств с использованиСм Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΡ‚ΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠ°, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° учётная запись ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ с Π½Π΅Ρ‚ΠΈΠΏΠΈΡ‡Π½ΠΎΠ³ΠΎ устройства ΠΈ ΡƒΠΆΠ΅ ΠΏΠΎΠΏΠ°Π»Π° Π² Ρ€ΡƒΠΊΠΈ мошСнника.

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎ Π²Π°ΠΆΠ½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ – Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ возмоТности кросс-канального Π°Π½Π°Π»ΠΈΠ·Π°, Ρ‡Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ компаниям ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ риски, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΠ΅ Π½Π° сторонС Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-, Π½ΠΎ ΠΈ мобильного ΠΊΠ°Π½Π°Π»Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² прилоТСниях для мобильного Π±Π°Π½ΠΊΠΈΠ½Π³Π°, для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ²Π°Π»ΡŽΡ‚Π°ΠΌΠΈ ΠΈ Π»ΡŽΠ±Ρ‹Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ…, Π³Π΄Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒΡΡ финансовая транзакция.

ΠŸΡ€Π°Π²ΠΈΠ»Π° бСзопасности для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ:

  • Π½Π΅ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ прилоТСния для мобильного устройства с ОБ Android ΠΈΠ· ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ источников, ΠΊΡ€ΠΎΠΌΠ΅ Google Play, ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒ особоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€Π°Π²Π°;
  • рСгулярно ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ обновлСния ОБ Android;
  • ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²;
  • Π½Π΅ ΠΏΠΎΡΠ΅Ρ‰Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΎΠ·Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ рСсурсы;
  • Π½Π΅ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠΎ ссылкам, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΌ Π² SMS-сообщСниях.

ΠŸΡ€ΠΈ участии Π‘Π΅ΠΌΠ΅Π½Π° Π ΠΎΠ³Π°Ρ‡Π΅Π²Π°, младшСго спСциалиста ΠΏΠΎ исслСдованию врСдоносного ΠΊΠΎΠ΄Π° Π›Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΈΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ криминалистики Group-IB.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ