Mar a tha an Android Trojan Gustuff a 'sgapadh an uachdar (fiat agus crypto) bho na cunntasan agad

Mar a tha an Android Trojan Gustuff a 'sgapadh an uachdar (fiat agus crypto) bho na cunntasan agad

Dìreach an latha eile Buidheann-IB fiosraichte mu ghnìomhachd an Android gluasadach Trojan Gustuff. Bidh e ag obair a-mhàin ann am margaidhean eadar-nàiseanta, a ’toirt ionnsaigh air teachdaichean de na bancaichean cèin as motha 100, luchd-cleachdaidh wallets crypto gluasadach 32, a bharrachd air goireasan e-malairt mòr. Ach tha an leasaiche Gustuff na cybercriminal Ruiseanach fon fhar ainm Bestoffer. Gu ruige o chionn ghoirid, mhol e an Trojan aige mar “fìor thoradh dha daoine le eòlas agus eòlas.”

Eòlaiche mion-sgrùdadh còd droch-rùnach aig Group-IB Ivan Pisarev anns an rannsachadh aige, tha e a' bruidhinn gu mionaideach air mar a tha Gustuff ag obair agus dè na cunnartan a th' ann.

Cò dha a tha Gustuff a’ sealg?

Buinidh Gustuff do ghinealach ùr de malware le gnìomhan làn fèin-ghluasadach. A rèir an leasaiche, tha an Trojan air a thighinn gu bhith na dhreach ùr agus leasaichte de malware AndyBot, a tha bhon t-Samhain 2017 air a bhith a’ toirt ionnsaigh air fònaichean Android agus a’ goid airgead tro fhoirmean lìn fiasgach a’ masquerading mar thagraidhean gluasadach de bhancaichean eadar-nàiseanta ainmeil agus siostaman pàighidh. Thuirt Bestoffer gur e prìs màil Gustuff Bot $800 gach mìos.

Sheall mion-sgrùdadh air sampall Gustuff gu bheil an Trojan comasach air cuimseachadh air luchd-ceannach a’ cleachdadh tagraidhean gluasadach de na bancaichean as motha, leithid Bank of America, Bank of Scotland, JP Morgan, Wells Fargo, Capital One, TD Bank, PNC Bank, a bharrachd air Bitcoin Wallet crypto wallets.BitPay, Cryptopay, Coinbase, msaa.

Air a chruthachadh an toiseach mar Trojan bancaidh clasaigeach, anns an dreach làithreach aige tha Gustuff air leudachadh mòr a dhèanamh air an liosta de thargaidean ionnsaigh a dh’ fhaodadh a bhith ann. A bharrachd air tagraidhean Android airson bancaichean, companaidhean fintech agus seirbheisean crypto, tha Gustuff ag amas air luchd-cleachdaidh thagraidhean margaidh, stòran air-loidhne, siostaman pàighidh agus teachdairean sa bhad. Gu sònraichte, PayPal, Western Union, eBay, Walmart, Skype, WhatsApp, Gett Taxi, Revolut agus feadhainn eile.

Puing inntrigidh: àireamhachadh airson mòr-ghalair

Tha Gustuff air a chomharrachadh leis an vectar “clasaigeach” de dhol a-steach do fhònaichean sgairteil Android tro phost-d SMS le ceanglaichean gu APKn. Nuair a tha inneal Android air a ghlacadh le Trojan aig àithne an fhrithealaiche, faodaidh Gustuff sgaoileadh a-rithist tro stòr-dàta conaltraidh an fhòn le galair no tro stòr-dàta an fhrithealaiche. Tha comas-gnìomh Gustuff air a dhealbhadh airson mòr-ghalar agus an calpachadh as motha de ghnìomhachas a ghnìomhaichean - tha gnìomh sònraichte “fèin-lìonadh” aige a-steach do thagraidhean bancaidh gluasadach dligheach agus wallets crypto, a leigeas leat goid airgid a luathachadh agus a sgèile.

Sheall sgrùdadh air an Trojan gun deach gnìomh fèin-lìonadh a chuir an gnìomh ann a’ cleachdadh an t-Seirbheis Ruigsinneachd, seirbheis do dhaoine le ciorraman. Chan e Gustuff a’ chiad Trojan a shoirbhich gu soirbheachail le dìon an aghaidh eadar-obrachadh le eileamaidean uinneig de thagraidhean eile a’ cleachdadh an t-seirbheis Android seo. Ach, tha cleachdadh Seirbheis Ruigsinneachd ann an co-bhonn ri inneal lìonadh càr fhathast gu math tearc.

Às deidh dha luchdachadh sìos gu fòn an neach-fulaing, bidh Gustuff, a ’cleachdadh an t-Seirbheis Ruigsinneachd, comasach air eadar-obrachadh le eileamaidean uinneig de thagraidhean eile (bancaireachd, cryptocurrency, a bharrachd air tagraidhean airson ceannach air-loidhne, teachdaireachdan, msaa), a’ coileanadh na gnìomhan a tha riatanach airson an luchd-ionnsaigh. . Mar eisimpleir, aig àithne an fhrithealaiche, faodaidh Trojan putanan a bhrùthadh agus luachan raointean teacsa atharrachadh ann an tagraidhean bancaidh. Le bhith a’ cleachdadh uidheamachd Seirbheis Ruigsinneachd leigidh an Trojan seachad air na h-innealan tèarainteachd a bhios bancaichean a’ cleachdadh gus cuir an-aghaidh Trojans gluasadach ginealach roimhe, a bharrachd air atharrachaidhean ann am poileasaidh tèarainteachd a chuir Google an gnìomh ann an dreachan ùra den OS Android. Mar sin, tha fios aig Gustuff “mar” gus dìon dìon Google a dhì-cheadachadh: a rèir an ùghdair, bidh an gnìomh seo ag obair ann an 70% de chùisean.

