RATKing: chiến dịch mới với Trojan truy cập từ xa

Vào cuối tháng XNUMX, chúng tôi đã phát hiện ra một chiến dịch phân phối phần mềm độc hại Remote Access Trojan (RAT)—các chương trình cho phép kẻ tấn công điều khiển từ xa một hệ thống bị nhiễm.

Nhóm mà chúng tôi kiểm tra khác biệt ở chỗ nó không chọn bất kỳ họ RAT cụ thể nào để lây nhiễm. Một số Trojan đã được phát hiện trong các cuộc tấn công trong chiến dịch (tất cả đều được phổ biến rộng rãi). Với đặc điểm này, nhóm khiến chúng tôi liên tưởng đến vua chuột - một loài động vật thần thoại bao gồm các loài gặm nhấm có đuôi đan vào nhau.

RATKing: chiến dịch mới với Trojan truy cập từ xa
Nguyên bản được lấy từ chuyên khảo của K. N. Rossikov “Chuột và loài gặm nhấm giống chuột nhắt, quan trọng nhất về mặt kinh tế” (1908)

Để vinh danh sinh vật này, chúng tôi đã đặt tên cho nhóm mà chúng tôi đang xem xét RATKing. Trong bài đăng này, chúng tôi sẽ đi sâu vào chi tiết về cách những kẻ tấn công thực hiện cuộc tấn công, chúng đã sử dụng công cụ gì và cũng chia sẻ suy nghĩ của chúng tôi về việc phân bổ cho chiến dịch này.

Diễn biến cuộc tấn công

Tất cả các cuộc tấn công trong chiến dịch này đều diễn ra theo thuật toán sau:

  1. Người dùng đã nhận được email lừa đảo có liên kết tới Google Drive.
  2. Bằng cách sử dụng liên kết, nạn nhân đã tải xuống tập lệnh VBS độc hại chỉ định thư viện DLL để tải trọng tải cuối cùng vào sổ đăng ký Windows và khởi chạy PowerShell để thực thi nó.
  3. Thư viện DLL đã chèn tải trọng cuối cùng - trên thực tế, một trong những RAT được kẻ tấn công sử dụng - vào quy trình hệ thống và đăng ký tập lệnh VBS trong chế độ tự động chạy để có được chỗ đứng trong máy bị nhiễm.
  4. Tải trọng cuối cùng được thực thi trong một quy trình hệ thống và cung cấp cho kẻ tấn công khả năng kiểm soát máy tính bị nhiễm.

Về mặt sơ đồ nó có thể được biểu diễn như thế này:

RATKing: chiến dịch mới với Trojan truy cập từ xa

Tiếp theo, chúng tôi sẽ tập trung vào ba giai đoạn đầu tiên vì chúng tôi quan tâm đến cơ chế phân phối phần mềm độc hại. Chúng tôi sẽ không mô tả chi tiết cơ chế hoạt động của phần mềm độc hại. Chúng có sẵn rộng rãi - được bán trên các diễn đàn chuyên biệt hoặc thậm chí được phân phối dưới dạng các dự án nguồn mở - và do đó không phải là duy nhất của nhóm RATKing.

Phân tích các giai đoạn tấn công

Giai đoạn 1. Email lừa đảo

Cuộc tấn công bắt đầu bằng việc nạn nhân nhận được một lá thư độc hại (những kẻ tấn công đã sử dụng các mẫu văn bản khác nhau; ảnh chụp màn hình bên dưới hiển thị một ví dụ). Tin nhắn chứa liên kết đến kho lưu trữ hợp pháp drive.google.com, được cho là đã dẫn đến trang tải xuống tài liệu PDF.

RATKing: chiến dịch mới với Trojan truy cập từ xa
Ví dụ về email lừa đảo

Tuy nhiên, trên thực tế, nó hoàn toàn không phải là một tài liệu PDF mà được tải mà là một tập lệnh VBS.

