PDA

View Full Version : [TUTOR] Types of DoS Attacks



nhuquynh
21-04-2003, 10:51
Như các bạn đã biết DoS Attack tuy la 1 cách thức đã có từ lâu, nhưng cho đến bây giờ vẩn là cách nguy hiểm nhất và gây ra những thiệt hại nghiêm trọng nhất cho các mạng máy tính. Q viết thêm 1 phần trong DoS cho các bạn tham khoả và để cho các bạn hiểu rõ Q sẽ viết cách sữ dụng một vài tools đơn giản mà Hacker dùng gây nên DoS attack. Nhưng trước hết Q cũng giới thiệu vài nét về các loai của DoS :
- Ping of Death
- SSPing
- Land
- Smurf
- SNY Flood
- CPU Hog
- Win Nuke
- RPC Locator
- Jolt2
- Bubonic
- Microsoft Incomplete TCP/IP Packet Vulnerability
- HP Openview Node Manager SNMP DoS Vulnerability
- Netscreen Firewall DoS Vulnerability
- Checkpoint Firewall DoS Vulnerability

Những loại trên đây không phải là bao gồm hết các cách thức của DoS attack, mà các Hacker họ sẽ đưa ra các cách thức mới hàng ngày......:)
Ok bây giờ Q mời các bạn tìm hiểu về type đầu tiên PING of DEATH (PoD):
là 1 cách thức tấn bằng cách gửi 1 số lượng lớn ping packet đến máy nạn nhân.
Cách này có thể tấn công hầu hết các Hệ Điều Hành (OS) thông dụng hiện nay.
Protocols và service : dùng ICMP ping.

PoD dùng 1 sồ lượng lớn Internet Control Message Protocol (ICMP) hay ping packets đệ gây nên DoS attack đến 1 system nào mà hacker muốn. Để hiểu rỏ thêm về ICMP các bạn cần review lại phần căn bản. ICMP work ở layer 3 trong OSI model cùng chung layer với Internet Protocol (IP). ICMP được phát triển để nối kết các máy tính với nhau trên mạng Internet. ICMP quản lý nhửng error và trao đổi control message vvv... các bạn có thể tìm hiểu thêm về các chức năng ICMP trong các sách về Network Essential.
Ping là 1 program dùng ICMP để xem 1 máy tính kết nối với network như thế nào bằng cách gửi 1 echo request packet đến 1 địa chi IP nào đó, nếu máy của IP đó nhận được đầy đủ packet nó sẽ gữi hồi âm lại 1 echo packet ICMP, nói 1 cách khác Ping là 1 tool để phân tích (diagnosing) và giai quyet nhung rac rối (troubleshooting) kết nối của máy tính hay network.

Dưới đây là 1 thí dụ về Ping

Pinging 192.168.123.100 with 32 bytes of data:
Reply from 192.168.123.100: bytes=32 time=4ms TTL=255
Reply from 192.168.123.100: bytes=32 time=4ms TTL=255
Reply from 192.168.123.100: bytes=32 time=4ms TTL=255
Reply from 192.168.123.100: bytes=32 time=4ms TTL=255
Ping statistics for 192.168.123.100:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimun = 2ms, Maximun = 4ms, Average = 2ms

Các bạn để ý sè thấy packets ở thí dụ trên có size là 32 bytes. Nếu các bạn dùng option trong command line, các ban có thể ấn định packet size cho Ping program. Trong Microsoft để send 1 packet lớn, các bạn có thể dùng: -l ( chữ L), thi du : nếu bạn type dòng command như sau: ping -l 500 192.168.123.100, các bạn sẽ có kết quả như sau:

Pinging 192.168.123.100 with 500 bytes of data:
Reply from 192.168.123.100: bytes=500 time=3ms TTL=255
Reply from 192.168.123.100: bytes=500 time=3ms TTL=255
Reply from 192.168.123.100: bytes=500 time=3ms TTL=255
Reply from 192.168.123.100: bytes=500 time=3ms TTL=255
Ping statistics for 192.168.123.100:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimun = 3ms, Maximun = 3ms, Average = 3ms

các bạn sẽ thấy bây giớ packet size sẽ là 500 bytes thay vì 32 bytes như ấn định.