Mar a tha an Android Trojan Gustuff a 'sgapadh an uachdar (fiat agus crypto) bho na cunntasan agad

Faodaidh Gustuff cuideachd fiosan meallta PUSH a thaisbeanadh le ìomhaighean de thagraidhean gluasadach dligheach. Bidh an neach-cleachdaidh a ’cliogadh air fios PUSH agus a’ faicinn uinneag fiasgach air a luchdachadh sìos bhon t-seirbheisiche, far am bi e a ’dol a-steach don chairt banca a chaidh iarraidh no dàta crypto wallet. Ann an suidheachadh Gustuff eile, tha an tagradh às an deach am fios PUSH a thaisbeanadh air fhosgladh. Anns a 'chùis seo, faodaidh an malware, le òrdugh bhon fhrithealaiche tron ​​​​t-Seirbheis Ruigsinneachd, raointean foirm tagradh bancaidh a lìonadh airson malairt meallta.

Tha comas-gnìomh Gustuff cuideachd a’ toirt a-steach a bhith a’ cur fiosrachadh mu inneal gabhaltach chun t-seirbheisiche, an comas teachdaireachdan SMS a leughadh / a chuir, iarrtasan USSD a chuir air bhog, SOCKS5 Proxy a chuir air bhog, a’ leantainn ceangal, a’ cur fhaidhlichean (a’ toirt a-steach sganaidhean dhealbhan de sgrìobhainnean, seallaidhean-sgrìn, dealbhan) chun t-seirbheisiche. frithealaiche, ath-shuidhich an inneal gu suidheachadh factaraidh.

Mion-sgrùdadh malware

Mus stàlaich thu tagradh droch-rùnach, tha an Android OS a’ sealltainn uinneag don neach-cleachdaidh anns a bheil liosta de chòraichean a dh’ iarr Gustuff:

Mar a tha an Android Trojan Gustuff a 'sgapadh an uachdar (fiat agus crypto) bho na cunntasan agad
Cha tèid an aplacaid a chuir a-steach ach às deidh cead an neach-cleachdaidh fhaighinn. Às deidh an tagradh a chuir air bhog, seallaidh an Trojan uinneag don neach-cleachdaidh:

Mar a tha an Android Trojan Gustuff a 'sgapadh an uachdar (fiat agus crypto) bho na cunntasan agad
Às deidh sin bheir e air falbh an ìomhaigh aige.

Tha Gustuff air a phacadh, a rèir an ùghdair, le pacaiche bho FTT. Às deidh tòiseachadh, bidh an tagradh bho àm gu àm a’ cur fios gu frithealaiche CNC gus òrdughan fhaighinn. Chleachd grunn fhaidhlichean a rinn sinn sgrùdadh air seòladh IP mar am frithealaiche smachd 88.99.171[.]105 (an deigh so comharraichidh sinn e mar ).

Às deidh a chuir air bhog, tòisichidh am prògram a ’cur teachdaireachdan chun t-seirbheisiche http://<%CnC%>/api/v1/get.php.

Tha dùil gur e JSON am freagairt anns a’ chruth a leanas:

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

Gach uair a gheibhear cothrom air an tagradh, bidh e a’ cur fiosrachadh mun inneal gabhaltach. Tha cruth na teachdaireachd air a shealltainn gu h-ìosal. 'S fhiach toirt fa-near gu bheil na h-achaidhean làn, a bharrachd, apps и cead - roghainneil agus cha tèid a chuir a-steach ach air eagal iarrtas bho 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%>
} 

A’ stòradh dàta rèiteachaidh

Bidh Gustuff a’ stòradh fiosrachadh a tha cudromach gu h-obrachail ann am faidhle roghainn. Tha ainm an fhaidhle, a bharrachd air ainmean nam paramadairean ann, mar thoradh air an t-suim MD5 a thomhas bhon t-sreang 15413090667214.6.1 <%name%)càite - luach ainm tùsail. Mìneachadh Python air gnìomh gineadh ainmean:

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

Anns na leanas comharraichidh sinn e mar ainm Gineadair (cuir a-steach).
Mar sin is e a’ chiad ainm faidhle: nameGenerator ("API_SERVER_LIST"), tha luachan ann leis na h-ainmean a leanas:

Ainm caochlaideach luach
nameGenerator ("API_SERVER_LIST") Tha liosta ann de sheòlaidhean CnC ann an cruth sreath.
nameGenerator ("API_SERVER_URL") Tha seòladh CnC ann.
nameGenerator ("SMS_UPLOAD") Tha am bratach air a shuidheachadh gu bunaiteach. Ma tha a’ bhratach air a suidheachadh, cuir teachdaireachdan SMS gu CNC.
nameGenerator("SMS_ROOT_NUMBER") Àireamh fòn far an tèid teachdaireachdan SMS a gheibh an inneal gabhaltach a chuir. Tha bun-bheachd null.
nameGenerator ("SMS_ROOT_NUMBER_RESEND") Tha am bratach air a ghlanadh gu bunaiteach. Ma thèid a chuir a-steach, nuair a gheibh inneal gabhaltach SMS, thèid a chuir chun àireamh freumh.
ainm Gineadair ("DEFAULT_APP_SMS") Tha am bratach air a ghlanadh gu bunaiteach. Ma thèid a’ bhratach seo a shuidheachadh, pròiseasaidh an aplacaid teachdaireachdan SMS a tha a’ tighinn a-steach.
ainm Gineadair ("DEFAULT_ADMIN") Tha am bratach air a ghlanadh gu bunaiteach. Ma tha a’ bhratach air a suidheachadh, tha còraichean rianadair aig an aplacaid.
nameGenerator ("DEFAULT_ACCESSIBILITY") Tha am bratach air a ghlanadh gu bunaiteach. Ma tha a’ bhratach air a suidheachadh, tha seirbheis a’ cleachdadh an t-Seirbheis Ruigsinneachd a’ ruith.
nameGenerator("APPS_CONFIG") Rud JSON anns a bheil liosta de ghnìomhan a dh'fheumar a dhèanamh nuair a thèid tachartas Ruigsinneachd co-cheangailte ri tagradh sònraichte a bhrosnachadh.
nameGenerator ("APPS_INSTALLED") A ’stòradh liosta de thagraidhean air an stàladh air an inneal.
nameGenerator ("IS_FIST_RUN") Tha am bratach air ath-shuidheachadh aig a 'chiad thoiseach.
nameGenerator ("UNIQUE_ID") Tha aithnichear sònraichte ann. Air a chruthachadh nuair a thèid am bot a chuir air bhog airson a’ chiad uair.

Modal airson làimhseachadh òrdughan bhon fhrithealaiche

Bidh an aplacaid a’ stòradh seòlaidhean frithealaichean CNC ann an cruth sreath air a chòdachadh le Base85 sreathan. Faodar an liosta de luchd-frithealaidh CNC atharrachadh nuair a gheibhear an àithne iomchaidh, agus sa chùis sin thèid na seòlaidhean a stòradh ann am faidhle roghainn.

Mar fhreagairt don iarrtas, bidh am frithealaiche a’ cur àithne chun aplacaid. Is fhiach a bhith mothachail gu bheil òrdughan agus paramadairean air an taisbeanadh ann an cruth JSON. Faodaidh an tagradh na h-òrdughan a leanas a phròiseasadh:

sgioba Tuairisgeul
air adhart Tòisich a’ cur teachdaireachdan SMS a gheibh an inneal gabhaltach gu frithealaiche CNC.
air adhartStop Stad le bhith a’ cur teachdaireachdan SMS a gheibh an inneal gabhaltach gu frithealaiche CNC.
ussdRun Cuir an gnìomh iarrtas USSD. Tha an àireamh ris am feum thu iarrtas USSD a dhèanamh suidhichte ann an raon JSON “àireamh”.
cuir sms Cuir aon teachdaireachd SMS (ma tha sin riatanach, tha an teachdaireachd “air a roinn” ann am pàirtean). Mar pharamadair, bidh an àithne a’ toirt nì JSON anns a bheil na raointean “gu” - an àireamh ceann-uidhe agus “corp” - corp na teachdaireachd.
cuirSmsAb Cuir teachdaireachdan SMS (ma tha sin riatanach, tha an teachdaireachd “air a roinn ann am pàirtean) chun a h-uile duine air liosta conaltraidh an inneal gabhaltach. Is e 10 diogan an ùine eadar teachdaireachdan a chuir. Tha corp na teachdaireachd ann an raon JSON "corp"
cuirSmsMass Cuir teachdaireachdan SMS (ma tha sin riatanach, tha an teachdaireachd “air a sgaradh” ann am pàirtean) chun luchd-aithne a tha air an sònrachadh ann am paramadairean an àithne. Is e 10 diogan an ùine eadar teachdaireachdan a chuir. Mar paramadair, bidh an àithne a’ gabhail raon JSON (an raon “sms”) anns a bheil na h-achaidhean “gu” - an àireamh ceann-uidhe agus “corp” - corp na teachdaireachd anns na h-eileamaidean dheth.
atharraich am frithealaiche Faodaidh an àithne seo luach a ghabhail leis an iuchair “url” mar pharamadair - an uairsin atharraichidh am bot luach nameGenerator (“SERVER_URL”), no “array” - an uairsin sgrìobhaidh am bot an raon gu nameGenerator (“API_SERVER_LIST”) Mar sin, bidh an tagradh ag atharrachadh seòladh frithealaichean CNC.
àireamh rianachd Tha an àithne air a dhealbhadh gus obrachadh le àireamh freumh. Gabhaidh an àithne ri nì JSON leis na paramadairean a leanas: “àireamh” - atharraich ainmGenerator (“ROOT_NUMBER”) chun luach a fhuaireadh, “ath-sheòl” - atharraich ainmGenerator (“SMS_ROOT_NUMBER_RESEND”), “sendId” - cuir gu nameGenerator("ROOT_NUMBER" ) ID àraid.
ùrachadh fiosrachaidh Cuir fiosrachadh mun inneal gabhaltach chun t-seirbheisiche.
sguab dàta Tha an àithne an dùil dàta cleachdaiche a sguabadh às. A rèir dè an t-ainm a chaidh an tagradh a chuir air bhog, an dàrna cuid tha an dàta air a dhubhadh às gu tur le ath-thòiseachadh inneal (prìomh neach-cleachdaidh), no chan eil ach dàta cleachdaiche air a dhubhadh às (cleachdaiche àrd-sgoile).
socksStart Cuir air bhog am modal Proxy. Tha obrachadh a’ mhodail air a mhìneachadh ann an earrann air leth.
socksStop Stad am modal Proxy.
OpenLink Lean an ceangal. Tha an ceangal suidhichte ann am paramadair JSON fon iuchair “url”. Tha “android.intent.action.VIEW” air a chleachdadh gus an ceangal fhosgladh.
luchdaich suas a h-uile sms Cuir a h-uile teachdaireachd SMS a gheibh an inneal chun t-seirbheisiche.
luchdaich suas a h-uile dealbh Cuir dealbhan bho inneal gabhaltach gu URL. Tha an URL a 'tighinn mar pharamadair.
uploadFile Cuir faidhle gu URL bho inneal gabhaltach. Tha an URL a 'tighinn mar pharamadair.
àireamhan fòn luchdadh a-nuas Cuir àireamhan fòn bhon liosta conaltraidh agad chun t-seirbheisiche. Ma gheibhear luach nì JSON leis an iuchair “ab” mar pharamadair, gheibh an tagradh liosta de luchd-fios bhon leabhar fòn. Ma gheibhear nì JSON leis an iuchair “sms” mar pharamadair, leughaidh an aplacaid an liosta de luchd-fios bho luchd-cuiridh teachdaireachdan SMS.
atharraich Tasglann Bidh an aplacaid a’ luchdachadh sìos am faidhle bhon t-seòladh a tha a’ tighinn mar pharamadair a’ cleachdadh an iuchair “url”. Tha am faidhle a chaidh a luchdachadh sìos air a shàbhaladh leis an ainm “archive.zip”. Bidh an aplacaid an uairsin a’ unzip am faidhle, gu roghnach a’ cleachdadh facal-faire an tasglann “b5jXh37gxgHBrZhQ4j3D”. Tha na faidhlichean gun fhosgladh air an sàbhaladh anns an eòlaire [stòradh taobh a-muigh] / hgps. Anns an eòlaire seo, bidh an aplacaid a’ stòradh fakes lìn (air a mhìneachadh gu h-ìosal).
stoc Tha an àithne air a dhealbhadh gus obrachadh le Seirbheis Gnìomh, a tha air a mhìneachadh ann an earrann air leth.
deuchainn Gun a bhith a’ dèanamh dad.
download Tha an àithne an dùil faidhle a luchdachadh sìos bho fhrithealaiche iomallach agus a shàbhaladh don eòlaire “Luchdaich sìos”. Tha an URL agus ainm an fhaidhle a’ tighinn mar pharamadair, raointean ann an nì paramadair JSON, fa leth: “url” agus “fileName”.
a thoirt air falbh Thoir air falbh faidhle bhon eòlaire "Luchdaich sìos". Tha ainm an fhaidhle a’ tighinn ann am paramadair JSON leis an iuchair “fileName”. Is e an t-ainm faidhle àbhaisteach “tmp.apk”.
Fios Seall fios le tuairisgeul agus teacsaichean tiotal air am mìneachadh leis an t-seirbheisiche riaghlaidh.

Fòrmat àithne Fios:

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

Tha am fios a thig bhon fhaidhle fo sgrùdadh a’ coimhead co-ionann ris na fiosan a thig bhon tagradh a tha air a shònrachadh san raon app. Ma tha luach an raoin fosgailApp - Fìor, nuair a thèid fios fhosgladh, thèid an tagradh a tha air a shònrachadh san raon a chuir air bhog app. Ma tha luach an raoin fosgailApp - Mearachdach, ma-thà:

  • Fosglaidh uinneag fiasgach, agus thèid na tha ann a luchdachadh sìos bhon eòlaire /hgps/
  • Fosglaidh uinneag fiasgach, agus thèid na tha ann a luchdachadh sìos bhon fhrithealaiche ?id=&app=
  • Tha uinneag fiasgaich a’ fosgladh, air a falach mar Google Play Card, le cothrom fiosrachadh cairt a chuir a-steach.

Bidh an tagradh a’ cur toradh àithne sam bith gu set_state.php mar nì JSON anns a’ chruth a leanas:

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

Seirbheis Gnìomhan
An liosta òrdughan a tha na pròiseasan tagraidh a’ toirt a-steach gnìomha. Nuair a gheibhear àithne, gheibh am modal giullachd àithne cothrom air an t-seirbheis seo gus an àithne leudaichte a chuir an gnìomh. Gabhaidh an t-seirbheis ri nì JSON mar pharamadair. Faodaidh an t-seirbheis na h-òrdughan a leanas a chuir an gnìomh:

1. PARAMS_ACTION - nuair a gheibh thu a leithid de dh’ àithne, bidh an t-seirbheis an-toiseach a ’faighinn bho pharameter JSON luach an iuchair Seòrsa, a dh’ fhaodadh a bhith mar a leanas:

  • Fiosrachadh seirbheis - gheibh am fo-cheannard an luach le iuchair bho pharamadair JSON toirt a-steach Neo-chudromach. Ma tha a’ bhratach Fìor, suidhichidh an tagradh a’ bhratach FLAG_ISOLATED_PROCESS gu seirbheis a’ cleachdadh an t-Seirbheis Ruigsinneachd. San dòigh seo thèid an t-seirbheis a chuir air bhog ann am pròiseas air leth.
  • freumh - faigh agus cuir chun t-seirbheisiche fiosrachadh mun uinneag air a bheil fòcas an-dràsta. Bidh an aplacaid a’ faighinn fiosrachadh a’ cleachdadh a’ chlas AccessibilityNodeInfo.
  • admin - iarr còraichean rianadair.
  • dàil - cuir stad air an t-Seirbheis Gnìomhan airson na h-àireamh de mhillean-seconds a tha air an sònrachadh ann am paramadair an iuchair “dàta”.
  • uinneagan - cuir liosta de dh’ uinneagan rim faicinn don neach-cleachdaidh.
  • stàlaich - stàlaich an tagradh air an inneal gabhaltach. Tha ainm a’ phacaid tasglainn san iuchair “fileName”. Tha an tasglann fhèin suidhichte anns an eòlaire Luchdaich sìos.
  • cruinneil - thathar an dùil gum bi am fo-cheannard a’ seòladh bhon uinneig làithreach:
    • air a’ chlàr Quick Settings
    • air ais
    • dhachaidh
    • gu brathan
    • gu uinneag nan tagraidhean a chaidh fhosgladh o chionn ghoirid

  • a chur air bhog - cuir air bhog an tagradh. Tha ainm an tagraidh a’ tighinn mar pharamadair le iuchair dàta.
  • fuaimean - atharraich am modh fuaim gu sàmhchair.
  • fhosgail - tionndaidh air backlight an sgrion agus am meur-chlàr gu làn shoilleireachd. Bidh an aplacaid a’ coileanadh a’ ghnìomh seo le bhith a’ cleachdadh WakeLock, a’ sònrachadh an t-sreang [Iarrtas lable]: INFO mar tag
  • cead Ath-chòmhdach - chan eil an gnìomh air a chuir an gnìomh (is e am freagairt do choileanadh àithne {"message": "Gun taic"} no {"message": "sdk ìosal"})
  • gluasad - chan eil an gnìomh air a chuir an gnìomh (is e am freagairt do choileanadh àithne {"message": "Gun taic"} no {"message": "API ìosal"})
  • ceadan - tha feum air an àithne seo gus cead iarraidh airson an tagraidh. Ach, chan eil gnìomh na ceiste air a bhuileachadh, agus mar sin tha an àithne gun bhrìgh. Tha an liosta de chòraichean a chaidh iarraidh a’ tighinn mar raon JSON leis an iuchair “ceadan”. Liosta àbhaisteach:
    • android.permission.READ_PHONE_STATE
    • android.permission.READ_CONTACTS
    • android.cead.CALL_PHONE
    • android.cead.RECEIVE_SMS
    • android.cead.SEND_SMS
    • android.permission.READ_SMS
    • android.permission.READ_EXTERNAL_STORAGE
    • android.permission.WRITE_EXTERNAL_STORAGE

  • fosgailte - seall uinneag fiasgach. A rèir am paramadair a thig bhon fhrithealaiche, faodaidh an aplacaid na h-uinneagan fiasgaich a leanas a thaisbeanadh:
    • Seall uinneag phishing anns a bheil susbaint sgrìobhte ann am faidhle ann an eòlaire /hgps/. Thèid toradh eadar-obrachadh luchd-cleachdaidh leis an uinneag a chuir gu /records.php
    • Seall uinneag fiasgaich aig a bheil susbaint air a luchdachadh ro-làimh bhon t-seòladh ?id=&app=. Thèid toradh eadar-obrachadh luchd-cleachdaidh leis an uinneag a chuir gu /records.php
    • Seall uinneag fiasgaich a tha falaichte mar Cairt Play Google.

  • eadar-ghnìomhach - tha an àithne air a dhealbhadh gus eadar-obrachadh le eileamaidean uinneig de thagraidhean eile a’ cleachdadh AcessibilityService. Tha seirbheis shònraichte air a chur an gnìomh sa phrògram airson eadar-obrachadh. Faodaidh an tagradh a tha fo sgrùdadh eadar-obrachadh le uinneagan:
    • An-dràsta gnìomhach. Anns a 'chùis seo, tha am paramadair a' toirt a-steach id no teacsa (ainm) an nì leis am feum thu eadar-obrachadh.
    • Ri fhaicinn don neach-cleachdaidh aig an àm a thèid an àithne a chuir gu bàs. Bidh an aplacaid a’ taghadh uinneagan le id.

    An dèidh stuthan fhaighinn RuigsinneachdNodeInfo Airson eileamaidean uinneig inntinneach, faodaidh an tagradh, a rèir nam paramadairean, na gnìomhan a leanas a choileanadh:

    • fòcas - cuir fòcas air an nì.
    • cliog - cliog air rud.
    • actionId - dèan gnìomh le ID.
    • setText - atharraich teacsa nì. Tha e comasach an teacsa atharrachadh ann an dà dhòigh: dèan gnìomh ACTION_SET_TEXT (ma tha an dreach Android den inneal gabhaltach nas òige na no co-ionann ri LOLLIPOP), no le bhith a’ cur sreang air a’ bhòrd bhidio agus ga chuir a-steach do nì (airson dreachan nas sine). Faodar an àithne seo a chleachdadh gus dàta atharrachadh ann an tagradh bancaidh.

