Phân tích cách khai thác lỗ hổng Shellshock

Thảo luận trong 'Exploitation' bắt đầu bởi python, 01/10/14, 12:10 PM.

  1. python

    python Administrator

    Tham gia: 20/06/13, 09:06 PM
    Bài viết: 91
    Đã được thích: 12
    Điểm thành tích:
    18
    Vài ngày gần đây một lỗ hổng trong lõi của Linux có tên gọi “Shellshock” đã thu hút sự chú ý của rất nhiều người. Được đánh giá là một lỗ hổng cực kỳ nghiêm trọng với tầm ảnh hưởng rất rộng đối với nhiều hệ thống sử dụng Linux. Trong bài viết này tôi sẽ đề cập tới cách thức khai thác lỗ hổng này qua mod_cgi của Apache.

    CGI( Common Gateway Interface) được hiểu như một cổng giao tiếp chung giữa webserver và chương trình thực thi script CGI. Về bản chất khi có request từ phia client tới một script CGI như:

    http://example.com/cgi-bin/printenv.pl(1)

    Webserver sẽ thông qua CGI gọi chương trình thực thi tương ứng và trả lại kết quả về phia client.

    Đối với webserver Apache khi có một request HTTP tới một script CGI, Bash sẽ tạo ra những biến môi trường tương

    ứng với từng thành phần của HTTP request. Bạn có thể kiêm chứng điều này với một script đơn giản như sau:

    Và đây là kết quả khi thực thi script CGI trên :


    Vấn đề chú ý ở đây chính là ở cơ chế tạo biến môi trường của Bash. Nó hỗ trợ việc tạo biến môi trường theo cách export trực tiếp giá trị như :
    Ngoài ra nó còn hỗ trợ việc tạo biến môi trường thông qua việc export hàm trong shell script như:

    Và đây cũng chính là lỗ hổng tại những phiên bản Bash < 4.3 mắc phải. Trên thực tế khi chúng ta export giá trị cho biến môi trường bằng hàm theo cách như sau:

    Khi Bash gán giá trị của biến VAR bằng hàm vừa khai báo: () { ignored; }; thì nó lại tiếp tục thực thi đoạn string đằng sau ở đây là một câu lệnh trong Bash để thực hiện câu lệnh ping.
    Cách thức khai thác lỗ hổng Bash thông qua CGI trong quá trình nó thực hiện thiết lập các biến môi trường có trong HTTP request, qua đó ta có thể inject những đoạn shell độc hại vào trong các trường như :

    Ta có thể tiến hành kiểm tra việc khai Bash thông qua CGI của Apache một cách đơn giản như sau(thực hiện trên hệ thống thử nghiệm):



    Đoạn mã trên cho phép tạo file shellshock.test trong thư mục /tmp

    [​IMG]

    Thông tin thêm:

    1.https://securityblog.redhat.com/2014/09/24/bash-specially-crafted-environment-variables-code-injection-attack/
    2.https://www.pentestpartners.com/blog/shell-shock-what-it-is-and-what-you-can-do/
    3.http://seclists.org/oss-sec/2014/q3/650
     
    Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
  2. yousecure

    yousecure Banned

    Tham gia: 23/10/14, 03:10 PM
    Bài viết: 3
    Đã được thích: 0
    Điểm thành tích:
    1
    Re: Phân tích cách khai thác lỗ hổng Shellshock

    Bài phân tích khá hay, để bổ sung thêm tôi xin giới thiệu bài hướng dẫn dò lỗi ShellShock với Nessus và sau đó sử dụng Metasploit để khai thác, đây là bài trình bài của Mr Vinh trong Security Bootcamp 2014
    [YOUTUBE]6fWjue7Th4Q[/YOUTUBE]

    Mô hình lab sử dụng Metasploitable là mục tiêu tấn công, Attacker sẽ dùng máy ảo chạy KaliLinux. Nếu các bạn tự dựng lab cần cài KaliLinux và update đầy đủ, sau đ1o bật ModCGI trên Metasploiable và tạo 1 file cgi mẫu để test. Chúc các bạn thành công.
     
    Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
  3. xcotang

    xcotang New Member

    Tham gia: 16/12/17, 07:12 PM
    Bài viết: 2
    Đã được thích: 1
    Điểm thành tích:
    3
    T.T link die r pro ơi !! Các bậc tiền bối có thể nói rõ hơn dc hông!
     
    Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan