Bài viết Shellcode Là Gì – Hướng Dẫn Viết Shellcode thuộc chủ đề về Hỏi Đáp đang được rất nhiều bạn quan tâm đúng không nào !! Hôm nay, Hãy cùng TruongGiaThien.Com.Vn tìm hiểu Shellcode Là Gì – Hướng Dẫn Viết Shellcode trong bài viết hôm nay nha !
Các bạn đang xem nội dung : “Shellcode Là Gì – Hướng Dẫn Viết Shellcode”

Shellcode là payload của các đoạn mã khai thác lỗ hổng bảo mật (exploit). Khi viết exploit, bạn phải giải quyết hai vấn đề chính: a) injection vector: xác định cách chèn shellcode vào trong hệ thống muốn tấn công; b) payload: xác định shellcode mà bạn muốn chạy trên hệ thống đó. Shellcode khả năng làm được mọi thứ, từ việc điều chỉnh giở hệ thống hay download và thực thi một file từ Internet cho đến gửi một email ra ngoài. Mục tiêu chính của các exploit là làm sao khả năng chạy được shellcode nằm trong phần payload của nó.Shellcode còn được gọi là bytecode, tạm dịch là mã máy. Chúng ta đều biết mã máy là thứ ngôn ngữ duy nhất mà bộ vi xử lí khả năng hiểu được. Tất cả các chương trình viết bằng bất kì ngôn ngữ nào đều phải được biên dịch sang mã máy trước khi máy tính khả năng chạy được chương trình đó. Khác với các chương trình này, shellcode được thể hiện như một nhóm các mã máy, vì thế máy tính khả năng hiểu và thực thi trực tiếp shellcode mà không cần phải trải qua bất kì công đoạn biên dịch nào cả.

Bạn đang xem: Shellcode là gì

Như vậy muốn viết được shellcode, tôi phải học cách viết mã máy? Câu trả lời là không. Không ai trực tiếp viết ra mã máy khi muốn tạo shellcode. Thay vào đó, bạn khả năng: a) dùng các shellcode có sẵn trên Internet; b) viết bằng C, dịch sang Assembly rồi tiếp tục dịch sang mã máy; c) viết bằng Assembly rồi dịch luôn ra mã máy.Đối với cách a), tin vui là có rất nhiều thư viện shellcode trên Internet, thậm chí có một vài chương trình cho phép bạn tạo shellcode và viết exploit bằng một ngôn ngữ cao cấp như Python hay Ruby. Tin buồn là nếu bạn nhào vào dùng liền các shellcode có sẵn mà không tìm hiểu chúng, bạn khả năng bị gài bom. Nên nhớ rằng, shellcode khả năng làm được tất cả mọi chuyện, hành động lấy shellcode từ Internet rồi chạy mà không thật sự hiểu shellcode đó làm gì giống như việc chạy các file .exe nhận được từ một người lạ mặt! Đến một lúc nào đó, bạn sẽ dùng các chương trình tạo shellcode tự động kể trên để đơn giản hóa việc viết exploit nhưng trước mắt, bạn cần phải tự viết được shellcode đã. Trong tài liệu này chúng ta sẽ dùng luân phiên hai cách b) và c) để viết shellcode. Bạn nên dùng cách b) khi mới bắt đầu hoặc khi cần phải triển khai một loại shellcode phức tạp. Nhìn vào hai cách này, bạn khả năng thấy rằng viết shellcode đòi hỏi phải có sự thông hiểu về ngôn ngữ Assembly của kiến trúc máy tính mà bạn dự định sẽ chạy shellcode trên đó. Đây là điều hiểu nhiên bởi lẽ những loại máy khác nhau (x86, x86-64, sparc, ppc, amd hay mips…) chỉ hiểu được một nhóm mã máy khác nhau. mặt khác, bạn còn phải thông hiểu cách giao tiếp với hệ điều hành (linux, windows, solaris hay freebsd…) để khả năng thực thi được lệnh trong shellcode. Thông thường, bạn cần phải có một phiên bản shellcode khác nhau cho mỗi loại hệ điều hành chạy trên mỗi loại kiến trúc phần cứng khác nhau. Nói cách khác, shellcode phụ thuộc vào hệ điều hành và kiến trúc phần cứng.

Bài Nổi Bật  Vertical-Align Là Gì - Ví Dụ Về Thuộc Tính Vertical

Xem thêm: Aromatic Là Gì – Trong ẩm Thực

Bạn vẫn còn đang đọc bài này đó chứ :p? Nếu có bất kì chỗ nào còn mù mờ, bạn nên đọc lại từ đầu và đừng ngại hỏi nếu bạn muốn. Những gì tôi trình bày về shellcode từ đầu đến giờ là những ý quan trọng nhất về shellcode, nếu bạn chỉ muốn biết shellcode để nói chuyện cho vui thì bạn khả năng dừng lại ở đây. Còn nếu bạn muốn tự viết cho mình những đoạn shellcode tối ưu thì hãy đi tiếp cùng tôi nha.

