CS 646 manual intrusion detection 44 10 00 3c 27 a7 40 00 40 06 8f 56 c0 a8 01 01 c0 a8 01 64 80 ab 00 17 a2 cf a9 10 d5 6d b7 2d 50 18 16 d0 ae ee 00.

Slides:



Advertisements
Similar presentations
Network and Application Attacks Contributed by- Chandra Prakash Suryawanshi CISSP, CEH, SANS-GSEC, CISA, ISO 27001LI, BS 25999LA, ERM (ISB) June 2006.
Advertisements

IPv4 - The Internet Protocol Version 4
Network Layer – IPv4 Dr. Sanjay P. Ahuja, Ph.D.
Umut Girit  One of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer.
TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
Transmission Control Protocol (TCP)
CSEE W4140 Networking Laboratory Lecture 6: TCP and UDP Jong Yul Kim
UDP & TCP Where would we be without them!. UDP User Datagram Protocol.
CSE551: Computer Network Review r Network Layers r TCP/UDP r IP.
1 TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
1 CS 4396 Computer Networks Lab Transmission Control Protocol (TCP) Part I.
Instructor: Sam Nanavaty TCP/IP protocol. Instructor: Sam Nanavaty Version – Allows for the evolution of the protocol IHL (Internet header length) – Length.
BZUPAGES.COM 1 User Datagram Protocol - UDP RFC 768, Protocol 17 Provides unreliable, connectionless on top of IP Minimal overhead, high performance –No.
Transport Layer – TCP (Part1) Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS School of Computing, UNF.
Chapter 7 – Transport Layer Protocols
Chapter 20 Network Layer: Internet Protocol Stephen Kim 20.1.
Network Layer Packet Forwarding IS250 Spring 2010
CSEE W4140 Networking Laboratory Lecture 6: TCP and UDP Jong Yul Kim
Examining IP Header Fields
TCP. Learning objectives Reliable Transport in TCP TCP flow and Congestion Control.
Transport Layer TCP and UDP IS250 Spring 2010
Microsoft Windows Server 2003 TCP/IP Protocols and Services Technical Reference Slide: 1 Lesson 12 Transmission Control Protocol (TCP) Basics.
ITIS 6167/8167: Network Security Weichao Wang. 2 Contents ICMP protocol and attacks UDP protocol and attacks TCP protocol and attacks.
Packet Analysis with Wireshark
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Network Layer ICMP and fragmentation.
The Network Layer. Network Projects Must utilize sockets programming –Client and Server –Any platform Please submit one page proposal Can work individually.
TCP/IP Essentials A Lab-Based Approach Shivendra Panwar, Shiwen Mao Jeong-dong Ryoo, and Yihan Li Chapter 5 UDP and Its Applications.
1 LAN Protocols (Week 3, Wednesday 9/10/2003) © Abdou Illia, Fall 2003.
10/13/20151 TCP/IP Transmission Control Protocol Internet Protocol.
TCP : Transmission Control Protocol Computer Network System Sirak Kaewjamnong.
Microsoft Windows Server 2003 TCP/IP Protocols and Services Technical Reference Slide: 1 Lesson 5 Internet Protocol (IP) Basics.
1 The Internet and Networked Multimedia. 2 Layering  Internet protocols are designed to work in layers, with each layer building on the facilities provided.
Transport Layer: TCP and UDP. Overview of TCP/IP protocols Comparing TCP and UDP TCP connection: establishment, data transfer, and termination Allocation.
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
Review the key networking concepts –TCP/IP reference model –Ethernet –Switched Ethernet –IP, ARP –TCP –DNS.
CCNA 1 v3.0 Module 11 TCP/IP Transport and Application Layers.
Chapter 81 Internet Protocol (IP) Our greatest glory is not in never failing, but in rising up every time we fail. - Ralph Waldo Emerson.
ECE 4110 – Internetwork Programming IP Protocol. 2 * From TCP/IP Protocol Suite, B. A. Forouzan, Prentice Hall Position of IP in TCP/IP Protocol Suite.
Lecture 22 Network Security CS 450/650 Fundamentals of Integrated Computer Security Slides are modified from Hesham El-Rewini.
1 Kyung Hee University Chapter 8 Internet Protocol (IP)
CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001.
Chapter 8 Internet Protocol (IP)
1 Computer Communication & Networks Lecture 19 Network Layer: IP and Address Mapping Waleed Ejaz.
1 Figure 3-13: Internet Protocol (IP) IP Addresses and Security  IP address spoofing: Sending a message with a false IP address (Figure 3-17)  Gives.
Internet Protocol Version 4 VersionHeader Length Type of Service Total Length IdentificationFragment Offset Time to LiveProtocolHeader Checksum Source.
© Jörg Liebeherr (modified by Malathi Veeraraghavan) 1 Overview Formats, Data Transfer, etc. Connection Management.
or call for office visit,
UDP : User Datagram Protocol 백 일 우
Lecture 21: Network Primer 7/9/2003 CSCE 590 Summer 2003.
Computer Networks 1000-Transport layer, TCP Gergely Windisch v spring.
Packet Switch Network Server client IP Ether IPTCPData.
DCN286 Introduction to Data Communication Technology Session 11.
IPv4 IPv4 The Internet Protocol version 4 (IPv4) is the delivery mechanism used by the TCP/IP protocols. Datagram Fragmentation Checksum Options Topics.
Introduction to TCP/IP networking
TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
or call for office visit, or call Kathy Cheek,
or call for office visit,
TCP/IP Internetworking
TCP.
TCP/IP Transmission Control Protocol / Internet Protocol
TCP/IP Internetworking
TCP - Part I Karim El Defrawy
ITIS 6167/8167: Network Security
TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
Net 323 D: Networks Protocols
TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
ITIS 6167/8167: Network and Information Security
NET 323D: Networks Protocols
Transport Layer 9/22/2019.
Presentation transcript:

