intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Hacking cổ điển

Chia sẻ: Ai Dieu | Ngày: | Loại File: DOC | Số trang:2

196
lượt xem
67
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài viết này chỉ để tham khảo để tăng thêm sự hiểu biết về các phương pháp hack chứ ko xài được nữa, nhưng hy vọng qua đó bạn có thể hình dung được những cách hacking mà hacker nước ngoài đã từng áp dụng, do đây là những bài viết được dịch từ tài liệu English nên có nhiều từ khó hiểu tuy nhiên vẫn có thể hiểu được, mong các bạn thông cảm. Bài đầu là bài viết về "Symlink một kiểu tấn công cổ điển đối với hệ thống Unix"...

Chủ đề:
Lưu

Nội dung Text: Hacking cổ điển

  1. Hacking cổ điển trang này đã được đọc  lần  Bài viết này chỉ để tham khảo để tăng thêm sự hiểu biết về các phương pháp hack chứ ko xài  được nữa, nhưng hy vọng qua đó bạn có thể hình dung được những cách hacking mà hacker  nước ngoài đã từng áp dụng, do đây là những bài viết được dịch từ tài liệu English nên có nhiều từ  khó hiểu tuy nhiên vẫn có thể hiểu được, mong các bạn thông cảm. Bài đầu là bài viết về  "Symlink ­ một kiểu tấn công cổ điển đối với hệ thống Unix" :  Các tập tin tạm hầu hết trên các hệ thống đã trở thành bãi chứ đồ phế liệu điện tử. May thay,  trong Unix hầu hết các tập tin tạm được tạo trong 1 thư mục, đó là /tmp (nó giống như thư mục  temp của windows). Tuy đây là nơi tiện dụng để ghi các tập tin tạm, song nó cũng đầy hiểm hoạ.  Nhiều chương trình gốc SUID được viết mà để tạo các tập tin làm việc trong /tmp hoặc các thư  mục khác mà không chút kiểm tra tính đúng đắn nào. Vấn đề bảo mật chính nảy sinh từ các  chương trình mù quáng theo các symbolic link đến các tập tin khác. Symbolic link là 1 cơ chế, ở  đó một tập tin được tạo thông qua lệnh ln. Symbolic link chẳng qua là một tập tin trỏ đến 1 tập tin  khác (hiểu như là shortcut trong windows) . Hãy tạo một symbolic link từ /tmp/foo và trỏ nó đến  /etc/passwd. [gk@sunami /tmp]$ ln ­s /tmp/foo /etc/passwd Giờ đây nếu ta cat từ /tmp/foo, ta sẽ lấy được nội dung file /etc/passwd. Tính năng có vẻ như  "Lành" này là một mối hiểm hoạ. Tuy các tập tin trích chuyển [scratch files] được tạo trong /tmp  vẫn thường bị lạm dụng nhiểu nhất, song vẫn có các ứng dụng tạo các tập tint trích chuyển ở nơi  khác trên hệ tập tin.  Trong ví dụ, ta sẽ nghiên cứu kiểu khai thác dtappgather của Solaris (Bugtrap ID 131).  Dtappgather là một trình tiện ích có trong môi trường vi tính chung [common desktop  evironment]. Mỗi lần thi hành dtappgather , nó tạo một tập tin tạm tên  /var/dt/appconfig/appmanager/generic­display­0 và chmod là 0666. Nó cũng thay đổi quyền sở  hữu tập tin thành UID của người dùng đã thi hành chương trình (tức là attacker). Đáng tiếc,  dtappgather không tiến hành kiểm tra tính đúng đắn để xác định xem tập tin đó tồn tại hay đó là  symbolic link. Do đó, nếu bọn tấn công tạo một symbolic link từ  /var/dt/appconfigappmanager/generic­display­0 đến một tập tin khác trên hệ tập tin (ví dụ,  /etc/passwd), chmod của tập tin này sẽ là 0666 và quyền sở hữu tập tin sẽ đổi thành của attacker.  Chủ sở hữu là chmod của tập tin /etc/passwd là root:sys: bash­2.02$ ls ­1 /etc/passwd ­r­xr­xr­x 1root sys 560 May 5 22:36 /etc/passwd Kế đó, ta sẽ tạo một symbolic link từ /var/dt/appconfig/appmanager/generic­display­0 đến  /etc/passwd
  2. ls ­ /etc/passwd /var/dt/appconfig/appmanager/generic­display­0 Cuối cùng, thi hành dtappgather và kiểm tra các chmod của tập tin /etc/passwd bash­2.02$ /usr/dt/bin/dtappgather MakeDirectory: /var/dt/appconfig/appmanager/generic­display­0 : File exits bash­2.02$ ls ­1 /etc/passwd ­r­xr­xr­x 1 gk staff 560 May 5 22:36 /etc/passwd Dtappgather mù quáng theo symbolic link đến /etc/passwd và đã thay đổi quyền sở hữu của tập  tin thành ID người dùng của chúng ta. Cũng cần phải lặp lại tiến trình trên với /etc/shadow. Sau  khi quyền sở hữu của /etc/passwd và /etc/shadow được đổi thành ID của attacker, attacker có thể  sửa đổi cả hai tập tin và bổ sung một tài khoản UID 0 (tương đương root) và tập tin passwd. Trò  chơi kết thúc trong vòng chưa đầy một phút làm việc. Biện pháp phòng chống Symlink Các thói quen viết security code là biện pháp phòng chống tốt nhất sẵn dùng. Đáng tiếc, nhiều  chương trình được viết mã mà không tiến hành kiểm tra tính đúng đắn trên các tập tin hiện có.  Các lập trình viên phải kiểm tra để xem tập tin có tồn tại hay không trước khi tạo ra nó, bằng cách  dùng các cờ O_EXCL | O_CREAT. Khi tạo các tập tin tạm, bạn set UMASK rồi dùng các hàm tmp  file( ) hoặc mktemp( ). Nếu thực sự muốn xem phần bổ trợ nhỏ của các tập tin tạm, bạn thi hành  lệnh sau trong /bin hoặc /usr/sbin/. bash­2.02$ string * Igrep tmp Nếu chương trình là SUID, attacker có tiềm năng thi hành một cuộc tấn công simlink. Như thường  lệ, bạn gỡ bỏ SUID ra khỏi nhiều tập tin càng tốt, để giảm nguy cơ của các chỗ yếu simlink. Cuối  cùng, hãy xét khả năng dùng mo065t công cụ như L0ght Watch giám sát hoạt động của /tmp và  thông báo cho bạn về các chương trình tạo tậo tin tạm. Có thề tìm L0ght Watch tại  http://www.L0ght.com/advisories/l0ght­watch.taz.gz.

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2