Yandex Dzen.

Khai thác là gì và làm thế nào tin tặc sử dụng nó

Lời chào hỏi. Ai là tin tặc và những gì họ đã thảo luận. Chúng tôi sẽ không lặp lại, bên cạnh đó, nó được bao phủ một cách công khai trong mạng và trong rạp chiếu phim. Các phương thức của tin tặc và các loại tấn công hacker là rất nhiều, do đó, để không tạo ra từ bài viết "vinaigrette", chúng tôi làm nổi bật một bài, đây là phổ biến với tin tặc đen và vào năm 2020. Tôi sẽ không cố gắng "tiết kiệm âm mưu", chúng tôi sẽ mô tả: "Khai thác".

Đối với người quen giới thiệu, chúng tôi hiểu rằng các khai thác là một phần của mã máy tính (hoặc chương trình được biên dịch và không chỉ ...), sử dụng "lỗ hổng của nạn nhân" và sau đó các mục tiêu được phân nhánh để: Bắt đầu truy cập; "Treo"; Gián đoạn. Nếu người đọc bắt gặp những từ "dos atak", thì hãy biết rằng 85%, tin tặc đã sử dụng "khai thác". Trên thực tế, tên, nếu dịch từ tiếng Anh, có nghĩa là: "Sử dụng một cái gì đó." Hoặc khai thác, do đó là rễ của từ "khai thác".

Các chương trình này (chúng tôi sẽ gọi để khai thác bởi các chương trình, Mặc dù nó không đúng ) được chia thành các điểm đến: đối với Windows, Linux và các nhà điều hành khác; Cho các chương trình khác và như vậy. Vân vân.

Tôi nghĩ rằng độc giả muốn tìm cách hiểu cách chương trình ma thuật này, có thể tham gia, treo và cung cấp quyền truy cập "Master" trên máy chủ "lạ". Trước tiên, hãy tìm ra nó tại sao thỏa thuận được gọi là chương trình, không đúng sự thật. Thực tế là nó được khai thác không chỉ tệp được biên dịch, mà còn là một văn bản (thậm chí notepad với mô tả về cách hack "hệ thống" đã được khai thác). Tôi hiểu sự hiểu lầm dễ nhất về việc đọc, nhưng đó là: Nếu bạn mở một cuốn sổ tay và ở đó dưới dạng văn bản để viết cách "thưởng thức" bất kỳ máy chủ nào, nó cũng sẽ là một khai thác. Nhưng ít nhất những gì sẽ như vậy, đa dạng hóa một bài báo, ít nhất là đôi khi viết từ: chương trình. Hơn nữa, những khai thác như vậy bắt gặp dưới dạng một chương trình về ngôn ngữ bất kỳ. Tin tặc, đây là những người lập trình viên cũ trong quá khứ đang tìm kiếm lỗi trong các chương trình Do đó, những người như vậy dễ dàng sở hữu các ngôn ngữ C / C ++, Perl và TD. Nhiệm vụ của các chương trình như vậy được giảm xuống tràn bộ đệm, các bản ghi SQL, các yêu cầu của Linden Linden cho trang web, v.v.

Khai thác là gì và làm thế nào tin tặc sử dụng nó

Nó xảy ra để sử dụng chuỗi các chương trình, trong trường hợp nhiệm vụ là "phức tạp".

Tìm và tải xuống các khai thác sẵn sàng trong Internet mở không phải là hợp pháp. Và tất nhiên, tác giả không khuyến nghị tìm kiếm các chương trình như vậy trong Darknet.

Vì vậy, bây giờ khi một sự hiểu biết về các khai thác lắng đọng trong đầu, hãy chuyển đến "Thực hành ảo". Giả sử tình hình: Ở thành phố Voronezh, một người đàn ông sống thường xuyên bay đến Moscow và ở đó "của chúng ta" một phụ nữ đã kết hôn. Người phối ngẫu lừa dối, không thể bắt người yêu, được quyết định trả thù, nhưng từ xa. Để làm điều này, chồng bạn cần truy cập vào máy tính "Quay". Chúng ta đừng đi vào các chi tiết, nhưng chúng tôi tuyên bố thực tế: Người ta biết rằng trình duyệt sử dụng "đối thủ xảo quyệt" như thế nào. May mắn thay cho một người chồng tiên tiến, trong trình duyệt này có một "lỗ hổng". Nó vẫn chỉ để buộc người yêu "chạy mã", mà không có kiến ​​thức về người dùng, tải phần mềm độc hại "ở bên". Sau đó, người chồng viết một lá thư, thay mặt vợ và gửi người yêu qua thư. Kết quả là dễ hiểu (mở chữ cái và mã đã "trong trường hợp").

