Còn đây là tài liệu module 8:
Ethical HackinG
Module 8: Denial of Service (DoS)
O. Tổng quan :
Trong phần này chúng ta sẽ tìm hiểu về nhiều khía cạnh của tấn công từ chối dịch vụ .Thảo luận với những chủ đề giống như tấn công từ chối dịch vụ là gì ? Điều gì là sự phân tán trong tấn công từ chối dịch vụ? Những kiểu tấn công từ chối dịch vụ ,các công cụ cho các cuộc tấn công và những biện pháp đối phó. [ Mr. Neo – Vietnam Internet Security System ]
DoS – Tấn công từ chối dịch vụ.
Tài liệu gồm các ý chính:
Định nghĩa tấn công từ chối dịch vụ ?
Thế nào là phát tán tấn công từ chối dịch vụ ?
Các loại tấn công từ chối dịch vụ
Công cụ tấn công từ chối dịch vụ
Công cụ DDOS attack
Trả đũa
Thực tế cho thấy: 6/6/2000. Trang chủ Yahoo đã ngưng hoạt động trong 3h, tiếp đó là tới BUY.COM, AMAZON, EBAY, CNN .. cũng lần lượt die ..
Theo tính toán của Yankee Group, thiệt hại ước tính là 1,2 tỷ $. Cuộc tấn công DDoS được ghi nhận đầu tiên là vào năm 1988 (CERT). Cuộc tấn công vào T6/2000 là do 1 cậu nhóc 15 tuổi người Canada – Mafia Boy – với công cụ Trinoo (Tribe Flood Network)
Tháng 1 năm 2001, Microsoft, MSN, expedia.com là nạn nhân của tấn công từ chối dịch vụ trong nhiều giờ đồng hồ. Theo CERT ước tính thiệt hại là 100000 $.
I. Định nghĩa tấn công từ chối dịch vụ:
Denial of Service (DoS) là cuộc tấn công được tạo nên để hoàn trả cho 1 máy tính hay 1 mạng máy tính không đủ lực để hoạt động. DoS attacks hay được sử dụng nhằm mục tiêu vào băng thông hoặc phạm vi kết nối. Việc flood băng thông của 1 hệ thống mạng với lưu lượng cao, sẽ làm sự tồn tại của hệ thống mạng bị phá huỷ (nuốt – luộc – nghĩa bong) và làm hợp pháp việc ng` sử dụng yêu cầu lấy thông tin ( chắc đây là cannot display page )
Tấn công flood phạm vi kết nối của 1 computer với liều cao của yêu cầu kết nối khiến hệ thống điều hành bị phá huỷ và chiếc computer không thể hoạt động theo yêu cầu người sử dụng
Một cuộc tấn công tấn công từ chối dịch vụ có đặc điểm là sự cố gắng muốn chiếm đoạt của attackers. Một số đặc điểm:
• Cố gắng "flood" a hệ thống mạng, để rồi ngăn ngừa sự hợp pháp của lưu luợng (traffic) trên hệ thống
• Cố gắng phá vỡ kết nối giữa 2 máy
• Cố gắng xâm nhập của 1 cá nhân
• Cố gắng phá vỡ 1 dịch vụ của một hệ thống trở nên rõ rang
Không phải tất cả dịch vụ sẽ ngưng hoạt động, nhưng những hành động trên luôn mang tính huỷ hoại và là cơ sở của tấn công từ chối dịch vụ. Một số loại tấn công khác cũng coi tấn công từ chối dịch vụ như là 1 thành phần, nhưng chính tấn công từ chối dịch vụ là một phần của một cuộc tấn công mang tính quy mô. Một sô người dung bất hợp pháp có thể lợi dụng tấn công từ chối dịch vụ. Ví dụ, kể xâm nhập có thể sử dụng phân vùng anonymous ftp làm nơi để lưu giữ bản copy bất hợp pháp của môt phần mềm thương mại , chiếm ổ dữ liệu rồi tạo nên một hệ thống lưu lượng mạng.
Trong thế giới Internet, một cuộc tấn công từ chối dịch vụ thường gắn liền với ngưới sử dụng hay một tổ chức thiếu thốn về bảo mật. Điển hình như, việc 1 trang web khi có khoảng hàng ngàn lượt truy câp cũng có thể gây lụt server. Tấn công từ chối dịch vụ còn có thể huỷ diệt toàn bộ dữ liệu của máy chủ. Thông thường, tấn công từ chối dịch vụ hay nhằm vào lỗ hổng bảo mật, đó chính là một trong những loại tấn công từ chối dịch vụ nguy hiểm . Và là, mỗi cuộc tấn công gây thiệt hại lớn về thời gian và tiền bạc của nạn nhân …
II. Phân loại tấn công từ chối dịch vụ:
1. Bandwidth/Throughput Attacks:
Tấn công vào băng thông are thực sự khá đơn giản, đó là việc cố gắng sử dụng những nguồn như network bandwidth hoặc trang bị thong lượng (throughput) . Cuộc tấn công nguy hiểm là nó có thể luộc cả băng thông khiến. Hoặc có thể khiến lưu lượng thông tin trở nên chậm chạp.
Timeouts may occur, causing retransmission, generating even more traffic.
Kể tấn công có thể luộc bandwidth bằng cách truyêng tải những lưu lựợng thônh tin trên toang bộ các kết nối của toàn hệ thống
Cuộc tấn công flood cơ bản là sử dụng UDP or gói ICMP để dễ dàng tiêu thụ bandwidth.
For that matter, an attack could consist of TCP or raw IP packets, as long as the traffic is routed to
your network.
Một cuộc tấn công tàn phá bandwidth đơn giản có thể khai thác qua giới hạn thông lượng của servers hoặc hệ thống bởi tỷ lệ các gói tệp tin cao—gửi nhiều gói nhỏ. Highpacket-rate tấn công tiểu biểu làm chon vùi hệ thống trứơc khi lưu luợng đạt tới đỉnh điểm của bandwidth. Routers (bộ định tuyến), servers, và firewalls hay những rang buộc khác liên quan tới input/output làm hư hỏng bộ xử lý, CPU và bộ nhớ. Hệ thống sẽ đọc đầu gói tin (header packet) theo đúng cách với khối lưu luợng lớn khiến việc đó trở nên “stress”. Trong thực tế, tấn công từ chối dịch vụ thường xuyên phải hoàn tất một khối lượng gói tin lớn.
2. Protocol Attacks:
Cuộc tấn công flood cơ bản là tấn công các giao thức hệ thống mạng. Những cuộc tấn công đó không trực tiếp khai thác những tình trạng yếu kém trong TCP/IP(giao thức diièu khiến sự truyền phát/ nghi thức internet – tạm dịch) stacks hoặc ứng dụng network mà sử dụng các giao thức như TCP, UDP, và ICMP. Một số các vị dụ như sau:
• SYN flood is cách sử dụng nguồn bất đối xứng sẽ flood thông qua TCP SYN gói tin và chỉ định nạn nhân phải chấp nhận nhiều kết nối. Và sau đó, ng` ta tạo ra Host Identity Payload and Protocol (HIP mục đích để làm dịu bớt các cuộc tấn công SYN flood. Kỹ thuật khác đó là SYN Cookies (xem http://cr.yp.to/syncookies.html), sử dụng giao thức TCP/IP stacks.
• SMURF tấn công vào chỗ yếu của hệ thống broadcast (truyền thông) address với gói ICMP ECHO REQUEST rồi sẽ lừa nạn nhân(xem http://www.cert.org/advisories/CA-1998-01.html).
• FRAGGLE là biến thể của smurf, nó gửi các gói UDP để báo hiệu lại broadcast addresses rồi sẽ lừa nạn nhân.
3. Một số software DDoS :
Khác với flooding và protocol attacks, nó tìm kiếm để phá vỡ hệ thống mạng hoặc trạng thái tài nguyên, tấn công logic để khai thác những lỗi thông qua các chương trình hệ thống, như web server, hoặc dưới hình thức TCP/IP stack. Một vài vuln được tạo ra nhờ các packet dị hình.
• teardrop (bonk, boink) thâm nhập qua TCP/IP - IP stacks mà chồng chéo không thực hiện thật đúng đắn IP(xem http://www.cert.org/advisories/CA-1997-28.html).
• land thực hiện các mánh khoé qua IP packets với các nguồn address và port rồi cài nó trùng với address and port đích(xem http://www.cert.org/advisories/CA-1997-28.html).
• ping of death gửi một lượng lớn ICMP ECHO REQUEST packet tới mục tiêu.
• Naptha như một cuộc tấn công resource-starvation thông qua việc thâm nhập lỗi TCP/IP stacks - TCP packets. (xem http://www.cert.org/advisories/CA-2000-21.html).
III. Định nghĩa DDoS:
DDoS attacks bao hàm cả việc phá vỡ hang trăm hoặc hang ngàn chiếc máy sử fụng hệ thống Internet. Sau đõ attacker cài trình DDoS lên, cho phép chúng điều khiển chúng tần công vào victim sites. Cuộc tấn công này làm phá huỷ bandwidth nhanh chóng, router chạy hết công suất, hoặc phá huỷ các kết nối tới victim.
DDoS là sự phối hợp của các giai đoạn DoS attacks hoặc tiến phối hợp nhiều host khác nhau để tấn công mục tiêu từ những câu lệnh ở các máy rất xa. DDoS không thể ngăn chặn với việc chặn IP một cách đơn thuần khi mà nó được thực thi trên nhiều máy khác nhau. Một số dụng cụ DDoS được biết đến như Mstream, Trinoo, TFN2K (Tribe Flood Network), Stacheldraht and Shaft. DDoS attack là ví dụ của cuộc tấn công bandwidth.
===== The WWW Security FAQ (viết tắt của Frequently Aked Ques. thì phải) định nghĩa Distributed Denial of Service (tấn công phân phát từ chối dịch vụ):
A Distributed Denial of Service (DDoS) attack sử dụng rất nhiều máy tính để chạy những trình gây tấn công mục tiêu. Sử dụng công client/server, kẻ tấn công có thể nhân lên nhiều lần các tính trạng của Denial of Service tạo thành một thức trình có độ phá hoại cao rồi tấn công vào một hệ thống kể cả nó có bảo mật. Cuộc tấn công DDoS điển hình là cài trên một computer sử dụng account bị đánh cắp. Chương trình đó, tại một thời điểm xác định rõ, sẽ truyền đạt thông tin để cài các chương trình “agent” vào các máy khác khắp nơi trên hệ thống mạng. Khi những tên gián điệp ấy nhận được những lệnh, sẽ bắt đầu tấn công. Sử dụng công client/server, chương trình ấy có thể diều khiển hàng trăm và có thể hang nghìn “agent programs” sau vài giây.
Ping of death là một cuộc tấn công tùe chối dịch vụ, kẻ tấn công sử dụng nó theo thuật toán gửi 1 IP packet lớn hơn 65,536 bytes qua giao thức IP (IP protocol). Tính năng của TCP/IP là sự tan rã. Nó cho phép một gói IP đơn làm vỡ ra từng mảnh. Năm 1996, vài kẻ tấn công đã nhận thấy việc gửi các gói IP > 65536 bytes. Khi một gói ICMP lớn được gửi đi bởi một kẻ phá hoại tới mục tiêu, victim sẽ tiếp nhận ping trong tình trạng bị phân mảnh và bắt đầu tập hợp các gói ấy lại. Tuy vậy, việc tập hợp một số lượng lớn như vậy khiến gây tình trạng tràn bộ đệm. Khiến chúng bị đóng băng,phá huỷ hoặc reboot. Tấn công Ping of death đặc biệt nguy hiểm bởi khi ping attacker cũng nhận được 1 gói tin tương đương với số lượng đã gửi, nhưng cúng sẽ làm “crash” victim. Windows 95 và Windows NT có thể gửi gói tin như vậy một các đơn giản là "ping [target] –l 65500".
Cuối 1997, hầu như các hệ thống đều được cảnh bảo và vá lỗi để ngăn chặn ping of death. Tuy nhiên, một số Web sites vẫn tiếp tục “blok” Internet Control Message Protocol (ICMP) ping messages tại hệ thống tường lửa của họ để ngăn chặn các loại tấn công denial of service. Ping of death còn được biết dưới tên "long ICMP". Một số loại khác giống nó có thể kể đến như : jolt, sPING, ICMP bug, và IceNewk.
Một số các TOOLS khác liệt kê dưới đây, vì nó đều đã cũ nên mình không tiện dịch :
Smurf là phần mềm nguy hiểm, để hiểu rõ nó, các bạn đọc vài giới thiệu sơ lược như sau:
================================================== =============
smurf is a simple yet effective DDoS attack technique that takes advantage of the ICMP
(Internet Control Message Protocol). ICMP is normally used on the internet for error handling
and for passing control messages. One of its capabilities is to contact a host to see if it is "up" by
sending an "echo request" packet. The common "ping" program uses this functionality. smurf is
installed on a computer using a stolen account, and then continuously "pings" one or more
networks of computers using a forged source address. This causes all the computers to respond to
a different computer than actually sent the packet. The forged source address, which is the actual
target of the attack, is then overwhelmed by response traffic. The computer networks that respond
to the forged ("spoofed") packet serve as unwitting accomplices to the attack.
��The "smurf" attack, named after its exploit program, is one in the category of network-level
attacks against hosts. A perpetrator sends a large amount of ICMP echo (ping) traffic at IP
broadcast addresses, all of it having a spoofed source address of a victim. If the routing device
delivering traffic to those broadcast addresses performs the IP broadcast to layer 2 broadcast
function, most hosts on that IP network will take the ICMP echo request and reply to it with an
echo reply each, multiplying the traffic by the number of hosts responding. On a multi-access
broadcast network, there could potentially be hundreds of machines to reply to each packet.
The "smurf" attack's cousin is called "fraggle", which uses UDP echo packets in the same fashion
as the ICMP echo packets; it was a simple re-write of "smurf". There are two parties who are hurt
by this attack... the intermediary (broadcast) devices--let's call them "amplifiers", and the
spoofed address target, or the "victim". The victim is the target of a large amount of traffic that
the amplifiers generate.
Let's look at a scenario to see the nature of this attack. Assume a co-location switched network
with 250 hosts, and that the attacker has a T1. The attacker sends, say, a 234b/s stream of ICMP
echo (ping) packets, with a spoofed source address of the victim, to the broadcast address of the
"bounce site". These ping packets hit the bounce site's broadcast network of 250 hosts; each of
them takes the packet and responds to it, creating 250 ping replies out-bound. If you multiply the
bandwidth, 58.5 Mbps is used outbound from the "bounce site" after the traffic is multiplied. This
is then sent to the victim (the spoofed source of the originating packets). The perpetrators of these
attacks rely on the ability to source spoofed packets to the "amplifiers" in order to generate the
traffic which causes the denial of service.
In the case of the smurf or fraggle attack, each host which supports this behavior on a broadcast
LAN will happily reply with an ICMP or UDP (smurf or fraggle, respectively) echo-reply packet
toward the spoofed source address, the victim. The amount of bandwidth and packets per second
(pps) that can be generated by this attack is quite large. Many hosts cannot process this many
packets per second; many hosts are connected to 10 Mbps Ethernet LANs where more traffic than
wire speed is sent. Therefore, the ability to drop these packets at the network border, or even
before it flows down the ingress pipes, is desired.
Đây có lẽ là kiểu tấn công đáng sợ do tác động của mạng khuếch đại.khi bạn gửi ping request (ICMP ECHO REQUEST)đến một máy tính hoặc một hệ thống mạng, máy tính or hệ thống đó sẽ gửi lại cho bạn ping reply(ICMP ECHO REPLY), dựa vào điều này kẻ tấn công sẽ giả mạo địa chỉ IP nguồn là nạn nhân và gửi các packet đến mạng khuếch đại ,lúc đó mạng khuếch đại sẽ gửi các packet trả lời như thế cho nạn nhân ( vì kể tấn công đã giả mạo địa chỉ IP là nạn nhân )
ping request
-attacker------------------------------------------->mạng khuếch đại-IP spoofing
- victim - <------------------------------------------ - mạng khuếch đại -ping reply
Smurf attack tận dụng directed broadcast và yêu cầu tối thiểu là 3 nhân tố:
- attacker
- victim
- mạng khuếch đại (càng lớn cành tốt)
================================================== =============
[ Gửi các gói SYN-ACK lớn gây lụt hệ thống
Khi hai hệ thống kết nối TCP với nhau,chúng sẽ qua 3 bước:
client 1. ------------ SYN gửi từ client ----------------> sever
client 2. <---- SYN/ACK gửi từ sever ---------------- sever
client 3. ----------------- ACK gửi từ clien ----------------> sever
Sau 3 bước trên kết nối mới được thiệt lập giữa hai hệ thống.Trong hoàn cảnh bình thường ,SYN packet từ một công cụ thể trên hệ thông A đến một cổng cụ thể trên hệ thống B trong tình trang LISTEN.Vào thời điểm này kết nối trên hệ thông B ở tình trạng SYN_RECV. Vào giai đoạn này hệ thống B sẽ tìm cách gửi packet SYN/ACK về cho hệ thống A. Nếu mọi sự ổn thỏa hệ thông A sẽ gửi trả packet ACK,và kết nối truyển sang tình trạng ESTABLISHED.
Dù có nhiêu lúc cơ chế này chẳng có vấn đề gì ,nhưng trong hệ thống có những chỗ yếu cỗ hữu để kẻ tân công có thể lơi dụng để DOS .Vấn đề là đa số hệ thông phân phối số lượng tài nguyên định khi thiết lập kết nối tiềm tàng hoặc kết nối chưa được thiết lập hẳn ( SYN_RECV).Tuy rằng 1 hệ thống chấp nhân hàng trăm kết nối vào một cổng cụ thể ( ví dụ như cổng 80 ) nhưng chỉ lấy một chục yêu cầu kết nối là hết sạch tài nguyên phân phối cho thiết lập kết nối. Đây chính là điểm mà kẻ tấn công sẽ lợi dụng để vô hiệu hóa hệ thống. Attacker (hệ thống A ) sẽ gửi SYN packet đến Victim ( hệ thống B) và giả mạo địa chỉ IP của hệ thống C ( hệ thống C này không tồn tại trên thực tế nha) Lúc đó hệ thống B sẽ sử lí như thế nào ? hệ thống B sẽ gửi packet SYN/ACK đến hệ thống C. Giả sử rằng hệ thống C tồn tại ,nó sẽ gửi packet RST cho hệ thống B (vì nó không khởi đông kết nối).Nhưng chăng đời nào ATTACKER giả mạo IP của một hệ thông tồn tại ,chính vì thế mà hệ thống B sẽ chẳng bao giờ nhận được packet RST từ hệ thông C.Và lúc đó hệ thống B sẽ đặt kết nối này vào hàng đợi ( SYN_RECV).Do hàng đợi kết nối thường rất nhỏ attacker chỉ cần gửi vài packet SYN ( sau 10 giây thì có thể vô hiệu hóa hoàn toàn một cổng ).
======
Muốn biết mình có bị tấn công SYN flood không ban có thể dùng lênh :
Netstat -a
nếu thấy nhiều kết nối trong tình trạng SYN_RECV thì có nghĩa bạn đang bi tấn công.
Một số giải pháp :
- Tăng kích thước hàng đợi kết nối
-Giảm khoảng thời gian thiết lập kết nối
-tránh né tấn công syn flood bằng phần mềm
-IDS mạng<<< Reference : Ratholy@yahoo.co.uk]
======
[Gửi các gói OutOfBand qua cổng 139 – WinNuke còn gọi là “blue bomb” – bomb xanh hoặc bomb “buồn” …]
[Là một dạng của Ping Of Death, gửi một gói tin bị phân mảnh lớn tới hệ thống Win 2000 hoặc NT4 sử dụng qua lệnh jolt2 [IP bịp] -p 80 [IP victim], để khi victim nhận đc. sẽ bị lừa trả lại các gói ấy cho [IP bịp] kia …]
[Thông qua việc gửi các gói giao thức TCP, khiến crash hệ thống - ///error code: STOP 0x00000041 (0x00001000, 0x00001279, 0x000042A, 0x00000001) MUST_SUCCEED_POOL_EMPTY ///]
[Khiến hệ thống chạy hết công suất memory]
[Chạy 8 cuộc tấn công từ chối dịch vụ khác nhau là:
• Jolt bởi Jeff W. Roberson (sửa chữa bởi Mixter thêm tính năng overdrop)
• Land bởi m3lt
• Winnuke bởi _eci
• Nestea bởi humble và ttol - Nestea thâm nhập "off by one IP header" bug trong gói tin Linux IP bị phân mảnh. Nestea gây “crash” <= Linux 2.0.33 và vài bản Windows.
• Syndrop bởi PineKoan - Syndrop là sự hỗn hợp của teardrop và TCP SYN flooding.
• Teardrop bởi route|daemon9
• Bonk bởi route|daemon9 & klepto
• NewTear bởi route|daemon9 - NewTear là biến thể khác của teardrop.c … ]
IV. DDoS Tools:
a. Giới thiệu chung:
• Trinoo
o Gói UDP flood
o Không có address giả mạo
o Some bugs, nhưng điều khiển được đầy đủ tính năng
• TFN
o Some bugs, các tính năng điều khiển hạn chế
o Gói UDP flood ("trinoo emulation")
o Gói TCP SYN flood
o ICMP Echo flood
o Smurf
o Chọn ngẫu nhiên các IP address 32 bits ,hoặc 8 bits
• TFN2K
o Gần giống TFN, nhưng có thể ngẫu nhiên sử dụng tất cả vào 1 lúc
o Mã hoá hệ thống DDoS
o Điều khiển lưu lượng sử dụng UDP/TCP/ICMP
o Các nguồn address giả mạo cũng như TFN
• Stacheldraht/StacheldrahtV4
o Có bugs, nhưng điều khiển được đầy đủ tính năng
o Gần giống TFN .
o Các nguồn address giả mạo cũng như TFN/TFN2K
• Stacheldraht v2.666
o Có bugs
o Tấn công giống Stacheldraht
o Thêm TCP ACK flood
o Thêm TCP NUL (no flags) flood attack
o Thêm Smurf attack với bộ khuyếch đại 16,702.
o Các nguồn address giả mạo cũng như TFN/TFN2K
• Shaft
o Có bugs, nhưng điều khiển được đầy đủ tính năng
o Thêm phần thống kê
o UDP flood attack
o TCP SYN flood attack
o ICMP flood attack
o Chọn ngẫu nhiên 3 attacks
• Mstream
o “Many” bugs, các tính năng điều khiển hạn chế
o TCP ACK flood (rất hiệu quả)
o Ngẫu nhiên 32 bits IP address
Các cuộc tấn công DDoS đều đi theo trình tự:
[ Figure 1]
Daemon là các trình hoạt động kín (thường trong hệ thống UNIX), thực hiện các nhiệm vụ cần thiết ( như tiếp nhận các gói mail từ server hay gửi mail đi) mà người sử dụng hầu như không ý thức được nó.
b. Tools:
[ Là công cụ đầu tiên được biết đến đầu tiên, làm việc theo cách điều khiển từ xa, Attacker( dùng trương trình ) sẽ gọi đến chương trình Master và nó chỉ dẫn cho Daemon (đã giải thích ở trên) đồng loạt tấn công Victim.
Qua [Figure1] ta có thể giải thích ví dụ như sau trên Trin00 :
Attacker to Master(s): Port 27665/tcp
Master to daemon(s): Port 27444/udp
Daemon to Master(s): Port 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 mặc định ("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à: "gOrave"
-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") -> Điều khiển daemons flood UDP.
Password mặc định giữa master và broadcast daemon là "l44adsl".
Dưới đây là 6 gửi đến master:
- - mtimer:
Chỉnh thời gian tấn công từ chối dịch vụ mục tiêu. Master gửi lệnh "bbb" tới broadcast. Như sau: "bbb l44adsl 300". (giá trị từ 1-> 1999 giây)
- - dos:
Tấn công 1 địa chỉ IP xác định. Như sau "aaa l44adsl 127.0.0.1"
- - mdie:
Vô hiệu hoá broadcasts nếu sai password. Như sau: "d1e l44adsl".
- - mping:
Gửi ping tới broadcasts. Master gửi lệnh "png" tới broadcast, và broadcast
Gửi trở lại gói "PONG" tới UDP port 31335 của master. Như sau: "png l44 adsl".
- - mdos:
Send nhiều lênh tấn công từ chối dịch vụ. Master gửi lệnh "xyz" tới broadcast. Như sau :"xyz l44adsl 123:10.1.1.1:10.1.1.2:10.1.1.3:".
- - msize:
Đặt kích thước đệm cho những gói tin được gửi đi trong thời gian tấn công từ chối dịch vụ trên mục tiêu. Như sau: "rsz l44adsl 300".
====
Lệnh trên daemons:
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 .
<<Tham khảo>>
=====
Là một dạng của Trin00. Hoạt động giống theo [fig. 1]
-Đ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 client, dù phải cần thiết để lấy "IPLIST".
-Liên lạc từ TFN clien đến Daemon thông qua các packet ICMP_ECHO Reply
Cả client và daemon đều phải chạy trên root, và đều mở gói AF_INET trong chế độ
SOCK_RAW
-Khi chạy trương trình sẽ hiện bảng help cua TFN như sau :
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
================================================== =======
2 tools DDoS trên đều là cơ bản , trong bản Ethical Haking còn giới thiệu thêm
về TFN2K và Stacheldraht/StacheldrahtV4, tuy vậy đều không còn cần thiết, bản gốc không giới thiệu gì thêm về shaft và mstream.
----------------
V. Giải pháp phòng chống:
a. Thường xuyên cập nhật các bản vá lỗi và update hệ thống vd: update và bảo dưỡng bộ BIND trên DNS servers.
b. Triển khai thật cẩn thận những dịch vụ hệ thống mạng cần thiết.
c. Tìm, tách ra các hệ thống xâm nhập.
d. Tường lửa
e. Chống virus
f. Chính sách sử dụng, quản lý password.
g. Sử dụng các trình bảo mật để bảo vệ các tài liệu, tập tin quan trọng
h. Chú ý tới “Top 20” vulnerability và đánh giá các nguy cơ về hệ thống bảo mật.
i. Thường xuyên back-up
j. Nếu hệ thống bảo mật bằng các liên kết lỏng lẻo, cố gắng bảo vệ các máy từ xa bằng các trình tuờng lửa hoặc personal firewall/intrusion detection software.
IDS :
Sử dụng các trình Scan :
a. Find_DDoS
Phát hiện các trình tấn công từ chối dịch vụ sau:
* mstream master
* mstream server
* stacheldraht client
* stacheldraht daemon
* stacheldraht master
* tfn-rush client
* tfn client
* tfn daemon
* tfn2k client
* tfn2k daemon
* trinoo daemon
* trinoo master
Command như sau :
./find_ddos [-g grabdir] [-l logfile] [-p] [-v] [-V] [-x exclude1] [scandir]
b. SARA : Security Auditor's Research Assistant
primary_targets(s) can specify a:
host (e.g., www.microsoft.com),
range (e.g., 192.168.0.12-192.168.0.223)
subnet (e.g., 192.168.0.0/23)
Các trình còn lại, các bạn có thể tham khảo ở các đường link bên trên.
VI. Tổng kết:
Tấn công từ chối dịch vụ là phương pháp thường được sử dụng.
DDoS sử dụng nhiều các hệ thống máy (bị ma nhập – tức là attacker đã có thể điều khiển), là một phương pháp thường được sử dụng.
Các tools khác nhau trên thường dùng cho các hacker sử dụng vào mục đích xấu – tấn công từ chối dịch vụ có mục đích xấu.
Chống lại tấn công từ chối dịch vụ là khá khó khăn.
Nhiều chương trình quét khác nhau để chống lại tấn công từ chối dịch vụ đã đựợc dựng lên để viện trợ và bịt kín các lỗ hổng …
Ethical HackinG
Module 8: Denial of Service (DoS)
O. Tổng quan :
Trong phần này chúng ta sẽ tìm hiểu về nhiều khía cạnh của tấn công từ chối dịch vụ .Thảo luận với những chủ đề giống như tấn công từ chối dịch vụ là gì ? Điều gì là sự phân tán trong tấn công từ chối dịch vụ? Những kiểu tấn công từ chối dịch vụ ,các công cụ cho các cuộc tấn công và những biện pháp đối phó. [ Mr. Neo – Vietnam Internet Security System ]
DoS – Tấn công từ chối dịch vụ.
Tài liệu gồm các ý chính:
Định nghĩa tấn công từ chối dịch vụ ?
Thế nào là phát tán tấn công từ chối dịch vụ ?
Các loại tấn công từ chối dịch vụ
Công cụ tấn công từ chối dịch vụ
Công cụ DDOS attack
Trả đũa
Thực tế cho thấy: 6/6/2000. Trang chủ Yahoo đã ngưng hoạt động trong 3h, tiếp đó là tới BUY.COM, AMAZON, EBAY, CNN .. cũng lần lượt die ..
Theo tính toán của Yankee Group, thiệt hại ước tính là 1,2 tỷ $. Cuộc tấn công DDoS được ghi nhận đầu tiên là vào năm 1988 (CERT). Cuộc tấn công vào T6/2000 là do 1 cậu nhóc 15 tuổi người Canada – Mafia Boy – với công cụ Trinoo (Tribe Flood Network)
Tháng 1 năm 2001, Microsoft, MSN, expedia.com là nạn nhân của tấn công từ chối dịch vụ trong nhiều giờ đồng hồ. Theo CERT ước tính thiệt hại là 100000 $.
I. Định nghĩa tấn công từ chối dịch vụ:
Denial of Service (DoS) là cuộc tấn công được tạo nên để hoàn trả cho 1 máy tính hay 1 mạng máy tính không đủ lực để hoạt động. DoS attacks hay được sử dụng nhằm mục tiêu vào băng thông hoặc phạm vi kết nối. Việc flood băng thông của 1 hệ thống mạng với lưu lượng cao, sẽ làm sự tồn tại của hệ thống mạng bị phá huỷ (nuốt – luộc – nghĩa bong) và làm hợp pháp việc ng` sử dụng yêu cầu lấy thông tin ( chắc đây là cannot display page )
Tấn công flood phạm vi kết nối của 1 computer với liều cao của yêu cầu kết nối khiến hệ thống điều hành bị phá huỷ và chiếc computer không thể hoạt động theo yêu cầu người sử dụng
Một cuộc tấn công tấn công từ chối dịch vụ có đặc điểm là sự cố gắng muốn chiếm đoạt của attackers. Một số đặc điểm:
• Cố gắng "flood" a hệ thống mạng, để rồi ngăn ngừa sự hợp pháp của lưu luợng (traffic) trên hệ thống
• Cố gắng phá vỡ kết nối giữa 2 máy
• Cố gắng xâm nhập của 1 cá nhân
• Cố gắng phá vỡ 1 dịch vụ của một hệ thống trở nên rõ rang
Không phải tất cả dịch vụ sẽ ngưng hoạt động, nhưng những hành động trên luôn mang tính huỷ hoại và là cơ sở của tấn công từ chối dịch vụ. Một số loại tấn công khác cũng coi tấn công từ chối dịch vụ như là 1 thành phần, nhưng chính tấn công từ chối dịch vụ là một phần của một cuộc tấn công mang tính quy mô. Một sô người dung bất hợp pháp có thể lợi dụng tấn công từ chối dịch vụ. Ví dụ, kể xâm nhập có thể sử dụng phân vùng anonymous ftp làm nơi để lưu giữ bản copy bất hợp pháp của môt phần mềm thương mại , chiếm ổ dữ liệu rồi tạo nên một hệ thống lưu lượng mạng.
Trong thế giới Internet, một cuộc tấn công từ chối dịch vụ thường gắn liền với ngưới sử dụng hay một tổ chức thiếu thốn về bảo mật. Điển hình như, việc 1 trang web khi có khoảng hàng ngàn lượt truy câp cũng có thể gây lụt server. Tấn công từ chối dịch vụ còn có thể huỷ diệt toàn bộ dữ liệu của máy chủ. Thông thường, tấn công từ chối dịch vụ hay nhằm vào lỗ hổng bảo mật, đó chính là một trong những loại tấn công từ chối dịch vụ nguy hiểm . Và là, mỗi cuộc tấn công gây thiệt hại lớn về thời gian và tiền bạc của nạn nhân …
II. Phân loại tấn công từ chối dịch vụ:
1. Bandwidth/Throughput Attacks:
Tấn công vào băng thông are thực sự khá đơn giản, đó là việc cố gắng sử dụng những nguồn như network bandwidth hoặc trang bị thong lượng (throughput) . Cuộc tấn công nguy hiểm là nó có thể luộc cả băng thông khiến. Hoặc có thể khiến lưu lượng thông tin trở nên chậm chạp.
Timeouts may occur, causing retransmission, generating even more traffic.
Kể tấn công có thể luộc bandwidth bằng cách truyêng tải những lưu lựợng thônh tin trên toang bộ các kết nối của toàn hệ thống
Cuộc tấn công flood cơ bản là sử dụng UDP or gói ICMP để dễ dàng tiêu thụ bandwidth.
For that matter, an attack could consist of TCP or raw IP packets, as long as the traffic is routed to
your network.
Một cuộc tấn công tàn phá bandwidth đơn giản có thể khai thác qua giới hạn thông lượng của servers hoặc hệ thống bởi tỷ lệ các gói tệp tin cao—gửi nhiều gói nhỏ. Highpacket-rate tấn công tiểu biểu làm chon vùi hệ thống trứơc khi lưu luợng đạt tới đỉnh điểm của bandwidth. Routers (bộ định tuyến), servers, và firewalls hay những rang buộc khác liên quan tới input/output làm hư hỏng bộ xử lý, CPU và bộ nhớ. Hệ thống sẽ đọc đầu gói tin (header packet) theo đúng cách với khối lưu luợng lớn khiến việc đó trở nên “stress”. Trong thực tế, tấn công từ chối dịch vụ thường xuyên phải hoàn tất một khối lượng gói tin lớn.
2. Protocol Attacks:
Cuộc tấn công flood cơ bản là tấn công các giao thức hệ thống mạng. Những cuộc tấn công đó không trực tiếp khai thác những tình trạng yếu kém trong TCP/IP(giao thức diièu khiến sự truyền phát/ nghi thức internet – tạm dịch) stacks hoặc ứng dụng network mà sử dụng các giao thức như TCP, UDP, và ICMP. Một số các vị dụ như sau:
• SYN flood is cách sử dụng nguồn bất đối xứng sẽ flood thông qua TCP SYN gói tin và chỉ định nạn nhân phải chấp nhận nhiều kết nối. Và sau đó, ng` ta tạo ra Host Identity Payload and Protocol (HIP mục đích để làm dịu bớt các cuộc tấn công SYN flood. Kỹ thuật khác đó là SYN Cookies (xem http://cr.yp.to/syncookies.html), sử dụng giao thức TCP/IP stacks.
• SMURF tấn công vào chỗ yếu của hệ thống broadcast (truyền thông) address với gói ICMP ECHO REQUEST rồi sẽ lừa nạn nhân(xem http://www.cert.org/advisories/CA-1998-01.html).
• FRAGGLE là biến thể của smurf, nó gửi các gói UDP để báo hiệu lại broadcast addresses rồi sẽ lừa nạn nhân.
3. Một số software DDoS :
Khác với flooding và protocol attacks, nó tìm kiếm để phá vỡ hệ thống mạng hoặc trạng thái tài nguyên, tấn công logic để khai thác những lỗi thông qua các chương trình hệ thống, như web server, hoặc dưới hình thức TCP/IP stack. Một vài vuln được tạo ra nhờ các packet dị hình.
• teardrop (bonk, boink) thâm nhập qua TCP/IP - IP stacks mà chồng chéo không thực hiện thật đúng đắn IP(xem http://www.cert.org/advisories/CA-1997-28.html).
• land thực hiện các mánh khoé qua IP packets với các nguồn address và port rồi cài nó trùng với address and port đích(xem http://www.cert.org/advisories/CA-1997-28.html).
• ping of death gửi một lượng lớn ICMP ECHO REQUEST packet tới mục tiêu.
• Naptha như một cuộc tấn công resource-starvation thông qua việc thâm nhập lỗi TCP/IP stacks - TCP packets. (xem http://www.cert.org/advisories/CA-2000-21.html).
III. Định nghĩa DDoS:
DDoS attacks bao hàm cả việc phá vỡ hang trăm hoặc hang ngàn chiếc máy sử fụng hệ thống Internet. Sau đõ attacker cài trình DDoS lên, cho phép chúng điều khiển chúng tần công vào victim sites. Cuộc tấn công này làm phá huỷ bandwidth nhanh chóng, router chạy hết công suất, hoặc phá huỷ các kết nối tới victim.
DDoS là sự phối hợp của các giai đoạn DoS attacks hoặc tiến phối hợp nhiều host khác nhau để tấn công mục tiêu từ những câu lệnh ở các máy rất xa. DDoS không thể ngăn chặn với việc chặn IP một cách đơn thuần khi mà nó được thực thi trên nhiều máy khác nhau. Một số dụng cụ DDoS được biết đến như Mstream, Trinoo, TFN2K (Tribe Flood Network), Stacheldraht and Shaft. DDoS attack là ví dụ của cuộc tấn công bandwidth.
===== The WWW Security FAQ (viết tắt của Frequently Aked Ques. thì phải) định nghĩa Distributed Denial of Service (tấn công phân phát từ chối dịch vụ):
A Distributed Denial of Service (DDoS) attack sử dụng rất nhiều máy tính để chạy những trình gây tấn công mục tiêu. Sử dụng công client/server, kẻ tấn công có thể nhân lên nhiều lần các tính trạng của Denial of Service tạo thành một thức trình có độ phá hoại cao rồi tấn công vào một hệ thống kể cả nó có bảo mật. Cuộc tấn công DDoS điển hình là cài trên một computer sử dụng account bị đánh cắp. Chương trình đó, tại một thời điểm xác định rõ, sẽ truyền đạt thông tin để cài các chương trình “agent” vào các máy khác khắp nơi trên hệ thống mạng. Khi những tên gián điệp ấy nhận được những lệnh, sẽ bắt đầu tấn công. Sử dụng công client/server, chương trình ấy có thể diều khiển hàng trăm và có thể hang nghìn “agent programs” sau vài giây.
Ping of death là một cuộc tấn công tùe chối dịch vụ, kẻ tấn công sử dụng nó theo thuật toán gửi 1 IP packet lớn hơn 65,536 bytes qua giao thức IP (IP protocol). Tính năng của TCP/IP là sự tan rã. Nó cho phép một gói IP đơn làm vỡ ra từng mảnh. Năm 1996, vài kẻ tấn công đã nhận thấy việc gửi các gói IP > 65536 bytes. Khi một gói ICMP lớn được gửi đi bởi một kẻ phá hoại tới mục tiêu, victim sẽ tiếp nhận ping trong tình trạng bị phân mảnh và bắt đầu tập hợp các gói ấy lại. Tuy vậy, việc tập hợp một số lượng lớn như vậy khiến gây tình trạng tràn bộ đệm. Khiến chúng bị đóng băng,phá huỷ hoặc reboot. Tấn công Ping of death đặc biệt nguy hiểm bởi khi ping attacker cũng nhận được 1 gói tin tương đương với số lượng đã gửi, nhưng cúng sẽ làm “crash” victim. Windows 95 và Windows NT có thể gửi gói tin như vậy một các đơn giản là "ping [target] –l 65500".
Cuối 1997, hầu như các hệ thống đều được cảnh bảo và vá lỗi để ngăn chặn ping of death. Tuy nhiên, một số Web sites vẫn tiếp tục “blok” Internet Control Message Protocol (ICMP) ping messages tại hệ thống tường lửa của họ để ngăn chặn các loại tấn công denial of service. Ping of death còn được biết dưới tên "long ICMP". Một số loại khác giống nó có thể kể đến như : jolt, sPING, ICMP bug, và IceNewk.
Một số các TOOLS khác liệt kê dưới đây, vì nó đều đã cũ nên mình không tiện dịch :
Smurf là phần mềm nguy hiểm, để hiểu rõ nó, các bạn đọc vài giới thiệu sơ lược như sau:
================================================== =============
smurf is a simple yet effective DDoS attack technique that takes advantage of the ICMP
(Internet Control Message Protocol). ICMP is normally used on the internet for error handling
and for passing control messages. One of its capabilities is to contact a host to see if it is "up" by
sending an "echo request" packet. The common "ping" program uses this functionality. smurf is
installed on a computer using a stolen account, and then continuously "pings" one or more
networks of computers using a forged source address. This causes all the computers to respond to
a different computer than actually sent the packet. The forged source address, which is the actual
target of the attack, is then overwhelmed by response traffic. The computer networks that respond
to the forged ("spoofed") packet serve as unwitting accomplices to the attack.
��The "smurf" attack, named after its exploit program, is one in the category of network-level
attacks against hosts. A perpetrator sends a large amount of ICMP echo (ping) traffic at IP
broadcast addresses, all of it having a spoofed source address of a victim. If the routing device
delivering traffic to those broadcast addresses performs the IP broadcast to layer 2 broadcast
function, most hosts on that IP network will take the ICMP echo request and reply to it with an
echo reply each, multiplying the traffic by the number of hosts responding. On a multi-access
broadcast network, there could potentially be hundreds of machines to reply to each packet.
The "smurf" attack's cousin is called "fraggle", which uses UDP echo packets in the same fashion
as the ICMP echo packets; it was a simple re-write of "smurf". There are two parties who are hurt
by this attack... the intermediary (broadcast) devices--let's call them "amplifiers", and the
spoofed address target, or the "victim". The victim is the target of a large amount of traffic that
the amplifiers generate.
Let's look at a scenario to see the nature of this attack. Assume a co-location switched network
with 250 hosts, and that the attacker has a T1. The attacker sends, say, a 234b/s stream of ICMP
echo (ping) packets, with a spoofed source address of the victim, to the broadcast address of the
"bounce site". These ping packets hit the bounce site's broadcast network of 250 hosts; each of
them takes the packet and responds to it, creating 250 ping replies out-bound. If you multiply the
bandwidth, 58.5 Mbps is used outbound from the "bounce site" after the traffic is multiplied. This
is then sent to the victim (the spoofed source of the originating packets). The perpetrators of these
attacks rely on the ability to source spoofed packets to the "amplifiers" in order to generate the
traffic which causes the denial of service.
In the case of the smurf or fraggle attack, each host which supports this behavior on a broadcast
LAN will happily reply with an ICMP or UDP (smurf or fraggle, respectively) echo-reply packet
toward the spoofed source address, the victim. The amount of bandwidth and packets per second
(pps) that can be generated by this attack is quite large. Many hosts cannot process this many
packets per second; many hosts are connected to 10 Mbps Ethernet LANs where more traffic than
wire speed is sent. Therefore, the ability to drop these packets at the network border, or even
before it flows down the ingress pipes, is desired.
Đây có lẽ là kiểu tấn công đáng sợ do tác động của mạng khuếch đại.khi bạn gửi ping request (ICMP ECHO REQUEST)đến một máy tính hoặc một hệ thống mạng, máy tính or hệ thống đó sẽ gửi lại cho bạn ping reply(ICMP ECHO REPLY), dựa vào điều này kẻ tấn công sẽ giả mạo địa chỉ IP nguồn là nạn nhân và gửi các packet đến mạng khuếch đại ,lúc đó mạng khuếch đại sẽ gửi các packet trả lời như thế cho nạn nhân ( vì kể tấn công đã giả mạo địa chỉ IP là nạn nhân )
ping request
-attacker------------------------------------------->mạng khuếch đại-IP spoofing
- victim - <------------------------------------------ - mạng khuếch đại -ping reply
Smurf attack tận dụng directed broadcast và yêu cầu tối thiểu là 3 nhân tố:
- attacker
- victim
- mạng khuếch đại (càng lớn cành tốt)
================================================== =============
[ Gửi các gói SYN-ACK lớn gây lụt hệ thống
Khi hai hệ thống kết nối TCP với nhau,chúng sẽ qua 3 bước:
client 1. ------------ SYN gửi từ client ----------------> sever
client 2. <---- SYN/ACK gửi từ sever ---------------- sever
client 3. ----------------- ACK gửi từ clien ----------------> sever
Sau 3 bước trên kết nối mới được thiệt lập giữa hai hệ thống.Trong hoàn cảnh bình thường ,SYN packet từ một công cụ thể trên hệ thông A đến một cổng cụ thể trên hệ thống B trong tình trang LISTEN.Vào thời điểm này kết nối trên hệ thông B ở tình trạng SYN_RECV. Vào giai đoạn này hệ thống B sẽ tìm cách gửi packet SYN/ACK về cho hệ thống A. Nếu mọi sự ổn thỏa hệ thông A sẽ gửi trả packet ACK,và kết nối truyển sang tình trạng ESTABLISHED.
Dù có nhiêu lúc cơ chế này chẳng có vấn đề gì ,nhưng trong hệ thống có những chỗ yếu cỗ hữu để kẻ tân công có thể lơi dụng để DOS .Vấn đề là đa số hệ thông phân phối số lượng tài nguyên định khi thiết lập kết nối tiềm tàng hoặc kết nối chưa được thiết lập hẳn ( SYN_RECV).Tuy rằng 1 hệ thống chấp nhân hàng trăm kết nối vào một cổng cụ thể ( ví dụ như cổng 80 ) nhưng chỉ lấy một chục yêu cầu kết nối là hết sạch tài nguyên phân phối cho thiết lập kết nối. Đây chính là điểm mà kẻ tấn công sẽ lợi dụng để vô hiệu hóa hệ thống. Attacker (hệ thống A ) sẽ gửi SYN packet đến Victim ( hệ thống B) và giả mạo địa chỉ IP của hệ thống C ( hệ thống C này không tồn tại trên thực tế nha) Lúc đó hệ thống B sẽ sử lí như thế nào ? hệ thống B sẽ gửi packet SYN/ACK đến hệ thống C. Giả sử rằng hệ thống C tồn tại ,nó sẽ gửi packet RST cho hệ thống B (vì nó không khởi đông kết nối).Nhưng chăng đời nào ATTACKER giả mạo IP của một hệ thông tồn tại ,chính vì thế mà hệ thống B sẽ chẳng bao giờ nhận được packet RST từ hệ thông C.Và lúc đó hệ thống B sẽ đặt kết nối này vào hàng đợi ( SYN_RECV).Do hàng đợi kết nối thường rất nhỏ attacker chỉ cần gửi vài packet SYN ( sau 10 giây thì có thể vô hiệu hóa hoàn toàn một cổng ).
======
Muốn biết mình có bị tấn công SYN flood không ban có thể dùng lênh :
Netstat -a
nếu thấy nhiều kết nối trong tình trạng SYN_RECV thì có nghĩa bạn đang bi tấn công.
Một số giải pháp :
- Tăng kích thước hàng đợi kết nối
-Giảm khoảng thời gian thiết lập kết nối
-tránh né tấn công syn flood bằng phần mềm
-IDS mạng<<< Reference : Ratholy@yahoo.co.uk]
======
[Gửi các gói OutOfBand qua cổng 139 – WinNuke còn gọi là “blue bomb” – bomb xanh hoặc bomb “buồn” …]
[Là một dạng của Ping Of Death, gửi một gói tin bị phân mảnh lớn tới hệ thống Win 2000 hoặc NT4 sử dụng qua lệnh jolt2 [IP bịp] -p 80 [IP victim], để khi victim nhận đc. sẽ bị lừa trả lại các gói ấy cho [IP bịp] kia …]
[Thông qua việc gửi các gói giao thức TCP, khiến crash hệ thống - ///error code: STOP 0x00000041 (0x00001000, 0x00001279, 0x000042A, 0x00000001) MUST_SUCCEED_POOL_EMPTY ///]
[Khiến hệ thống chạy hết công suất memory]
[Chạy 8 cuộc tấn công từ chối dịch vụ khác nhau là:
• Jolt bởi Jeff W. Roberson (sửa chữa bởi Mixter thêm tính năng overdrop)
• Land bởi m3lt
• Winnuke bởi _eci
• Nestea bởi humble và ttol - Nestea thâm nhập "off by one IP header" bug trong gói tin Linux IP bị phân mảnh. Nestea gây “crash” <= Linux 2.0.33 và vài bản Windows.
• Syndrop bởi PineKoan - Syndrop là sự hỗn hợp của teardrop và TCP SYN flooding.
• Teardrop bởi route|daemon9
• Bonk bởi route|daemon9 & klepto
• NewTear bởi route|daemon9 - NewTear là biến thể khác của teardrop.c … ]
IV. DDoS Tools:
a. Giới thiệu chung:
• Trinoo
o Gói UDP flood
o Không có address giả mạo
o Some bugs, nhưng điều khiển được đầy đủ tính năng
• TFN
o Some bugs, các tính năng điều khiển hạn chế
o Gói UDP flood ("trinoo emulation")
o Gói TCP SYN flood
o ICMP Echo flood
o Smurf
o Chọn ngẫu nhiên các IP address 32 bits ,hoặc 8 bits
• TFN2K
o Gần giống TFN, nhưng có thể ngẫu nhiên sử dụng tất cả vào 1 lúc
o Mã hoá hệ thống DDoS
o Điều khiển lưu lượng sử dụng UDP/TCP/ICMP
o Các nguồn address giả mạo cũng như TFN
• Stacheldraht/StacheldrahtV4
o Có bugs, nhưng điều khiển được đầy đủ tính năng
o Gần giống TFN .
o Các nguồn address giả mạo cũng như TFN/TFN2K
• Stacheldraht v2.666
o Có bugs
o Tấn công giống Stacheldraht
o Thêm TCP ACK flood
o Thêm TCP NUL (no flags) flood attack
o Thêm Smurf attack với bộ khuyếch đại 16,702.
o Các nguồn address giả mạo cũng như TFN/TFN2K
• Shaft
o Có bugs, nhưng điều khiển được đầy đủ tính năng
o Thêm phần thống kê
o UDP flood attack
o TCP SYN flood attack
o ICMP flood attack
o Chọn ngẫu nhiên 3 attacks
• Mstream
o “Many” bugs, các tính năng điều khiển hạn chế
o TCP ACK flood (rất hiệu quả)
o Ngẫu nhiên 32 bits IP address
Các cuộc tấn công DDoS đều đi theo trình tự:
[ Figure 1]
Daemon là các trình hoạt động kín (thường trong hệ thống UNIX), thực hiện các nhiệm vụ cần thiết ( như tiếp nhận các gói mail từ server hay gửi mail đi) mà người sử dụng hầu như không ý thức được nó.
b. Tools:
[ Là công cụ đầu tiên được biết đến đầu tiên, làm việc theo cách điều khiển từ xa, Attacker( dùng trương trình ) sẽ gọi đến chương trình Master và nó chỉ dẫn cho Daemon (đã giải thích ở trên) đồng loạt tấn công Victim.
Qua [Figure1] ta có thể giải thích ví dụ như sau trên Trin00 :
Attacker to Master(s): Port 27665/tcp
Master to daemon(s): Port 27444/udp
Daemon to Master(s): Port 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 mặc định ("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à: "gOrave"
-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") -> Điều khiển daemons flood UDP.
Password mặc định giữa master và broadcast daemon là "l44adsl".
Dưới đây là 6 gửi đến master:
- - mtimer:
Chỉnh thời gian tấn công từ chối dịch vụ mục tiêu. Master gửi lệnh "bbb" tới broadcast. Như sau: "bbb l44adsl 300". (giá trị từ 1-> 1999 giây)
- - dos:
Tấn công 1 địa chỉ IP xác định. Như sau "aaa l44adsl 127.0.0.1"
- - mdie:
Vô hiệu hoá broadcasts nếu sai password. Như sau: "d1e l44adsl".
- - mping:
Gửi ping tới broadcasts. Master gửi lệnh "png" tới broadcast, và broadcast
Gửi trở lại gói "PONG" tới UDP port 31335 của master. Như sau: "png l44 adsl".
- - mdos:
Send nhiều lênh tấn công từ chối dịch vụ. Master gửi lệnh "xyz" tới broadcast. Như sau :"xyz l44adsl 123:10.1.1.1:10.1.1.2:10.1.1.3:".
- - msize:
Đặt kích thước đệm cho những gói tin được gửi đi trong thời gian tấn công từ chối dịch vụ trên mục tiêu. Như sau: "rsz l44adsl 300".
====
Lệnh trên daemons:
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 .
<<Tham khảo>>
=====
Là một dạng của Trin00. Hoạt động giống theo [fig. 1]
-Đ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 client, dù phải cần thiết để lấy "IPLIST".
-Liên lạc từ TFN clien đến Daemon thông qua các packet ICMP_ECHO Reply
Cả client và daemon đều phải chạy trên root, và đều mở gói AF_INET trong chế độ
SOCK_RAW
-Khi chạy trương trình sẽ hiện bảng help cua TFN như sau :
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
================================================== =======
2 tools DDoS trên đều là cơ bản , trong bản Ethical Haking còn giới thiệu thêm
về TFN2K và Stacheldraht/StacheldrahtV4, tuy vậy đều không còn cần thiết, bản gốc không giới thiệu gì thêm về shaft và mstream.
----------------
V. Giải pháp phòng chống:
a. Thường xuyên cập nhật các bản vá lỗi và update hệ thống vd: update và bảo dưỡng bộ BIND trên DNS servers.
b. Triển khai thật cẩn thận những dịch vụ hệ thống mạng cần thiết.
c. Tìm, tách ra các hệ thống xâm nhập.
d. Tường lửa
e. Chống virus
f. Chính sách sử dụng, quản lý password.
g. Sử dụng các trình bảo mật để bảo vệ các tài liệu, tập tin quan trọng
h. Chú ý tới “Top 20” vulnerability và đánh giá các nguy cơ về hệ thống bảo mật.
i. Thường xuyên back-up
j. Nếu hệ thống bảo mật bằng các liên kết lỏng lẻo, cố gắng bảo vệ các máy từ xa bằng các trình tuờng lửa hoặc personal firewall/intrusion detection software.
IDS :
Sử dụng các trình Scan :
a. Find_DDoS
Phát hiện các trình tấn công từ chối dịch vụ sau:
* mstream master
* mstream server
* stacheldraht client
* stacheldraht daemon
* stacheldraht master
* tfn-rush client
* tfn client
* tfn daemon
* tfn2k client
* tfn2k daemon
* trinoo daemon
* trinoo master
Command như sau :
./find_ddos [-g grabdir] [-l logfile] [-p] [-v] [-V] [-x exclude1] [scandir]
b. SARA : Security Auditor's Research Assistant
primary_targets(s) can specify a:
host (e.g., www.microsoft.com),
range (e.g., 192.168.0.12-192.168.0.223)
subnet (e.g., 192.168.0.0/23)
Các trình còn lại, các bạn có thể tham khảo ở các đường link bên trên.
VI. Tổng kết:
Tấn công từ chối dịch vụ là phương pháp thường được sử dụng.
DDoS sử dụng nhiều các hệ thống máy (bị ma nhập – tức là attacker đã có thể điều khiển), là một phương pháp thường được sử dụng.
Các tools khác nhau trên thường dùng cho các hacker sử dụng vào mục đích xấu – tấn công từ chối dịch vụ có mục đích xấu.
Chống lại tấn công từ chối dịch vụ là khá khó khăn.
Nhiều chương trình quét khác nhau để chống lại tấn công từ chối dịch vụ đã đựợc dựng lên để viện trợ và bịt kín các lỗ hổng …
Không có nhận xét nào:
Đăng nhận xét