2. PARAMS_ACTIONS - co-ionann ri PARAMS_ACTION, chan eil ach sreath JSON de òrdughan a’ tighinn.

Tha e coltach gum bi ùidh aig mòran dhaoine anns a’ ghnìomh a bhith ag eadar-obrachadh le eileamaidean uinneig ann an tagradh eile. Seo mar a tha an gnìomh seo air a bhuileachadh ann an Gusstuff:

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

Gnìomh ath-chur teacsa:

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

Mar sin, le rèiteachadh ceart an t-seirbheisiche smachd, bidh e comasach dha Gustuff raointean teacsa a lìonadh anns an tagradh bancaidh agus cliog air na putanan a tha riatanach gus an gnothach a chrìochnachadh. Chan fheum an Trojan eadhon logadh a-steach don tagradh - tha e gu leòr òrdugh a chuir a-steach gus fios PUSH a thaisbeanadh agus an uairsin an tagradh bancaidh a chaidh a chuir a-steach roimhe fhosgladh. Dearbhaidh an neach-cleachdaidh e fhèin, agus às deidh sin bidh e comasach dha Gustuff an càr a lìonadh.

Modal làimhseachadh teachdaireachd SMS

Bidh an aplacaid a’ stàladh inneal-làimhseachaidh tachartais airson an inneal gabhaltach gus gabhail ri teachdaireachdan SMS. Faodaidh an tagradh fo sgrùdadh òrdughan fhaighinn bhon ghnìomhaiche, a thig ann am bodhaig na teachdaireachd SMS. Bidh òrdughan a’ tighinn ann an cruth:

7!5=

Bidh an aplacaid a’ lorg an t-sreang anns a h-uile teachdaireachd SMS a thig a-steach 7!5=, nuair a lorgar sreang, bidh e a’ còdachadh an t-sreang bho Base64 aig offset 4 agus a’ cur an gnìomh an àithne. Tha na h-òrdughan coltach ris an fheadhainn le CNC. Tha an toradh cur gu bàs air a chuir chun aon àireamh às an tàinig an àithne. Cruth freagairt:

7*5=

Roghainneil, faodaidh an tagradh a h-uile teachdaireachd a fhuaireadh a chuir chun àireamh Root. Gus seo a dhèanamh, feumaidh an àireamh Root a bhith air a shònrachadh anns an fhaidhle roghainn agus feumar bratach ath-stiùireadh na teachdaireachd a shuidheachadh. Thèid teachdaireachd SMS a chuir gu àireamh an neach-ionnsaigh anns a’ chruth:

-

Cuideachd, gu roghnach, faodaidh an aplacaid teachdaireachdan a chuir gu CNC. Thèid an teachdaireachd SMS a chur chun an fhrithealaiche ann an cruth JSON:

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

Ma tha am bratach air a shuidheachadh ainm Gineadair ("DEFAULT_APP_SMS") - stadaidh an aplacaid a bhith a’ giullachd an teachdaireachd SMS agus a’ glanadh an liosta de theachdaireachdan a tha a’ tighinn a-steach.

Modal proxy

Anns an tagradh fo sgrùdadh tha modal Backconnect Proxy (ris an canar am modal Proxy an-seo), aig a bheil clas air leth anns a bheil raointean statach le rèiteachadh. Tha dàta rèiteachaidh air a stòradh san sampall ann an cruth soilleir:

Mar a tha an Android Trojan Gustuff a 'sgapadh an uachdar (fiat agus crypto) bho na cunntasan agad

Tha a h-uile gnìomh a nì am modal Proxy air a logadh a-steach do fhaidhlichean. Gus seo a dhèanamh, bidh an tagradh ann an Stòradh Taobh a-muigh a’ cruthachadh eòlaire ris an canar “logs” (an raon ProxyConfigClass.logsDir sa chlas rèiteachaidh), anns a bheil faidhlichean log air an stòradh. Bidh logadh a’ tachairt ann am faidhlichean le ainmean:

  1. prìomh.txt - tha obair a’ chlas ris an canar CommandServer air a logadh a-steach don fhaidhle seo. Anns na leanas, thèid logadh an t-sreang str a-steach don fhaidhle seo a chomharrachadh mar mainLog(str).
  2. seisean-.txt - bidh am faidhle seo a’ sàbhaladh dàta loga co-cheangailte ri seisean neach-ionaid sònraichte. Anns na leanas, thèid logadh an t-sreang str ris an fhaidhle seo a chomharrachadh mar sessionLog (str).
  3. frithealaiche.txt - tha am faidhle seo air a chleachdadh gus a h-uile dàta a chaidh a sgrìobhadh dha na faidhlichean gu h-àrd a chlàradh.

Cruth dàta loga:

[Snàthainn[], id[]]: sreang-log

