- vừa được xem lúc

[P2] Cách mà mã độc hiện đại hoạt động

0 0 6

Người đăng: Tiến Đạt Spycio Vũ

Theo Viblo Asia

Mở bài

Chúng ta đã tìm hiểu cách mã độc duyệt file và tìm những file nhạy cảm như: .log, .env, .png, .jpeg, .jpg,... Hôm nay mình sẽ giúp mọi người hiểu cách mà một mã độc có thể tồn tại được trên hệ thống, duy trì sự hiện diện và tái kích hoạt hành vi.

LƯU Ý: Bài viết này chỉ để hướng dẫn cho mục đích học tập và sẽ không chịu trách nhiệm cho bất cứ hành vi vi phạm pháp luật nào cả.

Tổng quan về Persistence trong mã độc

  • Persistence là hành vi duy trì kiểm soát hệ thống thông tin sau sau khi đã xâm nhập thành công, nó cho phép Attacker hoạt động trên phần mềm bị xâm nhập trong một thời gian dài ngay cả khi hệ thống bị khởi động lại, bị đăng xuất hay là khi cuộc tấn công ban đầu đã bị fix .

  • Mục tiêu của Persistence là giúp Attacker duy trì cuộc tấn công lâu nhất có thể, tiếp tục các hành vi đánh cắp thông tin, giám điệp hoặc tấn công mạng mà không bị phát hiện

  • Lấy ví dụ khi mình tấn công vào một máy chủ đang chạy dịch vụ web có khả năng bị RCE, thì sau khi tiến hành xâm nhập có nhiều khả năng mình sẽ tạo một backdoor nhằm duy trì cuộc tấn công ngay kể sau khi admin đã fix lỗi :3 Điều này cũng thường thấy, Attacker sẽ viết Webshell rồi chèn vào các file như: 404.php, 405.aspx, error.jsp,... nhằm đánh lừa người dùng rằng đây là các file sạch

Một số kĩ thuật persistence

  1. Create account
  • Như mình nói, miễn Attacker có khả năng duy trì việc tấn công của họ thì đều có thể gọi là persistence. Sau khi tiến hành xâm nhập, kẻ tấn công có thể tạo một tài khoản giả gần giống với tài khoản thật, đồng thời cấp các quyền cho phép truy cập từ xa như tạo khóa ssh, thêm vào localgroup "Remote Desktop User",... tùy thuộc vào quyền hạn mà kẻ tấn công có.
Example: net user Admon Adm@n@123 /add
net localgroup "Remote Desktop Users" Admon /add

image.png

  1. Registry Run Key và Startup Program

    • Startup program

      • Attacker sẽ thêm file độc hại đã được cài đặt sẵn vào Startup để tự khởi chạy khi chúng ta đăng nhập thông qua đường dẫn

        C:\Users\<Username>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

    • Registry Run Key

      • Run và RunOnce Keys: Mã độc có thể tạo mục trong registry để tự khởi động cùng với hệ điều hành.

        Các key thường gặp:
        HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
        HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
        HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
        HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce
        HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
        HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
        HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices
        HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices
        
        • Class Extension: Mã độc có thể thay đổi thông tin để mặc định sẽ được chạy khi người dùng mở tệp.
        • Services: Mã độc có thể tạo các service giả mạo hoặc thay đổi thông tin registry của các service hiện tại.
  2. Schedule Task/Job

    • Trên Windows thì có Task Scheduler còn trên Linux có Cronjob để thực thi file vào 1 điểm điểm đã được thiết lập, mã độc có thể tự thiết lập bản thân vào đây thể có thể chạy theo lịch, đặc biệt là trên các máy chủ thì thường sẽ không tắt nên hành vi sẽ luôn được duy trì cố định. image.png
  3. Software Extension

    • Chúng ta thường để ý đến mã độc dạng .exe hay là những con Webshell thông thường, tuy nhiên mã độc còn có thể là các đoạn script độc hại đánh cắp cookie và thông tin đăng nhập được đính kèm trên các extension trôi nổi. Chúng chỉ hoạt động trên trình duyệt web nên rất khó để xác định được hành vi gián điệp
  4. Process/DLL Injection

  • Mã độc sẽ tiêm chúng vào các process hợp pháp như:

    • explorer.exe, svchost.exe, lsass.exe,...: Đây là các tiến trình hệ thống có quyền hạn rất cao, luôn chạy nền và ít bị nghi ngờ
    • chrome.exe, msedge.exe, discord.exe, steam.exe: Dễ dàng qua firewall và gửi requests đến C2 vì traffic trông hoàn toàn hợp pháp
    • notepad.exe, calc.exe, winword: Các tiến trình phổ biến dễ dàng qua mặt AV,...

    image.png

  1. Ngoài ra còn có một số kĩ thuật khác như dùng Wmi, Pre OS Boot,... nhưng mình sẽ nói ở những bài kế tiếp

Kết luận:

  • Bài trên là một số tóm tắt cũng như hiểu biết của mình về quá trình Persistence của mã độc. Nếu mình nhớ không nhầm con CVE-2025-8088 của Winrar cũng sử dụng Path Traversal để ghi vào Startup cho phép đạt quyền RCE :33 Mọi người cũng có thể nghiên cứu về nó, còn giờ thì tạm biệt, hẹn gặp lại vào những bài sắp tới, và nếu thấy hay thì cho mình xin một upvote nhé :3

Bình luận

Bài viết tương tự

- vừa được xem lúc

Hành trình pass OSCP trong lần thi đầu tiên (2020)

Vào một chiều đông 17/12/2020, tôi nhận được cái email thông báo đã pass OSCP ngay lần thử đầu tiên. Sau đó, tôi bắt đầu tìm hiểu về Security và quyết định học cái gì đó cho riêng mình.

0 0 217

- vừa được xem lúc

Segmentation penetration testing for PCI compliance

Giới thiệu – tổng quan về Network Segmentation. Các phân đoạn mạng(Network segment) hiện là một phần của cơ sở hạ tầng của bất kỳ tổ chức hoặc doanh nghiệp nào.

0 0 56

- vừa được xem lúc

Cài đặt môi trường Pentest Android trên Windows (Phần 1)

Một trong số các vấn đề khó nhất với những ai muốn tìm hiểu về Kiểm thử xâm nhập ứng dụng Android (Pentesting Android applications) là cách cài đặt môi trường kiểm thử. Kiểm thử xâm nhập ứng dụng di đ

0 0 160

- vừa được xem lúc

Một vài mẹo mà mình sử dụng với Burp Suite

Tự sự. Chuyện là có mấy thằng em hỏi mình về cách sử dụng Burp Suite như thế nào, rồi có tips and tricks nào hay hay không cho chúng nó học, tiện đây mình cũng chia sẻ kinh nghiệm của một người sử dụn

0 0 139

- vừa được xem lúc

Cài đặt môi trường Pentest Android trên Windows (Phần 2)

Sau phần 1 của series thì chúng ta đã có được môi trường java, python và máy ảo Android rồi. Trong phần 2 này chúng ta sẽ tiến hành cài đặt môi trường trong máy ảo để hỗ trợ pentest, cụ thể là cài roo

0 0 83

- vừa được xem lúc

Một vài mẹo mà mình sử dụng với Burp Suite (phần 2)

Bài này là bài nối tiếp về một bài mà mình đã viết tại Một vài mẹo mà mình sử dụng với Burp Suite. Bài đầu tiên mình đã viết về một vài tips và trick mình hay sử dụng với Burp Suite mặc định rồi, bài

0 0 102