Các chương trình nổi tiếng là: "Angler" (bộ phức tạp (hoạt động trong RAM); "Neutrino" (Tinh trị Nga tại Java, có giá 34 nghìn đô la); "Blackhole Kit" (đánh bại các trình duyệt Chrome, "Oslik", "Firefox" ).

Bình luận ("phủ định \ dương"). Đăng ký. Giống. Tạm biệt.

Xin chào, Habrovsk. Trong dự đoán của sự khởi đầu của khóa học Quản trị viên Linux. Chuyên nghiệp " Chuyên gia của chúng tôi - Alexander Kolesnikov đã chuẩn bị một bài báo thú vị, mà chúng tôi sẽ sẵn sàng chia sẻ với bạn. Cũng mời các sinh viên trong tương lai và tất cả những người muốn đến thăm một bài học mở về chủ đề này "Phương pháp và khả năng gỡ lỗi các kịch bản của vỏ bash."

Hệ điều hành Linux đã được chứng minh là tất cả sức mạnh của các dự án nguồn mở - nhờ cô ấy hôm nay, chúng tôi có cơ hội nhìn vào mã nguồn của HĐH làm việc và dựa trên nó để lắp ráp hệ thống của riêng bạn để giải quyết các mục tiêu nhất định. Do sự cởi mở của nó, Linux là trở thành hệ điều hành an toàn nhất trên thế giới, vì mã nguồn mở cho phép phát triển và cải thiện các hệ thống con bảo vệ khỏi các cuộc tấn công trên HĐH và cải thiện chính hệ điều hành. Thật vậy, tại thời điểm này có một số lượng lớn sự bảo vệ cộng đồng được tạo ra: Ngày nay, không còn quá dễ dàng để vượt xa các lỗ hổng của loại tràn bộ đệm để có được đặc quyền nâng cao hơn 20 năm trước. Tuy nhiên, hôm nay bạn có thể tìm thấy các khai thác trong phạm vi công cộng, ngay cả trên các phiên bản mới nhất của kernel có thể tăng đặc quyền người dùng. Xem xét trong bài viết này, như nó hoạt động và tại sao hóa ra. Chúng tôi sẽ trải qua các thành phần chính của khai thác và xem xét một số trong số họ hoạt động như thế nào.

Tất cả thông tin được cung cấp được thu thập riêng cho mục đích thông tin.

Các loại khai thác.

Chọn một thuật ngữ chung mà chúng ta sẽ biểu thị những gì là Khai thác - Thuật toán vi phạm chức năng bình thường của hệ điều hành, cụ thể là các cơ chế tách quyền truy cập. Chúng tôi cũng sẽ giới thiệu khái niệm Lỗ hổng. - Đây là một sự không hoàn hảo phần mềm có thể được sử dụng bởi một thuật toán khai thác. Không có sự tổn thương, sự tồn tại của một khai thác là không thể.

Chúng tôi giới thiệu phân loại khai thác. Việc tách cơ bản của các khai thác cho các nhóm nhỏ cho bất kỳ hệ điều hành nào bắt đầu ở cấp độ kiến ​​trúc. Ngày nay, các hệ điều hành bao gồm ít nhất 2 cấp độ đặc quyền được sử dụng cho công việc của họ. Dưới đây là một hình ảnh cho thấy rõ sự phân tách các đặc quyền. Hình ảnh chụp Từ đây .

Hình ảnh cho thấy rõ ràng rằng kernel (không gian kernel) có trong hệ điều hành, nó thường là chế độ đặc quyền nhất, ở đây chúng ta gọi là hệ điều hành. Và cấp độ thứ hai là tùy chỉnh (không gian người dùng): Các ứng dụng và dịch vụ thông thường mà chúng tôi sử dụng mỗi ngày được tung ra ở đây.

Trong lịch sử, nó đã phát triển rằng đối với mỗi cấp độ trên, các lỗ hổng có thể được tìm thấy mà một khai thác có thể được tạo ra, nhưng khai thác cho mỗi cấp độ có những hạn chế của nó.

Ở cấp độ người dùng, bất kỳ khai thác nào ảnh hưởng đến ứng dụng sẽ có chính xác các đặc quyền được sử dụng bởi người dùng đã khởi chạy một ứng dụng dễ bị tấn công. Do đó, loại khai thác này cho phép bạn chỉ kiểm soát toàn bộ HĐH nếu ứng dụng được quản trị viên hệ thống khởi chạy. Ngược lại với cấp độ người dùng, Cấp kernel Nếu nó chứa một mã dễ bị tổn thương, nó có thể kích hoạt ngay hệ điều hành với các đặc quyền tối đa. Dưới đây sẽ tập trung vào nghiên cứu các khai thác này.

Explant.

Hãy tưởng tượng số liệu thống kê nhỏ về việc tiết lộ các lỗ hổng cho kernel của các phân phối hệ điều hành Linux của Debian, SUSE, Ubuntu, Arch Linux trong 4 năm qua.

Dữ liệu lấy Từ đây . Hình ảnh không giả vờ hoàn thành, nhưng nó cho thấy có rất nhiều lỗ hổng, và thậm chí ngày nay có những gì cần chọn để xây dựng một khai thác. Hãy thử mô tả những gì đang khai thác.

Bất kỳ khai thác nào cho bất kỳ cấp độ nào của hệ điều hành đều bao gồm các phần phải được triển khai trong mã của nó:

  1. Hoạt động chuẩn bị:

    1) Điều hướng màn hình bộ nhớ cần thiết

    2) Tạo các đối tượng cần thiết trong HĐH

    3) Bỏ qua các cơ chế bảo vệ hệ điều hành cho lỗ hổng

  2. Gọi một phần dễ bị tổn thương.

  3. Thực hiện tải trọng:

    1) Để mở quyền truy cập vào HĐH

    2) Để thay đổi cấu hình của HĐH

    3) Đối với đầu ra của hệ thống