Tha eisgeachdan a thachras ri linn obrachadh a’ mhodal Proxy cuideachd air an clàradh gu faidhle. Gus seo a dhèanamh, bidh an aplacaid a’ gineadh rud JSON anns a’ chruth a leanas:

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

An uairsin bidh e ga thionndadh gu riochdachadh sreang agus ga logadh.

Thèid am modal Proxy a chuir air bhog às deidh dha an àithne co-fhreagarrach fhaighinn. Nuair a gheibhear òrdugh airson am modal Proxy a chuir air bhog, tòisichidh an tagradh seirbheis ris an canar Prìomh Sheirbheis, a tha an urra ri bhith a 'stiùireadh gnìomhachd a' mhodal Proxy - a 'tòiseachadh agus a' stad.

Ìrean tòiseachaidh na seirbheis:

1. Tòisich timer a ruitheas uair sa mhionaid agus a nì sgrùdadh air gnìomhachd a’ mhodal Proxy. Mura h-eil am modal gnìomhach, tòisichidh e.
Cuideachd nuair a thèid an tachartas a bhrosnachadh android.net.conn.CONNECTIVITY_CHANGE Tha am modal Proxy air a chuir air bhog.

2. Bidh an aplacaid a’ cruthachadh glas-dhùisg leis a’ pharamadair PARTIAL_WAKE_LOCK agus ga ghlacadh. Bidh seo a’ cur casg air CPU an inneal bho bhith a’ dol a-steach don mhodh cadail.

3. A’ cur air bhog clas giollachd òrdughan a’ mhodal Proxy, a’ clàradh na loidhne an toiseach mainLog ("frithealaiche tòiseachaidh") и

Frithealaiche:: tòisich () òstair[], commandPort[], proxyPort[]

far a bheil proxy_cnc, command_port agus proxy_port - crìochan a gheibhear bho rèiteachadh an fhrithealaiche Proxy.

Canar an clas giollachd òrdughan Ceangal àithne. Dìreach an dèidh tòiseachaidh, a 'coileanadh na gnìomhan a leanas:

4. A' ceangal ri ProxyConfigClass.host: ProxyConfigClass.commandPort agus a’ cur dàta mun inneal gabhaltach an sin ann an cruth 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%>
}

Càite:

  • id - aithnichear, a’ feuchainn ri luach fhaighinn leis an raon “id” bhon fhaidhle Roghainn Co-roinnte air a bheil “x”. Mura h-urrainnear an luach seo fhaighinn, cruthaichidh e fear ùr. Mar sin, tha an aithnichear fhèin aig a’ mhodal Proxy, a tha air a chruthachadh san aon dòigh ris an ID Bot.
  • imei - IMEI an inneal. Ma thachair mearachd rè pròiseas faighinn an luach, thèid teachdaireachd teacsa mearachd a sgrìobhadh an àite an raoin seo.
  • imsi - Dearbh-aithne neach-clàraidh gluasadach eadar-nàiseanta den inneal. Ma thachair mearachd rè pròiseas faighinn an luach, thèid teachdaireachd teacsa mearachd a sgrìobhadh an àite an raoin seo.
  • modail - An t-ainm a chì an neach-cleachdaidh deireannach airson an toradh deireannach.
  • neach-dèanamh - Neach-dèanamh an toraidh / bathar-cruaidh (Build.MANUFACTURER).
  • androidVersion - sreang san fhòrmat " ("
  • dùthaich - suidheachadh làithreach an inneil.
  • Is e sreang falamh a th’ ann an partnerId.
  • packName - ainm pacaid.
  • networkType - seòrsa de cheangal lìonra gnàthach (mar eisimpleir: “WIFI”, “MOBILE”). Ma tha mearachd ann, tillidh e null.
  • hasGsmSupport - fìor - ma tha am fòn a’ toirt taic do GSM, air dhòigh eile meallta.
  • simReady - staid cairt SIM.
  • simCountry - còd dùthcha ISO (stèidhichte air solaraiche cairt SIM).
  • networkOperator - ainm gnìomhaiche. Ma thachair mearachd rè pròiseas faighinn an luach, thèid teachdaireachd teacsa mearachd a sgrìobhadh an àite an raoin seo.
  • simOperator - Ainm an t-Solaraiche Seirbheis (SPN). Ma thachair mearachd rè pròiseas faighinn an luach, thèid teachdaireachd teacsa mearachd a sgrìobhadh an àite an raoin seo.
  • dreach - tha an raon seo air a stòradh sa chlas config; airson na dreachan deuchainn den bot bha e co-ionann ri “1.6”.

5. Ag atharrachadh chun mhodh feitheamh airson òrdughan bhon fhrithealaiche. Bidh òrdughan bhon fhrithealaiche a 'tighinn a-steach don chruth:

  • 0 dheth - àithne
  • 1 dheth - seisean Id
  • 2 chothromachadh - fad
  • 4 dheth — dàta

Nuair a thig òrdugh, bidh an aplacaid a’ logadh:
mainLog ("Header { sessionId ], seòrsa[], fad[] }")

Tha na h-òrdughan a leanas bhon fhrithealaiche comasach:

Ainm Command Dàta Tuairisgeul
ceangalId 0 ID ceangail Cruthaich ceangal ùr
LAOIDH 3 Time Stad am modal Proxy
PING_PONG 4 - Cuir teachdaireachd PONG

