RATKing: کمپین جدید با تروجان های دسترسی از راه دور

در پایان ماه مه، ما کمپینی را برای توزیع بدافزار دسترسی از راه دور تروجان (RAT) کشف کردیم - برنامه‌هایی که به مهاجمان اجازه می‌دهد یک سیستم آلوده را از راه دور کنترل کنند.

گروهی که ما بررسی کردیم با این واقعیت متمایز شد که هیچ خانواده موش صحرایی خاصی را برای عفونت انتخاب نکرد. چندین تروجان در حملات درون کمپین مورد توجه قرار گرفتند (که همه آنها به طور گسترده در دسترس بودند). با این ویژگی، این گروه ما را به یاد پادشاه موش انداخت - حیوانی افسانه ای که از جوندگان با دم های در هم تنیده تشکیل شده است.

RATKing: کمپین جدید با تروجان های دسترسی از راه دور
نسخه اصلی از مونوگراف K. N. Rossikov "موش ها و جوندگان موش مانند، از نظر اقتصادی مهم ترین" (1908) گرفته شده است.

به افتخار این موجود، نام گروه مورد نظر خود را RATKing گذاشتیم. در این پست، ما به جزئیات در مورد نحوه انجام حمله توسط مهاجمان، از چه ابزارهایی خواهیم پرداخت و همچنین نظرات خود را در مورد انتساب برای این کمپین به اشتراک خواهیم گذاشت.

پیشرفت حمله

تمامی حملات در این کمپین بر اساس الگوریتم زیر انجام شد:

  1. کاربر یک ایمیل فیشینگ با پیوند به Google Drive دریافت کرد.
  2. با استفاده از پیوند، قربانی یک اسکریپت VBS مخرب را دانلود کرد که یک کتابخانه DLL را برای بارگیری بار نهایی در رجیستری ویندوز مشخص کرده بود و PowerShell را برای اجرای آن راه اندازی کرد.
  3. کتابخانه DLL بار نهایی را - در واقع یکی از RAT های مورد استفاده مهاجمان - به فرآیند سیستم تزریق کرد و یک اسکریپت VBS را در autorun ثبت کرد تا بتواند جای پایی در ماشین آلوده به دست آورد.
  4. بار نهایی در یک فرآیند سیستمی اجرا شد و به مهاجم توانایی کنترل کامپیوتر آلوده را داد.

به صورت شماتیک می توان آن را به صورت زیر نشان داد:

RATKing: کمپین جدید با تروجان های دسترسی از راه دور

در مرحله بعد، ما روی سه مرحله اول تمرکز خواهیم کرد، زیرا ما به مکانیسم تحویل بدافزار علاقه مندیم. ما مکانیسم عملکرد خود بدافزار را با جزئیات شرح نمی دهیم. آنها به طور گسترده در دسترس هستند - یا در انجمن های تخصصی فروخته می شوند، یا حتی به عنوان پروژه های منبع باز توزیع می شوند - و بنابراین منحصر به گروه RATKing نیستند.

تجزیه و تحلیل مراحل حمله

مرحله 1. ایمیل فیشینگ

حمله با دریافت نامه ای مخرب توسط قربانی آغاز شد ( مهاجمان از الگوهای مختلف با متن استفاده کردند؛ تصویر زیر یک نمونه را نشان می دهد). این پیام حاوی پیوندی به یک مخزن قانونی بود drive.google.com، که ظاهراً منجر به صفحه دانلود سند PDF شده است.

RATKing: کمپین جدید با تروجان های دسترسی از راه دور
مثال ایمیل فیشینگ

با این حال، در واقع، این یک سند PDF نبود که بارگذاری شده بود، بلکه یک اسکریپت VBS بود.

وقتی روی پیوند ایمیل موجود در تصویر بالا کلیک کردید، فایلی با نام Cargo Flight Details.vbs. در این مورد، مهاجمان حتی سعی نکردند پرونده را به عنوان یک سند قانونی پنهان کنند.

