Denial Of Service Attack & Solutions - Tấn công từ chối dịch vụ và các giải pháp - Phần III
Cập nhật lúc 10h15' ngày 01/07/2005

DNS attack

Vào năm 1997, Secure Network Inc (SNI) bây giờ là Network Associates Inc(NAI) phát hành bài tư vấn về điểm yếu trong thi hành BIND (NAI-0011-BIND vulnerabilities and solutions).Các phiên bản BIND trước 4.9.5 +P1 cache thông tin giả khi kíc hoạt phép đệ quy (recursion) DNS.Recursion cho phép Namesever sử lí yêu cầu mà nó không phuc vụ .Khi nameserver nhận vấn tin vùng hoặc tên miền không được nó phục vụ,nameserver này sẽ chuyển vấn tin này cho nameserver khác có thẩm quyền . Sau khi nhận hồi âm từ nameserver có thẩm quyền nó sẽ trả lời về bên yêu cầu.

Đáng tiếc là khi active recursion trên phiên bản BIND dễ bị tấn công,attacker có thể đầu độc cache của nameserver chuyên tra cứu lặp.Người ta gọi đó là giả mạo mẩu tin PTR ,kiểu tấn công này khai thác tiến trình ánh xạ IP lên máy chủ. ví dụ:
Attacker cố thuyết phục nameserver cache thông tin ánh sạ từ www.abc.com 0.0.0.10 ( địa chỉ IP ma ) . khi người dùng muốn vào www.abc.com họ sẽ chẳng bao giờ nhận được trả lời từ 0.0.0.10 ( vì đay là địa chỉ ma). Một cách từ chối dịch vụ www.abc.com hiệu quả.

Solutions

Để giải quyết vấn đề trong BIND, bạn nâng cấp BIND lên nhưng phiên bản mới (độ bảo mật cao hơn)

UNIX and WINDOWS NT DOS

Remote DOS Attack

Hiện nay,đa số tình trạng từ chối dịch vụ (DOS) đều có dính dáng đến lỗi lập trình trong thi hành IP stack.Vì thi hành IP rất phức tạp và không ngừng phát triển nên xuất hiện lỗi lập trình cũng là điều tất yếu.Tiền đề đằng sau kiểu tấn công này là gửi các packet đến hệ thống đích nhằm khai thác lỗi lập trình.Khi hệ thống đích nhận các packet này do không sử lí chính xác các packet dẫn đến hệ thống bị Crash. ( kiểu này hơi bị ác).Sau đay chúng ta sẽ đi vào tưng kiểu tấn công cụ thể và sẽ cùng nhau đưa ra những giải pháp.

IP Fragmentation Overlap (Chồng chéo mảnh IP)

Teardrop (giọt nước mắt ) khai thác các chỗ yếu trong mã tái hợp packet.
Khi truyền đi các packet ,có khi phải chia nhỏ các packet ra thành nhiều phần nhỏ hơn (theo đơn vị truyền tối đa MTU (maximum transmission unit)). mỗi mảnh đều phải có một giá trị offset nhất định để xác định vị trí của mảnh đó trong packet được chuyển đi.Khi đến hệ thống đích sẽ dựa vào các giá tri offset này để ghép lại thành packet(hoàn chỉnh ) như ban đầu.Đây chính là vấn đề, attacker sẽ lợi dụng điểm này để gởi đến hệ thống đích một loạt gói packets với giá trị offset chồng chéo lên nhau. Hệ thống đích sẽ không thể nào tái hợp lại các packets này, nó không điều khiển được và có thể bị crash, reboot hoặc ngừng hoạt động nếu số lượng gói packets với giá trị offset chồng chéo lên nhau quá lớn.
Linux,windows NT &95 sẽ dễ bị tấn công kiểu này.

Solutions


Đối với LINUX kiểu tấn công trên đã bị chế ngự trong nhân 2.0.x và 2.2.x.
Đối với hệ thông NT nên cái service pack mới nhất ( service 3 trở lên )

