A spoofing attack is different from a  hijack  in that an  attacker is not actively taking another user offline  to  perform the attack. he  pretends to be another user or machine to  gain  access.
| The  early  record of a session hijacking is perhaps the  Morris Worm  episode that  affected nearly 6000 computers on the ARPANET in 1988.   This was  ARPANET's first automated network security incident. Robert T.  Morris   wrote a program that would connect to another computer, find  and use one  of  several vulnerabilities to copy itself to that second  computer, and  begin to run  the copy of itself at the new location.  Both the original  code and the copy  would then repeat these actions in  an infinite loop  to other computers on the  ARPANET. | 
Though  this has found reference time and again in the  context of  worms and  denial of service, the basic working of the Morris  worm was based on   the discovery that the security of a TCP/IP  connection rested in the  sequence  numbers and that it was possible to  predict them
| Blind  IP spoofing involves  predicting the sequence numbers  that the  victimized host will send in  order to create a connection which appears   to originate from the host.  Before exploring blind spoofing further,  let us take  a look at sequence  number prediction. | 
TCP  sequence numbers are used to  provide flow control and data  integrity  for TCP sessions. Every byte  in a TCP session has a unique sequence   number. Moreover, every TCP  segment provides the sequence number of the  initial  byte (ISN), as  part of the segment header. The initial sequence  number does not  start  at zero for each session. Instead, the  participants specify initial   sequence numbers as part of the handshake  process-a different ISN for  each  direction-and begin numbering the  bytes sequentially from there.
Blind  IP spoofing  relies on the attacker's ability to predict  sequence  numbers as he is  unable to sniff the communication between the two   hosts by virtue of  not being on the same network segment. He cannot  spoof a  trusted host  on a different network and see the reply packets  because the  packets  are not routed back to him. He cannot resort to  ARP cache poisoning as   well because routers do not route ARP  broadcasts across the Internet. As  he is  not able to see the replies  he is forced to anticipate the  responses from the  victim and prevent  the host from sending a RST to  the victim. The attacker then  injects  himself into the communication by  predicting what sequence number the   remote host is expecting from the  victim. This is used extensively to  exploit  the trust relationships  between users and remote machines,  these services  include NFS, telnet,  IRC, etc.
IP  spoofing is relatively easy to  accomplish. The only  pre-requisite on  part of the attacker is to have  root access on a machine in  order to  create raw packets. In order to  establish a spoofed connection the   attacker must know what sequence  numbers are being used. Therefore, IP  spoofing  forces the attacker to  have to predict the next sequence  number.
The  attacker can use "blind"  hijacking, to send a command, but can  never  see the response. However,  a common command would be to set a password   allowing access from  somewhere else on the net. The attack became famous  when  Kevin Mitnick  used it to hack into Tsutomu Shimomura's computer  network. The  attack  exploited the trust that Shimomura's machines had  with the other  network.  By SYN flooding the trusted host, Mitnick was  able to  establish a short  connection which was then used to gain access   through traditional methods.
With  Hijacking an attacker is taking over an  existing  session, which means  he is relying on the legitimate user to  make a connection  and  authenticate. Then take over the session.
With  IP Spoofing there is no need to  guess the sequence number  since there  is no session currently open with  that IP address. The traffic would   get back to the attacker only by  using source routing. This is where  the  attacker tells the network how  to route the output and input from a  session, and  he simply sniffs it  from the network as it passes by  him. Source routing is an  IP option  used today mainly by network  managers to check connectivity. Normally,   when an IP packet leaves a  system, its path is controlled by the routers  and  their current  configuration. Source routing provides a means to  override the  control  of the routers.
| When  an attacker  uses captured, reverse engineered or brute  forced  authentication  tokens to take over the control of a legitimate user's   session while he  is in session, the session is said to be hijacked. Due  to this  attack,  the legitimate user may loose access or be deprived  of the normal   functionality of the session to the attacker, who now  acts with the  user's  privileges. | 
Most  authentications occur at the  beginning of a TCP session, this  makes it  possible for the attacker to  gain access to a target machine. A popular   method attackers adopt is  to use source-routed IP packets. This allows  an  attacker to become a  part of the target - host conversation by  deceiving the IP  packets to  pass through his system. The attacker can  also carry out the classic   man-in-the-middle attack using a sniffing  program to monitor the   conversation.
In TCP session  hijacking, a  familiar aspect of the attacks is the  carrying out of a   denial-of-service (DoS) attack against the target / host to  prevent it   from responding by either forcing the machine to crash, or against  the   network connection to result in a heavy packet loss (e.g. SYN flood).
| Session  hijacking is even more difficult than IP  address  spoofing. In session  hijacking, John would seek to insert  himself into a session  that Jane  already had set up with \\Mail. John  would wait until Jane established   a session, then knock her off the air  by some means and pick up the  session as  though he was her. As before,  John would send a scripted  set of packets to  \\Mail but would not be  able to see the responses.  To do this, he would need to  know the  sequence number in use when he  hijacked the session, which could be   calculated knowing the ISN and  the number of packets that have been   exchanged. | 
Successful   session hijacking is extremely difficult and only  possible when a   number of factors are under the attacker's control. Knowledge of  the   ISN would be the least of John's challenges. For instance, he would need   a  way to knock Jane off the air at will. He also would need a way to   know the  exact status of Jane's session at the moment he mounted his   attack. Both of  these require that John have far more knowledge about   and control over the  session than normally would be possible.
However,  IP address spoofing attacks can only be successful  if IP  addresses  are used for authentication. An attacker cannot  perform IP address   spoofing or session hijacking if per-packet  integrity checking is  executed.  Similarly, neither IP address spoofing  nor session hijacking  are possible if the  session uses encryption such  as SSL or PPTP, as  the attacker will not be able to  participate in the  key exchange.  Therefore the essential requirements to hijack   non-encrypted TCP  communications can be listed as: Presence of  non-encrypted  session  oriented traffic, ability to recognize TCP  sequence numbers and predict   the next sequence number (NSN) and  capability to spoof a hosts MAC or  IP address  to receive communications  which are not destined for the  attackers host. If the  attacker is on  the local segment, they can  sniff and predict the ISN+1 number  and have  the traffic routed back to  them by poisoning the ARP cache.
 
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.