در همان زمان، به عنوان بخشی از این کمپین، اسکریپتی به نام کشف کردیم Cargo Trip Detail.pdf.vbs. از قبل می‌توانست برای یک PDF قانونی عبور کند، زیرا ویندوز به‌طور پیش‌فرض پسوند فایل‌ها را پنهان می‌کند. درست است، در این مورد، هنوز هم می تواند توسط نماد آن، که با اسکریپت VBS مطابقت دارد، برانگیخته شود.

در این مرحله، قربانی می تواند فریب را تشخیص دهد: فقط برای یک ثانیه نگاه دقیق تری به فایل های دانلود شده بیندازید. با این حال، در چنین کمپین های فیشینگ، مهاجمان اغلب به یک کاربر بی توجه یا عجله تکیه می کنند.

مرحله 2. عملیات اسکریپت VBS

اسکریپت VBS که کاربر می‌توانست ناخواسته آن را باز کند، یک کتابخانه DLL در رجیستری ویندوز ثبت کرد. اسکریپت مبهم بود: خطوط در آن به صورت بایت هایی نوشته می شد که توسط یک کاراکتر دلخواه از هم جدا شده بودند.

RATKing: کمپین جدید با تروجان های دسترسی از راه دور
نمونه ای از یک اسکریپت مبهم

الگوریتم deobfuscation بسیار ساده است: هر کاراکتر سوم از رشته مبهم حذف شد، پس از آن نتیجه از base16 به رشته اصلی رمزگشایی شد. به عنوان مثال، از مقدار 57Q53s63t72s69J70r74e2El53v68m65j6CH6Ct (در تصویر بالا برجسته شده است) خط حاصل شد WScript.Shell.

برای رفع ابهام از رشته ها، از تابع پایتون استفاده کردیم:

def decode_str(data_enc):   
    return binascii.unhexlify(''.join([data_enc[i:i+2] for i in range(0, len(data_enc), 3)]))

در زیر، در خطوط 9 تا 10، مقداری را که deobfuscation منجر به یک فایل DLL شده است، برجسته می کنیم. این او بود که در مرحله بعدی با استفاده از PowerShell راه اندازی شد.

RATKing: کمپین جدید با تروجان های دسترسی از راه دور
رشته ای با DLL مبهم

هر تابع در اسکریپت VBS با از بین رفتن رشته ها اجرا شد.

پس از اجرای اسکریپت، تابع فراخوانی شد wscript.sleep - برای اجرای اجرای معوق استفاده شد.

بعد، اسکریپت با رجیستری ویندوز کار کرد. او برای این کار از فناوری WMI استفاده کرد. با کمک آن، یک کلید منحصر به فرد ایجاد شد و بدنه فایل اجرایی به پارامتر آن نوشته شد. رجیستری از طریق WMI با استفاده از دستور زیر قابل دسترسی است:

GetObject(winmgmts {impersonationLevel=impersonate}!\.rootdefault:StdRegProv)

RATKing: کمپین جدید با تروجان های دسترسی از راه دور
ورودی که توسط یک اسکریپت VBS در رجیستری ایجاد شده است

مرحله 3. عملیات کتابخانه DLL

در مرحله سوم، DLL مخرب بار نهایی را بارگیری کرد، آن را به فرآیند سیستم تزریق کرد و اطمینان حاصل کرد که اسکریپت VBS هنگام ورود کاربر به صورت خودکار شروع به کار می کند.

از طریق PowerShell اجرا شود

DLL با استفاده از دستور زیر در PowerShell اجرا شد:

[System.Threading.Thread]::GetDomain().Load((ItemProperty HKCU:///Software///<rnd_sub_key_name> ).<rnd_value_name>);
[GUyyvmzVhebFCw]::EhwwK('WScript.ScriptFullName', 'rWZlgEtiZr', 'WScript.ScriptName'),0

این دستور به صورت زیر عمل کرد:

  • داده های مقدار رجیستری را با نام دریافت کرد rnd_value_name — این داده یک فایل DLL بود که بر روی پلتفرم Net نوشته شده بود.
  • ماژول .Net حاصل را در حافظه پردازش بارگذاری کرد powershell.exe با استفاده از تابع [System.Threading.Thread]::GetDomain().Load() (توضیحات مفصل تابع Load(). در وب سایت مایکروسافت موجود است);
  • عملکرد را انجام داد GUyyvmzVhebFCw]::EhwwK() - اجرای کتابخانه DLL با آن آغاز شد - با پارامترها vbsScriptPath, xorKey, vbsScriptName. پارامتر xorKey کلید را برای رمزگشایی محموله نهایی و پارامترها ذخیره می کند vbsScriptPath и vbsScriptName به منظور ثبت یک اسکریپت VBS در autorun منتقل شدند.

شرح کتابخانه DLL

در فرم دیکامپایل، بوت لودر به شکل زیر بود:

RATKing: کمپین جدید با تروجان های دسترسی از راه دور
لودر به صورت دیکامپایل شده (عملکردی که با آن اجرای کتابخانه DLL شروع شد با رنگ قرمز خط کشیده شده است)

بوت لودر توسط محافظ .Net Reactor محافظت می شود. ابزار de4dot در حذف این محافظ کار بسیار خوبی انجام می دهد.

این لودر:

  • محموله را به فرآیند سیستم تزریق کرد (در این مثال، آن svchost.exe);
  • من یک اسکریپت VBS به autorun اضافه کردم.

تزریق بار

بیایید به تابعی که اسکریپت PowerShell فراخوانی می کرد نگاه کنیم.

RATKing: کمپین جدید با تروجان های دسترسی از راه دور
تابع فراخوانی شده توسط اسکریپت PowerShell

این تابع اقدامات زیر را انجام داد:

  • رمزگشایی دو مجموعه داده (array и array2 در اسکرین شات). آنها در ابتدا با استفاده از gzip فشرده و با الگوریتم XOR با کلید رمزگذاری شدند xorKey;
  • داده ها را در مناطق حافظه اختصاص داده شده کپی کرد. داده ها از array - به ناحیه حافظه اشاره شده است intPtr (payload pointer در تصویر)؛ داده ها از array2 - به ناحیه حافظه اشاره شده است intPtr2 (shellcode pointer در تصویر)؛
  • تابع نامیده می شود CallWindowProcA (описание این تابع در وب سایت مایکروسافت موجود است) با پارامترهای زیر (نام پارامترها در زیر ذکر شده است، در تصویر به همان ترتیب هستند، اما با مقادیر کاری):
    • lpPrevWndFunc - اشاره گر به داده ها از array2;
    • hWnd - اشاره گر به رشته ای حاوی مسیر فایل اجرایی است svchost.exe;
    • Msg - اشاره گر به داده ها از array;
    • wParamlParam - پارامترهای پیام (در این مورد، این پارامترها استفاده نشده و دارای مقادیر 0 هستند).
  • یک فایل ایجاد کرد %AppData%MicrosoftWindowsStart MenuProgramsStartup<name>.urlجایی که <name> - اینها 4 کاراکتر اول پارامتر هستند vbsScriptName (در تصویر، قطعه کد با این عمل با دستور شروع می شود File.Copy). به این ترتیب، بدافزار یک فایل URL را به لیست فایل های اتوران اضافه می کند که کاربر وارد سیستم می شود و در نتیجه به رایانه آلوده متصل می شود. فایل URL حاوی پیوندی به اسکریپت بود:

[InternetShortcut]
URL = file : ///<vbsScriptPath>

برای درک اینکه چگونه تزریق انجام شد، آرایه های داده را رمزگشایی کردیم array и array2. برای این کار از تابع پایتون زیر استفاده کردیم:

def decrypt(data, key):
    return gzip.decompress(
        bytearray([data[i] ^ key[i % len(key)] for i in range(len(data))])[4:])
    

در نتیجه متوجه شدیم که:

  • array یک فایل PE بود - این بار نهایی است.
  • array2 کد پوسته مورد نیاز برای انجام تزریق بود.

Shellcode از یک آرایه array2 به عنوان یک مقدار تابع ارسال می شود lpPrevWndFunc به یک تابع CallWindowProcA. lpPrevWndFunc - تابع callback، نمونه اولیه آن به شکل زیر است:

LRESULT WndFunc(
  HWND    hWnd,
  UINT    Msg,
  WPARAM  wParam,
  LPARAM  lParam
);

بنابراین وقتی تابع را اجرا می کنید CallWindowProcA با پارامترها hWnd, Msg, wParam, lParam shellcode از آرایه اجرا می شود array2 با استدلال hWnd и Msg. hWnd یک اشاره گر به رشته ای است که مسیر فایل اجرایی را در خود دارد svchost.exeو Msg - اشاره گر به بار نهایی.

کد پوسته آدرس های تابع را از kernel32.dll и ntdll32.dll بر اساس مقادیر هش از نام آنها و تزریق بار نهایی به حافظه فرآیند svchost.exeبا استفاده از تکنیک Process Hollowing (شما می توانید در این مورد بیشتر بخوانید مقاله). هنگام تزریق کد پوسته:

  • یک فرآیند ایجاد کرد svchost.exe در حالت معلق با استفاده از تابع CreateProcessW;
  • سپس نمایش بخش را در فضای آدرس فرآیند پنهان کرد svchost.exe با استفاده از تابع NtUnmapViewOfSection. بنابراین، برنامه حافظه فرآیند اصلی را آزاد کرد svchost.exeبرای تخصیص حافظه برای محموله در این آدرس؛
  • حافظه اختصاص داده شده برای محموله در فضای آدرس فرآیند svchost.exe با استفاده از تابع VirtualAllocEx;

RATKing: کمپین جدید با تروجان های دسترسی از راه دور
شروع فرآیند تزریق

  • محتویات بار را در فضای آدرس فرآیند نوشت svchost.exe با استفاده از تابع WriteProcessMemory (مانند تصویر زیر)؛
  • روند را از سر گرفت svchost.exe با استفاده از تابع ResumeThread.

RATKing: کمپین جدید با تروجان های دسترسی از راه دور
تکمیل فرآیند تزریق

بدافزار قابل دانلود

در نتیجه اقدامات توصیف شده، یکی از چندین بدافزار کلاس RAT بر روی سیستم آلوده نصب شد. جدول زیر بدافزارهای مورد استفاده در حمله را فهرست می‌کند که با اطمینان می‌توانیم آن را به گروهی از مهاجمان نسبت دهیم، زیرا نمونه‌ها به همان سرور فرمان و کنترل دسترسی داشتند.

نام بدافزار

اولین بار دیده شد

SHA-256

C&C

فرآیندی که در آن تزریق انجام می شود

Darktrack

16-04-2020

ea64fe672c953adc19553ea3b9118ce4ee88a14d92fc7e75aa04972848472702

kimjoy007.dyndns[.]org:2017

svchost

اختلاف منظر

24-04-2020

b4ecd8dbbceaadd482f1b23b712bcddc5464bccaac11fe78ea5fd0ba932a4043

kimjoy007.dyndns[.]org:2019

svchost

منطقه جنگی

18-05-2020

3786324ce3f8c1ea3784e5389f84234f81828658b22b8a502b7d48866f5aa3d3

kimjoy007.dyndns[.]org:9933

svchost

شبکه

20-05-2020

6dac218f741b022f5cad3b5ee01dbda80693f7045b42a0c70335d8a729002f2d

kimjoy007.dyndns[.]org:2000

svchost

نمونه هایی از بدافزارهای توزیع شده با همان سرور کنترل

در اینجا دو نکته قابل توجه است.

اول، این واقعیت است که مهاجمان از چندین خانواده RAT مختلف به طور همزمان استفاده کردند. این رفتار برای گروه‌های سایبری معروف که اغلب از همان مجموعه‌ای از ابزارهای آشنا استفاده می‌کنند، معمول نیست.

ثانیاً، RATKing از بدافزاری استفاده می‌کند که یا در انجمن‌های تخصصی با قیمت پایین فروخته می‌شود یا حتی یک پروژه منبع باز است.

لیست کامل تر بدافزارهای مورد استفاده در کمپین - با یک هشدار مهم - در انتهای مقاله آورده شده است.

درباره گروه

ما نمی توانیم کمپین مخرب توصیف شده را به هیچ مهاجم شناخته شده نسبت دهیم. در حال حاضر، ما معتقدیم که این حملات توسط یک گروه اساساً جدید انجام شده است. همانطور که در ابتدا نوشتیم، آن را RATKing نامیدیم.

برای ایجاد اسکریپت VBS، گروه احتمالاً از ابزاری شبیه به ابزار استفاده کرده است VBS-Crypter از توسعه دهنده NYAN-x-CAT. این امر با شباهت اسکریپتی که این برنامه با اسکریپت مهاجمان ایجاد می کند نشان می دهد. به طور خاص، آنها هر دو:

  • اجرای با تاخیر با استفاده از تابع Sleep;
  • استفاده از WMI؛
  • بدنه فایل اجرایی را به عنوان پارامتر کلید رجیستری ثبت کنید.
  • این فایل را با استفاده از PowerShell در فضای آدرس خودش اجرا کنید.

برای وضوح، دستور PowerShell را برای اجرای یک فایل از رجیستری، که توسط یک اسکریپت ایجاد شده با استفاده از VBS-Crypter استفاده می شود، مقایسه کنید:

((Get-ItemPropertyHKCU:SoftwareNYANxCAT).NYANxCAT);$text=-join$text[-1..-$text.Length];[AppDomain]::CurrentDomain.Load([Convert]::FromBase64String($text)).EntryPoint.Invoke($Null,$Null);

با دستور مشابهی که اسکریپت مهاجمان استفاده می کرد:

[System.Threading.Thread]::GetDomain().Load((ItemProperty HKCU:///Software///<rnd_sub_key_name> ).<rnd_value_name>);
[GUyyvmzVhebFCw]::EhwwK('WScript.ScriptFullName', 'rWZlgEtiZr', 'WScript.ScriptName'),0

توجه داشته باشید که مهاجمان از ابزار دیگری از NYAN-x-CAT به عنوان یکی از محموله ها استفاده کردند - LimeRAT.

آدرس‌های سرورهای C&C نشان‌دهنده یکی دیگر از ویژگی‌های متمایز RATKing است: این گروه خدمات DNS پویا را ترجیح می‌دهد (لیست C&Cها را در جدول IoC ببینید).

IoC

جدول زیر فهرست کاملی از اسکریپت های VBS را ارائه می دهد که به احتمال زیاد می توانند به کمپین توصیف شده نسبت داده شوند. همه این اسکریپت ها مشابه هستند و تقریباً دنباله ای از اقدامات مشابه را انجام می دهند. همه آنها بدافزار کلاس RAT را به یک فرآیند مطمئن ویندوز تزریق می کنند. همه آنها دارای آدرس های C&C هستند که با استفاده از سرویس های Dynamic DNS ثبت شده اند.

با این حال، ما نمی‌توانیم ادعا کنیم که همه این اسکریپت‌ها توسط مهاجمان یکسان توزیع شده‌اند، به استثنای نمونه‌هایی با آدرس‌های C&C یکسان (برای مثال kimjoy007.dyndns.org).

نام بدافزار

SHA-256

C&C

فرآیندی که در آن تزریق انجام می شود

اختلاف منظر

b4ecd8dbbceaadd482f1b23b712bcddc5464bccaac11fe78ea5fd0ba932a4043

kimjoy007.dyndns.org

svchost

00edb8200dfeee3bdd0086c5e8e07c6056d322df913679a9f22a2b00b836fd72

hope.doomdns.org

svchost

504cbae901c4b3987aa9ba458a230944cb8bd96bbf778ceb54c773b781346146

kimjoy007.dyndns.org

svchost

1487017e087b75ad930baa8b017e8388d1e99c75d26b5d1deec8b80e9333f189

kimjoy007.dyndns.org

svchost

c4160ec3c8ad01539f1c16fb35ed9c8c5a53a8fda8877f0d5e044241ea805891

franco20.dvrdns.org

svchost

515249d6813bb2dde1723d35ee8eb6eeb8775014ca629ede017c3d83a77634ce

kimjoy007.dyndns.org

svchost

1b70f6fee760bcfe0c457f0a85ca451ed66e61f0e340d830f382c5d2f7ab803f

franco20.dvrdns.org

svchost

b2bdffa5853f29c881d7d9bff91b640bc1c90e996f85406be3b36b2500f61aa1

hope.doomdns.org

svchost

c9745a8f33b3841fe7bfafd21ad4678d46fe6ea6125a8fedfcd2d5aee13f1601

kimjoy007.dyndns.org

svchost

1dfc66968527fbd4c0df2ea34c577a7ce7a2ba9b54ba00be62120cc88035fa65

franco20.dvrdns.org

svchost

c6c05f21e16e488eed3001d0d9dd9c49366779559ad77fcd233de15b1773c981

kimjoy007.dyndns.org

CMD

3b785cdcd69a96902ee62499c25138a70e81f14b6b989a2f81d82239a19a3aed

hope.doomdns.org

svchost

4d71ceb9d6c53ac356c0f5bdfd1a5b28981061be87e38e077ee3a419e4c476f9

2004para.ddns.net

svchost

00185cc085f284ece264e3263c7771073a65783c250c5fd9afc7a85ed94acc77

hope.doomdns.org

svchost

0342107c0d2a069100e87ef5415e90fd86b1b1b1c975d0eb04ab1489e198fc78

franco20.dvrdns.org

svchost

de33b7a7b059599dc62337f92ceba644ac7b09f60d06324ecf6177fff06b8d10

kimjoy007.dyndns.org

svchost

80a8114d63606e225e620c64ad8e28c9996caaa9a9e87dd602c8f920c2197007

kimjoy007.dyndns.org

svchost

acb157ba5a48631e1f9f269e6282f042666098614b66129224d213e27c1149bb

hope.doomdns.org

CMD

bf608318018dc10016b438f851aab719ea0abe6afc166c8aea6b04f2320896d3

franco20.dvrdns.org

svchost

4d0c9b8ad097d35b447d715a815c67ff3d78638b305776cde4d90bfdcb368e38

hope.doomdns.org

svchost

e7c676f5be41d49296454cd6e4280d89e37f506d84d57b22f0be0d87625568ba

kimjoy007.dyndns.org

svchost

9375d54fcda9c7d65f861dfda698e25710fda75b5ebfc7a238599f4b0d34205f

franco20.dvrdns.org

svchost

128367797fdf3c952831c2472f7a308f345ca04aa67b3f82b945cfea2ae11ce5

kimjoy007.dyndns.org

svchost

09bd720880461cb6e996046c7d6a1c937aa1c99bd19582a562053782600da79d

hope.doomdns.org

svchost

0a176164d2e1d5e2288881cc2e2d88800801001d03caedd524db365513e11276

paradickhead.homeip.net

svchost

0af5194950187fd7cbd75b1b39aab6e1e78dae7c216d08512755849c6a0d1cbe

hope.doomdns.org

svchost

منطقه جنگی

3786324ce3f8c1ea3784e5389f84234f81828658b22b8a502b7d48866f5aa3d3

kimjoy007.dyndns.org

svchost

db0d5a67a0ced6b2de3ee7d7fc845a34b9d6ca608e5fead7f16c9a640fa659eb

kimjoy007.dyndns.org

svchost

شبکه

6dac218f741b022f5cad3b5ee01dbda80693f7045b42a0c70335d8a729002f2d

kimjoy007.dyndns.org

svchost

Darktrack

ea64fe672c953adc19553ea3b9118ce4ee88a14d92fc7e75aa04972848472702

kimjoy007.dyndns.org

svchost

موش WSH

d410ced15c848825dcf75d30808cde7784e5b208f9a57b0896e828f890faea0e

anekesolution.linkpc.net

RegAsm

اهک

896604d27d88c75a475b28e88e54104e66f480bcab89cc75b6cdc6b29f8e438b

softmy.duckdns.org

RegAsm

QuasarRAT

bd1e29e9d17edbab41c3634649da5c5d20375f055ccf968c022811cd9624be57

darkhate-23030.portmap.io

RegAsm

12044aa527742282ad5154a4de24e55c9e1fae42ef844ed6f2f890296122153b

darkhate-23030.portmap.io

RegAsm

be93cc77d864dafd7d8c21317722879b65cfbb3297416bde6ca6edbfd8166572

darkhate-23030.portmap.io

RegAsm

933a136f8969707a84a61f711018cd21ee891d5793216e063ac961b5d165f6c0

darkhate-23030.portmap.io

RegAsm

71dea554d93728cce8074dbdb4f63ceb072d4bb644f0718420f780398dafd943

chrom1.myq-see.com

RegAsm

0d344e8d72d752c06dc6a7f3abf2ff7678925fde872756bf78713027e1e332d5

darkhate-23030.portmap.io

RegAsm

0ed7f282fd242c3f2de949650c9253373265e9152c034c7df3f5f91769c6a4eb

darkhate-23030.portmap.io

RegAsm

aabb6759ce408ebfa2cc57702b14adaec933d8e4821abceaef0c1af3263b1bfa

darkhate-23030.portmap.io

RegAsm

1699a37ddcf4769111daf33b7d313cf376f47e92f6b92b2119bd0c860539f745

darkhate-23030.portmap.io

RegAsm

3472597945f3bbf84e735a778fd75c57855bb86aca9b0a4d0e4049817b508c8c

darkhate-23030.portmap.io

RegAsm

809010d8823da84cdbb2c8e6b70be725a6023c381041ebda8b125d1a6a71e9b1

darkhate-23030.portmap.io

RegAsm

4217a2da69f663f1ab42ebac61978014ec4f562501efb2e040db7ebb223a7dff

darkhate-23030.portmap.io

RegAsm

08f34b3088af792a95c49bcb9aa016d4660609409663bf1b51f4c331b87bae00

darkhate-23030.portmap.io

RegAsm

79b4efcce84e9e7a2e85df7b0327406bee0b359ad1445b4f08e390309ea0c90d

darkhate-23030.portmap.io

RegAsm

12ea7ce04e0177a71a551e6d61e4a7916b1709729b2d3e9daf7b1bdd0785f63a

darkhate-23030.portmap.io

RegAsm

d7b8eb42ae35e9cc46744f1285557423f24666db1bde92bf7679f0ce7b389af9

darkhate-23030.portmap.io

RegAsm

def09b0fed3360c457257266cb851fffd8c844bc04a623c210a2efafdf000d5c

darkhate-23030.portmap.io

RegAsm

50119497c5f919a7e816a37178d28906fb3171b07fc869961ef92601ceca4c1c

darkhate-23030.portmap.io

RegAsm

ade5a2f25f603bf4502efa800d3cf5d19d1f0d69499b0f2e9ec7c85c6dd49621

darkhate-23030.portmap.io

RegAsm

189d5813c931889190881ee34749d390e3baa80b2c67b426b10b3666c3cc64b7

darkhate-23030.portmap.io

RegAsm

c3193dd67650723753289a4aebf97d4c72a1afe73c7135bee91c77bdf1517f21

darkhate-23030.portmap.io

RegAsm

a6f814f14698141753fc6fb7850ead9af2ebcb0e32ab99236a733ddb03b9eec2

darkhate-23030.portmap.io

RegAsm

a55116253624641544175a30c956dbd0638b714ff97b9de0e24145720dcfdf74

darkhate-23030.portmap.io

RegAsm

d6e0f0fb460d9108397850169112bd90a372f66d87b028e522184682a825d213

darkhate-23030.portmap.io

RegAsm

522ba6a242c35e2bf8303e99f03a85d867496bbb0572226e226af48cc1461a86

darkhate-23030.portmap.io

RegAsm

fabfdc209b02fe522f81356680db89f8861583da89984c20273904e0cf9f4a02

darkhate-23030.portmap.io

RegAsm

08ec13b7da6e0d645e4508b19ba616e4cf4e0421aa8e26ac7f69e13dc8796691

darkhate-23030.portmap.io

RegAsm

8433c75730578f963556ec99fbc8d97fa63a522cef71933f260f385c76a8ee8d

darkhate-23030.portmap.io

RegAsm

99f6bfd9edb9bf108b11c149dd59346484c7418fc4c455401c15c8ac74b70c74

darkhate-23030.portmap.io

RegAsm

d13520e48f0ff745e31a1dfd6f15ab56c9faecb51f3d5d3d87f6f2e1abe6b5cf

darkhate-23030.portmap.io

RegAsm

9e6978b16bd52fcd9c331839545c943adc87e0fbd7b3f947bab22ffdd309f747

darkhate-23030.portmap.io

RegAsm

منبع: www.habr.com

اضافه کردن نظر