CS 646 manual intrusion detection c 27 a f 56 c0 a c0 a ab a2 cf a9 10 d5 6d b7 2d d0 ae ee c place title here course number

objective formation of network messages from start to finish –significance of each field in the IP and TCP headers –distinguish between normal and abnormal values presentation of attacks that utilize invalid header contents

How protocol layering affects the message format Application Transport Network Link Application data TCP header Application data TCP header IP header Application data TCP header IP header Ethernet header TCP/IP StackExample Use Application data Resulting message structure telnet, , web Ethernet, Token Ring TCP, UDP IP, ICMP, IGMP TCP segment IP datagram frame Ethernet trailer No discussion of Ethernet header/trailer Packet construction from recipient’s point of view (up the protocol stack)

Defines the version of IP being used. Normal: 4 (current) and 6 (emerging). Abnormal: any values other than 4 or bytes 8-bit type of service (TOS) 4-bit version 4-bit header length 16-bit total length field 16-bit identification field 3-bit flags 13-bit fragment offset 8-bit time to live (TTL) 8-bit protocol16-bit header checksum 32-bit source IP address 32-bit destination IP address Options (if any) Variable length data field (if any) Application data TCP header IP header Ethernet header Ethernet trailer 4 version 4

Represents the number of 32-bit (4-byte) words in the header. The minimum value is 5 (20 bytes) and the maximum value is f (60 bytes) Normal: 5 (a 20 byte length), no options Abnormal: values 0-4. values 0-f when not followed by the corresponding amount of data. 20 bytes 8-bit type of service (TOS) 4-bit version 4-bit header length 16-bit total length field 16-bit identification field 3-bit flags 13-bit fragment offset 8-bit time to live (TTL) 8-bit protocol16-bit header checksum 32-bit source IP address 32-bit destination IP address Options (if any) Variable length data field (if any) Application data TCP header IP header Ethernet header Ethernet trailer 4545 a 20 byte header

Options for special case handling of data- grams. Normal: normal service 0x00 minimize delay 0x10 maximize throughput 0x08 maximize reliability 0x04 minimize monetary cost 0x02 Abnormal: values other than the 5 shown above (there can be only one turned on at a time) 20 bytes 8-bit type of service (TOS) 4-bit version 4-bit header length 16-bit total length field 16-bit identification field 3-bit flags 13-bit fragment offset 8-bit time to live (TTL) 8-bit protocol16-bit header checksum 32-bit source IP address 32-bit destination IP address Options (if any) Variable length data field (if any) Application data TCP header IP header Ethernet header Ethernet trailer minimize delay

