ورک: بڑی تصویر پلیٹو بلاکچین ڈیٹا انٹیلی جنس۔ عمودی تلاش۔ عی

ورک: بڑی تصویر

زیادہ تر ایشیا پر مرکوز، یہ نیا سائبر جاسوسی گروپ غیر دستاویزی ٹولز کا استعمال کرتا ہے، بشمول اسٹیگنوگرافک طور پر PNG فائلوں سے پاور شیل پے لوڈز نکالنا۔

ESET کے محققین کو حال ہی میں ایسے ٹارگٹ حملے ملے جن میں زیادہ تر ایشیا میں مختلف ہائی پروفائل کمپنیوں اور مقامی حکومتوں کے خلاف غیر دستاویزی ٹولز کا استعمال کیا گیا۔ یہ حملے پہلے سے نامعلوم جاسوسی گروپ کے ذریعے کیے گئے تھے جسے ہم نے Worok کا نام دیا ہے اور یہ کم از کم 2020 سے فعال ہے۔ Worok کے ٹول سیٹ میں C++ لوڈر CLRLoad، PowerShell بیک ڈور PowHeartBeat، اور ایک C# لوڈر PNGLoad شامل ہے جو سٹیگنوگرافی کا استعمال کرتا ہے PNG فائلوں سے پے لوڈز۔

Worok کون ہے؟

پراکسی شیل کے دوران (CVE-2021-34523) 2021 کے اوائل میں خطرے کا انکشاف، ہم نے مشاہدہ کیا۔ مختلف APT گروپوں کی سرگرمی. ایک کے ساتھ مشترکہ خصوصیات کی نمائش TA428:

  • سرگرمی کے اوقات
  • ھدف بنائے گئے عمودی
  • شیڈو پیڈ کا استعمال

باقی ٹول سیٹ بہت مختلف ہے: مثال کے طور پر، TA428 نے حصہ لیا۔ قابل ڈیسک ٹاپ سمجھوتہ 2020 میں۔ ہم سمجھتے ہیں کہ روابط اتنے مضبوط نہیں ہیں کہ Worok کو TA428 جیسا ہی گروپ سمجھیں، لیکن دونوں گروپ ٹولز کا اشتراک کر سکتے ہیں اور ان کے مشترکہ مفادات ہیں۔ ہم نے ایک کلسٹر بنانے کا فیصلہ کیا اور اسے Worok کا نام دیا۔ نام کا انتخاب گروپ کے زیر استعمال لوڈر میں ایک mutex کے بعد کیا گیا تھا۔ اسی ٹولز کی مختلف حالتوں کے ساتھ مزید سرگرمی پھر اس گروپ سے منسلک ہوئی۔ ESET کی ٹیلی میٹری کے مطابق، Worok 2020 کے آخر سے فعال ہے اور اس تحریر تک فعال ہے۔

2020 کے آخر میں، Worok متعدد ممالک میں حکومتوں اور کمپنیوں کو نشانہ بنا رہا تھا، خاص طور پر:

  • مشرقی ایشیا میں ایک ٹیلی کمیونیکیشن کمپنی
  • وسطی ایشیا میں ایک بینک
  • جنوب مشرقی ایشیا میں میری ٹائم انڈسٹری کمپنی
  • مشرق وسطی میں ایک حکومتی ادارہ
  • جنوبی افریقہ میں ایک نجی کمپنی

2021-05 سے 2022-01 تک مشاہدہ شدہ کارروائیوں میں ایک اہم وقفہ تھا، لیکن Worok سرگرمی 2022-02 میں واپس آگئی، جس کا ہدف:

  • وسطی ایشیا میں توانائی کی کمپنی
  • جنوب مشرقی ایشیا میں ایک عوامی شعبے کا ادارہ

شکل 1 ھدف شدہ علاقوں اور عمودی حصوں کا ایک بصری ہیٹ میپ پیش کرتا ہے۔

شکل 1. ہدف بنائے گئے علاقوں اور عمودی کا نقشہ

اہداف کے پروفائلز اور ان ٹولز کو دیکھتے ہوئے جو ہم نے ان متاثرین کے خلاف تعینات دیکھے ہیں، ہمارے خیال میں Worok کا بنیادی مقصد معلومات کو چرانا ہے۔

تکنیکی تجزیہ

اگرچہ ابتدائی رسائیوں کی اکثریت نامعلوم ہے، کچھ معاملات میں 2021 اور 2022 تک ہم نے ProxyShell کی کمزوریوں کے خلاف استعمال ہونے والے کارناموں کو دیکھا ہے۔ ایسے معاملات میں، عام طور پر ویب شیلز کو ان کمزوریوں کا فائدہ اٹھانے کے بعد اپ لوڈ کیا جاتا ہے، تاکہ متاثرہ کے نیٹ ورک میں استقامت فراہم کی جا سکے۔ پھر آپریٹرز نے مزید صلاحیتیں حاصل کرنے کے لیے مختلف امپلانٹس کا استعمال کیا۔

ایک بار رسائی حاصل کرنے کے بعد، آپریٹرز نے جاسوسی کے لیے متعدد، عوامی طور پر دستیاب ٹولز تعینات کیے، بشمول Mimikatz, کیڑا, ReGeorg، اور این بی ٹی اسکین، اور پھر اپنے حسب ضرورت امپلانٹس کو تعینات کیا: ایک پہلے مرحلے کا لوڈر، اس کے بعد دوسرا مرحلہ .NET لوڈر (PNGLoad)۔ بدقسمتی سے، ہم حتمی پے لوڈز میں سے کوئی بھی بازیافت نہیں کر سکے۔ 2021 میں، پہلے مرحلے کا لوڈر ایک CLR اسمبلی (CLRLload) تھا، جب کہ 2022 میں اسے تبدیل کر دیا گیا ہے، زیادہ تر صورتوں میں، مکمل خصوصیات والے PowerShell بیک ڈور (PowHeartBeat) سے – دونوں پھانسی کی زنجیروں کو شکل 2 میں دکھایا گیا ہے۔ یہ تین مندرجہ ذیل ذیلی حصوں میں ٹولز کو تفصیل سے بیان کیا گیا ہے۔

