Shellcode là payload của các đoạn mã khai quật lỗ hổng bảo mật (exploit). Lúc viết exploit, bạn phải giải quyết nhị vụ việc chính: a) injection vector: khẳng định giải pháp cnhát shellcode vào vào hệ thống mong tấn công; b) payload: xác minh shellcode nhưng bạn muốn chạy trên khối hệ thống kia. Shellcode có thể làm được gần như trang bị, từ những việc kiểm soát và điều chỉnh gisinh sống khối hệ thống giỏi download với thực thi một tệp tin từ bỏ Internet cho tới gửi một gmail ra phía bên ngoài. Mục tiêu chính của những exploit là làm thế nào rất có thể chạy được shellcode bên trong phần payload của nó.Shellcode còn được gọi là bytecode, lâm thời dịch là mã thứ. Chúng ta phần nhiều biết mã đồ vật là trang bị ngôn ngữ duy nhất nhưng mà cỗ vi up date hoàn toàn có thể đọc được. Tất cả các chương trình viết bằng bất kể ngữ điệu như thế nào hầu như buộc phải được biên dịch lịch sự mã lắp thêm trước khi máy tính rất có thể chạy được lịch trình đó. Khác cùng với các chương trình này, shellcode được miêu tả nhỏng một đội nhóm những mã thứ, cho nên laptop có thể đọc và xúc tiến thẳng shellcode mà lại không cần phải trải qua bất kỳ quy trình biên dịch làm sao cả.

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

vì thế hy vọng viết được shellcode, tôi đề xuất học tập phương pháp viết mã máy? Câu trả lời là ko. Không ai trực tiếp viết ra mã thứ khi mong chế tạo shellcode. Txuất xắc vào đó, chúng ta bao gồm thể: a) sử dụng các shellcode có sẵn trên Internet; b) viết bởi C, dịch quý phái Assembly rồi thường xuyên dịch sang mã máy; c) viết bởi Assembly rồi dịch luôn ra mã lắp thêm.Đối với cách a), tin vui là có rất nhiều tlỗi viện shellcode bên trên Internet, thậm chí là tất cả một số trong những lịch trình chất nhận được bạn sản xuất shellcode với viết exploit bằng một ngôn ngữ thời thượng nlỗi Pyhạn hẹp hay Ruby. Tin bi lụy là nếu khách hàng nhào vào thực hiện tức khắc những shellcode tất cả sẵn mà lại không tìm hiểu bọn chúng, bạn có thể bị gài bom. Nên hãy nhờ rằng, shellcode có thể có tác dụng được toàn bộ hầu hết chuyện, hành động rước shellcode trường đoản cú Internet rồi chạy mà không quá sự gọi shellcode đó làm những gì y hệt như việc chạy những file .exe cộ cảm nhận xuất phát điểm từ một người lạ mặt! Đến một thời điểm như thế nào đó, bạn sẽ thực hiện những lịch trình sinh sản shellcode tự động hóa nhắc trên nhằm dễ dàng hóa việc viết exploit tuy vậy trước mắt, bạn cần phải tự viết được shellcode sẽ. Trong tài liệu này chúng ta vẫn áp dụng luân chuyển nhì cách b) và c) nhằm viết shellcode. Quý Khách buộc phải áp dụng bí quyết b) lúc mới ban đầu hoặc Khi rất cần được tiến hành một nhiều loại shellcode tinh vi. Nhìn vào nhị bí quyết này, bạn cũng có thể thấy rằng viết shellcode đòi hỏi đề nghị bao gồm sự thông hiểu về ngôn từ Assembly của phong cách thiết kế máy vi tính mà các bạn dự tính đã chạy shellcode bên trên kia. Đây là vấn đề gọi nhiên cùng vì các loại sản phẩm công nghệ không giống nhau (x86, x86-64, sparc, ppc, amd tuyệt mips…) chỉ hiểu được một đội mã trang bị khác nhau. Dường như, chúng ta còn bắt buộc thông đạt giải pháp giao tiếp cùng với hệ điều hành quản lý (linux, windows, solaris tuyệt freebsd…) để rất có thể thực hiện được lệnh vào shellcode. Đôi khi, bạn phải tất cả một phiên bản shellcode khác nhau cho mỗi một số loại hệ điều hành chạy trên từng loại phong cách xây dựng phần cứng khác nhau. Nói cách khác, shellcode dựa vào vào hệ quản lý điều hành cùng bản vẽ xây dựng phần cứng.