Total length of the datagram including IP header, transport layer header, and any data. Normal: minimum length is 0x0014 (20 bytes) and maximum is 0xffff (65535). The maximum is actually limited by the link’s MTU, which is 1500 on an Ethernet. Abnormal: a value inconsistent with the actual number of bytes in the message. A value larger than the networks path MTU thus causing fragmentation. 20 bytes 8-bit type of service (TOS) 4-bit version 4-bit header length 16-bit total length field 16-bit identification field 3-bit flags 13-bit fragment offset 8-bit time to live (TTL) 8-bit protocol16-bit header checksum 32-bit source IP address 32-bit destination IP address Options (if any) Variable length data field (if any) Application data TCP header IP header Ethernet header Ethernet trailer c a 60 byte total length

Uniquely identifies each datagram sent by a host. It normally increments by one each time a datagram is sent. Normal: integers between Abnormal: repeated datagrams from a single source using the same id number (no frags and no timeout & retransmission). Datagrams from 1+ sources using the same ID suggesting it is hard coded into an exploit (high false posItives) 20 bytes 8-bit type of service (TOS) 4-bit version 4-bit header length 16-bit total length field 16-bit identification field 3-bit flags 13-bit fragment offset 8-bit time to live (TTL) 8-bit protocol16-bit header checksum 32-bit source IP address 32-bit destination IP address Options (if any) Variable length data field (if any) Application data TCP header IP header Ethernet header Ethernet trailer c 27 a7 IP ID 10151

Provides the information IP needs to re- order fragmented messages. Normal: 0x4 sets don’t fragment (DF) bit. 0x2 sets more fragments (MF) bit. MF bit Frag. Offset Meaning Not set zero packet not fragmented Set zero first fragment Set non-zero middle fragment Not set non-zero last fragment Abnormal: mismatched, overlapping, out of spec, or gapping fragment offsets. 20 bytes 8-bit type of service (TOS) 4-bit version 4-bit header length 16-bit total length field 16-bit identification field 3-bit flags 13-bit fragment offset 8-bit time to live (TTL) 8-bit protocol16-bit header checksum 32-bit source IP address 32-bit destination IP address Options (if any) Variable length data field (if any) Application data TCP header IP header Ethernet header Ethernet trailer c 27 a don’t fragment

Initialized to some value and decremented by one by every router that handles the datagram. When the field reaches 0 it is thrown away, effectively limiting the lifetime of the datagram (preventing an infinite loop) Normal: at least 64 (initially), 128, 255 Abnormal: contextual. 20 bytes 8-bit type of service (TOS) 4-bit version 4-bit header length 16-bit total length field 16-bit identification field 3-bit flags 13-bit fragment offset 8-bit time to live (TTL) 8-bit protocol16-bit header checksum 32-bit source IP address 32-bit destination IP address Options (if any) Variable length data field (if any) Application data TCP header IP header Ethernet header Ethernet trailer c 27 a hop TTL

Which protocol is encapsulated in IP. Normal: (see /etc/protocols) ICMP0x01 IGMP0x02 IP0x04 TCP 0x06 UDP0x11 Abnormal: Values 0x88 – 0xfe are un- assigned and 0xff is reserved. Others may or may not be valid depending on which protocol a network is intended to use. 20 bytes 8-bit type of service (TOS) 4-bit version 4-bit header length 16-bit total length field 16-bit identification field 3-bit flags 13-bit fragment offset 8-bit time to live (TTL) 8-bit protocol16-bit header checksum 32-bit source IP address 32-bit destination IP address Options (if any) Variable length data field (if any) Application data TCP header IP header Ethernet header Ethernet trailer c 27 a TCP data follows the IP header

Calculated over IP header only – it does not cover any data that follows the header because UDP, TCP, ICMP, and IGMP all have a checksum of their own to cover their header and data. Normal: a correct checksum Abnormal: contextual (errors in trans- mission do occur but not very often) 20 bytes 8-bit type of service (TOS) 4-bit version 4-bit header length 16-bit total length field 16-bit identification field 3-bit flags 13-bit fragment offset 8-bit time to live (TTL) 8-bit protocol16-bit header checksum 32-bit source IP address 32-bit destination IP address Options (if any) Variable length data field (if any) Application data TCP header IP header Ethernet header Ethernet trailer c 27 a f 56 checksum is 0x8f56 (dummy figures)