ورک: بڑی تصویر پلیٹو بلاکچین ڈیٹا انٹیلی جنس۔ عمودی تلاش۔ عی

شکل 2. ورک کمپرومائز چینز

سی ایل آر لوڈ: سی ایل آر اسمبلی لوڈر

سی ایل آر لوڈ ایک عام ونڈوز پی ای ہے جسے ہم نے 32 اور 64 بٹ دونوں ورژن میں دیکھا ہے۔ یہ C++ میں لکھا ہوا ایک لوڈر ہے جو اگلے مرحلے (PNGLoad) کو لوڈ کرتا ہے، جس کا ہونا ضروری ہے کامن لینگویج رن ٹائم (CLR) اسمبلی DLL فائل۔ اس کوڈ کو ڈسک پر موجود ایک قانونی ڈائریکٹری میں موجود فائل سے لوڈ کیا جاتا ہے، ممکنہ طور پر متاثرین یا واقعے کے جواب دہندگان کو یہ سوچنے کے لیے گمراہ کرنے کے لیے کہ یہ جائز سافٹ ویئر ہے۔

کچھ CLRLload کے نمونے فائل کے پورے راستے کو ڈی کوڈ کرکے شروع ہوتے ہیں جس کے مواد کو وہ اگلے مرحلے کے طور پر لوڈ کریں گے۔ یہ فائل پاتھ سنگل بائٹ XOR کے ساتھ انکوڈ کیے گئے ہیں، ہر نمونے میں ایک مختلف کلید کے ساتھ۔ ڈی کوڈ یا کلیئر ٹیکسٹ، یہ فائل پاتھ مطلق ہیں، جن کا ہم نے سامنا کیا ہے:

  • C:Program FilesVMwareVMware ToolsVMware VGAuthxsec_1_5.dll
  • C: Program FilesUltraViewermsvbvm80.dll
  • C:Program FilesInternet ExplorerJsprofile.dll
  • C: پروگرام فائلزWinRarRarExtMgt.dll
  • C: پروگرام فائلز (x86) Foxit SoftwareFoxit Readerlucenelib.dll

اگلا، ایک mutex بنایا گیا ہے اور ہم نے ہر نمونے میں ایک مختلف نام دیکھا ہے۔ لوڈر اس mutex کے لیے چیک کرتا ہے۔ اگر مل جاتا ہے، تو یہ باہر نکل جاتا ہے، کیونکہ لوڈر پہلے ہی چل رہا ہے۔ نمونوں میں سے ایک میں، mutex Wo0r0KGWhYGO کا سامنا ہوا، جس نے اس گروپ کو وروک کا نام دیا۔

CLRLload پھر ممکنہ طور پر ڈی کوڈ شدہ فائل پاتھ سے CLR اسمبلی لوڈ کرتا ہے۔ غیر منظم کوڈ کے طور پر، CLRLload اس کے ذریعے حاصل کرتا ہے۔ CorBindToRuntimeEx ونڈوز API 32 بٹ مختلف حالتوں میں کال کرتا ہے، یا CLRCreateInstance 64 بٹ مختلف حالتوں میں کال کرتا ہے۔

پاو ہارٹ بیٹ: پاور شیل بیک ڈور

PowHeartBeat ایک مکمل خصوصیات والا بیک ڈور ہے جو PowerShell میں لکھا جاتا ہے، مختلف تکنیکوں جیسے کہ کمپریشن، انکوڈنگ، اور انکرپشن کا استعمال کرتے ہوئے مبہم ہے۔ ESET ٹیلی میٹری کی بنیاد پر، ہمیں یقین ہے کہ PowHeartBeat نے PNGLoad کو لانچ کرنے کے لیے استعمال ہونے والے ٹول کے طور پر حالیہ Worok مہموں میں CLRLload کی ​​جگہ لے لی ہے۔

بیک ڈور کوڈ کی پہلی پرت بیس 64 انکوڈ شدہ پاور شیل کوڈ کے متعدد حصوں پر مشتمل ہے۔ ایک بار جب پے لوڈ کی تعمیر نو ہو جاتی ہے، تو اسے اس کے ذریعے عمل میں لایا جاتا ہے۔ آئیکس. ایک بار ڈی کوڈ کرنے کے بعد، مبہم کوڈ کی ایک اور پرت کو پھانسی دی جاتی ہے، جسے ہم شکل 3 میں دیکھ سکتے ہیں۔

ورک: بڑی تصویر پلیٹو بلاکچین ڈیٹا انٹیلی جنس۔ عمودی تلاش۔ عی

تصویر 3. PowHeartBeat کی دوسری پرت کے ڈی کوڈ مین فنکشن کا اقتباس

بیک ڈور فرسٹ بیس 64 کی دوسری پرت اپنے کوڈ کی اگلی پرت کو ڈی کوڈ کرتی ہے، جسے پھر اس کے ساتھ ڈکرپٹ کیا جاتا ہے۔ ٹرپل ڈی ای ایس۔ (سی بی سی موڈ)۔ ڈکرپشن کے بعد، اس کوڈ کو استعمال کرکے ڈیکمپریس کیا جاتا ہے۔ gzip الگورتھم، اس طرح پاور شیل کوڈ کی تیسری پرت دیتا ہے، جو کہ اصل بیک ڈور ہے۔ اسے دو اہم حصوں میں تقسیم کیا گیا ہے: کنفیگریشن، اور بیک ڈور کمانڈز کو ہینڈل کرنا۔

بیک ڈور کوڈ کی مرکزی تہہ بھی PowerShell میں لکھی جاتی ہے اور C&C سرور کے ساتھ بات چیت کرنے کے لیے HTTP یا ICMP کا استعمال کرتی ہے۔ یہ کام کرتا ہے جیسا کہ شکل 4 میں دکھایا گیا ہے۔

ورک: بڑی تصویر پلیٹو بلاکچین ڈیٹا انٹیلی جنس۔ عمودی تلاش۔ عی

تصویر 4. PowHeartBeat کا کام کرنا

ترتیب

کنفیگریشن میں متعدد فیلڈز شامل ہیں، بشمول ورژن نمبر، اختیاری پراکسی کنفیگریشن، اور C&C ایڈریس۔ جدول 1 کنفیگریشن فیلڈز کے معنی بیان کرتا ہے ان مختلف ورژنز میں جن کا ہم نے مشاہدہ کیا ہے۔

