home *** CD-ROM | disk | FTP | other *** search
/ Collection of Hack-Phreak Scene Programs / cleanhpvac.zip / cleanhpvac / XINE-1.ZIP / XINE-1.012 < prev    next >
Text File  |  1996-10-25  |  6KB  |  120 lines

  1.  
  2.                                         /-----------------------------\
  3.                                         | Xine - issue #1 - Phile 012 |
  4.                                         \-----------------------------/
  5.  
  6.  
  7.             Kernel Panic presents:
  8.           ***************************************************
  9.           *  Denial of Service Attacks in TCP/IP networks.  *
  10.           ***************************************************
  11.  
  12. Denial of Service attacks are one of the most dangerous form of Internet
  13. abuse. They are not true cracking, because you don't get control on
  14. another machine, but just make it unfunctional. Here is just an overview
  15. of some kind of them. 
  16.  
  17. ** Simple Flooding
  18.  
  19. This is just sending so many packets to a host to make it unfunctional for
  20. normal use. Usually they are ping requests. Under UNIX a common way to
  21. send them is to use ping -f [hostname]. You need root privileges to issue
  22. such a dangerous command. Of course any other method of placing a high
  23. load on a machine can do the same harm. Anyway some clever servers (for
  24. example some better inetd superdaemons) place a limitation on the number
  25. of network connections to every service. So you block that sevice but the 
  26. host is otherwise still up.
  27.  
  28. ** Route Changing
  29.  
  30. The idea behind this is to change the routing table of some host, so it
  31. loses knowledge of others hosts. The most known way to do this is send an
  32. ICMP message Host Unrechable. The receiver of such a message is supposed
  33. to don't send anymore packets to the originator. A similar result can be
  34. obtained by others ICMP messages: Redirect, Time Exceded, Service
  35. Unavaible, Parameter Problem and maybe others. The point is that the
  36. receviver makes some checks on the ICMP message. For example a Redirect is
  37. passed to the routing table manager only if it comes from the old gatway
  38. for the address that is being redirected. You have to use a tool that
  39. gives you 100% control on the built of the ICMP packet to have good
  40. results (for example Injector :-).
  41.  
  42. A more advanced method is to create fake gateway information. You can put
  43. yourself in place of gateway and broadcast every routes you want. Some
  44. gateway protocols are quite simple and programs that implement them can be 
  45. or not be careful about the authenticy of the packet.
  46.  
  47. ** Services War
  48.  
  49. A war between 2 host is origintated when they continue to send each other
  50. packets. Usually there is a message from host A to host B that triggers a
  51. response. But the original message is modified so that the response
  52. triggers on its turn another one from A to B and so on. An important point
  53. here is that the same message must act as a query and a response.
  54. Otherwise stated the service cannot (or simply doesn't) check to see if
  55. what it is sending make something comes back.
  56.  
  57. A known case is finger war. Some hosts do a finger to the originator of a
  58. request for some services (usually finger because it is know to be used by
  59. crackers to gather user information) on them. If 2 servers that employ
  60. this policy try to use a finger they get in war. Similar situtation can be
  61. triggered by an automatic mail replier. It is enough to make a fake mail
  62. from one such replier and another. If they don't make some check on the
  63. received mail the will send mail to each other forever. Of course many
  64. good programs that handle automatic mail replies do some kind of check.
  65.  
  66. Perhaps the most dangerous abuse of this kind are UDP wars. Here you place
  67. in contact 2 UDP services, each one on a different machine. For example
  68. they can be echo (port 7) and chargen (port 19). The former simply resend
  69. to the originator what it got, the later instead sends back some copies of
  70. the ascii charter set when triggered. The result is a very heavy load on
  71. the network. By the way note that this can't be done for TCP ports because
  72. this protocol requires a three-way handshaking before the connection goes
  73. active and the frames involved in it cannot be exchanged. 
  74.  
  75. ** Internal Tables Overflow
  76.  
  77. Nowdays the most known type of this kind of attacks is SYN flood. It
  78. consists in beginning lots of TCP connections with a host by actually send
  79. a packet with the SYN field in the TCP header set. The server keeps a list
  80. of TCP handshakings that are going on. This table has, of course, a
  81. defined dimension (no more than the host total memory !) and when it is
  82. filled there cannot be any other connection to the host. And because the
  83. Internet is slow the host must keep connection that are, technically
  84. speaking, in a SYN recevied state, for rather a long time. So with a low
  85. bandwith occupation (in contrast, for example, to simple flood) you can
  86. put out of order a host at least as far as TCP services as concerned. It
  87. is difficult to think of a defense against SYN flooding and the packets
  88. can be made with a fake source IP address making very difficult the
  89. discovery of the sender. 
  90.  
  91. Another table that can be overflown is in the IP reassembler. The role of
  92. this data strucure is doing housekeeping about reconstructing fragmented
  93. packet. If ther are too many fragmented IP packets also this table can be
  94. brought to overflow. Of course here only connections that get fragmented
  95. are concerned.
  96.  
  97. ** Host Miming
  98.  
  99. In this case you send responses on behalf of another host to prevent
  100. correct functionality. You must be on the way between the two
  101. communicating computers so the attack can be triggered by packets. This is
  102. because most interesting protocols need some sequence information in
  103. packets they handle (TCP) or an identification to match queries and
  104. responses (for example DNS). Anyway if the protocol you are hacking
  105. doesn't have such needs you can just keep sending fraudolent packets and
  106. it' s very likely that one of them will reach the attacked host a short
  107. while after its query, before the real answer which will be ignored. 
  108.  
  109. You can send fake response to DNS queries for a specified host. In this
  110. way whatever domain name can be resolved to a bogus IP.  This can be
  111. unreachable or even of a host that you control. The most difficult point
  112. here is that you need to match the query identification so the response is
  113. accepted. 
  114.  
  115. Another simply way to prevent normal functionality is to answer to every
  116. packet that ask to start a TCP connection (that with a SYN) with one that
  117. refuse to do it (that with a FIN). Also here a sequence number must be
  118. matched, what helps us from simple repeated sending attacks.
  119.  
  120.