• About
  • Advertise
  • Privacy & Policy
  • Contact
NQ NEWS
  • Kiến thức tổng hợp
    • Development
    • Deep Learning
    • Cloud Computing
    • Kiến thức bảo mật
    • Tin học văn phòng
  • Thủ thuật
    • Phần Mềm
    • Sửa lỗi máy tính
    • Bảo mật máy tính
    • Tăng tốc máy tính
    • Thủ thuật Wifi
  • Quản trị hệ thống
    • Giải pháp bảo mật
    • Mail Server
    • Mạng LAN – WAN
    • Máy chủ
    • Windows Server 2012
  • Tin tức
No Result
View All Result
  • Kiến thức tổng hợp
    • Development
    • Deep Learning
    • Cloud Computing
    • Kiến thức bảo mật
    • Tin học văn phòng
  • Thủ thuật
    • Phần Mềm
    • Sửa lỗi máy tính
    • Bảo mật máy tính
    • Tăng tốc máy tính
    • Thủ thuật Wifi
  • Quản trị hệ thống
    • Giải pháp bảo mật
    • Mail Server
    • Mạng LAN – WAN
    • Máy chủ
    • Windows Server 2012
  • Tin tức
No Result
View All Result
NQ NEWS
No Result
View All Result
Home Kiến thức tổng hợp Kiến thức bảo mật

Phát triển phần mềm độc hại – The Dark Side: Phần 1

@admiz by @admiz
05/05/2021
in Kiến thức bảo mật
0
Phát Triển Phần Mềm độc Hại – The Dark Side: Phần 1 60902c60b16bd.png

Bài viết dưới đây xin được giới thiệu tới các bạn về quá trình phát triển một phần mềm độc hại. Tuy nhiên trước đó cũng cần phải lưu ý nghiên cứu kỹ trước khi bắt đầu tiến hành thực hiện.

Nếu bạn chưa hiểu kỹ về phần mềm độc hại thì có thể tham khảo bài viết của NQ NewsCloud : Malware (phần mềm độc hại) là gì?” data-rel=”follow”>Malware (phần mềm độc hại) là gì? để có thể hiểu rõ hơn nhé!.

Viết một phần mềm độc hại hoàn toàn không thể phát hiện (FUD) là một kỹ năng tuyệt vời nên có nếu bạn đang ở trong vùng cybersecurity, đặc biệt là Red Teaming. Folks có xu hướng sử dụng Metasploit kết hợp với Veil-Evasion hoặc PE injectors như LordPE hoặc Shelter, để tạo ra một nhị phân có thể bỏ qua phần mềm diệt virus. Đôi khi điều này có hiệu quả và cũng đôi khi không. Điều tệ nhất có thể xảy ra khi chạy một hoạt động của Red Team là việc nhị phân bị AV phát hiện và đưa ra một cảnh báo tới nhóm SOC/Phản hồi sự cố.

Một lý do nữa để viết phần mềm độc hại FUD từ scratch là loại bỏ nhu cầu dành cho Metasploit, vì nó chỉ có thể xử lý một kết nối tại một thời điểm. Trong khi đó, trong quá trình red teaming, tôi cần một Máy chủ CnC có thể điều khiển tất cả các máy được sinh ra với nhau, hay đơn giản mà nói đó là Botnet.

Do đó, blog này sẽ là blog giới thiệu để khởi động chương trình phát triển phần mềm độc hại. Trong blog tiếp theo tôi sẽ giới thiệu về các kỹ thuật liên quan. Dưới đây là một cái nhìn thoáng qua về toolkit sau cùng:

Phát triển phần mềm độc hại - The Dark Side: Phần 1  - Ảnh 1.

Malware CnC Server

Trước hết, phần mềm độc hại chỉ là một đoạn mã giống như mọi chương trình khác. Ví dụ, nếu bạn muốn viết một keylogger không thể phát hiện, trước tiên bạn nên kiểm tra xem một trò chơi bình thường sẽ hoạt động như thế nào trong Windows. Ví dụ: mỗi khi bạn nhấn một phím trong trò chơi -> lên, xuống, sang trái, phải, ctrl, v.v., một nút điều khiển Windows sẽ chụp phím tắt và thực hiện một số thao tác theo nó. Vì vậy, nếu tôi chỉ có thể viết một chương trình với cùng một mã chạy trong nền và chỉ sửa đổi một chút để lưu trữ các tổ hợp phím trong bộ nhớ thay vì thực hiện một số hoạt động dựa trên trò chơi, khi đó nó sẽ trở thành một keylogger. Sau đó tôi có thể chuyển đổi nó thành một mô-đun và đẩy nó vào trình reverse shell để kết xuất các lần nhấn phím từ một máy từ xa.