Khi bạn nhấp vào liên kết từ email trong ảnh chụp màn hình ở trên, một tệp có tên Cargo Flight Details.vbs. Trong trường hợp này, những kẻ tấn công thậm chí không cố gắng ngụy trang tệp đó thành tài liệu hợp pháp.

Đồng thời, là một phần của chiến dịch này, chúng tôi đã phát hiện ra một tập lệnh có tên Cargo Trip Detail.pdf.vbs. Nó có thể đã được chuyển sang dạng PDF hợp pháp vì Windows ẩn phần mở rộng tệp theo mặc định. Đúng, trong trường hợp này, sự nghi ngờ vẫn có thể bị khơi dậy bởi biểu tượng của nó, tương ứng với tập lệnh VBS.

Ở giai đoạn này, nạn nhân có thể nhận ra hành vi lừa dối: chỉ cần xem kỹ hơn các tệp đã tải xuống trong giây lát. Tuy nhiên, trong các chiến dịch lừa đảo như vậy, những kẻ tấn công thường dựa vào người dùng thiếu chú ý hoặc vội vàng.

Giai đoạn 2. Thao tác tập lệnh VBS

Tập lệnh VBS mà người dùng có thể vô tình mở đã đăng ký thư viện DLL trong sổ đăng ký Windows. Tập lệnh bị xáo trộn: các dòng trong đó được viết dưới dạng byte được phân tách bằng một ký tự tùy ý.

RATKing: chiến dịch mới với Trojan truy cập từ xa
Ví dụ về tập lệnh bị xáo trộn

Thuật toán giải mã khá đơn giản: mỗi ký tự thứ ba được loại trừ khỏi chuỗi bị xáo trộn, sau đó kết quả được giải mã từ base16 thành chuỗi gốc. Ví dụ, từ giá trị 57Q53s63t72s69J70r74e2El53v68m65j6CH6Ct (được đánh dấu trong ảnh chụp màn hình ở trên) dòng kết quả là WScript.Shell.

Để giải mã chuỗi, chúng tôi đã sử dụng hàm Python:

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

Bên dưới, trên các dòng 9–10, chúng tôi đánh dấu giá trị mà quá trình giải mã của nó dẫn đến tệp DLL. Chính anh ấy là người đã khởi động giai đoạn tiếp theo bằng cách sử dụng PowerShell.

RATKing: chiến dịch mới với Trojan truy cập từ xa
Chuỗi có DLL bị xáo trộn

Mỗi chức năng trong tập lệnh VBS được thực thi khi các chuỗi được giải mã.

Sau khi chạy tập lệnh, hàm được gọi wscript.sleep — nó được sử dụng để thực hiện việc thực thi bị trì hoãn.

Tiếp theo, tập lệnh hoạt động với sổ đăng ký Windows. Anh ấy đã sử dụng công nghệ WMI cho việc này. Với sự trợ giúp của nó, một khóa duy nhất đã được tạo và phần nội dung của tệp thực thi được ghi vào tham số của nó. Sổ đăng ký được truy cập thông qua WMI bằng lệnh sau:

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

RATKing: chiến dịch mới với Trojan truy cập từ xa
Một mục được tạo trong sổ đăng ký bằng tập lệnh VBS

Giai đoạn 3. Hoạt động của thư viện DLL

Ở giai đoạn thứ ba, DLL độc hại tải trọng tải cuối cùng, đưa nó vào quy trình hệ thống và đảm bảo rằng tập lệnh VBS tự động khởi động khi người dùng đăng nhập.

Chạy qua PowerShell

DLL được thực thi bằng lệnh sau trong PowerShell:

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