Xem thêm: Reporter Là Gì – Đâu Là Sự Khác Biệt Giữa Reporter Và Journalist

Trong bài tiếp theo, tôi sẽ trình bày những kiến thức căn bản về Assembly đủ để bạn khả năng hiểu và viết được shellcode đầu tiên của mình. Sau đó tôi sẽ nói đến hai trở ngại quan trọng nhất mà bạn cần phải vượt qua khi viết shellcode: vấn đề địa chỉ ô nhớ (addressing problem) và vấn đề của các byte có tổng giá trị null (null byte problem). Chúng ta cũng sẽ thảo luận sơ lược một vài ví dụ về shellcode trên kiến trúc máy Intel 32-bit (còn gọi là x86).

Cần chuẩn bị những gì để học viết shellcode?

Như đã nói từ đầu, bài viết này không bắt buộc bạn phải có kiến thức trước về Assembly hay C. bắt buộc duy nhất là bạn phải có sự khao khát học hỏi cái mới. mặt khác, tôi dùng Ubuntu Linux trên máy x86 để viết các shellcode mẫu trong bài này, vì thế bạn cũng cần phải chuẩn bị một máy tính có cấu hình tương tự (Linux-x86) như tôi. Bạn chọn distro nào cũng được, nhưng tốt nhất là nên chọn Ubuntu như tôi luôn. Các phần mềm khác mà bạn cần phải chuẩn bị:

Bài Nổi Bật  Cation Là Gì - Anion Sự Khác Biệt Giữ Anion Và Cation

gdb là phần mềm giúp bạn debug (bắt lỗi) hoặc disassemble các chương trình viết bằng C. gdb thường có sẵn trong distro của bạn.objdump là công cụ giúp bạn xem các thông tin quan trọng trong các file object hay file executable. Tương tự như gdb, objdump thường có sẵn trong distro của bạn.strace là công cụ xem các syscall (tôi sẽ giải thích khái niệm này sau) mà một chương trình gọi khi nó được thực thi

(vnhacker)

Lượt xem (1821)

*

Ngành “HOT” – An toàn thông tin (Information Security)

*

Nguy cơ khi bạn Crack phần mềm

*

Web Fake, DNS CACHE POISONING, đánh cắp tài khoản trong LAN

*

Tạo một ứng dụng Empty Project hoặc Win32 trên Visual C++

*

An ninh mạng làm gì?

*

Tại sao C++ 35 năm tuổi vẫn còn thống trị thế giới lập trình?

*

Ẩn sóng Wireless (p1)

*

Modem TP-Link bị tấn công thay đổi ngay cấu hình

Chuyên mục: Hỏi Đáp

Các câu hỏi về Shellcode Là Gì – Hướng Dẫn Viết Shellcode


Nếu có bắt kỳ câu hỏi thắc mắt nào vê Shellcode Là Gì – Hướng Dẫn Viết Shellcode hãy cho chúng mình biết nha, mõi thắt mắt hay góp ý của các bạn sẽ giúp mình nâng cao hơn hơn trong các bài sau nha <3 Bài viết Shellcode Là Gì - Hướng Dẫn Viết Shellcode ! được mình và team xem xét cũng như tổng hợp từ nhiều nguồn. Nếu thấy bài viết Shellcode Là Gì - Hướng Dẫn Viết Shellcode Cực hay ! Hay thì hãy ủng hộ team Like hoặc share. Nếu thấy bài viết Shellcode Là Gì - Hướng Dẫn Viết Shellcode rât hay ! chưa hay, hoặc cần bổ sung. Bạn góp ý giúp mình nha!!
Bài Nổi Bật  Số Đối Xứng Là Gì

Các Hình Ảnh Về Shellcode Là Gì – Hướng Dẫn Viết Shellcode

Shellcode Là Gì - Hướng Dẫn Viết Shellcode

Các từ khóa tìm kiếm cho bài viết #Shellcode #Là #Gì #Hướng #Dẫn #Viết #Shellcode

Tra cứu dữ liệu, về Shellcode Là Gì – Hướng Dẫn Viết Shellcode tại WikiPedia

Bạn nên tra cứu thêm thông tin về Shellcode Là Gì – Hướng Dẫn Viết Shellcode từ web Wikipedia.◄

Tham Gia Cộng Đồng Tại

💝 Nguồn Tin tại: https://truonggiathien.com.vn/

💝 Xem Thêm Chủ Đề Liên Quan tại : https://truonggiathien.com.vn/hoi-dap/

Give a Comment