Tuy nhiên, có một vài điều kiện tiên quyết trước khi tiến hành nghiên cứu sâu về phần mềm độc hại. Chúng ta cần nghiên cứu thật kỹ trước khi chúng ta bắt đầu. Dưới đây là một tập hợp các câu hỏi quan trọng nhất trước khi bạn bắt đầu viết phần mềm độc hại:

1. Bạn muốn viết loại phần mềm độc hại nào?

         1. Có phải một cái gì đó lây lan tự động như một worm không

         2. Hay Trojan Horse?

         3. Hay một cái gì đó tự động hóa một số nhiệm vụ khi tiến hành thực thi hơn là một reverse shell

         4. Hay reverse shell mô phỏng Red Team/Phishing/Targeted Attack

         5. Hoặc có thể là bind shell 

2. Giao thức nào sẽ được sử dụng – TCP/ HTTP/ UDP hay HTTPS?

3. Tôi muốn viết bằng ngôn ngữ nào?

Dưới đây là một số ưu và nhược điểm của các ngôn ngữ lập trình khác nhau khi triển khai FUD đầu tiên của bạn:

Ngôn ngữ

Độ khó

Khả năng mang theo được

Khả năng mở rộng

Kích cỡ

Hiệu suất

Sự phát hiện

Python / Ruby

Dễ

Có

Có

Lớn

Chậm vì tốn quá nhiều phí tổn điều khiển

Dễ vì quá nhiều thư viện

Golang

Trung bình

Có

Có

Lớn

Nhanh hơn Python/

Ruby

Trung bình vì không có quá nhiều người viết trong Go

C#

Trung bình

Không

Có

Lớn

Chậm do quá phí tốn điều khiển thư viện

Khó

C/C

Khó

Dễ – vì bản chất là cấp thấp

Có

Nhỏ

Nhanh

Khó

Assembly/

Shellcoding

Khó nhất

Dễ

Không

Nhỏ nhất

Nhanh nhất

Khó

Chúng tôi sẽ sử dụng kết nối TCP trong toàn bộ blog, tuy nhiên phần mềm độc hại mà chúng tôi sẽ viết có thể dễ dàng được chuyển sang HTTP. Để đi vào mục đích thật sự của blog này, chúng tôi sẽ viết các phần mềm độc hại và phần mềm độc hại không mong muốn, vì việc viết phần mềm độc hại sẽ yêu cầu chúng tôi đi sâu vào lắp ghép, tạo shellcode và gửi nó vào bộ đệm để thực hiện bước tiến hành.

Nhưng trong trường hợp tôi muốn viết một cách nhanh chóng và đơn giản, tôi sẽ viết các chương trình này trong C và C và sử dụng Python 3 cho code server. Các tệp nhị phân dựa trên C / C có kích thước rất nhỏ và khi viết handler/ server cho phần mềm độc hại, chúng ta sẽ cần một thứ nhanh hơn để viết, đó chính là Python3. Tôi khuyên bạn không nên viết các phần mềm độc hại trong python hoặc ruby, vì kích thước được biên dịch của tệp nhị phân lên tới 1 megabyte trong khi đó phần mềm độc hại mà chúng tôi sẽ viết chỉ dưới 50 kilobyte.

Điều kiện tiên quyết

Dưới đây là một số kỹ năng cần có mà tôi nghĩ rằng là cần thiết để có thể hiểu đầy đủ code được viết trong suốt toàn bộ blog:

1.C / C [Phần mềm độc hại / Bot]

        1. Con trỏ [để lưu trữ dữ liệu trong bộ nhớ ở phía nạn nhân]

    2. TCP Sockets [reverse shell]

    3. Thao tác bộ đệm trên heap [đọc các tệp lớn]

 2. Python 3 [Code server/handler]

         1. Đa xử lý / Đa luồng [Handler cho các đa bot]

     2. Xử lý các kiểu dữ liệu với cấu trúc dữ liệu

     3. TCP Socket

     4. Xử lý tín hiệu các sự cố tác động

3. WINAPI [Windows Socket]

4. Trình biên dịch Mingw-g flag/tùy chọn [để giảm kích thước của tệp nhị phân]

5. Elasticsearch và Kibana [để hiển thị trực quan các hệ thống / người dùng bị xâm nhập, các đặc lợi có được từ việc đánh giá Red Team]