جدول 1. کنفیگریشن فیلڈ کے معنی

فیلڈ کا نام۔ Description
nouse / ikuyrtydyfg
(دیگر نمونے)
غیر استعمال شدہ۔
کلائنٹ آئی ڈی کلائنٹ شناخت کنندہ، درج ذیل مقاصد کے لیے استعمال کیا جاتا ہے:
· تعمیر کرتے وقت قدر کے طور پر کوکی ہیڈر C&C مواصلات کے لیے۔
بھیجے گئے ڈیٹا کی خفیہ کاری کے لیے ایک کرپٹوگرافک نمونے کے طور پر۔
ورژن PowHeartBeat کا ورژن نمبر۔
ExecTimes جاری کرتے وقت عمل درآمد کی اجازت کی کوششوں کی تعداد RunCmd (کمانڈ چل رہا ہے) کمانڈ۔
صارف ایجنٹ C&C کمیونیکیشنز کے لیے استعمال ہونے والا صارف ایجنٹ۔
حوالہ دینے والا حوالہ دینے والا ہیڈر C&C کمیونیکیشنز کے لیے استعمال ہوتا ہے۔
انکوڈنگ کو قبول کریں۔ غیر استعمال شدہ۔
CookieClientId
CookieTaskId
کوکی ٹرمینل آئی ڈی
کی تعمیر کے لیے استعمال ہونے والی اقدار کوکی C&C کمیونیکیشنز کے لیے ہیڈر۔
یو آر ایل ایچ ٹی پی ایس C&C کمیونیکیشنز کے لیے استعمال کرنے کے لیے پروٹوکول۔
یو آر ایل ڈومین
IP پتہ
ڈومینز
URL، ڈومین، یا IP ایڈریس C&C سرور کے طور پر استعمال ہوتا ہے۔ اگر ڈومینز خالی نہیں ہے، اس کی بجائے منتخب کیا گیا ہے۔ IP پتہ. دوسرے معاملات میں ، IP پتہ لیا جاتا ہے.
یو آر ایل سینڈ ہارٹ بیٹ URL کا راستہ استعمال کیا جاتا ہے جب بیک ڈور C&C سرور سے کمانڈ مانگتا ہے۔
UrlSendResult URL کا راستہ استعمال کیا جاتا ہے جب بیک ڈور کمانڈ کے نتائج C&C سرور کو واپس بھیجتا ہے۔
GetUrl مکمل URL، C&C سرور سے کمانڈ کی درخواست کرنے کے لیے PowHeartBeat کے ذریعے استعمال کیا جاتا ہے۔ یہ مندرجہ بالا یو آر ایل عناصر کا مجموعہ ہے۔
پٹ یو آر ایل ایسا ہی GetUrl لیکن کمانڈ کے نتائج کو واپس C&C سرور پر بھیجنے کے لیے استعمال کیا جاتا ہے۔
موجودہ راستہ غیر استعمال شدہ۔
ProxyEnableFlag جھنڈا یہ بتاتا ہے کہ C&C سرور کے ساتھ بات چیت کرنے کے لیے بیک ڈور کو پراکسی کا استعمال کرنا چاہیے یا نہیں۔
Proxymsg اگر استعمال کرنے کے لیے پراکسی کا پتہ ProxyEnableFlag کرنے کے لئے مقرر کیا گیا ہے $سچ.
انٹرول GET درخواستوں کے درمیان اسکرپٹ کے سوئے ہوئے سیکنڈ میں وقت۔
BasicConfigPath پر مشتمل اختیاری کنفیگریشن فائل کا راستہ اپ ٹائم, ڈاؤن ٹائم, DefaultInterval، اور ڈومینز. اگر فائل موجود ہے تو وہ اقدار اوور رائڈ ہو جائیں گی۔
اپ ٹائم دن کا وہ وقت جس سے بیک ڈور کام کرنا شروع کرتا ہے، یعنی یہ C&C سرور کو GET کی درخواستیں کرنا شروع کر دیتا ہے۔
ڈاؤن ٹائم دن کا وہ وقت جب تک بیک ڈور کام کر سکتا ہے، یعنی وہ وقت جب یہ C&C سرور کو درخواستیں کرنا بند کر دیتا ہے۔
ڈومین انڈیکس C&C سرور کے ساتھ مواصلات کے لیے استعمال کرنے کے لیے موجودہ ڈومین نام کا اشاریہ۔ اگر کوئی درخواست اس سے مختلف غلطی کا پیغام لوٹاتی ہے۔ 304 ("نظر ثانی نہیں کی گئی") ڈومین انڈیکس اضافہ ہوا ہے۔
سیکریٹ کی کنفیگریشن کو ڈکرپٹ/انکرپٹ کرنے کے لیے استعمال ہونے والی کلید۔ کنفیگریشن کو ایک سے زیادہ بائٹ XOR کے ساتھ انکرپٹ کیا گیا ہے۔
IfLog غیر استعمال شدہ۔
IfLogFilePath جھنڈا یہ بتاتا ہے کہ آیا لاگنگ فعال ہے۔
لاگ پاتھ لاگ فائل کا راستہ۔
پراکسی فائل اختیاری پراکسی کنفیگریشن کا فائل پاتھ۔ اگر یہ خالی ہے یا فائل سسٹم میں نہیں پایا جاتا ہے، تو بیک ڈور صارف کی پراکسی سیٹنگز کو رجسٹری ویلیو سے بازیافت کرتا ہے۔ HKCUSsoftwareMicrosoftWindowsCurrentVersionInternet SettingsProxyServer .
IfConfig جھنڈا یہ بتاتا ہے کہ آیا کنفیگریشن فائل استعمال کرنا ہے۔

شکل 5 PowHeartBeat نمونے سے نکالی گئی ترتیب کی ایک مثال دکھاتی ہے (SHA-1: 757ABA12D04FD1167528FDD107A441D11CD8C427).

شکل 5۔ ترتیب کی مثال

ڈیٹا کی خفیہ کاری

PowHeartBeat لاگز اور اضافی کنفیگریشن فائل مواد کو خفیہ کرتا ہے۔