Khi thực hiện tất cả các mục, được chỉ định ở trên, bạn có thể viết một khai thác khả thi. Thực hiện một số khai thác trong những năm qua và cố gắng tìm hiểu xem có thể tìm thấy một số thông thường hoặc các khoản vay được sử dụng để vi phạm sự phân tách quyền truy cập trong hệ điều hành Linux. Là đối tượng nghiên cứu, chúng tôi sẽ khai thác sử dụng các lỗ hổng sau với các định danh CVE:

CVE-2020-8835.

CVE-2020-27194.

Khai thác thảm họa

CVE-2020-8835. рAspasses Kernel của HĐH Linux từ phiên bản 5.5.0. Lỗ hổng đang thực hiện công nghệ Ebpf. . Công nghệ này được thiết kế để đảm bảo rằng người dùng có thể tạo các trình xử lý tùy chỉnh để lọc lưu lượng mạng. Là thành phần chính để lọc, một máy ảo có bộ lệnh riêng được sử dụng. Mã được thực hiện bởi máy ảo sống trong kernel: một lỗi trong mã này mang kẻ tấn công hoạt động với bộ nhớ với đặc quyền tối đa. Trong trường hợp lỗ hổng được mô tả, vấn đề là các hoạt động xử lý hoạt động 32 bit không được xử lý chính xác và máy ảo có thể viết và đọc dữ liệu trong RAM hạt nhân.

Khi tác giả của khai thác sử dụng lỗ hổng này và những gì một tải trọng được thực hiện, hãy xem xét thêm.

Giai đoạn chuẩn bị

Đối với giai đoạn này, phần tiếp theo của mã có trách nhiệm.

Hàng 394 - Tạo một đối tượng trong bộ nhớ sẽ lưu trữ dữ liệu trên các lệnh cho Ebpf. . Hàng 400 tải vào mã bộ nhớ sẽ được thực hiện trong máy ảo và sẽ vi phạm các điều kiện để xử lý các lệnh 32 bit. Việc chuẩn bị bộ nhớ kết thúc, các dòng sau sẽ tạo một đối tượng của ổ cắm sẽ được gọi là các lệnh được tải lên cho bpf. . Sau đó, buồng của lỗ hổng sẽ bắt đầu.

Gọi mã dễ bị tổn thương

Gọi một mã dễ bị tổn thương, hoặc thay vào đó, hoạt động với các lệnh máy ảo được thực hiện từ dòng 423 đến 441. Nhiệm vụ chính của mã này là có được địa chỉ cơ bản của cấu trúc nằm trong bộ nhớ, trong trường hợp này là một quá trình heap (heap). Ngay sau khi các lệnh này được thực hiện, khai thác sẽ có thể phát hiện dữ liệu được sử dụng bởi hệ điều hành để kiểm soát việc tách quyền truy cập. Trong hệ điều hành Linux, dữ liệu này được lưu trữ trong cấu trúc Tác giả. .