Xem thêm: Trọng Tâm Tam Giác Là Gì - Cách Xác Định Trọng Tâm Hay Và Chính Xác

Bạn vẫn còn đó đã phát âm bài xích này đó chứ đọng :p? Nếu gồm bất cứ nơi nào còn lờ mờ, bạn nên gọi lại từ đầu với đừng hổ ngươi hỏi nếu như bạn muốn. Những gì tôi trình diễn về shellcode từ đầu mang lại giờ đồng hồ là đầy đủ ý quan trọng tốt nhất về shellcode, nếu như bạn chỉ muốn biết shellcode nhằm rỉ tai mang lại vui thì bạn cũng có thể tạm dừng tại đây. Còn ví như bạn có nhu cầu từ bỏ viết cho doanh nghiệp đông đảo đoạn shellcode buổi tối ưu thì hãy đi tiếp cùng tôi nhé.

Xem thêm: Lựa Chọn Ngôi Kể Thứ 3 Là Gì Trong Văn Tự Sự? Soạn Bài Ngôi Kể Trong Văn Tự Sự Ngắn Nhất

Trong bài xích tiếp theo, tôi đã trình diễn phần đông kỹ năng và kiến thức cnạp năng lượng bạn dạng về Assembly đủ để chúng ta cũng có thể đọc với viết được shellcode trước tiên của bản thân mình. Sau đó tôi sẽ đề cập tới nhị trlàm việc ngại đặc trưng độc nhất cơ mà bạn cần phải vượt qua khi viết shellcode: vấn đề can dự ô nhớ (addressing problem) và vấn đề của các byte có mức giá trị null (null byte problem). Chúng ta cũng sẽ luận bàn sơ sài một trong những ví dụ về shellcode trên phong cách thiết kế máy Intel 32-bit (còn được gọi là x86).

Cần chuẩn bị đa số gì để học tập viết shellcode?

Nhỏng đang nói từ đầu, nội dung bài viết này sẽ không những hiểu biết chúng ta cần gồm kiến thức và kỹ năng trước về Assembly tốt C. Yêu cầu duy nhất là chúng ta đề nghị có sự khát khao học tập hỏi loại new. Ngoài ra, tôi thực hiện Ubuntu Linux bên trên sản phẩm công nghệ x86 để viết những shellcode chủng loại vào bài này, cho nên vì thế bạn cũng rất cần phải sẵn sàng một laptop gồm cấu hình tương tự (Linux-x86) nhỏng tôi. Bạn chọn distro nào cũng được, tuy vậy rất tốt là hãy chọn Ubuntu nlỗi tôi luôn luôn. Các phần mềm khác nhưng bạn cần phải chuẩn bị:

gdb là ứng dụng giúp cho bạn debug (bắt lỗi) hoặc disassemble những lịch trình viết bởi C. gdb thường sẽ có sẵn trong distro của người sử dụng.objdump là hình thức khiến cho bạn xem những công bố quan trọng trong các tệp tin object giỏi tệp tin executable. Tương tự nhỏng gdb, objdump thông thường sẽ có sẵn trong distro của người tiêu dùng.strace là chế độ coi các syscall (tôi vẫn lý giải có mang này sau) nhưng một công tác Hotline Lúc nó được thực thi

(vnhacker)

Lượt coi (2206)


*
Ngành “HOT” – An toàn công bố (Information Security)
*
Nguy cơ khi chúng ta Crachồng ứng dụng
*
Web Nhái, DNS CACHE POISONING, ăn cắp thông tin tài khoản vào LAN
*
Tạo một vận 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 giai cấp trái đất lập trình?
*
Ẩn sóng Wireless (p1)
*
Modem TP-Link bị tấn công đổi khác cấu hình

Chuyên mục: Ý NGHĨA
Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *