infostealer-malware-threadfluent-code-obfuscation

Phân tích gói phần mềm độc hại đánh cắp thông tin nhiều giai đoạn

Gói Python luồng, được phát hiện trên PyPI, đã được xác định là độc hạiPhần mềm độc hại này chứa một loại mã độc đánh cắp thông tin thông thường. Tuy nhiên, đặc điểm nổi bật của nó là việc sử dụng các kỹ thuật làm xáo trộn mã nguồn tiên tiến để che giấu nội dung độc hại, khiến việc phân tích trở nên đặc biệt khó khăn. Phần mềm độc hại này sử dụng ba lớp làm xáo trộn mã nguồn lặp đi lặp lại trong toàn bộ chuỗi tấn công, tạo ra những trở ngại đáng kể cho việc phân tích thủ công.

Nhóm Cảnh báo sớm phần mềm độc hại của chúng tôi đã báo cáo gói phần mềm này cho nhóm bảo mật PyPI, và họ đã nhanh chóng gỡ bỏ nó. Trong bài viết này, chúng tôi giải thích các giai đoạn của quá trình này. luồngCuộc tấn công của 's và các phương pháp nó sử dụng để che giấu mục đích, tập trung vào cách phần mềm đánh cắp thông tin và mã hóa làm xáo trộn hoạt động cùng nhau.

Tóm tắt nhanh: Phần mềm độc hại Infostealer và mã hóa làm xáo trộn mã nguồn

Phần mềm độc hại Infostealer là gì?

Phần mềm độc hại đánh cắp thông tin hoạt động như một tên trộm ranh mãnh trong thế giới kỹ thuật số của bạn. Nó âm thầm đánh cắp thông tin nhạy cảm, chẳng hạn như mật khẩu, số thẻ tín dụng hoặc thông tin cá nhân của bạn, mà bạn không hề hay biết. Các chương trình này ghi lại những gì bạn gõ (ghi nhật ký bàn phím), chiếm quyền điều khiển trình duyệt của bạn hoặc quét các tệp trên thiết bị của bạn để thu thập dữ liệu có giá trị. Điều đáng sợ nhất? Chúng rất giỏi trong việc hoạt động mà không bị phát hiện.

Các lớp che giấu của phần mềm độc hại ThreadFluent Infostealer

1. Mã hóa ba lớp

Quá trình che giấu bắt đầu bằng một tải trọng được mã hóa mạnh mẽ được nhúng trong... fluent.py tập tin. Quá trình mã hóa và giải mã ban đầu có thể được tóm tắt như sau:

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)) ) 

Quá trình làm mờ này bao gồm:

  • NénSử dụng gzip và bzip.
  • Mã hóa đối xứngMã hóa chuỗi với ChaCha20, Blowfish và AES.
  • Mã hóa bất đối xứngRSA được sử dụng để mã hóa các khóa đối xứng.

Kết quả được mã hóa ở định dạng Base64 và được chèn vào như sau: dữ liệu được mã hóaMỗi lần lặp lại đều dựa trên lần trước, tạo ra một cấu trúc mã hóa lồng nhau khiến việc giải mã dữ liệu thực sự trở nên vô cùng khó khăn nếu không sử dụng kỹ thuật đảo ngược.

 

2. Giải nén Gzip

Trong nhiều bước trung gian, phần mềm độc hại sử dụng một phương pháp che giấu đơn giản nhưng hiệu quả: nén Gzip kết hợp với mã hóa Base64. 