Lệnh này đã làm như sau:

  • đã nhận được dữ liệu giá trị đăng ký có tên rnd_value_name - dữ liệu này là tệp DLL được viết trên nền tảng .Net;
  • đã tải mô-đun .Net kết quả vào bộ nhớ tiến trình powershell.exe sử dụng chức năng [System.Threading.Thread]::GetDomain().Load() (mô tả chi tiết hàm Load() có sẵn trên trang web của Microsoft);
  • đã thực hiện chức năng GUyyvmzVhebFCw]::EhwwK() - việc thực thi thư viện DLL bắt đầu với nó - với các tham số vbsScriptPath, xorKey, vbsScriptName... Tham số xorKey đã lưu trữ khóa để giải mã tải trọng cuối cùng và các tham số vbsScriptPath и vbsScriptName đã được chuyển để đăng ký tập lệnh VBS trong autorun.

Mô tả thư viện DLL

Ở dạng dịch ngược, bộ nạp khởi động trông như thế này:

RATKing: chiến dịch mới với Trojan truy cập từ xa
Trình tải ở dạng dịch ngược (chức năng bắt đầu thực thi thư viện DLL được gạch chân màu đỏ)

Bộ nạp khởi động được bảo vệ bởi bộ bảo vệ .Net Reactor. Tiện ích de4dot thực hiện rất tốt công việc loại bỏ trình bảo vệ này.

Trình tải này:

  • đã đưa tải trọng vào tiến trình hệ thống (trong ví dụ này nó svchost.exe);
  • Tôi đã thêm tập lệnh VBS vào autorun.

Tiêm tải trọng

Hãy xem hàm mà tập lệnh PowerShell gọi.

RATKing: chiến dịch mới với Trojan truy cập từ xa
Hàm được gọi bởi tập lệnh PowerShell

Chức năng này đã thực hiện các hành động sau:

  • đã giải mã hai bộ dữ liệu (array и array2 trong ảnh chụp màn hình). Ban đầu chúng được nén bằng gzip và được mã hóa bằng thuật toán XOR bằng khóa xorKey;
  • sao chép dữ liệu vào vùng nhớ được phân bổ. Dữ liệu từ array - tới vùng nhớ được trỏ tới intPtr (payload pointer trong ảnh chụp màn hình); dữ liệu từ array2 - tới vùng nhớ được trỏ tới intPtr2 (shellcode pointer trong ảnh chụp màn hình);
  • gọi là hàm CallWindowProcA (описание Chức năng này có sẵn trên trang web của Microsoft) với các tham số sau (tên của các tham số được liệt kê bên dưới, trong ảnh chụp màn hình, chúng theo cùng thứ tự nhưng có giá trị hoạt động):
    • lpPrevWndFunc - con trỏ tới dữ liệu từ array2;
    • hWnd — con trỏ tới một chuỗi chứa đường dẫn tới tập tin thực thi svchost.exe;
    • Msg - con trỏ tới dữ liệu từ array;
    • wParamlParam — tham số thông báo (trong trường hợp này, các tham số này không được sử dụng và có giá trị bằng 0);
  • đã tạo một tập tin %AppData%MicrosoftWindowsStart MenuProgramsStartup<name>.urlĐâu <name> - đây là 4 ký tự đầu tiên của tham số vbsScriptName (trong ảnh chụp màn hình, đoạn mã có hành động này bắt đầu bằng lệnh File.Copy). Bằng cách này, phần mềm độc hại đã thêm một tệp URL vào danh sách các tệp tự động chạy khi người dùng đăng nhập và do đó được đính kèm vào máy tính bị nhiễm. Tệp URL chứa liên kết đến tập lệnh:

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

Để hiểu cách thực hiện việc tiêm, chúng tôi đã giải mã các mảng dữ liệu array и array2. Để làm điều này, chúng tôi đã sử dụng hàm Python sau:

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

Kết quả là chúng tôi phát hiện ra rằng:

  • array là tệp PE - đây là tải trọng cuối cùng;
  • array2 là shellcode cần thiết để thực hiện việc tiêm.

Shellcode từ một mảng array2 được truyền dưới dạng giá trị hàm lpPrevWndFunc thành một hàm CallWindowProcA. lpPrevWndFunc — hàm gọi lại, nguyên mẫu của nó trông như thế này:

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