لاگ فائل کے مواد کو انکرپٹ کیا گیا ہے حالانکہ ایک سے زیادہ بائٹ XOR ایک کلید کے ساتھ نمونے میں واضح متن میں بیان کیا گیا ہے۔ دلچسپ بات یہ ہے کہ کلائنٹ آئی ڈی کلیدی صف میں انڈیکس کے لیے نمک کے طور پر استعمال ہوتا ہے۔ کلید ایک 256 بائٹ سرنی ہے، جو ہمارے سامنے آنے والے ہر نمونے میں یکساں تھی۔ اضافی کنفیگریشن فائل کا مواد ایک سے زیادہ بائٹ XOR کے ذریعے اس کی قدر کے ساتھ خفیہ کیا جاتا ہے۔ سیکریٹ کی اس کی کلید کے طور پر.

سی اینڈ سی مواصلات

PowHeartBeat نے ورژن 2.4 تک C&C کمیونیکیشنز کے لیے HTTP کا استعمال کیا، اور پھر ICMP پر سوئچ کر دیا۔ دونوں صورتوں میں مواصلات کو خفیہ نہیں کیا گیا ہے۔

HTTP

ایک لامحدود لوپ میں، بیک ڈور C&C سرور کو ایک GET کی درخواست بھیجتا ہے، جس میں حکم جاری کرنے کا مطالبہ کیا جاتا ہے۔ خفیہ کردہ جواب کو بیک ڈور کے ذریعے ڈکرپٹ کیا جاتا ہے، جو کمانڈ پر کارروائی کرتا ہے، اور کمانڈ آؤٹ پٹ کو ایک فائل میں لکھتا ہے جس کا مواد پھر POST درخواست کے ذریعے C&C سرور کو بھیجا جاتا ہے۔

GET درخواستوں کا فارمیٹ درج ذیل ہے:

نوٹ کریں کہ درخواست eponymous کنفیگریشن فیلڈز کا استعمال کرتے ہوئے بنائی گئی ہے۔

C&C سرور کے جواب میں، مواد کا تیسرا بائٹ کمانڈ شناخت کنندہ ہے جو بیک ڈور کے ذریعے کارروائی کی جانے والی کمانڈ کی نشاندہی کرتا ہے۔ ہم اسے کال کریں گے۔ کمانڈ_آئی ڈی. جواب کے بقیہ مواد کو اس کمانڈ کی دلیل کے طور پر منتقل کیا جائے گا جس پر کارروائی کی گئی ہے۔ یہ مواد تصویر 6 میں دکھائے گئے الگورتھم کے ساتھ انکرپٹ کیا گیا ہے، ٹاسک آئی ڈی کے نام سے منسوب کوکی کی قدر ہونا CookieTaskIdترتیب سے کی قدر۔

شکل 6. مواد ڈیٹا انکرپشن الگورتھم کی درخواست کرتا ہے۔

C&C سرور کے جواب میں ایک اور کوکی بھی شامل ہے، جس کا نام بیک ڈور کی طرف سے بتایا گیا ہے۔ کوکی ٹرمینل آئی ڈی ترتیب متغیر. اس کوکی کی قیمت پچھلے دروازے سے POST کی درخواست میں دہرائی گئی ہے، اور اسے خالی نہیں ہونا چاہیے۔ بیک ڈور کمانڈ پر عمل کرنے کے بعد، PowHeartBeat نتیجہ C&C سرور کو POST درخواست کے طور پر بھیجتا ہے۔ نتیجہ ایک فائل کے طور پر بھیجا جاتا ہے جس کا نام ہے۔ .png.

ICMP

PowHeartBeat کے ورژن 2.4 سے شروع کرتے ہوئے، HTTP کو ICMP نے تبدیل کر دیا، چھ سیکنڈ کے ٹائم آؤٹ والے پیکٹ بھیجے گئے غیر منقسم. ICMP کے ذریعے مواصلت ممکنہ طور پر پتہ لگانے سے بچنے کا ایک طریقہ ہے۔

ورژن 2.4 اور بعد کے ورژن میں کوئی بڑی تبدیلی نہیں ہے، لیکن ہم نے کوڈ میں کچھ ترامیم دیکھی ہیں:

  • PowHeartBeat ہر لوپ پر ایک ہارٹ بیٹ پیکٹ بھیجتا ہے جس میں تار ہوتا ہے۔ ABCDEFGHIJKLMNOPQRSTU VWXYZ، کمانڈ کی درخواست کرنے سے پہلے۔ یہ C&C سرور کو مطلع کرتا ہے کہ بیک ڈور کمانڈ وصول کرنے کے لیے تیار ہے۔
  • بیک ڈور کے ذریعے کی جانے والی کمانڈز حاصل کرنے کی درخواستوں میں سٹرنگ ہوتی ہے۔ abcdefghijklmnop.

دل کی دھڑکن کے پیکٹوں میں شکل 7 میں بیان کیا گیا ہے۔

ورک: بڑی تصویر پلیٹو بلاکچین ڈیٹا انٹیلی جنس۔ عمودی تلاش۔ عی

تصویر 7. ہارٹ بیٹ پیکٹ لے آؤٹ

درمیان فرق کلائنٹ ID اور کلائنٹ پرچم یہی وجہ ہے کہ کلائنٹ ID جبکہ ہر نمونے میں فرق ہوتا ہے۔ کلائنٹ پرچم ICMP استعمال کرنے والے ہر نمونے میں ایک جیسا ہے۔ دل کی دھڑکن پرچم اشارہ کرتا ہے کہ پچھلا دروازہ دل کی دھڑکن بھیج رہا ہے۔ C&C سرور کے جواب میں شکل 8 میں بیان کیا گیا ہے۔

ورک: بڑی تصویر پلیٹو بلاکچین ڈیٹا انٹیلی جنس۔ عمودی تلاش۔ عی

شکل 8. C&C سرور رسپانس لے آؤٹ

پرچم یہاں اشارہ کرتا ہے کہ آیا پچھلے دروازے پر جاری کرنے کا حکم ہے۔ کمانڈز حاصل کرنے کی درخواستوں میں شکل 9 میں بیان کیا گیا ہے۔

