පයිතන් පැකේජය නූල් ෆ්ලූන්ට්PyPI හි සොයා ගන්නා ලද, ලෙස හඳුනාගෙන ඇත ද්වේෂ සහගතයි, සාම්ප්රදායික infostealer malware අඩංගු වේ. කෙසේ වෙතත්, එහි නිර්වචන ලක්ෂණය වන්නේ එහි ගෙවීම් ප්රමාණය අපැහැදිලි කරන උසස් කේත අපැහැදිලි කිරීමේ ශිල්පීය ක්රම භාවිතා කිරීමයි, එමඟින් විශ්ලේෂණය විශේෂයෙන් අභියෝගාත්මක වේ. මෙම අනිෂ්ට මෘදුකාංගය එහි ප්රහාරක දාමය හරහා අපැහැදිලි කිරීමේ ස්ථර තුනක් පුනරාවර්තනය භාවිතා කරයි, අතින් විසංයෝජනය සඳහා සැලකිය යුතු බාධක නිර්මාණය කරයි.
අපගේ අනිෂ්ට මෘදුකාංග පූර්ව අනතුරු ඇඟවීමේ කණ්ඩායම පැකේජය PyPI ආරක්ෂක කණ්ඩායමට වාර්තා කළ අතර, ඔවුන් එය ඉක්මනින් ඉවත් කළහ. මෙම ලිපියෙන්, අපි අදියර පැහැදිලි කරන්නෙමු නූල් ෆ්ලූන්ට්ගේ ප්රහාරය සහ එහි අරමුණ සැඟවීමට එය භාවිතා කරන ක්රම පිළිබඳව සොයා බලමින්, infostealer malware සහ code obfuscation එකට ක්රියා කරන ආකාරය කෙරෙහි අවධානය යොමු කරයි.
වංචා පත්රිකාව: තොරතුරු ස්ටීලර් අනිෂ්ට මෘදුකාංග සහ කේත අපැහැදිලි කිරීම
Infostealer අනිෂ්ට මෘදුකාංග යනු කුමක්ද?
Infostealer අනිෂ්ට මෘදුකාංග ඔබේ ඩිජිටල් ලෝකයේ හොර හොරෙක් වගේ ක්රියා කරනවා. එය ඔබට නොදැනුවත්වම ඔබේ මුරපද, ක්රෙඩිට් කාඩ් අංක හෝ පුද්ගලික තොරතුරු වැනි සංවේදී තොරතුරු නිහඬව අල්ලා ගන්නවා. මෙම වැඩසටහන් ඔබ ටයිප් කරන දේ (keylogging), ඔබේ බ්රව්සරය පැහැර ගැනීම හෝ වටිනා දත්ත රැස් කිරීම සඳහා ඔබේ උපාංගයේ ගොනු ස්කෑන් කිරීම වාර්තා කරයි. භයානකම කොටස? ඔවුන් රේඩාර් යටතේ සිටීමට දක්ෂයි.
කේත අපැහැදිලි කිරීම යනු කුමක්ද?
කේත අපැහැදිලි කිරීම යනු මූලික වශයෙන් දේවල් පැහැදිලිව පෙනෙන පරිදි සැඟවීමේ කලාව වන අතර, බොහෝ විට හැකර්වරුන් විසින් ඔවුන්ගේ අනිෂ්ට කේතය හඳුනා ගැනීමට හෝ තේරුම් ගැනීමට අපහසු කිරීමට භාවිතා කරයි. යමෙකු හිතාමතාම ව්යාකූල වන ආකාරයෙන් කේතය ලියන ආකාරය, එහි කොටස් සංකේතනය කිරීම හෝ ප්රති-වයිරස මෙවලම් හෝ පර්යේෂකයන් ඉවත දැමීමට එය පෙනෙන්නේ කෙසේදැයි පොරකෑම ගැන සිතන්න. එය අනිෂ්ට මෘදුකාංග දිගු කාලයක් ක්රියාකාරීව සිටීමට සහ අනාවරණයෙන් වැළකී සිටීමට උපකාරී වන දක්ෂ නමුත් කලකිරීමට පත් කරන උපක්රමයකි.
ThreadFluent Infostealer අනිෂ්ට මෘදුකාංගවල අපැහැදිලි ස්ථර
1. ත්රිත්ව සංකේතනය
අපැහැදිලි කිරීමේ ක්රියාවලිය ආරම්භ වන්නේ දැඩි ලෙස සංකේතනය කරන ලද ගෙවීමක් ඇතුළත් කරමිනි fluent.py යෙදුමෙහි පමණක් නොව, ඕනෑම තැනක සිට පහසුවෙන් භාවිතා කළ හැකි, සරල සහ පහසු යෙදුමකි. ගොනුව. මූලික කේතන සහ විකේතන ක්රියාවලිය පහත පරිදි සාරාංශගත කළ හැකිය:
encoded_data = base64_module.b64decode("... BASE-6 with encrypted payload, IV and RSA-encrypted keys…”); # … Sequential decryption: ChaCha20, Blowfish and AES … encrypted_payload = AES_Cipher.new(aes_key, AES_Cipher.MODE_CBC, iv=aes_iv).decrypt(encrypted_payload[16:]) final_payload = unpad_function(encrypted_payload, AES_Cipher.block_size) exec( zlib_module.decompress(bz2_module.decompress(final_payload)) ) මෙම අපැහැදිලි කිරීමේ ක්රියාවලියට ඇතුළත් වන්නේ:
- සම්පීඩනය: gzip සහ bzip භාවිතා කිරීම.
- සමමිතික සංකේතනය: ChaCha20, Blowfish, සහ AES සමඟ දාම සංකේතනය.
- අසමමිතික සංකේතනය: සමමිතික යතුරු සංකේතනය කිරීමට RSA භාවිතා කරයි.
ප්රතිඵලය Base64 හි කේතනය කර මෙසේ ඇතුළත් කර ඇත කේතනය කළ_දත්තසෑම පුනරාවර්තනයක්ම පෙර එක මත ගොඩනගා ඇති අතර, ප්රතිලෝම ඉංජිනේරු විද්යාවකින් තොරව සත්ය ගෙවීම් භාරය අනාවරණය කර ගැනීම අතිශයින් දුෂ්කර කරන කැදැලි සංකේතාංකන ව්යුහයක් නිර්මාණය කරයි.
2. Gzip විසංයෝජනය
බොහෝ අතරමැදි පියවරවලදී, අනිෂ්ට මෘදුකාංගය සරල නමුත් ඵලදායී අපැහැදිලි කිරීමේ ක්රමයක් භාවිතා කරයි: Base64 කේතනය සමඟ ඒකාබද්ධ වූ Gzip සම්පීඩනය.
import base64, zlib; eval(zlib.decompress(base64.b64decode(<STR>).decode('utf-8')) මෙම තාක්ෂණය මඟින් අපැහැදිලි බර පැටවීම අදියර පුරා සැඟවී ඇති බව සහතික කෙරේ.
3. කේත සංයෝජන සහ ගතික සම්පාදනය
අවසාන ස්ථරයට අපැහැදිලි ගෙවීම් භාරය බහු විචල්ය හරහා බෙදීම ඇතුළත් වන අතර, ඒවා ක්රියාත්මක කිරීමේදී ගතිකව සංයුක්ත කර විකේතනය කරනු ලැබේ:
import base64, zlib FEQXCBDOZKHVIhT = '...' # ....(111 other variables with base-64 encoded values) ... zZytWuvuEdBXSrO = eval(<FEQXCBDOZKHVIhT' encoded with '\x>) + eval(<next variable, encoded>) + eval( ' zlib.decompress(base64.b64decode(<VAR>)).decode('utf-8') ') + ... eval(compile(base64.b64decode(eval(zZytWuvuEdBXSrO)).decode('utf-8'), ‘<app>', 'exec')) මෙම අදියර අතින් ප්රතිලෝම ඉංජිනේරුකරණය කිරීම විශේෂයෙන් අපහසු වේ, මන්ද සෑම විචල්යයක්ම විකේතනය කර ඊළඟ බර හෙළි කිරීමට නැවත ඒකාබද්ධ කළ යුතුය.
මෙම අපැහැදිලි කිරීමේ ශිල්පීය ක්රම ඒකාබද්ධ කිරීමෙන්, තොරතුරු සොරකම් කරන මෘදුකාංගය in නූල් ෆ්ලූන්ට් තීරණාත්මක කාර්යභාරයක් පෙන්නුම් කරමින්, අනාවරණයෙන් වැළකී සිටියි කේතය අපැහැදිලි කිරීම නූතන සයිබර් ප්රහාර වලදී.
ThreadFluent හි බහු-අදියර ප්රහාරක දාමය
එම නූල් ෆ්ලූන්ට් තොරතුරු සොරකම් කරන මෘදුකාංගය එකිනෙකට වෙනස් අදියර හතරකින් සමන්විත වන අතර, ඒ සෑම එකක්ම අමතර ස්ථර හඳුන්වා දෙයි කේතය අපැහැදිලි කිරීමමෙම අදියරයන් ගෙවීමේ බර ලබා දීමට පමණක් නොව, අනාවරණයෙන් සහ විශ්ලේෂණයෙන් එය ආරක්ෂා කිරීමට ද සේවය කරයි.

අදියර 0: මූලික කේත ක්රියාත්මක කිරීම
පිවිසුම් ස්ථානය වන්නේ __ඉනිට්__.py අපැහැදිලි ගෙවීම් භාරය ක්රියාත්මක කිරීම ආරම්භ කරන ගොනුව fluent.py යෙදුමෙහි පමණක් නොව, ඕනෑම තැනක සිට පහසුවෙන් භාවිතා කළ හැකි, සරල සහ පහසු යෙදුමකි.. මෙම ගොනුව අදියර 1 බිංදුකාරකය නිපදවීම සඳහා බහු-ස්ථර අපැහැදිලි කිරීම (පියවර 1–3 හි විස්තර කර ඇති පරිදි) භාවිතා කරයි:
import os,threading def main(): if os.name == 'nt': from . import fluent fluent.main() thread = threading.Thread(target=main , daemon=True) thread.start() අදියර 1: ආරම්භක ඩ්රොපර්
පළමු dropper එක, deobfuscated වූ පසු, අතිරේක අනිෂ්ට කේත බාගත කර ඇතුළත් කරයි, puts.py, GitHub ගබඩාවකින් රතු හිසකෙස් ඇති-ෂෑන්ක්ස්-1337/ප්රතිචාර (අවවාදයයි: විභව අනිෂ්ට කේතය මෙතැනින්).
ඩ්රොපර් කාවැදී ඇත puts.py ජනප්රිය දේශීය ස්ථාපනයට ඉල්ලීම් පුස්තකාලය, එහි වෙනස් කිරීම __ඉනිට්__.py deobfuscation ධාවනය කර ඊළඟ අදියර ක්රියාත්මක කිරීමට ගොනුව. මෙම deobfuscation සමන්විත වන්නේ obfuscation ස්ථර 1 ... 3 හි බොහෝ යෙදුම් ආපසු හැරවීමෙනි.
අදියර 2: දෙවන බිංදුව
දෙවන dropper එක, එම ක්රියාවලියම අනුගමනය කරමින් අපැහැදිලි වූ පසු, තවත් ගෙවීමක් බාගත කරයි, එස්එස්එල්.පීවයි GitHub ගබඩාවෙන්, එය ලෙස නම් කරයි udp.py, සහ අනිෂ්ට මෘදුකාංගය නැවත නැවත ස්ථාපනය නොවන බව සහතික කිරීම සඳහා lockfile එකක් ජනනය කරයි. ඉන්පසු එය deobfuscate කිරීමට ක්රියාත්මක වන අතර, එහි ප්රතිඵලයක් ලෙස අවසාන infostealer payload ක්රියාත්මක වේ.
අදියර 3: අවසාන තොරතුරු ස්ටීලර්
අවසාන අදියර යනු උසස් මගහැරීමේ ශිල්පීය ක්රම භාවිතා කරන පූර්ණ ක්රියාකාරී තොරතුරු ස්ටීලර් එකකි:
- ප්රති-විශ්ලේෂණ විශේෂාංග:
- ප්රති-මැල්වෙයාර් මෙවලම් හඳුනාගෙන, අසාදු ලේඛනගත ක්රියාවලි, IP, සත්කාරක නාම හෝ අථත්ය පරිසරයන් අනාවරණය වුවහොත් අවසන් කරයි.
- දත්ත පිටකිරීම:
- සම්පූර්ණ තොරතුරු ග්රහණය කරයි. තිර රුවක් ඇතුළුව, IP, Mac ලිපිනය, VPN දත්ත, බ්රව්සර් කුකීස්/ඉතිහාසය, ක්රෙඩිට් කාඩ් දත්ත සහ ක්රිප්ටෝ පසුම්බි අක්තපත්ර දක්වා.
- සොරකම් කරන ලද දත්ත (සංකේතනය කර) මෙහි පෙන්වා ඇති සැකිල්ල භාවිතයෙන් ටෙලිග්රෑම් නාලිකාවක් හරහා යවයි:

ඩිඕබ්ෆස්කේෂන් උපාය මාර්ගය
සමාන පැකේජ විශ්ලේෂණය කිරීම සඳහා, පර්යේෂකයන් එහි අපැහැදිලි ස්ථර ක්රමානුකූලව ආපසු හැරවිය යුතුය:
- අපැහැදිලි කිරීමේ පියවර අනුකරණය කරන්න: ගෙවීම් භාරය ක්රියාත්මක නොකර පරිවර්තනයන් (උදා: විකේතනය, විසංයෝජනය) අනුකරණය කිරීමට ස්ක්රිප්ට් ලියන්න.
- ප්රතිලෝම සංකේතාංකන ස්ථර: එම්බෙඩඩ් යතුරු සහ ඇල්ගොරිතම භාවිතයෙන් ගෙවීම් භාරය උපුටා ගෙන විකේතනය කරන්න.
- පුනරාවර්තන විශ්ලේෂණය: අවසාන බර ප්රතිනිර්මාණය කිරීම සඳහා සෑම අතරමැදි අදියරක්ම පුනරාවර්තන ලෙස සකසන්න.
මෙම විශ්ලේෂණය විධිමත් කිරීම සඳහා ස්වයංක්රීය මෙවලම් සහ වැලිපිල්ල සහිත පරිසරයන් අත්යවශ්ය වේ.
තථ්ය කාලීනව තර්ජන වලට වඩා ඉදිරියෙන් සිටීම ගැන වැඩිදුර ඉගෙන ගැනීමට අවශ්යද?
'පූර්ව අනතුරු ඇඟවීම: තත්ය කාලීන තර්ජන හඳුනාගැනීම සහ ප්රමුඛතාවය' යන අපගේ ධවල පත්රිකාව බාගත කර ඔබේ මෘදුකාංග සැපයුම් දාමය ආරක්ෂා කර ගන්නේ කෙසේදැයි සොයා ගන්න.
තර්ජන නළුවා
පෙනෙන විදිහට පැකේජය PyPI ගිණුම් දෙකකින් ප්රකාශයට පත් කර ඇත, අබිර්සොසේන් 10 සහ ඇනොමිලානෝ785, දැනට ඉවත් කර ඇත.
(දැනට ක්රියාකාරී) GitHub ගිණුමක් ඇත. අබිර්සොසේන් 10, එය ව්යාපාරයට සම්බන්ධ විය හැකිය. රතු හිසකෙස් ඇති-ෂෑන්ක්ස්-1337 අදියර 2 සහ 3 ගෙවීම් බාගත කිරීම සඳහා භාවිතා කරන ගබඩාව හිමි GitHub පරිශීලකයා ද විශ්ලේෂණයට ලක්ව ඇත.
ආරෝපණය සැමවිටම සංකීර්ණ වන අතර රතු කණ්ඩායමකට සාමාජිකත්වය ලබා ගැනීමේ හැකියාවක් තිබුණද, පිටතට ගලා යන තොරතුරු වර්ගය සහ ප්රමාණය ද්වේෂසහගත ක්රියාකාරිකයෙකු පිළිබඳ ඉඟි කරයි.
නිගමනය: අනිෂ්ට මෘදුකාංග පරිණාමයේ කේත අපැහැදිලි කිරීමේ කාර්යභාරය
එම නූල් ෆ්ලූන්ට් පැකේජය එහි බහු-අදියර බෙදාහැරීමේදී නවීන අනිෂ්ට මෘදුකාංග අපැහැදිලි කිරීම සඳහා උදාහරණයකි. භාවිතා කරන මගහැරීමේ ශිල්පීය ක්රම සමඟ ඒකාබද්ධව, මෙම පැකේජය අනාවරණයෙන් වැළකී සිටීමට සහ විශ්ලේෂණයට ප්රතිරෝධය දැක්වීමට පැහැදිලි උත්සාහයක් පෙන්නුම් කරයි.
මෙම විශ්ලේෂණය මගින් එවැනි තර්ජන වලට එරෙහිව සටන් කිරීමේදී සහයෝගී උත්සාහයන් සහ ස්වයංක්රීය මෙවලම්වල වැදගත්කම අවධාරණය කෙරේ. මෙම ක්රම විච්ඡේදනය කර තේරුම් ගැනීමෙන්, ආරක්ෂක වෘත්තිකයන්ට අනාගතයේදී සමාන අනිෂ්ට මෘදුකාංග වලට එරෙහිව වඩා හොඳ ආරක්ෂාවක් වර්ධනය කළ හැකිය.
Xygeni හි MEW පද්ධතිය අනිෂ්ට නූල් ප්රවාහ පැකේජය නිෂ්පාදනයට ළඟා වීම වැළැක්වූ ආකාරය
සයිජෙනිගේ අනිෂ්ට මෘදුකාංග පූර්ව අනතුරු ඇඟවීම (MEW) පද්ධතිය නැවැත්වීමට උපකාරී විය නූල් ෆ්ලූන්ට් Python පැකේජය, උසස් අඩංගු ද්වේශ සහගත යැපීමක් කේතය අපැහැදිලි කිරීම සහ බහු-අදියර තොරතුරු සොරකම් කරන මෘදුකාංගය, නිෂ්පාදන පරිසරයන් අවදානමට ලක් කිරීමට පෙර. මෙන්න කෙසේද:
- ස්ථිතික විශ්ලේෂණය හරහා අනාවරණය කිරීම
MEW දැක්කා නූල් ෆ්ලූන්ට්හි සැඟවුණු කේතය, ස්ථර සංකේතනය සහ අසාමාන්ය යැපුම් ක්රියාකාරකම් වැනි සැක සහිත සලකුණු සොයා ගැනීම. - ධාවන කාල ප්රතික්රියාශීලීතා තක්සේරුව
පැකේජයේ කේතය භාවිතයේදී ක්රියාත්මක විය හැකි බව පද්ධතිය සොයා ගත් අතර, එය ඇත්ත වශයෙන්ම ක්රියාත්මක නොකර බරපතල තර්ජනයක් ලෙස සලකුණු කළේය. - CI/CD Pipeline ආරක්ෂාව
MEW අවහිර කර ඇත නූල් ෆ්ලූන්ට් තත්ය කාලීනව, එය ගොඩනැගීම්වලට ඇතුළත් කිරීම නැවැත්වූ අතර එය නිෂ්පාදනයට ළඟා වීම වැළැක්වීය. එය සංවර්ධකයින්ට ක්රියාකාරී ඇඟවීම් යවා, වටිනා කාලය ඉතිරි කළේය. - තර්ජන බුද්ධි බෙදාගැනීම
සයිජෙනි ඉක්මනින් පැකේජය PyPI වෙත වාර්තා කළ අතර එහි සොයාගැනීම් එහි ගෝලීය ආරක්ෂක ජාලය සමඟ බෙදා ගත් අතර එමඟින් එය තවදුරටත් පැතිරීම නැවැත්වීය.
අල්ලා ගැනීමෙන්. නූල් ෆ්ලූන්ට් මුල් අවධියේදී, Xygeni හි MEW පද්ධතිය මඟින් අනිෂ්ට කේතය මෘදුකාංග සැපයුම් දාමයන්ට හානි නොවන බවට වග බලා ගන්නා ලදී හෝ CI/CD වැඩපලේ.
ඔබේ ආරක්ෂාව CI/CD Pipelines නොමිලේ
වැනි තර්ජන වළක්වන්න නූල් ෆ්ලූන්ට් Xygeni හි අනිෂ්ට මෘදුකාංග පූර්ව අනතුරු ඇඟවීමේ පද්ධතිය සමඟ. ඔබේ නොමිලේ නඩු විභාගයක් අදම ඔබේ මෘදුකාංග සැපයුම් දාමය සුරක්ෂිත කරගන්න.
ලුයිස් රොඩ්රිගස්
ලුයිස් රොඩ්රිගස් යනු භෞතික විද්යාඥයෙකි.cist + ගණිතඥයා සහ CISSP. දැනට Xygeni Security හි සම-නිර්මාතෘ සහ CTO වේ. ඔහුට මෘදුකාංග ආරක්ෂාව පිළිබඳ වසර 20 කට වැඩි පළපුරුද්දක් ඇති අතර එවැනි ව්යාපෘතිවලට සහභාගී විය. SAST සහ SCA. ඔහු දැනට අවධානය යොමු කරන්නේ software supply chain security.
ඩැනියෙල් මාටින්
ඩැනියෙල් මාටින් යනු සයිබර් ආරක්ෂණ විශේෂඥයෙක් සහ සයිජෙනි පර්යේෂණ ආරක්ෂක කණ්ඩායමේ සාමාජිකයෙකි, විශේෂඥයෙකි SDLC ආරක්ෂාව සහ යෙදුම් අවදානම අවම කිරීම.