Vì vậy khi bạn chạy hàm CallWindowProcA với các thông số hWnd, Msg, wParam, lParam shellcode từ mảng được thực thi array2 với những lý lẽ hWnd и Msg. hWnd là một con trỏ tới một chuỗi chứa đường dẫn đến tệp thực thi svchost.exeMsg - con trỏ tới tải trọng cuối cùng.

Shellcode nhận địa chỉ hàm từ kernel32.dll и ntdll32.dll dựa trên các giá trị băm từ tên của chúng và đưa tải trọng cuối cùng vào bộ nhớ tiến trình svchost.exesử dụng kỹ thuật Process Hollowing (bạn có thể đọc thêm về nó trong phần này Bài viết). Khi tiêm shellcode:

  • đã tạo ra một quy trình svchost.exe ở trạng thái treo bằng cách sử dụng chức năng CreateProcessW;
  • sau đó ẩn phần hiển thị của phần đó trong không gian địa chỉ của tiến trình svchost.exe sử dụng chức năng NtUnmapViewOfSection. Như vậy, chương trình đã giải phóng bộ nhớ của tiến trình ban đầu svchost.exesau đó phân bổ bộ nhớ cho tải trọng tại địa chỉ này;
  • bộ nhớ được phân bổ cho tải trọng trong không gian địa chỉ tiến trình svchost.exe sử dụng chức năng VirtualAllocEx;

RATKing: chiến dịch mới với Trojan truy cập từ xa
Bắt đầu quá trình tiêm

  • đã ghi nội dung của tải trọng vào không gian địa chỉ tiến trình svchost.exe sử dụng chức năng WriteProcessMemory (như trong ảnh chụp màn hình bên dưới);
  • đã tiếp tục lại quá trình svchost.exe sử dụng chức năng ResumeThread.

RATKing: chiến dịch mới với Trojan truy cập từ xa
Hoàn tất quá trình tiêm

Phần mềm độc hại có thể tải xuống

Kết quả của các hành động được mô tả là một trong số phần mềm độc hại loại RAT đã được cài đặt trên hệ thống bị nhiễm. Bảng bên dưới liệt kê phần mềm độc hại được sử dụng trong cuộc tấn công mà chúng tôi có thể tự tin quy cho một nhóm kẻ tấn công vì các mẫu này truy cập vào cùng một máy chủ ra lệnh và kiểm soát.

Tên phần mềm độc hại

Lần đầu tiên nhìn thấy

SHA-256

C&C

Quá trình thực hiện tiêm

Dấu vết đen tối

16-04-2020

ea64fe672c953adc19553ea3b9118ce4ee88a14d92fc7e75aa04972848472702

kimjoy007.dyndns[.]org:2017

svchost

Thị sai

24-04-2020

b4ecd8dbbceaadd482f1b23b712bcddc5464bccaac11fe78ea5fd0ba932a4043

kimjoy007.dyndns[.]org:2019

svchost

CHIẾN TRƯỜNG

18-05-2020

3786324ce3f8c1ea3784e5389f84234f81828658b22b8a502b7d48866f5aa3d3

kimjoy007.dyndns[.]org:9933

svchost

dây mạng

20-05-2020

6dac218f741b022f5cad3b5ee01dbda80693f7045b42a0c70335d8a729002f2d

kimjoy007.dyndns[.]org:2000

svchost

Ví dụ về phần mềm độc hại được phân phối trên cùng một máy chủ điều khiển

Có hai điều đáng chú ý ở đây.

Thứ nhất, thực tế là những kẻ tấn công đã sử dụng nhiều họ RAT khác nhau cùng một lúc. Hành vi này không phải là điển hình đối với các nhóm mạng nổi tiếng, những nhóm này thường sử dụng gần như cùng một bộ công cụ quen thuộc với họ.

Thứ hai, RATKing đã sử dụng phần mềm độc hại được bán trên các diễn đàn chuyên biệt với giá thấp hoặc thậm chí là một dự án nguồn mở.