The alleged sender of the message. Normal: contextual Abnormal: contextual. Non-routable, reserved, internal, or vacant addresses approaching an external interface should raise suspicion. 20 bytes 8-bit type of service (TOS) 4-bit version 4-bit header length 16-bit total length field 16-bit identification field 3-bit flags 13-bit fragment offset 8-bit time to live (TTL) 8-bit protocol16-bit header checksum 32-bit source IP address 32-bit destination IP address Options (if any) Variable length data field (if any) Application data TCP header IP header Ethernet header Ethernet trailer c 27 a f 56 c0 a source address is 0xc0a80101, which translates to

The IP address of the machine intended to receive this message. Normal: contextual. Abnormal: contextual. messages to a network’s broadcast address from the outside (i.e. smurf), consecutive messages to all or part of a networks range of addresses. 20 bytes 8-bit type of service (TOS) 4-bit version 4-bit header length 16-bit total length field 16-bit identification field 3-bit flags 13-bit fragment offset 8-bit time to live (TTL) 8-bit protocol16-bit header checksum 32-bit source IP address 32-bit destination IP address Options (if any) Variable length data field (if any) Application data TCP header IP header Ethernet header Ethernet trailer c 27 a f 56 c0 a c0 a destination address is 0xc0a80164, which translates to

Options: record route, timestamp, loose source routing, strict source routing. Normal: contextual. timestamp is most common. Abnormal: loose and strict source routing can be used by attackers to manually route packets (evasion technique) The variable length data field in this case is actually the start of the TCP header How do we distinguish? 20 bytes 8-bit type of service (TOS) 4-bit version 4-bit header length 16-bit total length field 16-bit identification field 3-bit flags 13-bit fragment offset 8-bit time to live (TTL) 8-bit protocol16-bit header checksum 32-bit source IP address 32-bit destination IP address Options (if any) Variable length data field (if any) Application data TCP header IP header Ethernet header Ethernet trailer c 27 a f 56 c0 a c0 a no options

20 bytes 1516 U 4-bit header length reserved (6 bits) 16-bit window size 16-bit TCP checksum16-bit urgent pointer 32-bit sequence number 32-bit acknowledgement number Options (if any) 16-bit source port number16-bit destination port number APRSF Variable length data field (if any) 031 Application data TCP header IP header Ethernet header Ethernet trailer The port through which the host will transmit this message. Normal: contextual. acting as server, the source port should be that of which the process is listening on. acting as client, the source port should be an ephemeral port above Abnormal: datagrams to ports that are closed (trojan & service scanning), datagrams to open ports from untrusted sources. See /etc/services c 27 a f 56 c0 a c0 a ab an ephemeral client port, 25894, sends the message

20 bytes 1516 U 4-bit header length reserved (6 bits) 16-bit window size 16-bit TCP checksum16-bit urgent pointer 32-bit sequence number 32-bit acknowledgement number Options (if any) 16-bit source port number16-bit destination port number APRSF Variable length data field (if any) 031 Application data TCP header IP header Ethernet header Ethernet trailer The port at which this message is directed. Normal: contextual. acting as server, the destination port should be that of which the process is listening on. acting as client, it should be an ephemeral port above Abnormal: datagrams to ports that are closed (trojan & service scanning), datagrams to open ports from untrusted sources. See /etc/services c 27 a f 56 c0 a c0 a ab port 23, the telnet server, will receive the message

20 bytes 1516 U 4-bit header length reserved (6 bits) 16-bit window size 16-bit TCP checksum16-bit urgent pointer 32-bit sequence number 32-bit acknowledgement number Options (if any) 16-bit source port number16-bit destination port number APRSF Variable length data field (if any) 031 Application data TCP header IP header Ethernet header Ethernet trailer An initial sequence number (ISN) is chosen at random for each new TCP connection. Similar to how fragment offsets are used to reorder fragments into packets, sequence numbers are used to reorder packets into the data stream. Normal: random ISN that increases by the number of bytes this host has sent since the beginning of the connection. Abnormal: one of the values known to be coded into exploits. values that report in- accurate amounts of data have been sent c 27 a f 56 c0 a c0 a ab a2 cf a9 10 sequence number is