(còn tiếp)

nhuquynh
22-04-2003, 05:46
Detailed:

TCP/IP là basic của phần lớn các protocols dùng trong Internet, trong TCP/IP packet size lớn nhất có thể lên đến 65536 octets hay bytes ( 1 octect = 8 bits of data), bao gồm ít nhất 20 octects IP header infomation, 0 octect hoac nhiều hơn optional information còn lại là data. ( để hiểu rõ thêm về TCP/IP packet các bạn cần đọc những bài chi tiềt trên sách hoặc các site về Network, trong forum ddth Q thấy có vài bài viết về TCP/IP khá đầy đủ).
Và thông thường không thể đoán trước được phản ứng của các system khi nhận các oversize IP packet mốt cách rõ ràng, system có thể bị crashing, freezing, hay rebooting sau khi nhận các oversize packet.
Phần lớn các cuộc tấn công thường lơi dụng ICMP trong Ping program. ICMP là 1 subset của TCP/IP suite, nó có thể vận chuyển error và control messages giữa các system với nhau.
Có 2 phần quan trọng trong ICMP packet là ICMP ECHO_REQUEST và ICMP ECHO_RESPONSE datagrams và thông thường dùng PING command đế thi hành các hoạt động của ICMP. Khi 1 máy tính gửi ICMP ECHO_REQUEST đến 1 máy nào đó, nếu máy đó đang hoạt động thì nó sẽ gữi trả lại ICMP ECHO_RESPONSE.
Hacker dùng PING program để tạo nên oversize ICMP datagrams (gói gọn trong 1 IP packet), có nhiều cách để gửi ICMP datagrams mà packet mà chỉ bao gồm 8 bits ICMP header infomation, Hacker thuong dùng PING program để gừi những packet lớn hơn 65536 bytes ( vượt qua sữ cho phép của TCP/IP).

Dưới đây là thông tin của TCP dump khi PoD tấn công 1 máy tính:

8:40:14..690000 192.168.123.101 > 192.168.123.100: icmp echo request (frag 11267:1480@0+)
8:40:14.690000 192.168.123.101 > 192.168.123.100: (frag 11267:1480@1480+)
8:40:14.690000 192.168.123.101 > 192.168.123.100 (frag 11267:1480@5920+)
.............................................
8:40:14. 74000 192.168.123.101 > 192.168.123.100 (frag 11267:1480@65527)

Các bạn để ý sẽ thấy máy có ip 192.168.123.101 gửi 1 ping packet có size là 65527 đến địa chỉ IP 192.168.123.100.

Thông thường các OS đều install sẳn PING program, trong MS-DOS thì có DOS command, MS-NT có Command Promt và Unix có Terminal vvv..
thí dụ: Windows option -l ( chử L)
ping -l 65527 địa chỉ IP của máy nạn nhân

Unix option -s
ping -s 65527 địa chỉ IP của máy nạn nhân.

Cách phòng chống PoD.

Cách tốt nhất là update nhung patch thich hơp mà nhung công ty sản xuất Hệ Điều Hành (OS) nhắc nhở mổi khi có lổ hổng mới.

Nếu vì 1 lý do nào đó mà không thể update những patch mới thì có thể set trên router hay firewall block những ping packet nào lớn quá mức cho phép để ngăn chận không cho vào mạng bên trong công ty thông thường các router và firewall dều có option để giới hạn size cua ping packet ( khi có time Q sè viết cách setup trên các loại router thông dụng để block oversize ping packet cho các bạn tham khoả).

nếu có time các bạn có thể tìm hiểu thêm cách bảo vệ ỡ các site sau:
http://www.cert.org
http://microsoft.com

Thân

(for education only)

vikhoa
22-04-2003, 08:23
Quá tuyệt vời, lâu lắm mới thấy chị Nhuquynh quay lại với box Security :) Chừng nào về VN nhớ rủ em đi ăn nhé !

yuna_admirer
22-04-2003, 08:33
Chị Quỳnh ơi.