Danh sách phần mềm độc hại đầy đủ hơn được sử dụng trong chiến dịch—với một lưu ý quan trọng—được cung cấp ở cuối bài viết.

Về nhóm

Chúng tôi không thể quy kết chiến dịch độc hại được mô tả cho bất kỳ kẻ tấn công đã biết nào. Hiện tại, chúng tôi tin rằng những cuộc tấn công này về cơ bản được thực hiện bởi một nhóm mới. Như chúng tôi đã viết lúc đầu, chúng tôi gọi nó là RATKing.

Để tạo script VBS chắc nhóm đã sử dụng công cụ tương tự như tiện ích VBS-Crypter từ nhà phát triển NYAN-x-CAT. Điều này được biểu thị bằng sự giống nhau của tập lệnh mà chương trình này tạo ra với tập lệnh của kẻ tấn công. Cụ thể, cả hai đều:

  • thực hiện trì hoãn việc thực hiện bằng cách sử dụng hàm Sleep;
  • sử dụng WMI;
  • đăng ký phần thân của tệp thực thi làm tham số khóa đăng ký;
  • thực thi tệp này bằng PowerShell trong không gian địa chỉ của chính nó.

Để rõ ràng, hãy so sánh lệnh PowerShell để chạy một tệp từ sổ đăng ký, được sử dụng bởi tập lệnh được tạo bằng VBS-Crypter:

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

bằng một lệnh tương tự mà tập lệnh của kẻ tấn công đã sử dụng:

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

Lưu ý rằng những kẻ tấn công đã sử dụng một tiện ích khác từ NYAN-x-CAT làm một trong các trọng tải - VôiRAT.

Địa chỉ của máy chủ C&C cho thấy một tính năng đặc biệt khác của RATKing: nhóm thích các dịch vụ DNS động hơn (xem danh sách C&C trong bảng IoC).

IOC

Bảng bên dưới cung cấp danh sách đầy đủ các tập lệnh VBS có nhiều khả năng được quy cho chiến dịch được mô tả. Tất cả các tập lệnh này đều giống nhau và thực hiện gần như cùng một chuỗi hành động. Tất cả chúng đều đưa phần mềm độc hại lớp RAT vào một quy trình Windows đáng tin cậy. Tất cả đều có địa chỉ C&C được đăng ký bằng dịch vụ DNS động.

Tuy nhiên, chúng tôi không thể khẳng định rằng tất cả các tập lệnh này đều được phân phối bởi cùng một kẻ tấn công, ngoại trừ các mẫu có cùng địa chỉ C&C (ví dụ: kimjoy007.dyndns.org).

Tên phần mềm độc hại

SHA-256

C&C

Quá trình thực hiện tiêm

Thị sai

b4ecd8dbbceaadd482f1b23b712bcddc5464bccaac11fe78ea5fd0ba932a4043

kimjoy007.dyndns.org

svchost

00edb8200dfeee3bdd0086c5e8e07c6056d322df913679a9f22a2b00b836fd72

hy vọng.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

hy vọng.doomdns.org

svchost

c9745a8f33b3841fe7bfafd21ad4678d46fe6ea6125a8fedfcd2d5aee13f1601

kimjoy007.dyndns.org

svchost

1dfc66968527fbd4c0df2ea34c577a7ce7a2ba9b54ba00be62120cc88035fa65

franco20.dvrdns.org

svchost

c6c05f21e16e488eed3001d0d9dd9c49366779559ad77fcd233de15b1773c981

kimjoy007.dyndns.org

cmd

3b785cdcd69a96902ee62499c25138a70e81f14b6b989a2f81d82239a19a3aed

hy vọng.doomdns.org

svchost

4d71ceb9d6c53ac356c0f5bdfd1a5b28981061be87e38e077ee3a419e4c476f9

2004para.ddns.net

svchost