20 bytes 1516 U 4-bit header length reserved (6 bits) 16-bit window size 16-bit TCP checksum16-bit urgent pointer 32-bit sequence number 32-bit acknowledgement number Options (if any) 16-bit source port number16-bit destination port number APRSF Variable length data field (if any) 031 Application data TCP header IP header Ethernet header Ethernet trailer The acknowledgement number contains the next sequence number that the sender of the acknowledgement expects to receive. Normal: AN = SN +1 Abnormal: any non-zero value when the Ack flag is not set c 27 a f 56 c0 a c0 a ab a2 cf a9 10 d5 6d b7 2d acknowledgement number is

20 bytes 1516 U 4-bit header length reserved (6 bits) 16-bit window size 16-bit TCP checksum16-bit urgent pointer 32-bit sequence number 32-bit acknowledgement number Options (if any) 16-bit source port number16-bit destination port number APRSF Variable length data field (if any) 031 Application data TCP header IP header Ethernet header Ethernet trailer Length of the TCP header. Normal: minimum is 0x5 (20 bytes). When options are set, the value can be 0xf (60 bytes) at maximum. The 6-bit reserved field should always be zero. Abnormal: header length values in- consistent with the actual size. Non-zero reserved bit field c 27 a f 56 c0 a c0 a ab a2 cf a9 10 d5 6d b7 2d 50 header length is 20 bytes, reserved bits are 0

20 bytes 1516 U 4-bit header length reserved (6 bits) 16-bit window size 16-bit TCP checksum16-bit urgent pointer 32-bit sequence number 32-bit acknowledgement number Options (if any) 16-bit source port number16-bit destination port number APRSF Variable length data field (if any) 031 Application data TCP header IP header Ethernet header Ethernet trailer URGthe urgent pointer ACKthe acknowledgement number is set PSHpass the data to the app. ASAP RSTreset the connection SYNbegin a connection FINfinished sending data Normal: contextual. Possibly valid comb- inations: S, SA, A, R, RA, F, FA, FPA, UA, PA. Abnormal: contextual – “out of spec Packets,” SF (syn-fin), UAPRSF (xmas tree, nastygram, kamikaze, etc), 21****** (reserved bits set) c 27 a f 56 c0 a c0 a ab a2 cf a9 10 d5 6d b7 2d Ack and Psh flags are set

20 bytes 1516 U 4-bit header length reserved (6 bits) 16-bit window size 16-bit TCP checksum16-bit urgent pointer 32-bit sequence number 32-bit acknowledgement number Options (if any) 16-bit source port number16-bit destination port number APRSF Variable length data field (if any) 031 Application data TCP header IP header Ethernet header Ethernet trailer This value tells the transmitting host how much data it may transmit before it must stop and wait for acknowledgements from the receiver. It allows the receiver to control the flow of data. Normal: if the receiver’s input buffer is currently full, this value may be 0 telling the transmitter to discontinue data flow until further notice. Maximum window size is Abnormal: contextual. an aggressive flow of data after advertising a window size of 0 should be suspicious c 27 a f 56 c0 a c0 a ab a2 cf a9 10 d5 6d b7 2d d bytes of data can fit into the input buffer

20 bytes 1516 U 4-bit header length reserved (6 bits) 16-bit window size 16-bit TCP checksum16-bit urgent pointer 32-bit sequence number 32-bit acknowledgement number Options (if any) 16-bit source port number16-bit destination port number APRSF Variable length data field (if any) 031 Application data TCP header IP header Ethernet header Ethernet trailer A mandatory checksum covering the TCP header and contents that is calculated by the sender and verified by the receiver. Normal: a correct checksum Abnormal: an abundance of incorrect checksums c 27 a f 56 c0 a c0 a ab a2 cf a9 10 d5 6d b7 2d d0 ae ee checksum is 0xaaee (dummy figures)