Khối hàng

Tải trọng hữu ích của khai thác này là sau khi thực thi, bạn có thể chạy một quy trình với quyền người dùng nguồn gốc . Đối với điều này, mã khai thác tạo ra việc sửa đổi các trường trường Kernel hệ điều hành Linux - Tín dụng. Đây là một cấu trúc xâm nhập vào cấu trúc Tác giả. . Cấu trúc mã nguồn Tín dụng. Có thể được tìm thấy đây .

Hành động sửa đổi thực địa Cấu trúc tín dụng. có thể được nhìn thấy trên hàng 472.473,474. . Đó là, hành động này đang đặt lại giá trị Uid, gid, sgid Quá trình tạo ra. Từ quan điểm, nó được đặt thành giá trị định danh thường sử dụng nguồn gốc . Phương pháp này rất giống với một phương tiện được sử dụng cho các cuộc tấn công trên hệ điều hành Windows.

Bạn có thể tự bảo vệ mình mà không cần cập nhật HĐH, nếu bạn thực hiện các thay đổi sau đây đối với cấu hình: sudo sysctl kernel.undpriviled_bpf_disables = 1

CVE-2020-27194. - một lần nữa lỗ hổng trong Ebpf. . Có một phiên bản phiên bản 5.8. *. Những người tạo ra công nghệ này đang đùa rằng bpf. - Đây là JavaScript cho kernel. Trên thực tế, sự phán xét này không xa sự thật. Máy ảo thực sự thực sự thực hiện các thao tác trên các đội bằng công nghệ JIT, bản thân nó mang tất cả các lỗ hổng trình duyệt thông thường trong nhân hệ điều hành, nghĩa là rất khó để định cấu hình hệ thống con bảo vệ để bảo vệ mã. Lỗ hổng đang được xem xét là từ mã của máy ảo, bạn có thể sửa đổi bất kỳ khu vực RAM nào. Có lẽ điều này là do thực tế là máy ảo không an toàn với hoạt động có độ dài 64 bit. Lỗ hổng hoàn toàn tương tự của một trong những chúng tôi đã xem xét ở trên.

Khai thác, được thiết kế để sử dụng lỗ hổng được mô tả, thực hiện các hoạt động tương tự như Khai thác CVE-2020-8835. Thuật toán khai thác tiếp theo:

  1. Tải mã với thao tác xử lý 64 bit

  2. Tạo một ổ cắm và gửi dữ liệu để gọi các lệnh Ebpf.

    1. Tìm trong tâm trí địa chỉ của cấu trúc Tác giả. Bằng cách thực hiện các lệnh trong một máy ảo

  3. Sửa đổi giá trị Uid, gid, sgid và phóng một vỏ tương tác.

Tác giả đã viết mã nguồn với chip mới và các tính năng bổ sung. Chúng tôi cung cấp cho người đọc để tự xem mã. Các giai đoạn được liệt kê của công việc của sự khai thác ở trên sẽ không bị nhầm lẫn.

Bảo vệ chống lại lỗ hổng này mà không sử dụng cập nhật là như nhau: sudo sysctl kernel.undpriviled_bpf_disables = 1

Kết quả là gì?

Dựa trên hai khai thác, được xem xét trong bài viết, có thể giả định rằng việc tăng các đặc quyền trong HĐH Linux hiện đại không còn là phép thuật lập trình tối, mà là một quy trình mẫu được sạc đầy bao gồm việc sử dụng lại các chức năng và đối tượng trong RAM. Đồng thời, thậm chí không cần phải viết mã phụ thuộc vào cơ sở (shellcode) sẽ thực hiện hầu hết các hành động. Nó là đủ để thay đổi các định danh được sử dụng để gán đặc quyền cho người dùng.

Tìm hiểu thêm về khóa học Quản trị viên Linux. Chuyên nghiệp. "

Đăng ký một bài học mở "Phương pháp và khả năng gỡ lỗi các kịch bản của vỏ bash."

Đọc thêm:

Khai thác là gì?