Rò rỉ Windows NT spool-Name Pipe trên RPC

Windows NT có rò rỉ bộ nhớ trong spoolss.exe vốn cho phép người dùng bất hợp pháp kết nối đến \\sever\PIPE\SPOOLSS và chiếm hết toàn bộ bộ nhớ khả dụng trên hệ thống đích. Tình huống này sẽ xấu hơn nếu mở tấn công thông qua null session ( phiên rỗng ) bất kể đã kết nối RestrictAnonymous.Kiểu Tấn công này có khi mất thời gian vô hiệu hóa hoàn toàn hệ thống đích và chậm rãi chiếm dụng tài nguyên trong thời gian dài nhằm tránh bị dò tìm.

Solutions

Để không bị tấn công kiểu này qua phiên rỗng,bạn phải can thiệp vào Registry và xóa spoolss :
HKLM\system\CCS\Serveces\LamanServer\Parameters\NullSessionPipes (REG_MULTI_SZ).

Buffer Overflow In IIS FTP Server

Internet Information service (IIS 3.0,4.0) và FTP Server dễ bị tấn công trước tình trạng tràn bộ đệm thông qua lệnh : list
vốn cho phép làm ngưng hoạt đông của Server. Lệnh này chỉ khả dụng với người dùng đã chứng thực,tuy nhiên người dùng FTP nặc danh sẽ có truy cập lênh list

Solutions

Cập nhật những phiên bản mới nhất ( càng mới càng tốt)

Distributed DOS Attack ( DDOS)

DDOS yêu cầu phải có ít nhất vài attacker cùng tham gia. Đầu tiên các Attacker sẽ cố thâm nhập vào các mạng máy tính được bảo mật kém, sau đó cài lên các hệ thống này chương trình DDOS server( như Trinoo,Tribe flood network-TFN,Wintrinoo,TFN2K...). Bây giờ các Attacker sẽ hẹn nhau đến thời gian đã định sẽ dùng DDOS client kết nối đến các DDOS servers, sau đó đồng loạt ra lệnh cho các DDOS servers này tiến hành tấn công DDoS đến hệ thống nạn nhân.

Trinoo
Trinoo làm viêc dưới sự điều khiển từ xa,Attacker( dùng trương trình clien) sẽ gọi đến trương trình Master và nó chỉ dẫn cho Daemon tấn công Victim
The network: attacker(s)-->master(s)-->daemon(s)-->victim(s)

+----------+ +----------+
| attacker | | attacker |
+----------+ +----------+
| |
. . . --+------+---------------+------+----------------+-- . . .
| | |
| | |
+----------+ +----------+ +----------+
| master | | master | | master |
+----------+ +----------+ +----------+
| | |
| | |
. . . ---+------+-----+------------+---+--------+------------+-+-- . . .
| | | | |
| | | | |
+--------+ +--------+ +--------+ +--------+ +--------+
| daemon | | daemon | | daemon | | daemon | | daemon |
+--------+ +--------+ +--------+ +--------+ +--------+


Các cổng dùng để liên lac :
 

CODE

 Attacker to Master(s): 27665/tcp
   Master to daemon(s): 27444/udp
   Daemon to Master(s): 31335/udp


-Việc Điều khiển từ xa Trinoo master thông qua công 27665/TCP .Sau khi kết nối attacker phải nhập vào password ("betaalmostdone").

-Liên lạc từ Trinoo Master đến Daemon thông qua công 27444/UDP
Command lines :
arg1 password arg2

password mặc định sẽ là: "l44adsl"

-Liên lạc giữa Daemon và Master thông qua cổng 31355/UDP

-Khi Daemon khởi động, trước tiên nó sẽ gửi "*HELLO*" tới cho Master,trong khi trờ sự điều khiển cua Master.
(packet captured using "sniffit"):

CODE