Tha teachdaireachd PONG air a dhèanamh suas de 4 bytes agus tha e coltach ri seo: 0x04000000.

Nuair a gheibhear an àithne connectId (gus ceangal ùr a chruthachadh) Ceangal àithne a’ cruthachadh eisimpleir de chlas Ceangal Proxy.

  • Bidh dà chlas a’ gabhail pàirt ann an progsaidh: Ceangal Proxy и deireadh. Nuair a chruthaicheas tu clas Ceangal Proxy a’ ceangal ris an t-seòladh ProxyConfigClass.host: ProxyConfigClass.proxyPort agus a' dol seachad air an nì JSON:

 {
    "id":<%connectionId%>
}

Mar fhreagairt, bidh am frithealaiche a’ cur teachdaireachd SOCKS5 anns a bheil seòladh an fhrithealaiche iomallach leis am feumar an ceangal a stèidheachadh. Bidh eadar-obrachadh leis an fhrithealaiche seo a’ tachairt tron ​​​​chlas deireadh. Faodar suidheachadh ceangail a riochdachadh gu sgeamach mar a leanas:

Mar a tha an Android Trojan Gustuff a 'sgapadh an uachdar (fiat agus crypto) bho na cunntasan agad

Eadar-obrachadh lìonra

Gus casg a chuir air mion-sgrùdadh trafaic le sniffers lìonra, faodar an eadar-obrachadh eadar frithealaiche CnC agus an tagradh a dhìon le bhith a ’cleachdadh protocol SSL. Tha a h-uile dàta tar-chuir an dà chuid bhon fhrithealaiche agus chun an fhrithealaiche air a thaisbeanadh ann an cruth JSON. Bidh an tagradh a’ coileanadh na h-iarrtasan a leanas rè obrachadh:

  • http://<%CnC%>/api/v1/set_state.php - toradh coileanadh an àithne.
  • http://<%CnC%>/api/v1/get.php - a 'faighinn òrdugh.
  • http://<%CnC%>/api/v1/load_sms.php - luchdachadh sìos teachdaireachdan SMS bho inneal gabhaltach.
  • http://<%CnC%>/api/v1/load_ab.php - a’ luchdachadh suas liosta de luchd-fios bho inneal gabhaltach.
  • http://<%CnC%>/api/v1/aevents.php - thèid an t-iarrtas a dhèanamh nuair a bhios tu ag ùrachadh nam paramadairean a tha suidhichte san fhaidhle roghainn.
  • http://<%CnC%>/api/v1/set_card.php — a’ luchdachadh suas dàta a gheibhear le bhith a’ cleachdadh uinneag fiasgaich a’ masquerading mar Mhargaidh Google Play.
  • http://<%CnC%>/api/v1/logs.php - luchdachadh suas dàta log.
  • http://<%CnC%>/api/v1/records.php - luchdachadh suas dàta a gheibhear tro uinneagan phishing.
  • http://<%CnC%>/api/v1/set_error.php - fios mu mhearachd a thachair.

molaidhean

Gus an luchd-ceannach aca a dhìon bho chunnart bho Trojans gluasadach, feumaidh companaidhean fuasglaidhean coileanta a chleachdadh a leigeas leotha sùil a chumail air agus casg a chuir air gnìomhachd droch-rùnach gun a bhith a ’stàladh bathar-bog a bharrachd air innealan luchd-cleachdaidh.

Gus seo a dhèanamh, feumar dòighean ainm-sgrìobhte airson Trojans gluasadach a lorg a neartachadh le teicneòlasan airson mion-sgrùdadh a dhèanamh air giùlan an neach-dèiligidh agus an aplacaid fhèin. Bu chòir don dìon cuideachd a bhith a’ toirt a-steach gnìomh aithneachaidh inneal a’ cleachdadh teicneòlas lorgan-meòir didseatach, a leigeas leinn tuigsinn cuin a thathas a’ cleachdadh cunntas bho inneal neo-àbhaisteach agus a tha mar-thà air tuiteam ann an làmhan neach-foill.

Is e puing air leth cudromach gu bheil cothrom air mion-sgrùdadh tar-seanail, a leigeas le companaidhean smachd a chumail air cunnartan a tha ag èirigh chan ann a-mhàin air an eadar-lìn, ach cuideachd air an t-sianal gluasadach, mar eisimpleir, ann an tagraidhean airson bancaireachd gluasadach, airson gnothaichean le cryptocurrencies agus gin eile far a bheil faodar gnothaichean a dhèanamh. malairt ionmhais.

Riaghailtean sàbhailteachd airson luchd-cleachdaidh:

  • na stàlaich tagraidhean airson inneal gluasadach le Android OS bho thùs sam bith a bharrachd air Google Play, thoir aire shònraichte do na còraichean a dh’ iarras an tagradh;
  • stàlaich ùrachaidhean Android OS gu cunbhalach;
  • aire a thoirt do leudachadh fhaidhlichean a chaidh a luchdachadh sìos;
  • na bi a 'tadhal air goireasan amharasach;
  • Na cliog air ceanglaichean a gheibhear ann am teachdaireachdan SMS.

Rionnag Semyon Rogachev, eòlaiche òg ann an rannsachadh malware aig Saotharlann Foireansach Coimpiutaireachd Group-IB.

Source: www.habr.com

Cuir beachd ann