00185cc085f284ece264e3263c7771073a65783c250c5fd9afc7a85ed94acc77

hy vọng.doomdns.org

svchost

0342107c0d2a069100e87ef5415e90fd86b1b1b1c975d0eb04ab1489e198fc78

franco20.dvrdns.org

svchost

de33b7a7b059599dc62337f92ceba644ac7b09f60d06324ecf6177fff06b8d10

kimjoy007.dyndns.org

svchost

80a8114d63606e225e620c64ad8e28c9996caaa9a9e87dd602c8f920c2197007

kimjoy007.dyndns.org

svchost

acb157ba5a48631e1f9f269e6282f042666098614b66129224d213e27c1149bb

hy vọng.doomdns.org

cmd

bf608318018dc10016b438f851aab719ea0abe6afc166c8aea6b04f2320896d3

franco20.dvrdns.org

svchost

4d0c9b8ad097d35b447d715a815c67ff3d78638b305776cde4d90bfdcb368e38

hy vọng.doomdns.org

svchost

e7c676f5be41d49296454cd6e4280d89e37f506d84d57b22f0be0d87625568ba

kimjoy007.dyndns.org

svchost

9375d54fcda9c7d65f861dfda698e25710fda75b5ebfc7a238599f4b0d34205f

franco20.dvrdns.org

svchost

128367797fdf3c952831c2472f7a308f345ca04aa67b3f82b945cfea2ae11ce5

kimjoy007.dyndns.org

svchost

09bd720880461cb6e996046c7d6a1c937aa1c99bd19582a562053782600da79d

hy vọng.doomdns.org

svchost

0a176164d2e1d5e2288881cc2e2d88800801001d03caedd524db365513e11276

paradickhead.homeip.net

svchost

0af5194950187fd7cbd75b1b39aab6e1e78dae7c216d08512755849c6a0d1cbe

hy vọng.doomdns.org

svchost

Warzone

3786324ce3f8c1ea3784e5389f84234f81828658b22b8a502b7d48866f5aa3d3

kimjoy007.dyndns.org

svchost

db0d5a67a0ced6b2de3ee7d7fc845a34b9d6ca608e5fead7f16c9a640fa659eb

kimjoy007.dyndns.org

svchost

dây mạng

6dac218f741b022f5cad3b5ee01dbda80693f7045b42a0c70335d8a729002f2d

kimjoy007.dyndns.org

svchost

Dấu vết đen tối

ea64fe672c953adc19553ea3b9118ce4ee88a14d92fc7e75aa04972848472702

kimjoy007.dyndns.org

svchost

CHUỘT WSH

d410ced15c848825dcf75d30808cde7784e5b208f9a57b0896e828f890faea0e

anekesolution.linkpc.net

Đăng ký

Vôi

896604d27d88c75a475b28e88e54104e66f480bcab89cc75b6cdc6b29f8e438b

softmy.duckdns.org

Đăng ký

quasarRAT

bd1e29e9d17edbab41c3634649da5c5d20375f055ccf968c022811cd9624be57

darkhate-23030.portmap.io

Đăng ký

12044aa527742282ad5154a4de24e55c9e1fae42ef844ed6f2f890296122153b

darkhate-23030.portmap.io

Đăng ký

be93cc77d864dafd7d8c21317722879b65cfbb3297416bde6ca6edbfd8166572

darkhate-23030.portmap.io

Đăng ký

933a136f8969707a84a61f711018cd21ee891d5793216e063ac961b5d165f6c0

darkhate-23030.portmap.io

Đăng ký

71dea554d93728cce8074dbdb4f63ceb072d4bb644f0718420f780398dafd943

chrom1.myq-see.com

Đăng ký

0d344e8d72d752c06dc6a7f3abf2ff7678925fde872756bf78713027e1e332d5

darkhate-23030.portmap.io

Đăng ký

0ed7f282fd242c3f2de949650c9253373265e9152c034c7df3f5f91769c6a4eb