UDP Packet ID (from_IP.port-to_IP.port): 192.168.0.1.32876-10.0.0.1.31335
45 E 00 . 00 . 23 # B1 . 5D ] 40 @ 00 . F8 . 11 . B9 . 27 . C0 . A8 . 00 . 01 .
0A . 00 . 00 . 01 . 80 . 6C l 7A z 67 g 00 . 0F . 06 . D4 . 2A * 48 H 45 E 4C L
4C L 4F O 2A *


-Nếu Master gửi lênh "png" đến cho Daemon trên cổng 27444/UDP thì Daemon sẽ trả lời lại bằng một chuỗi "PONG" trên cổng 31335/udp

CODE

UDP Packet ID (from_IP.port-to_IP.port): 10.0.0.1.1024-192.168.0.1.27444
45 E 00 . 00 . 27 ' 1A . AE . 00 . 00 . 40 @ 11 . 47 G D4 . 0A . 00 . 00 . 01 .
C0 . A8 . 00 . 01 . 04 . 00 . 6B k 34 4 00 . 13 . 2F / B7 . 70 p 6E n 67 g 20  
6C l 34 4 34 4 61 a 64 d 73 s 6C l

UDP Packet ID (from_IP.port-to_IP.port): 192.168.0.1.32879-10.0.0.1.31335
45 E 00 . 00 . 20   13 . 81 . 40 @ 00 . F8 . 11 . 57 W 07 . C0 . A8 . 00 . 01 .
0A . 00 . 00 . 01 . 80 . 6F o 7A z 67 g 00 . 0C . 4E N 24 $ 50 P 4F O 4E N 47 G

-Khi muốn kết nối đến Remote command ( mặc định trên cổng 27665/tcp)
Attacker phải có password:
 

CODE

attacker$ telnet 10.0.0.1 27665
   Trying 10.0.0.1
   Connected to 10.0.0.1
   Escape character is '^]'.
   kwijibo
   Connection closed by foreign host.
    . . .

   attacker$ telnet 10.0.0.1 27665
   Trying 10.0.0.1
   Connected to 10.0.0.1
   Escape character is '^]'.
   betaalmostdone
   trinoo v1.07d2+f3+c..[rpm8d/cb4Sx/]


   trinoo>

Sau đây là một số pass măc định

CODE

   "l44adsl"  trinoo daemon password
   "gOrave"  trinoo master server startup ("?? " prompt)
   "betaalmostdone" trinoo master remote interface password
   "killme"  trinoo master password to control "mdie" command

Master commands

CODE

die------------------------------------------------------------Shutdown.
quit------------------------------------------------------------Log off.
mtimer N----------------------------------------------------Đặt thờI gian để tấn công DoS , vớI N nhận giá trị từ 1--> 1999 giây .
dos IP-------------------------------------------------------Tấn công đến một địa chỉ IP xác định .
mdie pass---------------------------------------------------Vô hiệu hoá tất cả các Broadcast , nếu như passwd chính xác . Một lệnh đưọc gửi tới ("d1e l44adsl") Broadcast để Shutdown chúng . Một passwd riêng biệt sẽ được đặt cho mục này
mping--------------------------------------------------------Gửi một lệnh ping tới ("png l44adsl") c¸c Broadcast.
mdos ------------------------------------------Send nhiều lênh DOS ("xyz l44adsl 123:ip1:ip2") đến các Broadcast.
info-------------------------------------------------------------Hiển thị thông tin về Trinoo .
msize----------------------------------------------------------Đặt kích thước đệm cho những gói tin được send đi trong suốt thờI gian DoS.
nslookup host----------------------------------------------Xác định tên thiết bị của Host mà Master Trinoo đang chạy .
usebackup---------------------------------------------------Chuyển tớI các file Broadcast sao lưu được tạo bởi lệnh “killdead”.
bcast-----------------------------------------------------------Liệt kê danh sách tất cả các Broadcast có thể khai thác .
help [cmd] ---------------------------------------------------Đưa ra danh sách các lệnh .
mstop-----------------------------------------------------------Ngừng lại các cuốc tấn công DOS .