ورک: بڑی تصویر پلیٹو بلاکچین ڈیٹا انٹیلی جنس۔ عمودی تلاش۔ عی

شکل 9. کمانڈ حاصل کرنے کے لیے درخواستوں کا لے آؤٹ

نوٹ کریں کہ بیک ڈور کا ICMP موڈ ڈیٹا کی لامحدود مقدار حاصل کرنے کی اجازت دیتا ہے، جسے حصوں میں تقسیم کیا جاتا ہے، اور متغیرات ڈیٹا کی لمبائی, موجودہ پوزیشن اور کل لمبائی منتقل شدہ ڈیٹا کو ٹریک کرنے کے لیے استعمال کیا جاتا ہے۔ ان درخواستوں کے جوابات میں شکل 10 میں بیان کیا گیا ہے۔

ورک: بڑی تصویر پلیٹو بلاکچین ڈیٹا انٹیلی جنس۔ عمودی تلاش۔ عی

شکل 10۔ کمانڈ حاصل کرنے کی درخواستوں کے جوابات کا خاکہ

جیسا کہ HTTP جوابات میں، کمانڈ شناخت کنندہ تیسرا بائٹ ہے۔ اعداد و شمار.

خالی یا متضاد فارمیٹ شدہ مواد کے ساتھ لگاتار سات ICMP جوابات کے بعد، بیک ڈور اور C&C سرور کے درمیان منتقلی کو ختم سمجھا جاتا ہے۔

جاری کردہ کمانڈ کا نتیجہ C&C سرور کو بھیجنے کی درخواستوں کے بارے میں، سرور موڈ پوسٹ موڈ کے لیے تبدیل کر دیا گیا ہے، اور آخری سٹرنگ (abcdefghijklmnop) نتیجہ کے اعداد و شمار کے لئے تبدیل کیا جاتا ہے.

بیک ڈور کمانڈز

PowHeartBeat میں مختلف صلاحیتیں ہیں، بشمول کمانڈ/عمل پر عمل درآمد اور فائل میں ہیرا پھیری۔ جدول 2 میں ان تمام کمانڈز کی فہرست دی گئی ہے جن کی تائید مختلف تجزیہ کردہ نمونوں سے ہوتی ہے۔

ٹیبل 2۔ PowHeartBeat کمانڈ کی تفصیل

نام کمانڈ شناخت کنندہ Description
Cmd 0x02 پاور شیل کمانڈ پر عمل کریں۔
exe 0x04 ایک کمانڈ کو بطور a عمل.
فائل اپ لوڈ 0x06 شکار مشین پر ایک فائل اپ لوڈ کریں۔ فائل کا مواد gzip کمپریسڈ ہے۔
فائل ڈاؤن لوڈ 0x08 متاثرہ مشین سے ایک فائل ڈاؤن لوڈ کریں، اور فائل کا راستہ، فائل کی لمبائی، تخلیق کا وقت، رسائی کے اوقات، اور فائل کا مواد C&C سرور پر واپس کریں۔
فائل ویو 0x0A۔ کسی مخصوص ڈائریکٹری کی فائل کی معلومات حاصل کریں، خاص طور پر:
فائل کے نام
فائل کی خصوصیات
· آخری بار لکھنا
فائل کا مواد
فائل ڈیلیٹ 0x0C۔ ایک فائل کو حذف کریں۔
فائل کا نام تبدیل کریں۔ 0x0E فائل کا نام تبدیل کریں یا منتقل کریں۔
چینج ڈائر 0x10 پچھلے دروازے کی موجودہ کام کرنے کی جگہ کو تبدیل کریں۔
انفارمیشن 0x12 مخصوص دلیل کے مطابق معلومات کا زمرہ حاصل کریں:
· "بنیادی معلومات": کلائنٹ آئی ڈی, ورژنمیزبان کا نام، IP پتے، explorer.exe ورژن اور سائز کی معلومات، OS (آرکیٹیکچر اور جھنڈا یہ بتاتا ہے کہ آیا مشین سرور ہے)، انٹرولموجودہ ڈائریکٹری، ڈرائیو کی معلومات (نام، قسم، خالی جگہ اور کل سائز)، موجودہ وقت
· "وقت وقفہ کی معلومات": انٹرول اور موجودہ وقت
· "ڈومین کی معلومات": ڈکرپٹڈ کنفیگریشن فائل کا مواد
تشکیل 0x14 کنفیگریشن فائل کے مواد کو اپ ڈیٹ کریں اور کنفیگریشن کو دوبارہ لوڈ کریں۔
N / A 0x63 پچھلے دروازے سے باہر نکلنا۔

بیک ڈور سائیڈ پر غلطیوں کی صورت میں، بیک ڈور C&C سرور کو POST کی درخواست میں ایک مخصوص کمانڈ شناخت کنندہ 0x00 استعمال کرتا ہے، اس طرح یہ ظاہر ہوتا ہے کہ کوئی غلطی ہوئی ہے۔

نوٹ کریں کہ معلومات کو واپس C&C سرور پر بھیجنے سے پہلے، ڈیٹا کو gzip-compressed کیا جاتا ہے۔

پی این جی لوڈ: سٹیگانوگرافک لوڈر

PNGLoad دوسرے مرحلے کا پے لوڈ ہے جسے Worok نے کمپرومائزڈ سسٹمز پر لگایا ہے اور ESET ٹیلی میٹری کے مطابق، CLRLoad یا PowHeartBeat کے ذریعے لوڈ کیا گیا ہے۔ اگرچہ ہمیں PowHeartBeat میں کوئی ایسا کوڈ نظر نہیں آتا ہے جو PNGLoad کو براہ راست لوڈ کرتا ہو، بیک ڈور میں C&C سرور سے اضافی پے لوڈز کو ڈاؤن لوڈ کرنے اور اس پر عمل درآمد کرنے کی صلاحیت موجود ہے، جس کا امکان ہے کہ حملہ آوروں نے PNGLoad کو PowHeartBeat کے ساتھ سمجھوتہ کرنے والے سسٹمز پر تعینات کیا ہے۔ PNGLoad ایک لوڈر ہے جو PNG فائلوں سے بائٹس استعمال کرتا ہے تاکہ عمل درآمد کرنے کے لیے پے لوڈ بنایا جا سکے۔ یہ ایک 64-بٹ .NET قابل عمل ہے - اس کے ساتھ مبہم ہے۔ .NET ری ایکٹر - جو کہ جائز سافٹ ویئر کے طور پر نقاب پوش ہے۔ مثال کے طور پر، شکل 11 ایک نمونے کے CLR ہیڈرز کو دکھاتا ہے جو WinRAR DLL کے طور پر چھپا ہوا ہے۔