20 bytes 1516 U 4-bit header length reserved (6 bits) 16-bit window size 16-bit TCP checksum16-bit urgent pointer 32-bit sequence number 32-bit acknowledgement number Options (if any) 16-bit source port number16-bit destination port number APRSF Variable length data field (if any) 031 Application data TCP header IP header Ethernet header Ethernet trailer This value, when added to the sequence number in the packet, points to the last byte of urgent data. Normal: contextual. The URG flag is common when a telnet user presses the interrupt key or an FTP user aborts a file transfer. Abnormal: a non-zero value when the URG (U) flag is not set c 27 a f 56 c0 a c0 a ab a2 cf a9 10 d5 6d b7 2d d0 ae ee the Urg flag is not set, so the urgent pointer field is 0

20 bytes 1516 U 4-bit header length reserved (6 bits) 16-bit window size 16-bit TCP checksum16-bit urgent pointer 32-bit sequence number 32-bit acknowledgement number Options (if any) 16-bit source port number16-bit destination port number APRSF Variable length data field (if any) 031 Application data TCP header IP header Ethernet header Ethernet trailer Possible options include: MSS maximum segment size SackOK selective acknowledgement Timestamp NOP no operation wscale window scale Normal: contextual. Abnormal: contextual. MSS, SackOK, and wscale may only be set in connection establishment packets (the first three) c 27 a f 56 c0 a c0 a ab a2 cf a9 10 d5 6d b7 2d d0 ae ee no options

20 bytes 1516 U 4-bit header length reserved (6 bits) 16-bit window size 16-bit TCP checksum16-bit urgent pointer 32-bit sequence number 32-bit acknowledgement number Options (if any) 16-bit source port number16-bit destination port number APRSF Variable length data field (if any) 031 Application data TCP header IP header Ethernet header Ethernet trailer Variable length data field (application data). In this example we are logging into telnet with the password “reveal77” c 27 a f 56 c0 a c0 a ab a2 cf a9 10 d5 6d b7 2d d0 ae ee c an 8-byte string, reveal77

8-bit type of service (TOS) 4-bit version 4-bit header length 16-bit total length field 16-bit identification field 3-bit flags 13-bit fragment offset 8-bit time to live (TTL) 8-bit protocol16-bit header checksum 32-bit source IP address 32-bit destination IP address 20 bytes IP header U 4-bit header length reserved (6 bits) 16-bit window size 16-bit TCP checksum16-bit urgent pointer 32-bit sequence number 32-bit acknowledgement number 16-bit source port number16-bit destination port number APRSF Variable length data field (if any) 20 bytesTCP header App. data complete message format: template before

c 27 a f 56 c0 a c0 a bytes IP header d0 ae ee00 a2 cf a9 10 D5 6d b7 2d 80 ab c bytesTCP header App. data complete message format: template after

Interpretation IP –Version: 4 –Header length: 20 –TOS: minimize delay –Total length: 60 –Identification: –Flags: DF – Don’t Fragment –TTL: 64 –Protocol: TCP –Checksum: –Source address: –Destination address: TCP –Source port: –Destination port: 23 –Sequence number: –Acknowledgement number: –Header length: 20 –Flags: Ack, Psh –Window: 5480 –Checksum: –Urgent pointer: 0 Application data –reveal c 27 a f 56 c0 a c0 a ab a2 cf a9 10 d5 6d b7 2d d0 ae ee c example message

Now, The Reverse

Snork Attack resource starvation DoS a 96 ac c7 c0 a8 26 6e c0 a8 26 6e d 20 6c 61 6d f b Observations: :135 > :135 UDP 46 [tos 0x3] the TOS is 0x03 which UDP has no legitimate use for the source and destination IP are identical (Land Attack) the source and destination port are identical, creating a socket that loops messages back and forth infinitely.

WinNuke Attack application crash DoS When a Windows system receives a packet with the URG flag set, it expects data will follow that flag. The exploit consists of setting the URG flag but not following it with data; and then sending a RST to tear down the connection. Not only will it tear down the connection but the victim would experience BSOD.

Small Footprint Attack application crash DoS Certain versions of TCPdump cannot process the packet so they crash and dump core b ac Ac [snip] this indicates an IP version 0 – there was never an IPv > IP 1204 [ttl 146] Observations: this indicates a header length of 0 – the minimum is 5