darkhate-23030.portmap.io

Đăng ký

aabb6759ce408ebfa2cc57702b14adaec933d8e4821abceaef0c1af3263b1bfa

darkhate-23030.portmap.io

Đăng ký

1699a37ddcf4769111daf33b7d313cf376f47e92f6b92b2119bd0c860539f745

darkhate-23030.portmap.io

Đăng ký

3472597945f3bbf84e735a778fd75c57855bb86aca9b0a4d0e4049817b508c8c

darkhate-23030.portmap.io

Đăng ký

809010d8823da84cdbb2c8e6b70be725a6023c381041ebda8b125d1a6a71e9b1

darkhate-23030.portmap.io

Đăng ký

4217a2da69f663f1ab42ebac61978014ec4f562501efb2e040db7ebb223a7dff

darkhate-23030.portmap.io

Đăng ký

08f34b3088af792a95c49bcb9aa016d4660609409663bf1b51f4c331b87bae00

darkhate-23030.portmap.io

Đăng ký

79b4efcce84e9e7a2e85df7b0327406bee0b359ad1445b4f08e390309ea0c90d

darkhate-23030.portmap.io

Đăng ký

12ea7ce04e0177a71a551e6d61e4a7916b1709729b2d3e9daf7b1bdd0785f63a

darkhate-23030.portmap.io

Đăng ký

d7b8eb42ae35e9cc46744f1285557423f24666db1bde92bf7679f0ce7b389af9

darkhate-23030.portmap.io

Đăng ký

def09b0fed3360c457257266cb851fffd8c844bc04a623c210a2efafdf000d5c

darkhate-23030.portmap.io

Đăng ký

50119497c5f919a7e816a37178d28906fb3171b07fc869961ef92601ceca4c1c

darkhate-23030.portmap.io

Đăng ký

ade5a2f25f603bf4502efa800d3cf5d19d1f0d69499b0f2e9ec7c85c6dd49621

darkhate-23030.portmap.io

Đăng ký

189d5813c931889190881ee34749d390e3baa80b2c67b426b10b3666c3cc64b7

darkhate-23030.portmap.io

Đăng ký

c3193dd67650723753289a4aebf97d4c72a1afe73c7135bee91c77bdf1517f21

darkhate-23030.portmap.io

Đăng ký

a6f814f14698141753fc6fb7850ead9af2ebcb0e32ab99236a733ddb03b9eec2

darkhate-23030.portmap.io

Đăng ký

a55116253624641544175a30c956dbd0638b714ff97b9de0e24145720dcfdf74

darkhate-23030.portmap.io

Đăng ký

d6e0f0fb460d9108397850169112bd90a372f66d87b028e522184682a825d213

darkhate-23030.portmap.io

Đăng ký

522ba6a242c35e2bf8303e99f03a85d867496bbb0572226e226af48cc1461a86

darkhate-23030.portmap.io

Đăng ký

fabfdc209b02fe522f81356680db89f8861583da89984c20273904e0cf9f4a02

darkhate-23030.portmap.io

Đăng ký

08ec13b7da6e0d645e4508b19ba616e4cf4e0421aa8e26ac7f69e13dc8796691

darkhate-23030.portmap.io

Đăng ký

8433c75730578f963556ec99fbc8d97fa63a522cef71933f260f385c76a8ee8d

darkhate-23030.portmap.io

Đăng ký

99f6bfd9edb9bf108b11c149dd59346484c7418fc4c455401c15c8ac74b70c74

darkhate-23030.portmap.io

Đăng ký

d13520e48f0ff745e31a1dfd6f15ab56c9faecb51f3d5d3d87f6f2e1abe6b5cf

darkhate-23030.portmap.io

Đăng ký

9e6978b16bd52fcd9c331839545c943adc87e0fbd7b3f947bab22ffdd309f747

darkhate-23030.portmap.io

RegAsm⁠

Nguồn: www.habr.com

Thêm một lời nhận xét