ورک: بڑی تصویر پلیٹو بلاکچین ڈیٹا انٹیلی جنس۔ عمودی تلاش۔ عی

شکل 11. جعلی WinRAR DLL کی مثال

ایک بار deobfuscated، صرف ایک کلاس موجود ہے. اس کلاس میں، ایک ہے مین پاتھ ڈائرکٹری پاتھ پر مشتمل انتساب بیک ڈور تلاش کرتا ہے، بشمول اس کی ذیلی ڈائرکٹریاں، a کے ساتھ فائلوں کے لیے PNG کی توسیع، جیسا کہ شکل 12 میں دکھایا گیا ہے۔

ورک: بڑی تصویر پلیٹو بلاکچین ڈیٹا انٹیلی جنس۔ عمودی تلاش۔ عی

چترا 12 ہے. PNG کی فائل کی فہرست

ہر PNG کی فائل کی اس تلاش سے واقع ہے۔ مین پاتھ اس کے بعد سٹیگنوگرافی طور پر سرایت شدہ مواد کی جانچ کی جاتی ہے۔ سب سے پہلے، ہر پکسل کے R (سرخ)، G (سبز)، B (نیلے)، اور A (الفا) کی قدروں کا سب سے کم اہم بٹ حاصل کرکے بفر میں جمع کیا جاتا ہے۔ اگر اس بفر کے پہلے آٹھ بائٹس تصویر 13 میں دکھائے گئے میجک نمبر سے مماثل ہوں اور اگلی آٹھ بائٹ ویلیو، کنٹرول، نان null، فائل PNGLoad کے سٹیگانوگرافک مواد کی جانچ سے گزرتی ہے۔ ایسی فائلوں کے لیے، PNGLoad's میں ذخیرہ کردہ کلید کا استعمال کرتے ہوئے، ایک سے زیادہ بائٹ XOR کے ساتھ ڈکرپٹ کیے گئے بفر کے بقیہ حصے کے ساتھ پروسیسنگ جاری رہتی ہے۔ سیکریٹ کی بائٹس attribute، اور پھر ڈکرپٹڈ بفر gzip-decompressed ہے۔ نتیجہ پاور شیل اسکرپٹ ہونے کی توقع ہے، جو فوری طور پر چلائی جاتی ہے۔

ورک: بڑی تصویر پلیٹو بلاکچین ڈیٹا انٹیلی جنس۔ عمودی تلاش۔ عی

تصویر 13. بفر کی شکل PNGLoad پروسیسنگ سے بنتی ہے۔ PNG کی فائلوں

دلچسپ بات یہ ہے کہ PNGLoad کے ذریعے کئے گئے آپریشنز ایک فائل میں لاگ ان ہوتے ہیں جس کا راستہ متغیر میں محفوظ ہوتا ہے۔ لاگ فائل پاتھ. آپریشنز صرف اس صورت میں لاگ ان ہوتے ہیں جب کوئی فائل موجود ہو جس کا راستہ اندرونی متغیر کے ذریعہ متعین کیا گیا ہو۔ IfLogFilePath.

ہم نمونہ حاصل کرنے میں کامیاب نہیں ہو سکے ہیں۔ PNG کی فائل PNGLoad کے ساتھ استعمال ہوتی ہے، لیکن PNGLoad جس طرح سے کام کرتا ہے اس سے پتہ چلتا ہے کہ اسے درست PNG فائلوں کے ساتھ کام کرنا چاہیے۔ نقصان دہ پے لوڈ کو چھپانے کے لیے، Worok C# میں بٹ میپ آبجیکٹ استعمال کرتا ہے، جو صرف فائلوں سے پکسل کی معلومات لیتا ہے، فائل میٹا ڈیٹا سے نہیں۔ اس کا مطلب یہ ہے کہ Worok اپنے نقصان دہ پے لوڈز کو درست، بے ضرر نظر آنے والی PNG تصاویر میں چھپا سکتا ہے اور اس طرح سادہ نظروں میں چھپا سکتا ہے۔

نتیجہ

Worok ایک سائبر جاسوسی گروپ ہے جو اپنے اہداف سے سمجھوتہ کرنے کے لیے اپنے ٹولز تیار کرنے کے ساتھ ساتھ موجودہ ٹولز کا فائدہ اٹھاتا ہے۔ ان کے متاثرین سے معلومات چوری کرنا ہمیں یقین ہے کہ آپریٹرز اس کے پیچھے ہیں کیونکہ وہ ایشیا اور افریقہ میں ہائی پروفائل اداروں پر توجہ مرکوز کرتے ہیں، مختلف شعبوں کو نشانہ بناتے ہیں، نجی اور عوامی دونوں، لیکن حکومتی اداروں پر خاص زور دیتے ہیں۔ سرگرمی کے اوقات اور ٹول سیٹ TA428 کے ساتھ ممکنہ تعلقات کی نشاندہی کرتے ہیں، لیکن ہم یہ تشخیص کم اعتماد کے ساتھ کرتے ہیں۔ ان کے کسٹم ٹول سیٹ میں دو لوڈرز شامل ہیں – ایک C++ میں اور ایک C# .NET میں – اور ایک پاور شیل بیک ڈور۔ اگرچہ ہماری مرئیت محدود ہے، ہم امید کرتے ہیں کہ اس گروپ پر روشنی ڈالنے سے دوسرے محققین کو اس گروپ کے بارے میں معلومات کا اشتراک کرنے کی ترغیب ملے گی۔

WeLiveSecurity پر شائع ہونے والی ہماری تحقیق کے بارے میں کسی بھی استفسار کے لیے، براہ کرم ہم سے رابطہ کریں۔ ਧਮਕੀینٹیل@eset.com.