Các công cụ cần thiết để thiết lập môi trường kiểm tra phần mềm độc hại:

        1. Linux [Ưu tiên Debian – sẽ chạy Máy chủ xử lý phần mềm độc hại]

         Tải về theo link – https://www.debian.org/devel/debian-installer/

        2. Windows [Máy ảo – để kiểm tra nhị phân]

        3. Visual Code [để viết cả mã Python và C ]

             Tải về theo link – https://code.visualstudio.com/download

    Nếu máy nguồn của bạn là Linux (như của tôi), nó sẽ chạy mã Windows, tôi khuyên bạn nên cài đặt trình biên dịch chéo i686-w64-mingw32-gcc để biên dịch mã windows trong Linux.

    Cài đặt trình biên dịch chéo Mingw trong Debian:

    $ apt-get install mingw-w64-common mingw-w64-i686-dev mingw-w64-tools mingw-w64-x86-64-dev

    Tuy nhiên, nếu bạn định sử dụng hệ thống Windows để thực hiện việc triển khai chương trình, bạn có thể sử dụng trình biên dịch Mingw tại đây – https://sourceforge.net/projects/mingw/files/

    Chương trình làm việc của toàn bộ Blog

    Các phần tiếp theo của loạt bài này sẽ bao gồm:

      1. Viết một trình reverse shell hoàn toàn không thể phát hiện dựa trên TCP trong C / C

      2. Viết một trình bind shell dựa trên TCP hoàn toàn không thể phát hiện trong C / C

      3. Phần mềm độc hại phải tương thích với tất cả các phiên bản của windows [Windows Xp / 7/8/10/2012/2016]

      4. Lập trình một trình xử lý hỗ trợ nhiều kết nối trong Python3 [Kiểu Botnet]

      5. Sử dụng Elasticsearch và Kibana khi xử lý nhiều kết nối bot để hiển thị trạng thái và đặc quyền của chúng. 

    Toolkit/server phần mềm độc hại cuối cùng sẽ trông như thế này:

    Building a C2 Server with FUD payload/malware

    Khi bạn đã thiết lập tất cả các điều kiện tiên quyết, đã đến lúc bắt đầu liệt kê tất cả các tính năng mà bạn muốn phần mềm độc hại của mình chạy:

      1. Người dùng nào bị nhiễm phần mềm độc hại (whoami)

      2. In thư mục làm việc hiện tại (pwd)

      3. Liệt kê các tệp trong thư mục hiện tại (ls)

      4. Di chuyển / Sao chép tệp / thư mục (mv / cp)

      5. Tạo tệp / thư mục (touch / mkdir)

      6. Xóa tệp / thư mục (rm / rmdir)

      7. Thực hiện lệnh Windows hoặc tệp nhị phân / tệp khác.

      8. Download file

      9. Upload file

      10. Kết nối lại vào khoảng thời gian ngẫu nhiên với server CnC

      11. Ẩn nhị phân khi thực hiện

      12. Chuyển đổi giữa nhiều trình reverse shell được kết nối

      13. Gửi lệnh đến nhiều Bots

    Hãy nhớ rằng, tính năng số 7 chỉ chạy một cách ngẫu nhiên, lý do là mỗi khi bạn thực thi lệnh dựa trên Windows, nó tạo ra một quy trình và tạo điều kiện dễ dàng cho Windows ATP hoặc các giải pháp khác dựa trên agent như Crowdstrike / Sysmon nhằm theo dõi phần mềm độc hại đã làm những gì. Tất cả các tính năng được đề cập ở trên sẽ được viết bằng cách sử dụng các cuộc gọi API C / C của windows hoặc thứ gì đó được viết đơn thuần từ scratch.

    Trong phần tiếp theo, chúng ta sẽ bắt đầu viết một reverse shell cmd-based đơn giản dựa vào netcat, và sau đó sửa đổi nó để kết nối với một server C & C Python.

    Link gốc: http://niiconsulting.com/checkmate/2018/02/malware-development-welcome-dark-side-part-1/

                                                                            Nguồn: NQ Computing chia sẻ    

    >> Có thể bạn quan tâm:  Phát triển phần mềm độc hại – Dark Side: Phần 2-1” data-rel=”follow”>Phát triển phần mềm độc hại – Dark Side: Phần 2-1

    Post Views: 81
    Previous Post

    Tìm hiểu Wide Area Network – mạng WAN là gì?

    Next Post

    Webgoat – Công cụ giúp bạn hiểu rõ hơn về lỗ hổng website

    Related Posts

    Avast Free Antivirus 4
    Bảo mật, Antivirus

    Avast Free Antivirus

    26/12/2021
    Kaspersky Anti-Virus cung cấp một số tùy chọn bảo mật hệ thống rất hữu ích
    Bảo mật, Antivirus

    Kaspersky Anti-Virus

    22/04/2022
    Tường Lửa (firewall) Là Gì? Những Kiến Thức Tổng Quan Về Firewall 6094ae4f9f4f1.jpeg
    Kiến thức bảo mật

    Tường lửa (Firewall) là gì? Những kiến thức tổng quan về Firewall

    07/05/2021
    Hệ điều Hành Macos High Sierra để Lỗ Mật Khẩu Mã Hóa ổ đĩa Trong ô Gợi ý 60902cf3b392a.jpeg
    Kiến thức bảo mật

    Hệ điều hành macOS High Sierra để lỗ mật khẩu mã hóa ổ đĩa trong ô gợi ý

    05/05/2021
    Oneplus Bí Mật Thu Thập Dữ Liệu Người Dùng 60902ceec6f58.jpeg
    Kiến thức bảo mật

    OnePlus bí mật thu thập dữ liệu người dùng

    05/05/2021
    Microsoft Cortana đọc Tin Nhắn Skype Nhằm Phát Triển Hệ Thống Chat Thông Minh 60902ceac9f28.jpeg
    Kiến thức bảo mật

    Microsoft Cortana đọc tin nhắn Skype nhằm phát triển hệ thống Chat thông minh

    05/05/2021
    Next Post
    Webgoat – Công Cụ Giúp Bạn Hiểu Rõ Hơn Về Lỗ Hổng Website 60902c64ef277.jpeg

    Webgoat - Công cụ giúp bạn hiểu rõ hơn về lỗ hổng website

    Bài mới nhất

    Tổng Hợp 10 Mẫu Email Marketing Giới Thiệu Sản Phẩm Nổi Bật Nhất Hiện Nay 612d0da97658c.png

    Tổng hợp 10 mẫu email marketing giới thiệu sản phẩm nổi bật nhất hiện nay

    07/05/2025
    Dịch Vụ Thiết Kế Website Tại Hải Dương Chuyên Nghiệp, ấn Tượng Và Uy Tín 612d25752b14f.png

    Dịch vụ thiết kế website tại Hải Dương chuyên nghiệp, ấn tượng và uy tín

    06/05/2025
    Top Công Ty Thiết Kế Website Tại Biên Hòa Chuyên Nghiệp, Chuẩn Seo 612d259494e93.jpeg

    Top công ty thiết kế website tại Biên Hòa chuyên nghiệp, chuẩn SEO

    06/05/2025
    Top Công Ty Thiết Kế Website Tại Vinh – Nghệ An Uy Tín 612d259a9cae3.jpeg

    Top công ty thiết kế website tại Vinh – Nghệ An uy tín

    05/05/2025
    Top 10 Công Ty Thiết Kế Website Tại Nha Trang Chuyên Nghiệp 612d0a9ad018b.jpeg

    Top 10 công ty thiết kế website tại Nha Trang chuyên nghiệp

    05/05/2025

    Danh mục

    • Android
    • Bảo mật máy tính
    • Bảo mật, Antivirus
    • Chuyện công nghệ
    • Deep Learning
    • Development
    • Dịch vụ công trực tuyến
    • Dịch vụ nhà mạng
    • Giải pháp bảo mật
    • Hệ thống
    • Hệ thống
    • iPhone
    • Kiến thức bảo mật
    • Kiến thức cơ bản phổ thông
    • Kiến thức Marketing căn bản
    • Kiến thức tổng hợp
    • Lập trình
    • Linux
    • Linux OS
    • macOS
    • Mail Server
    • Mạng LAN – WAN
    • Máy ảo
    • Máy chủ
    • ms excel
    • ms-powerpoint
    • Nền tảng điện toán đám mây
    • Phần cứng
    • Phần Mềm
    • Quản trị hệ thống
    • Raspberry Pi
    • Sửa lỗi máy tính
    • Tăng tốc máy tính
    • Thủ thuật
    • Thủ thuật SEO
    • Thủ thuật Wifi
    • Tiện ích hệ thống
    • Tin học văn phòng
    • Tin tức
    • Uncategorized
    • Ứng dụng
    • Website
    • Windows Server 2012

    Thẻ

    #app #chatbot #chatbot tự động #CRM #Kiến thức cơ bản #Techblog #Thiết kế website Android apple CPU Email Marketing Google Google Drive hacker HTML hàm python hàm python có sẵn hình nền hình nền máy tính học css học python học SQL ios iphone iphone 12 iPhone X macos Microsoft mssql MS SQL Server ngôn ngữ lập trình python Raspberry Pi Samsung smartphone SQL SQL Server tham số trong C thủ thuật windows 10 tài liệu python windows windows 10 YouTube điện thoại thông minh ứng dụng
    • About
    • Advertise
    • Privacy & Policy
    • Contact

    © 2022 Pha Le Solution

    No Result
    View All Result
    • Home

    © 2022 Pha Le Solution