Boink Fragment Attack resource starvation DoS ff 11 7e c0 a :20 > :20 udp 28 (frag > (frag ff 11 7e c0 a this is the first fragment because the MF bit is set (0x2) and the offset field is zeroed out (0x000) Observations: the fragment ID (1109) is taken from the IP ID field – all fragments will have the same value this is the last fragment because neither the DF bit nor the MF bit is set and the offset field is non-zero IP stack has no concept of negative math – it cannot backspace into memory. Negative numbers are Interpreted as large positive numbers, and thus the data will be written somewhere far away (probably system crash).

Teardrop Fragment Attack resource starvation DoS f a 0a 0a 0a c0 0a :53 > :53 udp 28 (frag > (frag f a4 21 0a 0a 0a 0a c0 a this is the first fragment because the MF bit is set (0x2) and the offset field is zeroed out (0x000) Observations: the fragment ID (242) is taken from the IP ID field – all fragments will have the same value this is the last fragment because neither the DF bit nor the MF bit is set and the offset field is non-zero The second (and last) fragment is completely contained within the first. A bug in the fragment reassembly code of older TCP/IP stacks cause the system to crash. No room to mention this before – a non-terminal fragment size of 36 is actually illegal, it must be a multiple of 8.

Smurf Attack bandwidth consumption DoS c c e b3 87 a8 2b c0 a8 1e ff f7 ff > icmp: echo request (DF) > icmp: echo request (DF) c c e cf 44 5a e2 fa c0 a8 1e ff f7 ff e 2d xff as the last two digits refers to the broadcast address x.x.x.255 Observations: 0x01 indicates ICMP protocol, 0x0800 indicates a type 8 code 0 message (better known as echo request) evidence of forged source IP The broadcast address is used to amplify a single packet into many.

Out of Spec / Invalid TCP Flags 04/15-03:20: MY.NET :0 -> :1524 TCP TTL:126 TOS:0x0 ID:11251 DF 2*SF*PA* Seq: 0x77007F Ack: 0x1CF162D1 Win: 0x /15-03:21: MY.NET :1524 -> :119 TCP TTL:126 TOS:0x0 ID:25889 DF 21SFRPAU Seq: 0x7F1FA1 Ack: 0x6434 Win: 0x /15-03:21: MY.NET :1524 -> :119 TCP TTL:126 TOS:0x0 ID:63271 DF *1SF**A* Seq: 0x7F2011 Ack: 0x6467C476 Win: 0x /15-03:22: MY.NET :0 -> :1524 TCP TTL:126 TOS:0x0 ID:49983 DF **SF***U Seq: 0x77007F Ack: 0x21B16521 Win: 0x /15-03:22: MY.NET :147 -> :1524 TCP TTL:126 TOS:0x0 ID:38470 DF 21SFRPAU Seq: 0x77007F Ack: 0x Win: 0x /15-03:22: MY.NET :0 -> :1524 TCP TTL:126 TOS:0x0 ID:25420 DF 21SFR*** Seq: 0x77007F Ack: 0x Win: 0x /15-03:22: MY.NET :1524 -> :119 TCP TTL:126 TOS:0x0 ID:31566 DF 2*SF*PAU Seq: 0x7F22B1 Ack: 0x6593 Win: 0x5010

Conclusions The protocols have strict minimum and maximum values Fields are sensitive to error – accidental (transmission) or intentional (packet tools) Both the TCP/IP stack and application layer programs can be crashed by sending unexpected or invalid header data Context is critical – even valid values can turn illegitimate in the presence of other header data or other packets in sequence. Not all attacks (hardly!) can be identified by abnormalities in the message headers. Just as the headers are composed of several individual fields, so too is the application data in most cases. The bytes must be in specific orders – in relation to the entire packet and to each other. Attackers can swap, modify, or delete values in the payload contents and cause the receiving application to act strangely. The two transport layer protocols TCP and UDP do not share a common header format. For example, the UDP header is only 8 bytes rather than 20+

if you missed something… mnin.org/papers/cs646.ppt ethereal.com/sample/ ietf.org/rfc.html sans.org/rr/ TCP/IP Illustrated Vol.1 by W. Richard Stevens Intrusion Signatures and Analysis by Stephen Northcutt if I missed something…