import base64, zlib; eval(zlib.decompress(base64.b64decode(<STR>).decode('utf-8')) 

Kỹ thuật này đảm bảo dữ liệu được mã hóa vẫn được giữ kín trong suốt các giai đoạn.

3. Nối mã và biên dịch động

Lớp cuối cùng bao gồm việc chia nhỏ dữ liệu đã được mã hóa thành nhiều biến, sau đó được nối lại và giải mã một cách động trong quá trình thực thi:

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')) 

Giai đoạn này đặc biệt khó phân tích ngược thủ công, vì mỗi biến số phải được giải mã và kết hợp lại để tìm ra dữ liệu cần thiết tiếp theo.

Bằng cách kết hợp các kỹ thuật làm mờ này, phần mềm độc hại infostealer in luồng Tránh bị phát hiện, cho thấy vai trò quan trọng của Mã hóa mã hóa trong các cuộc tấn công mạng hiện đại.

Chuỗi tấn công đa giai đoạn của ThreadFluent

luồng phần mềm độc hại infostealer Gồm bốn giai đoạn riêng biệt, mỗi giai đoạn giới thiệu thêm các lớp khác. Mã hóa mã hóaCác giai đoạn này không chỉ có chức năng vận chuyển tải trọng mà còn bảo vệ tải trọng đó khỏi bị phát hiện và phân tích.

infostealer-malware-code-obfuscation- threadfluent

Giai đoạn 0: Thực thi mã ban đầu

Điểm vào là __init__.py tệp này khởi tạo quá trình thực thi đoạn mã đã được mã hóa trong fluent.pyTệp này sử dụng kỹ thuật làm mờ nhiều lớp (như mô tả trong các bước 1–3) để tạo ra phần mềm phát tán giai đoạn 1:

import os,threading def main():     if os.name == 'nt':         from . import fluent         fluent.main()          thread = threading.Thread(target=main , daemon=True) thread.start() 

Giai đoạn 1: Nhỏ giọt ban đầu

Phần mềm độc hại đầu tiên, sau khi được giải mã, sẽ tải xuống và nhúng thêm mã độc hại khác. puts.py, từ kho lưu trữ GitHub Red-haired-shanks-1337/repuests (Cảnh báo: Có thể chứa mã độc hại). 

Ống nhỏ giọt được nhúng puts.py vào cơ sở lắp đặt địa phương của chương trình phổ biến yêu cầu thư viện, sửa đổi nó __init__.py Tệp này dùng để chạy quá trình giải mã và thực hiện giai đoạn tiếp theo. Quá trình giải mã này bao gồm việc đảo ngược nhiều lớp mã hóa từ 1 đến 3.

Giai đoạn 2: Ống nhỏ giọt thứ hai

Sau khi được giải mã theo cùng quy trình, phần mềm phát tán thứ hai sẽ tải xuống một gói dữ liệu khác. ssl.py Từ kho lưu trữ GitHub, đổi tên nó thành udp.pyvà tạo ra một tập tin khóa để đảm bảo phần mềm độc hại không tự cài đặt lại nhiều lần. Sau đó, nó được chạy để giải mã tập tin này, dẫn đến việc thực thi tải trọng đánh cắp thông tin cuối cùng.

Giai đoạn 3: Kẻ đánh cắp thông tin cuối cùng

Giai đoạn cuối cùng là một phần mềm đánh cắp thông tin hoàn chỉnh, sử dụng các kỹ thuật né tránh tiên tiến:

  • Tính năng chống phân tích:
    • Phát hiện các công cụ chống phần mềm độc hại và sẽ chấm dứt hoạt động nếu phát hiện bất kỳ tiến trình, địa chỉ IP, tên máy chủ hoặc môi trường ảo nào nằm trong danh sách đen.
  • Lọc dữ liệu:
    • Thu thập thông tin đầy đủ. Bao gồm địa chỉ IP, địa chỉ MAC, dữ liệu VPN, cookie/lịch sử trình duyệt, dữ liệu thẻ tín dụng và thông tin đăng nhập ví tiền điện tử, cùng nhiều thông tin khác, kể cả ảnh chụp màn hình.
    • Gửi dữ liệu bị đánh cắp (đã mã hóa) qua kênh Telegram, sử dụng mẫu được hiển thị ở đây: 
infostealer-malware-code-obfuscation- threadfluent

Chiến lược giải mã

Để phân tích các gói phần mềm tương tự, các nhà nghiên cứu phải đảo ngược một cách có hệ thống các lớp mã hóa của chúng:

  • Mô phỏng các bước làm mờ mã nguồn: Viết các đoạn mã để mô phỏng các quá trình chuyển đổi (ví dụ: giải mã, giải nén) mà không cần thực thi dữ liệu cần xử lý.
  • Các lớp mã hóa ngược: Trích xuất và giải mã dữ liệu bằng cách sử dụng các khóa và thuật toán được nhúng sẵn.
  • Phân tích lặp đi lặp lại: Xử lý từng giai đoạn trung gian một cách lặp đi lặp lại để tái tạo lại tải trọng cuối cùng.

Các công cụ tự động và môi trường biệt lập là rất cần thiết để tối ưu hóa quá trình phân tích này.

 

Bạn muốn tìm hiểu thêm về cách chủ động phòng chống các mối đe dọa trong thời gian thực?

Tải xuống báo cáo chuyên đề của chúng tôi, 'Cảnh báo sớm: Phát hiện và ưu tiên các mối đe dọa theo thời gian thực', và khám phá cách bảo vệ chuỗi cung ứng phần mềm của bạn.

Diễn viên đe dọa

Dường như gói phần mềm này được xuất bản từ hai tài khoản PyPI khác nhau. ABIRHOSSAIN10anomilano785Hiện đã bị xóa. 

Hiện có một tài khoản GitHub (đang hoạt động) có tên là... ABIRHOSSAIN10Điều này có thể liên quan đến chiến dịch. Chân-tóc-đỏ-1337 Người dùng GitHub sở hữu kho lưu trữ được sử dụng để tải xuống các payload giai đoạn 2 và 3 cũng đang bị điều tra.

Mặc dù việc xác định thủ phạm luôn phức tạp và khả năng thuộc về một nhóm tấn công giả lập (red team) là có thể xảy ra, nhưng loại và khối lượng thông tin bị đánh cắp cho thấy thủ phạm có thể là kẻ xấu.

Kết luận: Vai trò của việc làm xáo trộn mã nguồn trong sự tiến hóa của phần mềm độc hại

luồng Gói phần mềm này là một ví dụ điển hình về kỹ thuật che giấu mã độc hiện đại thông qua quá trình phân phối nhiều giai đoạn. Kết hợp với các kỹ thuật né tránh được sử dụng, gói phần mềm này cho thấy nỗ lực rõ ràng nhằm tránh bị phát hiện và chống lại sự phân tích.

Phân tích này nhấn mạnh tầm quan trọng của sự hợp tác và các công cụ tự động trong việc chống lại các mối đe dọa như vậy. Bằng cách phân tích và hiểu rõ các phương pháp này, các chuyên gia bảo mật có thể phát triển các biện pháp phòng thủ tốt hơn chống lại các phần mềm độc hại tương tự trong tương lai.

Hệ thống MEW của Xygeni đã ngăn chặn gói phần mềm độc hại threadfluent xâm nhập vào môi trường sản xuất như thế nào?

Xygeni's Cảnh báo sớm phần mềm độc hại (MEW) Hệ thống này đóng vai trò quan trọng trong việc ngăn chặn... luồng Gói Python, một thành phần phụ thuộc độc hại chứa các chức năng nâng cao. sự xáo trộn mã và nhiều giai đoạn phần mềm độc hại infostealertrước khi nó có thể gây nguy hiểm cho môi trường sản xuất. Đây là cách thực hiện:

  • Phát hiện thông qua phân tích tĩnh
    MEW được phát hiện luồngMã ẩn của 's, tìm kiếm các dấu hiệu đáng ngờ như mã hóa nhiều lớp và hoạt động phụ thuộc bất thường.
  • Đánh giá khả năng truy cập trong thời gian chạy
     Hệ thống phát hiện mã của gói phần mềm có thể chạy trong quá trình sử dụng, đánh dấu nó là mối đe dọa nghiêm trọng ngay cả khi chưa thực sự chạy mã đó.
  • CI/CD Pipeline Sự bảo vệ
    MEW bị chặn luồng Nó hoạt động trong thời gian thực, ngăn chặn việc đưa lỗi vào các bản dựng và ngăn không cho lỗi đó xâm nhập vào môi trường sản xuất. Nó gửi cho các nhà phát triển những cảnh báo hữu ích, giúp tiết kiệm thời gian quý báu.
  • Chia sẻ thông tin tình báo về mối đe dọa
    Xygeni nhanh chóng báo cáo gói phần mềm này cho PyPI và chia sẻ phát hiện của mình với mạng lưới an ninh toàn cầu, ngăn chặn nó lây lan rộng hơn.

Bằng cách bắt giữ luồng Ngay từ đầu, hệ thống MEW của Xygeni đã đảm bảo mã độc không gây hại cho chuỗi cung ứng phần mềm hoặc CI/CD quy trình công việc.

Bảo vệ của bạn CI/CD Pipelines miễn phí

Ngăn chặn các mối đe dọa như luồng Với hệ thống Cảnh báo sớm phần mềm độc hại của Xygeni. Bắt đầu ngay! dùng thử miễn phí Hãy bắt đầu ngay hôm nay và bảo vệ chuỗi cung ứng phần mềm của bạn.

Hình ảnh của Luis Rodríguez

Luis Rodriguez

Luis Rodriguez là một chuyên viên vật lý trị liệu.cist + nhà toán học và CISSP. Hiện là đồng sáng lập kiêm Giám đốc công nghệ (CTO) tại Xygeni Security. Ông có hơn 20 năm kinh nghiệm trong lĩnh vực bảo mật phần mềm và đã tham gia vào các dự án như... SAST và SCAHiện tại anh ấy đang tập trung vào... software supply chain security.

Ảnh của Daniel Martín

Daniel Martin

Daniel Martín là chuyên gia an ninh mạng và là thành viên của nhóm nghiên cứu an ninh Xygeni, chuyên về... SDLC Giảm thiểu các lỗ hổng bảo mật và ứng dụng.

sca-tools-software-composition-analysis-tools
Ưu tiên, khắc phục và bảo mật các rủi ro phần mềm của bạn
Đăng ký tài khoản miễn phí ngay.
Không cần thẻ tín dụng.

Bảo mật quá trình phát triển và phân phối phần mềm của bạn.

với bộ sản phẩm Xygeni