Chưa đọc hết mấy bài nhưng mita xin post hết những gì mita học được về DoS.
Đây là bài viết của ai mita cũng không nhớ, chỉ nhớ là khi "làm thịt" trang hoctroquay thì "lụm" được bài này :
Bài viết chỉ dành cho mục đích học tập, và dành cho newbie, những người hoàn toàn không biết về tấn công từ chối dịch vụ (DOS), đây là những điểm cơ bản nhất về tấn công từ chối dịch vụ.
Có 2 cách để tấn công từ chối dịch vụ là kiểu lame (tạm dịch là kiểu dành cho những kẻ trình độ thấp) và elite (cách thức tiên tiến):
Kiểu lame
Bom thư- là kĩ thuật làm cho hòm thư của người khác bị lụt bởi các bức thư, đây là một trong những dạng thấp nhất của DOS. Mọi người đều có thể lên mạng để kiếm vài chương trình boom thư như UNA hoặc KABOOOM , điền hòm thư của nạn nhân và … gửi thư. Hòm thư của nạn nhân sẽ đầy ắp thư hoặc có 1 cách đơn giản hơn đó là đăng kí địa chỉ của hắn với một site ***, hòm thư của hắn sẽ bị boom mà bạn chẳng cần phải làm gì cả.
Nếu như nạn nhân là admin của một site nào đó thì bằng cách boom thư bạn đã tiêu tốn một lượng lớn không gian đĩa cứng của hắn.
Đăng nhập liên tiếp: giả sử một mail server cho phép bạn đăng nhập một số ít lần và bạn biết tên đăng nhập của hắn, bạn có thể dùng một chương trình để đăng nhập liên tiếp, khi đó nạn nhân sẽ không thể đăng nhập vào hòm thư, như vậy là bạn đã khoá đường vào của hắn.
Bây giờ thì sẽ là những cách tiên tiến hơn nhưng cũng đòi hỏi ở bạn trình độ và sự thông minh của bạn
Tràn Syn
Đây là cách tấn công vào phương thức bắt tay của TCP/IP
Trước tiên chúng ta hãy tìm hiểu một chút về TCP/IP
Cách bình thường:-
Syn-packet được gửi tới máy chủ bởi máy khách có ý định thiết lập kết nối
SYN
Máy khách --------------à Máy chủ
Ở bước thứ 2 máy chủ sẽ trả lời với một gói SYN/Ack tới máy khách
SYN/ACK
Máy khách ß-------------- Máy chủ
Bước thứ 3 và là bước cuối cùng.
Máy khách trả lời bằng một gói ack tới máy chủ và cơ chế bắt tay ba bước được hoàn thành
Bây giờ đến phần tấn công
Nhiều Syn-packet được gửi tới máy chủ thông qua một địa chỉ IP giả (địa chỉ IP chết hoặc không có), sau đó điều gì xảy ra, máy chủ sẽ trả lời với gói syn/ack và máy chủ đợi gói ack xác nhận. Nhưng vì địa chỉ IP không tồn tại nên nó vẫn phải chờ đợi, do vậy nó trì hoãn và tiêu tốn tài nguyên của hệ thống và làm cho hệ thống bị treo hoặc khởi động lại.
Land attack
Tấn công kiểu land attack cũng giống như tấn công kiểu tràn Syn nhưng thay bởi địa chỉ IP giả mạo hoặc chết thì nó sử dụng chính ngay IP của mục tiêu. Nó tạo ra một vong lặp vô tận và hệ thống đích bị phá vỡ. Nhưng hầu hết hệ thộng đều được thiết lập để chống lại kiểu tấn công này.
Smurf Attack
Là một dạng tấn công kiểu brute force (hàng loạt), trong đó một số lượng khổng lồ các router (định tuyến) sử dụng địa chỉ IP giả từ bên trong mạng đích, do đó khi nó nhận tín hiệu ping (thăm dò) nó sẽ phản hồi và làm lụt mạng. Và làm ngưng trệ giao thông mạng.
Lụt Udp
Đây là dạng tấn công 2 hệ thống đích và có thể sử dụng để ngừng các dịch vụ của 2 hệ thống. Cả 2 hệ thống được kết nối tới nhau, một tạo ra một chuỗi các kí tự cho mỗi gói nhận, theo cách nói khác là tạo ra các kí tự yêu cầu UDP trong khi đó hệ thống còn lại sẽ phản xạ lại mọi thông điệp mà nó nhận được. Do vậy tạo nên một vòng lặp vô hạn giữa 2 hệ thống, mọi dịch vụ khác giữa chúng bị tê liệt.
Ping of death
Kiểu tấn công này sẽ không làm việc được đối với các máy chủ đã được thiết lập để phòng ngừa nó. Trong kiểu tấn công này hệ thống đích được thăm dò bởi một gói vượt quá kích thước bình thường cho phép bởi giao thức tcp/ip và sẽ làm cho hệ thống đích bị treo hoặc khởi động lại
Tear Drop
Khi dữ liệu được gửi từ một hệ thống tới hệ thống khác nó được chia ra thành những mảnh nhỏ hơn và được máy đích tập hợp lại. Các gói này có một trường offset trong phần đầu của gói TCP là phần qui định phần dữ liệu nào được gửi đi. Nó kết hợp với số chuỗi, giúp cho máy đích có thể tập hợp các gói lại.
Trong phương thức tear drop các gói được chuyển đi với trường offfset chồng chéo, khiến cho máy nhận không thể ráp chúng lại và dẫn tới bị phá vỡ.
DDOS
Có một kiểu tấn công mới gọi là DDOS trong đó nhiều máy tính được sử dụng để tấn công từ chối dịch vụ.
============================
Còn một bài nữa nà :
========================
A. GIỚI THIỆU CHUNG
.A.1. DoS attack là gì?
DoS là làm cho các service bị tê liệt, ko còn đáp ứng được các request nữa. Loại attack này rất dễ thực hiện và lại rất khó bảo vệ hệ thống khỏi các DoS attack. vấn đề là Unix cho rằng hệ thống của users sẽ vẫn chạy được
.A.2. Có Hệ điều hành nào an toàn hơn ko?
Câu trả lời là ko. Tính an toàn của hệ thống phụ thụôc vào administrator.
Hệ thống Unix phức tạp hơn và có nhiều build-in prog cũng như services. điều này cũng mở ra nhiều cách để crash the system từ bên trong hơn win NT & 95 network.
Uniz có nhiều tools & prog để tìm ra các attack và giám sát users. Trong khi wind lại rất khó làm được.
Một unix admin trung bình thì cũng có nhiều kinh ngiệm hơn là microsoft admin.
Tóm lại unix an toàn hơn đối với DoS attack từ bên trong. Tuy nhiên microsoft lại có tính secure cao hơn đối với các attack từ bên ngoài chỉ vì nó có ít service hơn.
.B. ĐIỂM CƠ BẢN CHO 1 ATTACK
.B.1. SWAP SPACE
hầu hết các system đều có vài trăm MB swap space để phục vụ client requests. Swap space thuờng dùng cho các process con có thời gian ngắn nên DoS có thể được dựa trên phương thức làm tràn đầy swap space.
.B.2. BANDWIDTH
nếu bandwith quá cao, network sẽ trở nên vô dụng. Do đó hầu hết Dos att tác động lên bandwith bằng nhiều cách.
.B.3. KERNEL TABLES
làm tràn kernel tables có thể gây ra các vấn đề nghiêm trọng trên hệ thống đặc biệt là các h thống write caches và small write buffers.
Kernel memory allocation cũng là tiêu điểm nhạy cảm. kernel có giới hạn kernelmap, nên nếu system đạt đến giới hạn này nó ko thể định vị thêm kernel memory và fải reboot. Kernel memory ko chỉ use cho RAM, CPUs, Screen ... mà nó còn use cho các process thông thường. Nghĩa là bất cứ ht nào cũng có thể crashed nhanh chóng dễ dàng với những giải thuật nhỏ.
đối với solaris 2x lệnh sar có thể đo lường và bào cáo về kernel memory đang dùng. nhưng sunOS 4x thì ko có lệnh sar. nếu bạn use Solaris, use lệnh sar –k 1 để lấy thông tin, lệnh netstat –k cũng cò thể dùng để xem kermel memory đã chiếm bao nhiêu trong subpaging.
.B.4. RAM
Dos attack chiếm 1 khoảng lớn của RAM cũng có thể gây ra các vấn đề lớn. NFS và mailserver là dễ bị attack nhất vì chúng ko cần nhiều RAM. 1 NFS client thường sẽ tạo ra rất nhiều catching, nhưng 1 NFS client cũng có thể là anything trong prog mà bạn có thể tự viết lấy.
.B.5. DISKS
1 cách attack cổ điển là làm đầy harddisk. HD có thể bị overloaded và ko thể use bằng nhiều cách.
.B.6. CACHES
DoS attack liên quan đến caches được dựa trên phương pháp làm tắc nghẽn or ngăn ngừa cache.
Trong solaris 2x:
Directory name lookup cache: liên hệ tên file với vnode.
Inode cache: thông tin cache đọc từ đĩa trong trường hợp cần đọc lại.
Rnode cache: giữ thông tin về ht file NFS.
Buffer cache: cache Inode làm tắc nghẽn gián tiếp I/O của đĩa thực.
.B.7. INETD
1 khi inetd bị crashed, tất cả các service khác đi qua inetd sẽ ko còn làm việc được nữa.
.C. ATTACK TỪ BÊN NGOÀI.
.C.1. Sự thuận lợi của Finger
hầu hết các prog finger đều hỗ trợ chuyển tiếp đến host khác. Vd: $finger @system.two.com@system.one.com finger đi qua system.one.com và system.two.com. do đó two sẽ tưởng là one finger mình. pp này dùng để che dấu cũng như cho các very dirty DoS attack. Hãy xem vd sau: $finger @@@@@@@@@@@@@@@@@@@@@@host.we.attack tất cả các @ sẽ nhận finger để finger host.we.attack rất nhiều lần làm host này bị ảnh hưởng rất lớn.
biện pháp là cài đặt finger ko hỗ trợ chuyển tiếp như GNU finger, or bạn cũng có thể tắt finger service.
.C.2. UDP AND SUNOS 4.1.3.
sunOS 4.1.3 bị lỗi boot nếu bạn gởi tới 1 packet với thông tin sai trong header. Đây là nguyên nhân nếu như ip-options biểu diễn sai kích cỡ của packet.
biện pháp: cài đặt patch đúng.
.C.3. Làm tê liệt X-WINDOWS
nếu host cho phép telnet tới X-Windows port (thường là từ 6000 đến 6025), bạn có thể làm tê liệt cả ht x-windows bằng cách tạo ra hàng loạt kết nối telnet or prog gởi hàng loạt XopenDisplay() đến port đó. điều này cũng có thể áp dụng cho Motif or Open windows.
biện pháp: đóng kết nối tới x-windows port.
.C.4. Cố ý sử dụng UDP SERVICES
rất dễ use UDP services (như echo, time, datetime, chargen) lặp lại 1 cách liên tục nhờ các IP-spoofing thông thường. Vd:
from-IP=127.0.0.1
to-IP=system.we.attack
packet type:UDP
from UDP port 7
to UDP port 7
header yêu cầu là packet đến từ 127.0.0.1 (lặp lại liên tục) và tiêu điểm là echo port tại system.we.attack. đến khi system.we.attack biết là 127.0.0.1 system.we.attack và vòng lặp được thiết lập. chú ý là system.we.attack trông giồng như DNS-name nhưng tiêu điểm luôn luôn là 1 IP number.
.C.5. ATTACKING WITH LYNX CLIENTS
www server sẽ tách httpd process thành phản hồi cho các request từ client. Process chỉ kéo dài khoảng 1 giây và vì thế load sẽ ko thực hiện được nếu bạn use ps. DoS atack use hàng loạt w3 client (lynx client) là rất an toàn nhưng nên nhớ là lệnh netstat cũng có thể phát hiện ra attack.
Httpd:s (như http-gw)
.C.6. Telnet
use thử script này:
while : ; do
telnet system.we.attack &
done
atack kiểu này cũng tốn 1 ít bandwith, nhưng nó chẳng là gì so với pp finger or các pp khác. Nhưng 1 số firewalls & httpd:s lại nghĩ đây là vòng lặp và tự động tắt chúng, cho đến khi admin gởi lệnh kill - HUP
.C.7. use telnet trong SOLARIS 2.4
nều attacker tạo ra kết nối telnet tới solaris 2.4 host và thoát ra use:
control -}
quit
thì inetd sẽ tiếp tục mãi mãi (ít nhất là vài trăm lần)
biện pháp: cài đặt patch đúng.
.C.8. làm sao để DISABLE ACCOUNTS
1 vài ht disable accout sau n lần bad login or chờ n giây. bạn có thể use tíng năng này để lock out 1 user nào đó từ ht.
.C.9. LINUX AND TCP TIME, DAYTIME
inetd trong linux có thể bị crash nếu gởi nhiều SYN packet tới daytime (port 13) or time (port 37)
.C.10. attack bằng chuyển tiếp ICMP
gateways use chuyển tiếp ICMP để yêu cầu ht overide routing tables. để vô hiệu chuyển tiếp icmp, bạn fải biết kết nối hiện tại để gởi tới 1 route làm đứt kết nối or gởi tới host messages lỗi nều như kết nối đó ko use cryptation
vd: (gởi messages lỗi)
destination unreachable
time to live exceeded
parameter problem
packet too big
message này sẽ reset kết nối.
.C.11. BROADCAST STORMS
đây là pp thông dụng nhất trong mạng mà host hoạt động như các gateway. pp cơ bản là gởi nhiều packet tới tất cả các host với đích đến ko có thực. mỗi host sẽ cố gắng chuyển từng packet dẫn đến packet đó được chuyển lòng vòng trong 1 thời gian dài và nếu có packet mới được tiếp tục gởi tới mạng sẽ nhanh chóng gặp rắc rối.
loại attack này có thể là ping, finger, & sendmail. Nhưng hầu hết services có thể vô hiệu bằng vài cách khác.
.C.12. SYN FLOODING
syn packet được use trong 3-way handshake do đó syn flooding attack được dựa trên pp incomplete handshake. Attacker host gởi tới tấp các syn packet nhưng ko phản hồi lại các ACK packet.
bạn có thể xem thêm về syn flooding tại:
[.1.] http://www.eecs.nwu.edu/~jmyers/bugtraq/1354.html
Article by Christopher Klaus, including a "solution".
[.2.] http://jya.com/floodd.txt
2600, Summer, 1996, pp. 6-11. FLOOD WARNING by Jason Fairlane
[.3.] http://www.fc.net/phrack/files/p48/p48-14.html
IP-spoofing Demystified by daemon9 / route / infinity
for Phrack Magazine
.C.13. PING FLOODING
unix: ping –s host
windows 9x: ping –t –l 256 ***.***.***.***
ex: ping –l 65510 address.to.the.machine
nó có thể bị tê liệt or reboot.
* Kernel phiên bản từ 2.0.7 đến 2.0.20 or AIX4, OSF, HPUX10.1, DUXIX 4.0 -->> crashed
* OSF/1, 3.2C, solaris 2.4 x86 -->> reboot.
.C.14. FLEXlm
bất cứ host nào chạy FLEXlm có thể bị shutdown bằng lệnh:
#lmdown –c /etc/licence.dat
lmdown – copyright © 1989, 1991 highland software, inc.
shutting down FLEXlm on nodes: ***
are you sure? [y/n]: y
shut down the node ***
#.
=======================
The End
=======================
To Admin : Nếu có thành lập ddth attacker thì mita vào group đầu tiên nha
Bookmarks