Daemon commands

CODE

aaa pass IP----------------------------------------------------Tấn công đến địa chỉ IP đã xác định . GửI gói tin UDP (0-65534) đến cổng của UDP của địa chỉ IP đã xác định trong một khoảng thời gian xác định được mặc định là 120s hay từ 1-->1999 s .
bbb pass N-----------------------------------------------------Đặt thờI gian giới hạn cho các cuộc tấn công DOS .
Shi pass--------------------------------------------------------Gửi chuỗi “*HELLO*” tới dánh sách Master Server đã được biên dịch trong chương trình trên cổng 31335/UDP.
png pass-------------------------------------------------------Send chuỗi “Pong” tớI Master Server phát hành các lệnh điều khiển trên cổng 31335/UDP.
die pass--------------------------------------------------------Shutdown Trinoo.
rsz N------------------------------------------------------------Là kích thước của bộ đệm được dùng để tấn công , nó được tính bằng byte .
xyz pass 123:ip1:ip3----------------------------------------tấn công DOS nhiều mục tiêu cùng lúc .

Solutions

Việc đư ra phương pháp ỏ đây là vô cùng khó,vì nạn nhân gần như không thể chống lại !tự mỗi hệ thống phải bảo vệ chình mình ,chương tình sử dụng những port UDP cao nên bạn có thể chặn những port UDP lớn.

Tribe Flood Network (TFN)


Được viết bưởi 1 hacker có tên là: Mixter.Cũng gần giống Trinoo nó làm viêc dưới sự điều khiển từ xa,Attacker sẽ gọi đến trương trình clien và nó chỉ dẫn cho Daemon tấn công Victim:

The network: attacker(s)-->client(s)-->daemon(s)-->victim(s)

+----------+ +----------+
| attacker | | attacker |
+----------+ +----------+
| |
. . . --+------+---------------+------+----------------+-- . . .
| | |
| | |
+----------+ +----------+ +----------+
| client | | client | | client |
+----------+ +----------+ +----------+
| | |
| | |
. . . ---+------+-----+------------+---+--------+------------+-+-- . . .
| | | | |
| | | | |
+--------+ +--------+ +--------+ +--------+ +--------+
| daemon | | daemon | | daemon | | daemon | | daemon |
+--------+ +--------+ +--------+ +--------+ +--------+

-Điều khiển và thức thi trương trình của TFN đều dựa vào Command Line.
-Không đòi hỏi phải có password khi chạy clien,cho dù nó là cần thiết để có "IPLIST" file.
-Liên lạc từ TFN clien đến Daemon thông qua các packet ICMP_ECHO Reply
-Khi chạy trương trình không có lụa chọn nó sẽ hiện ra bảng help cua TFN

[

CODE

tribe flood network]  (c) 1999 by Mixter

usage: ./tfn [ip] [port]
    contains a list of numerical hosts that are ready to flood
      -1 for spoofmask type (specify 0-3), -2 for packet size,
            is 0 for stop/status, 1 for udp, 2 for syn, 3 for icmp,
            4 to bind a rootshell (specify port)
            5 to smurf, first ip is target, further ips are broadcasts
[ip]         target ip[s], separated by @ if more than one
[port]       must be given for a syn flood, 0 = RANDOM

Solutions

Bởi vì chương trình liên lạc băng các packet ICMP_ECHO reply nên biên pháp phòng thủ sẽ rất khó khăn ( nêu không muốn nói la không thể ).

Các bài đã đăng tải:
Denial Of Service Attack & Solutions - Tấn công từ chối dịch vụ và các giải pháp - Phần I
Denial Of Service Attack & Solutions - Tấn công từ chối dịch vụ và các giải pháp - Phần II

Email: Ratholy@yahoo.co.uk

ZENO
Đánh giá(?):
Những chuyện kỳ bí