ESET ریسرچ اب نجی APT انٹیلی جنس رپورٹس اور ڈیٹا فیڈز بھی پیش کرتی ہے۔ اس سروس کے بارے میں کسی بھی استفسار کے لیے، ملاحظہ کریں۔ ای ایس ای ٹی تھریٹ انٹیلی جنس صفحہ.

آئی او سی

فائلوں

ان شاء 1 فائل کا نام ESET کا پتہ لگانے کا نام تبصرہ
3A47185D0735CDECF4C7C2299EB18401BFB328D5 اسکرپٹ PowerShell/PowHeartBeat.B PowHeartBeat 2.4.3.0003۔
27ABB54A858AD1C1FF2863913BDA698D184E180D اسکرپٹ PowerShell/PowHeartBeat.A PowHeartBeat 2.4.3.0003۔
678A131A9E932B9436241402D9727AA7D06A87E3 اسکرپٹ PowerShell/PowHeartBeat.B PowHeartBeat 2.4.3.0003۔
757ABA12D04FD1167528FDD107A441D11CD8C427 اسکرپٹ PowerShell/PowHeartBeat.B PowHeartBeat 2.1.3.0003۔
54700A48D934676FC698675B4CA5F712C0373188 اسکرپٹ PowerShell/PowHeartBeat.A PowHeartBeat 1.1.3.0002۔
C2F53C138CB1B87D8FC9253A7088DB30B25389AF اسکرپٹ PowerShell/PowHeartBeat.A PowHeartBeat 1.1.3.0002۔
C2F1954DE11F72A46A4E823DE767210A3743B205 tmp.ps1 PowerShell/PowHeartBeat.B PowHeartBeat 2.4.3.0004۔
CE430A27DF87A6952D732B4562A7C23BEF4602D1 tmp.ps1 PowerShell/PowHeartBeat.A PowHeartBeat 2.1.3.0004۔
EDE5AB2B94BA85F28D5EE22656958E4ECD77B6FF اسکرپٹ PowerShell/PowHeartBeat.A PowHeartBeat 2.4.3.0003۔
4721EEBA13535D1EE98654EFCE6B43B778F13126 vix64.dll MSIL/PNGLoader.A پی این جی لوڈر۔
728A6CB7A150141B4250659CF853F39BFDB7A46C RarExtMgt.dll MSIL/PNGLoader.A پی این جی لوڈر۔
864E55749D28036704B6EA66555A86527E02AF4A jsprofile.dll MSIL/PNGLoader.A پی این جی لوڈر۔
8DA6387F30C584B5FD3694A99EC066784209CA4C vssxml.dll MSIL/PNGLoader.A پی این جی لوڈر۔
AA60FB4293530FBFF00D200C0D44EEB1A17B1C76 xsec_1_5.dll MSIL/PNGLoader.A پی این جی لوڈر۔
B2EAEC695DD8BB518C7E24C4F37A08344D6975BE msvbvm80.dll MSIL/PNGLoader.A پی این جی لوڈر۔
CDB6B1CAFEE098615508F107814179DEAED1EBCF lucenelib.dll MSIL/PNGLoader.A پی این جی لوڈر۔
4F9A43E6CF37FF20AE96E564C93898FDA6787F7D vsstrace.dll Win64/CLRLload.C سی ایل آر لوڈ۔
F181E87B0CD6AA4575FD51B9F868CA7B27240610 ncrypt.dll Win32/CLRLload.A سی ایل آر لوڈ۔
4CCF0386BDE80C339EFE0CC734CB497E0B08049C ncrypt.dll Win32/CLRLload.A سی ایل آر لوڈ۔
5CFC0D776AF023DCFE8EDED5CADA03C6D7F9C244 wlbsctrl.dll Win64/CLRLload.E سی ایل آر لوڈ۔
05F19EBF6D46576144276090CC113C6AB8CCEC08 wlbsctrl.dll Win32/CLRLload.A سی ایل آر لوڈ۔
A5D548543D3C3037DA67DC0DA47214B2C2B15864 secur32.dll Win64/CLRLload.H سی ایل آر لوڈ۔
CBF42DCAF579AF7E6055237E524C0F30507090F3 dbghelp.dll Win64/CLRLload.C سی ایل آر لوڈ۔

فائل کے راستے

میں سے کچھ مین پاتھ, لاگ فائل پاتھ اور IfLogFilePath وہ اقدار جن کا ہمیں PNGLoad نمونوں میں سامنا کرنا پڑا:

مین پاتھ لاگ فائل پاتھ IfLogFilePath
C: پروگرام فائلز وی ایم ویئر وی ایم ویئر ٹولز C: Program FilesVMwareVMware ToolsVMware VGAuthreadme.txt C:Program FilesVMwareVMware ToolsVMware VGAuthVMWSU_V1_1.dll
C: پروگرام فائلز ون آر آر C: Program FilesWinRarrarinstall.log C: Program FilesWinRardes.dat
C: پروگرام فائلز الٹرا ویور C:Program FilesUltraViewer CopyRights.dat C: Program FilesUltraVieweruvcr.dll

نیٹ ورک

ڈومین IP
کوئی بھی نہیں 118.193.78[.]22
کوئی بھی نہیں 118.193.78[.]57
airplane.travel-commercials[.]ایجنسی 5.183.101[.]9
Central.suhypercloud[.]org 45.77.36[.]243

Mutexes

CLRLload کے نمونوں میں، mutex کے نام جن کا ہم نے سامنا کیا وہ یہ ہیں:

aB82UduGX0EX
ad8TbUIZl5Ga
Mr2PJVxbIBD4
oERiQtKLgPgK
U37uxsCsA4Xm
Wo0r0KGWhYGO
xBUjQR2vxYTz
zYCLBWekRX3t
3c3401ad-e77d-4142-8db5-8eb5483d7e41
9xvzMsaWqxMy

سمجھوتہ کے اشارے (IoCs) کی ایک جامع فہرست اور نمونے اس میں مل سکتے ہیں۔ ہمارے GitHub ذخیرہ.

MITER ATT&CK تکنیک

یہ میز استعمال کرتے ہوئے بنایا گیا تھا۔ ورژن 11 MITER ATT&CK فریم ورک کا۔