Cái này "cơ bắp" thôi à. Đường truyền ai mạnh, thì người đó thắng á. Một người ngồi 2M mà DDoS người ngồi Dial-up thì ... chỉ có khóc thôi.
Hiện tại có một vài Option của lệnh Ping có thể dùng làm Exploit để DDoS dành cho Dial-up,đó là khi gởi đi thì ICMP packet chỉ có 500Byte , trên đường đi, mang trong ICMP packet là các Option như record HOP, timestamp.v.v.có chức năng record các route trên đường đi, các thông số .v.v., thì có thể tăng ICMP packet size từ 500 byte lên đến 65527 byte là chuyện thường.
Nhưng problem là để lệnh Ping được thực hiện thành công thì máy gởi lệnh PINH phải nhận lại được Echo Request. Tức là mình gởi 1 , thì mình nhận 1 , right ? :D.

Hiện giờ các chương trình DDoS theo kiểu Ping of Death này khá nhiều, không nhất thiết phải dùng lệnh Ping theo kiểu thủ công hiện này đâu.

DeathPing thường được dùng để tấn công chính xác những thiết bị mà bảo về các thiết bị khác khỏi bị tấn công. Đây là một đìều ít ai nghỉ tới á.

nhuquynh
22-04-2003, 09:58
to Yuna : ..........:)
Không chịu đọc kỷ gì hết....:) "và để cho các bạn hiểu rõ Q sẽ viết cách sữ dụng một vài tools đơn giản mà Hacker dùng".Ở đây các bạn có nhiuề trình độ khác nhau, Q muốn các bạn hiểu căn bản mà thôi, muốn làm tính nhân thì phải thuộc bản cửu chương phải không.....:)

"Nhưng problem là để lệnh Ping được thực hiện thành công thì máy gởi lệnh PINH phải nhận lại được Echo Request. Tức là mình gởi 1 , thì mình nhận 1 , right ?"....:) nếu 1 bạn nào đó hỏi câu này thì không sao, nhưng Yuna hỏi câu này thì........không được....:)
Khi 1 máy không được setup chống lại PoD mả bi tấn công kiểu PoD thì nó sẽ bị down, nên không còn khà nặng reply ping packet lại vì nó nhận nhửng oversize packet vượt quá khả năng của nó. Nếu máy đó đươc setup để phòng ngừa PoD attack, thì khi ping nó sẽ báo là host unreachable.
Và 1 điều quan trọng là Yuna chưa thử ping như những thí dụ của Q,.......:)
nếu rảnh thì ping thử xem.......:) rồi Yuna sẽ thắc mắc cho mà xem....:)
Thât ra Q cùng chưa biết hết những tools cua hacker, vi Q không phải là hacker............:), những dẫn chứng của Yuna đưa ra theo Q là hơi khó cho nhiều bạn trong forum.........:), bài nay Q viết chỉ là để các bạn hiểu căn bản chứ không phải là Hacker Training Class...........:).
Còn 1 điều mà Yuna không để ý là Q viết DoS chu không phải là DDoS..............:).

to VK: hôm bửa Q có thấy VK quản cáo thegioiao cafe....:) có phải VK làm chủ quán không vây? nếu VK làm chủ quán thì có dip Q về VN sẽ ghé thăm, nhưng báo trước là uong nuoc với ăn đồ ăn không trả tiền đâu.....:)

Thân

yuna_admirer
23-04-2003, 09:43
Bài viết được gửi bởi nhuquynh
to Yuna : ..........:)


"Nhưng problem là để lệnh Ping được thực hiện thành công thì máy gởi lệnh PINH phải nhận lại được Echo Request. Tức là mình gởi 1 , thì mình nhận 1 , right ?"....:) nếu 1 bạn nào đó hỏi câu này thì không sao, nhưng Yuna hỏi câu này thì........không được....:)

Thân


Cái này em nói chưa rõ, sorry. Chính xác là nếu không fake địa chỉ Source của mình đi, thì mình Ping bao nhiêu thì nhận lại bấy nhiêu ?:D

U huh, tất nhiên rồi chị à, đâu phải là Hacking Training Class đâu :P.

Các chương trình DoS theo kiểu Ping of Death có thể là ICMP bomber chẳng hạn.

Chị làm tiếp mấy bài cho anh em xem chơi - Nhưng chú trọng về cách phòng tránh nhiều hơn là hướng dẩn DoS chị à.