Ở giai đoạn phát triển trong tất cả các chương trình và mạng, các cơ chế bảo vệ chống lại tin tặc trong loại khóa, cảnh báo giám sát trái phép, được nhúng. Lỗ hổng tương tự như cửa sổ mở, để vượt qua đó sẽ không khó khăn cho kẻ tấn công. Trong trường hợp máy tính hoặc mạng, những kẻ tấn công có thể thiết lập phần mềm độc hại bằng cách sử dụng lỗ hổng để có được quyền kiểm soát hoặc lây nhiễm hệ thống cho mục đích lính đánh thuê của họ với những hậu quả có liên quan. Bát của tất cả những điều này xảy ra mà không có kiến ​​thức của người dùng.

Explant.
Làm thế nào là khai thác arise?

Các khai thác được gây ra bởi các lỗi trong quy trình phát triển phần mềm, do kết quả của các lỗ hổng được sử dụng thành công trong hệ thống bảo vệ chương trình, được sử dụng thành công bởi các mạng để có quyền truy cập không giới hạn vào chính chương trình và thông qua toàn bộ máy tính . Explants được phân loại theo loại lỗ hổng, được sử dụng bởi một hacker: ngày không, dos, giả mạo hoặc xxs. Tất nhiên, các nhà phát triển chương trình sẽ sớm phát hành các bản cập nhật bảo mật để loại bỏ các khiếm khuyết tìm thấy, tuy nhiên, đến thời điểm này, chương trình vẫn dễ bị xâm nhập.

Làm thế nào để nhận biết khai thác?

Kể từ khi khai thác sử dụng các thanh trong các cơ chế bảo mật của chương trình, một người dùng thông thường gần như không có cơ hội để xác định sự hiện diện của họ. Đó là lý do tại sao nó cực kỳ quan trọng để duy trì các chương trình được thiết lập được cập nhật, đặc biệt là một cách kịp thời các cập nhật bảo mật, được sản xuất bởi các nhà phát triển chương trình. Trong trường hợp nhà phát triển phần mềm phát hành bản cập nhật bảo mật để loại bỏ một lỗ hổng nhất định trong phần mềm của mình, nhưng người dùng sẽ không thiết lập nó, thì thật không may, chương trình sẽ không nhận được các định nghĩa virus gần đây nhất.

Làm thế nào để loại bỏ khai thác?

Do thực tế là việc khai thác là hậu quả của các khiếm khuyết đã cam kết, việc loại trừ của họ được đưa vào nhiệm vụ trực tiếp của các nhà phát triển, vì vậy các tác giả sẽ phải chuẩn bị và gửi sửa lỗi. Tuy nhiên, nghĩa vụ duy trì các chương trình đã cài đặt được cập nhật và kịp thời cài đặt các gói cập nhật để không tạo cơ hội cơ hội sử dụng các lỗ hổng, nói dối hoàn toàn trên người dùng. Một trong những cách có thể không bỏ lỡ các bản cập nhật mới nhất - sử dụng trình quản lý ứng dụng sẽ đảm bảo rằng tất cả các chương trình đã cài đặt được cập nhật hoặc - Điều gì cũng tốt hơn - sử dụng công cụ tìm kiếm và cài đặt tự động.

Cách dừng các nỗ lực của tin tặc sử dụng các lỗ hổng của các chương trình của bên thứ ba
  • Đảm bảo bạn đã cài đặt các bản cập nhật bảo mật mới nhất và bản vá cho tất cả các chương trình.
  • Để được an toàn trực tuyến và cập nhật các sự kiện, hãy đặt tất cả các bản cập nhật ngay sau khi phát hành.
  • Cài đặt và sử dụng Premium Anti-Virus, có khả năng tự động cập nhật các chương trình đã cài đặt.
Bảo vệ bản thân khỏi khai thác

Dựa vào lẽ thường và làm theo các quy tắc cơ bản của công việc an toàn trên internet. Tin tặc chỉ có thể tận dụng lỗ hổng nếu họ quản lý để truy cập PC của bạn. Không mở tệp đính kèm trong các tin nhắn đáng ngờ và không tải xuống các tệp từ các nguồn không xác định. Hỗ trợ các chương trình đã cài đặt được cập nhật, và cũng cài đặt kịp thời các bản cập nhật bảo mật. Nếu bạn muốn tối đa lại đơn giản hóa tác vụ này, hãy tải xuống Avast Antivirus, sẽ không chỉ cung cấp bảo vệ đáng tin cậy chống lại tất cả các loại phần mềm độc hại mà còn sẽ giúp cài đặt các bản cập nhật gần đây nhất cho các chương trình của bên thứ ba.

Добавить комментарий