حربہ ID نام Description
دوبارہ ملاقات T1592.002 وکٹم ہوسٹ کی معلومات جمع کریں: سافٹ ویئر PowHeartBeat جمع ہوتا ہے۔ explorer.exe کا معلومات.
T1592.001 وکٹم ہوسٹ کی معلومات جمع کریں: ہارڈ ویئر PowHeartBeat ڈرائیوز کے بارے میں معلومات جمع کرتا ہے۔
T1590.005 وکٹم نیٹ ورک کی معلومات جمع کریں: IP پتے PowHeartBeat سمجھوتہ شدہ کمپیوٹر کے IP پتے جمع کرتا ہے۔
وسائل کی ترقی T1583.004 انفراسٹرکچر حاصل کریں: سرور Worok اپنے C&C سرور استعمال کرتا ہے۔
T1588.002 صلاحیتیں حاصل کریں: ٹول Worok نے سمجھوتہ شدہ مشینوں پر عوامی طور پر دستیاب متعدد ٹولز کو تعینات کیا۔
T1583.001 انفراسٹرکچر حاصل کریں: ڈومینز Worok نے C&C کمیونیکیشن اور سٹیجنگ کو آسان بنانے کے لیے ڈومینز رجسٹر کیے ہیں۔
T1588.005 صلاحیتیں حاصل کریں: کارنامے۔ Worok نے ProxyShell کمزوری کا استعمال کیا ہے۔
T1587.001 صلاحیتوں کو تیار کریں: میلویئر Worok نے اپنا میلویئر تیار کیا ہے: CLRLoad، PNGLoad، PowHeartBeat۔
T1587.003 صلاحیتوں کو تیار کریں: ڈیجیٹل سرٹیفکیٹ Worok نے میلویئر کے لیے باہمی TLS تصدیق کو فعال کرنے کے لیے Let's Encrypt SSL سرٹیفکیٹس بنائے ہیں۔
پھانسی T1059.001 کمانڈ اور اسکرپٹنگ ترجمان: پاور شیل PowHeartBeat PowerShell میں لکھا جاتا ہے۔
مسلسل T1505.003 سرور سافٹ ویئر کا جزو: ویب شیل ورک ویب شیل کا استعمال کرتا ہے۔ ReGeorg.
دفاعی چوری T1140 فائلوں یا معلومات کو ڈیوبفسکیٹ/ڈی کوڈ کریں۔ Worok PowHeartBeat، PNGLoad، اور CLRLoad میں تاروں اور لاگز کو خفیہ کرنے کے لیے مختلف حسب ضرورت XOR پر مبنی اسکیمیں استعمال کرتا ہے۔
T1036.005 ماسکریڈنگ: جائز نام یا مقام سے ملائیں۔ PNGLoad کے نمونے جائز نظر آنے والی VMWare ڈائریکٹریوں میں تعینات ہیں۔
اسناد تک رسائی T1003.001 OS کریڈینشل ڈمپنگ: LSASS میموری Worok LSASS میموری سے اسناد کو ڈمپ کرنے کے لیے Mimikatz کا استعمال کرتا ہے۔
ڈسکوری T1082 سسٹم انفارمیشن ڈسکوری PowHeartBeat OS کی معلومات جمع کرتا ہے۔
T1083 فائل اور ڈائرکٹری کی دریافت PowHeartBeat فائلوں اور ڈائریکٹریوں کی فہرست بنا سکتا ہے۔
T1046 نیٹ ورک سروس کی دریافت ورک استعمال کرتا ہے۔ این بی ٹی اسکین سمجھوتہ شدہ مشینوں پر نیٹ ورک کی معلومات حاصل کرنے کے لیے۔
T1124 سسٹم ٹائم ڈسکوری PowHeartBeat شکار کے وقت کی معلومات جمع کرتا ہے۔
جمعکاری T1005 لوکل سسٹم سے ڈیٹا PowHeartBeat مقامی نظام سے ڈیٹا اکٹھا کرتا ہے۔
T1560.002 جمع شدہ ڈیٹا کو محفوظ کریں: لائبریری کے ذریعے آرکائیو کریں۔ PowHeartBeat gzip ڈیٹا کو C&C سرور کو بھیجنے سے پہلے کمپریس کرتا ہے۔
کمانڈ اور کنٹرول T1071.001 ایپلیکیشن لیئر پروٹوکول: ویب پروٹوکول کچھ PowHeartBeat مختلف قسمیں HTTP کو C&C سرور کے ساتھ مواصلاتی پروٹوکول کے طور پر استعمال کرتی ہیں۔
T1090.001 پراکسی: اندرونی پراکسی PowHeartBeat شکار کی مشین پر پراکسی کنفیگریشن کو ہینڈل کرتا ہے۔
T1001.002 ڈیٹا کی رکاوٹ: سٹیگنوگرافی۔ PNGLoad سے پکسل ویلیو نکالتا ہے۔ PNG کی پے لوڈز کی تشکیل نو کے لیے فائلیں۔
T1573.002 خفیہ کردہ چینل: غیر متناسب خفیہ نگاری۔ PowHeartBeat C&C سرور کے ساتھ HTTPS مواصلات کو ہینڈل کرتا ہے۔
T1095 نان ایپلیکیشن لیئر پروٹوکول کچھ PowHeartBeat مختلف قسمیں ICMP کو C&C سرور کے ساتھ مواصلاتی پروٹوکول کے طور پر استعمال کرتی ہیں۔
T1132.001 ڈیٹا انکوڈنگ: معیاری انکوڈنگ Worok PowHeartBeat، اور PNGLoad میں XOR انکوڈنگ کا استعمال کرتا ہے۔
T1132.002 ڈیٹا انکوڈنگ: غیر معیاری انکوڈنگ Worok XOR انکوڈنگ الگورتھم استعمال کرتا ہے جو اضافی نمک کا استعمال کرتے ہیں۔
جلاوطنی T1041 C2 چینل کے اوپر Exfiltration PowHeartBeat اپنے C&C کمیونیکیشن چینل کا استعمال معلومات کو نکالنے کے لیے کرتا ہے۔

ورک: بڑی تصویر پلیٹو بلاکچین ڈیٹا انٹیلی جنس۔ عمودی تلاش۔ عی

ٹائم اسٹیمپ:

سے زیادہ ہم سیکورٹی رہتے ہیں