Title | Detect modification of DstOpt header option data after AH |
CommandLine | ./HTR_A_In_DM_DSTH_optdata.seq -pkt ./HTR_A_DM_DSTH2_optdata.def -log 20.html -ti Detect modification of DstOpt header option data after AH |
TestVersion | REL_2_1_1 |
ToolVersion | REL_3_3_2 |
Start | 2011/10/24 15:32:16 |
Tn | /usr/local/v6eval//etc//tn.def |
Nu | /usr/local/v6eval//etc//nut.def |
Pkt | ./HTR_A_DM_DSTH2_optdata.def |
System | freebsd-i386 |
TargetName | freebsd-head |
HostName | ipv6-conf |
Type | host |
15:32:16 | Start |
*** Target initialization phase *** Target: Clear all SAD and SPD entries |
|
15:32:16 |
vRemote(ipsecClearAll.rmt) ``/usr/local/v6eval//bin/freebsd-i386//ipsecClearAll.rmt -t freebsd-i386 -u root -p v6eval -d cuau0 -o 1 ''
Connected # # /sbin/setkey -c <<EOD spdflush; flush; EOD # # sendMessagesSync: never got /sbin/setkey -c <<EODspdflush;flush;EOD echo $status 0~ [EOT] |
Target: Set SAD entries: src="3ffe:501:ffff:ff05:200:ff:fe00:c1c1" dst="3ffe:501:ffff:ff03:21c:23ff:fe09:f4e8" spi=0x1000 mode=transport protocol=ah aalgo=hmac-md5 aalgokey=TAHITEST89ABCDEF | |
15:32:22 |
vRemote(ipsecSetSAD.rmt) ``/usr/local/v6eval//bin/freebsd-i386//ipsecSetSAD.rmt -t freebsd-i386 -u root -p v6eval -d cuau0 -o 1 src="3ffe:501:ffff:ff05:200:ff:fe00:c1c1" dst="3ffe:501:ffff:ff03:21c:23ff:fe09:f4e8" spi=0x1000 mode=transport protocol=ah aalgo=hmac-md5 aalgokey=TAHITEST89ABCDEF ''
Connected # # /sbin/setkey -c <<EOD add 3ffe:501:ffff:ff05:200:ff:fe00:c1c1 3ffe:501:ffff:ff03:21c:23ff:fe09:f4e8 ah 0x1000 -m transport -A hmac-md5 "TAHITEST89ABCDEF" ; dump; EOD 3ffe:501:ffff:ff05:200:ff:fe00:c1c1 3ffe:501:ffff:ff03:21c:23ff:fe09:f4e8 ah mode=transport spi=4096(0x00001000) reqid=0(0x00000000) A: hmac-md5 54414849 54455354 38394142 43444546 seq=0x00000000 replay=0 flags=0x00000040 state=mature created: Oct 25 11:10:36 2011 current: Oct 25 11:10:36 2011 diff: 0(s) hard: 0(s) soft: 0(s) last: hard: 0(s) soft: 0(s) current: 0(bytes) hard: 0(bytes) soft: 0(bytes) allocated: 0 hard: 0 soft: 0 sadb_seq=0 pid=1391 refcnt=1 # # sendMessagesSync: never got /sbin/setkey -c <<EODadd 3ffe:501:ffff:ff05:200:ff:fe00:c1c1 3ffe:501:ffff:ff03:21c:23ff:fe09:f4e8 ah 0x1000 -m transport -A hmac-md5 "TAHITEST89ABCDEF";dump;EOD echo $status 0~ [EOT] |
Target: Set SPD entries: src="3ffe:501:ffff:ff05:200:ff:fe00:c1c1" dst="3ffe:501:ffff:ff03:21c:23ff:fe09:f4e8" upperspec=any direction=in protocol=ah mode=transport | |
15:32:27 |
vRemote(ipsecSetSPD.rmt) ``/usr/local/v6eval//bin/freebsd-i386//ipsecSetSPD.rmt -t freebsd-i386 -u root -p v6eval -d cuau0 -o 1 src="3ffe:501:ffff:ff05:200:ff:fe00:c1c1" dst="3ffe:501:ffff:ff03:21c:23ff:fe09:f4e8" upperspec=any direction=in protocol=ah mode=transport ''
Connected # # /sbin/setkey -c <<EOD spdadd 3ffe:501:ffff:ff05:200:ff:fe00:c1c1 3ffe:501:ffff:ff03:21c:23ff:fe09:f4e8 any -P in ipsec ah/transport/3ffe:501:ffff:ff05:200:ff:fe00:c1c1-3ffe:501:ffff:ff03:21c:23ff:fe09:f4e8/require ; spddump; EOD 3ffe:501:ffff:ff05:200:ff:fe00:c1c1[any] 3ffe:501:ffff:ff03:21c:23ff:fe09:f4e8[any] any in ipsec ah/transport/3ffe:501:ffff:ff05:200:ff:fe00:c1c1-3ffe:501:ffff:ff03:21c:23ff:fe09:f4e8/require spid=22 seq=0 pid=1392 refcnt=1 # # sendMessagesSync: never got /sbin/setkey -c <<EODspdadd 3ffe:501:ffff:ff05:200:ff:fe00:c1c1 3ffe:501:ffff:ff03:21c:23ff:fe09:f4e8 any -P in ipsec ah/transport/3ffe:501:ffff:ff05:200:ff:fe00:c1c1-3ffe:501:ffff:ff03:21c:23ff:fe09:f4e8/require;spddump;EOD echo $status 0~ [EOT] |
*** Target testing phase *** |
|
15:32:33 | Start Capturing Packets (Link0) |
Subtest No.1: option bit 000: option data is immutable |
|
15:32:33 |
vSend(Link0,echo_request_from_host1_dstopt_ah) send echo_request_from_host1_dstopt_ah |
15:32:34 | vRecv(Link0,ns_to_router_linkaddr ns_to_router echo_reply_to_host1) timeout:6 cntLimit:0 seektime:0 recv echo_reply_to_host1 |
15:32:34 | vRecv(Link0,ns_to_router_linkaddr ns_to_router) timeout:6 cntLimit:0 seektime:0 recv ns_to_router_linkaddr |
15:32:39 |
vSend(Link0,na_from_router_linkaddr) send na_from_router_linkaddr |
NC about Router was PROBE state, but now it's REACHABLE. | |
15:32:39 | vRecv(Link0,ns_to_router_linkaddr) timeout:6 cntLimit:0 seektime:0 vRecv() return status=1 |
15:32:45 | vRecv(Link0,ns_to_router_linkaddr) timeout:6 cntLimit:0 seektime:0 vRecv() return status=1 |
TN received echo reply from NUT to HOST1. |
|
15:32:51 |
vSend(Link0,echo_request_from_host1_ah_dm_dsth_000optdata) send echo_request_from_host1_ah_dm_dsth_000optdata |
15:32:51 | vRecv(Link0,ns_to_router_linkaddr ns_to_router echo_reply_to_host1) timeout:6 cntLimit:0 seektime:0 vRecv() return status=1 |
TN received no echo reply from NUT to HOST1. TN ignored the modified echo request packet. Subtest No.1 PASS Subtest No.2: option bit 001: option data is mutable |
|
15:32:57 |
vSend(Link0,echo_request_from_host1_ah_dm_dsth_001optdata) send echo_request_from_host1_ah_dm_dsth_001optdata |
15:32:57 | vRecv(Link0,ns_to_router_linkaddr ns_to_router echo_reply_to_host1) timeout:6 cntLimit:0 seektime:0 vRecv() return status=1 |
TN received no echo reply from NUT to HOST1. Subtest No.2 FAIL Subtest Results |1| option bit 000: option data is immutable | PASS | |2| option bit 001: option data is mutable | FAIL | NG |
|
15:33:03 | End |
Frame_Ether (length:102) | Hdr_Ether (length:14) | | DestinationAddress = 00:1c:23:09:f4:e8 | | SourceAddress = 00:00:00:00:a0:a0 | | Type = 34525 | Packet_IPv6 (length:88) | | Hdr_IPv6 (length:40) | | | Version = 6 | | | TrafficClass = 0 | | | FlowLabel = 0 | | | PayloadLength = 48 | | | NextHeader = 51 | | | HopLimit = 64 | | | SourceAddress = 3ffe:501:ffff:ff05:200:ff:fe00:c1c1 | | | DestinationAddress = 3ffe:501:ffff:ff03:21c:23ff:fe09:f4e8 | | Hdr_AH (length:24) | | | NextHeader = 60 | | | PayloadLength = 4 | | | Reserved = 0 | | | SPI = 4096 | | | SequenceNumber = 2 | | | algorithm = aalgo_hmacmd5_012 | | | ICV = 61c01e0e 62cecca9 f9be2477 calc(61c01e0e 62cecca9 f9be2477) | | Hdr_Destination (length:8) | | | NextHeader = 58 | | | HeaderExtLength = 0 | | | Opt_ANY (length:6) | | | | OptionType = 2 | | | | OptDataLength = 4 | | | | data = 0f0f0000 | | ICMPv6_EchoRequest (length:16) | | | Type = 128 | | | Code = 0 | | | Checksum = 46407 calc(46407) | | | Identifier = 0 | | | SequenceNumber = 0 | | | Payload (length:8) | | | | data = 4563686f 44617461
Frame_Ether (length:70) | Hdr_Ether (length:14) | | DestinationAddress = 00:00:00:00:a0:a0 | | SourceAddress = 00:1c:23:09:f4:e8 | | Type = 34525 | Packet_IPv6 (length:56) | | Hdr_IPv6 (length:40) | | | Version = 6 | | | TrafficClass = 0 | | | FlowLabel = 0 | | | PayloadLength = 16 | | | NextHeader = 58 | | | HopLimit = 64 | | | SourceAddress = 3ffe:501:ffff:ff03:21c:23ff:fe09:f4e8 | | | DestinationAddress = 3ffe:501:ffff:ff05:200:ff:fe00:c1c1 | | ICMPv6_EchoReply (length:16) | | | Type = 129 | | | Code = 0 | | | Checksum = 46151 calc(46151) | | | Identifier = 0 | | | SequenceNumber = 0 | | | Payload (length:8) | | | | data = 4563686f 44617461 ===ns_to_router_linkaddr================================= ng compare _HDR_IPV6_ns_to_router_linkaddr.HopLimit received:64 = 255 ng compare _HDR_IPV6_ns_to_router_linkaddr.DestinationAddress received:3ffe:501:ffff:ff05:200:ff:fe00:c1c1 = oneof(v6("fe80::200:ff:fe00:a0a0"),v6merge("FF02:0:0:0:0:1:FF00:0000",104,v6("fe80::200:ff:fe00:a0a0"))) ng meta Packet_IPv6.ICMPv6_NS != Packet_IPv6.ICMPv6_EchoReply ===ns_to_router================================= ng compare _HDR_IPV6_ns_to_router.HopLimit received:64 = 255 ng compare _HDR_IPV6_ns_to_router.DestinationAddress received:3ffe:501:ffff:ff05:200:ff:fe00:c1c1 = oneof(v6("3ffe:501:ffff:ff03:200:ff:fe00:a0a0"),v6merge("FF02:0:0:0:0:1:FF00:0000",104,v6("3ffe:501:ffff:ff03:200:ff:fe00:a0a0"))) ng meta Packet_IPv6.ICMPv6_NS != Packet_IPv6.ICMPv6_EchoReply ===echo_reply_to_host1=================================
Frame_Ether (length:86) | Hdr_Ether (length:14) | | DestinationAddress = 00:00:00:00:a0:a0 | | SourceAddress = 00:1c:23:09:f4:e8 | | Type = 34525 | Packet_IPv6 (length:72) | | Hdr_IPv6 (length:40) | | | Version = 6 | | | TrafficClass = 0 | | | FlowLabel = 0 | | | PayloadLength = 32 | | | NextHeader = 58 | | | HopLimit = 255 | | | SourceAddress = fe80::21c:23ff:fe09:f4e8 | | | DestinationAddress = fe80::200:ff:fe00:a0a0 | | ICMPv6_NS (length:32) | | | Type = 135 | | | Code = 0 | | | Checksum = 1988 calc(1988) | | | Reserved = 0 | | | TargetAddress = fe80::200:ff:fe00:a0a0 | | | Opt_ICMPv6_SLL (length:8) | | | | Type = 1 | | | | Length = 1 | | | | LinkLayerAddress = 00:1c:23:09:f4:e8 ===ns_to_router_linkaddr=================================
Frame_Ether (length:86) | Hdr_Ether (length:14) | | DestinationAddress = 00:1c:23:09:f4:e8 | | SourceAddress = 00:00:00:00:a0:a0 | | Type = 34525 | Packet_IPv6 (length:72) | | Hdr_IPv6 (length:40) | | | Version = 6 | | | TrafficClass = 0 | | | FlowLabel = 0 | | | PayloadLength = 32 | | | NextHeader = 58 | | | HopLimit = 255 | | | SourceAddress = fe80::200:ff:fe00:a0a0 | | | DestinationAddress = 3ffe:501:ffff:ff03:21c:23ff:fe09:f4e8 | | ICMPv6_NA (length:32) | | | Type = 136 | | | Code = 0 | | | Checksum = 22446 calc(22446) | | | RFlag = 1 | | | SFlag = 1 | | | OFlag = 1 | | | Reserved = 0 | | | TargetAddress = fe80::200:ff:fe00:a0a0 | | | Opt_ICMPv6_TLL (length:8) | | | | Type = 2 | | | | Length = 1 | | | | LinkLayerAddress = 00:00:00:00:a0:a0
Frame_Ether (length:102) | Hdr_Ether (length:14) | | DestinationAddress = 00:1c:23:09:f4:e8 | | SourceAddress = 00:00:00:00:a0:a0 | | Type = 34525 | Packet_IPv6 (length:88) | | Hdr_IPv6 (length:40) | | | Version = 6 | | | TrafficClass = 0 | | | FlowLabel = 0 | | | PayloadLength = 48 | | | NextHeader = 51 | | | HopLimit = 64 | | | SourceAddress = 3ffe:501:ffff:ff05:200:ff:fe00:c1c1 | | | DestinationAddress = 3ffe:501:ffff:ff03:21c:23ff:fe09:f4e8 | | Hdr_AH (length:24) | | | NextHeader = 60 | | | PayloadLength = 4 | | | Reserved = 0 | | | SPI = 4096 | | | SequenceNumber = 3 | | | ICV = calc() | | | Padding = 9784c9db 4ee3ff9f b7f54641 | | Hdr_Destination (length:8) | | | NextHeader = 58 | | | HeaderExtLength = 0 | | | Opt_ANY (length:6) | | | | OptionType = 2 | | | | OptDataLength = 4 | | | | data = 00000000 | | ICMPv6_EchoRequest (length:16) | | | Type = 128 | | | Code = 0 | | | Checksum = 46407 calc(46407) | | | Identifier = 0 | | | SequenceNumber = 0 | | | Payload (length:8) | | | | data = 4563686f 44617461
Frame_Ether (length:102) | Hdr_Ether (length:14) | | DestinationAddress = 00:1c:23:09:f4:e8 | | SourceAddress = 00:00:00:00:a0:a0 | | Type = 34525 | Packet_IPv6 (length:88) | | Hdr_IPv6 (length:40) | | | Version = 6 | | | TrafficClass = 0 | | | FlowLabel = 0 | | | PayloadLength = 48 | | | NextHeader = 51 | | | HopLimit = 64 | | | SourceAddress = 3ffe:501:ffff:ff05:200:ff:fe00:c1c1 | | | DestinationAddress = 3ffe:501:ffff:ff03:21c:23ff:fe09:f4e8 | | Hdr_AH (length:24) | | | NextHeader = 60 | | | PayloadLength = 4 | | | Reserved = 0 | | | SPI = 4096 | | | SequenceNumber = 4 | | | ICV = calc() | | | Padding = 8a348884 bdd8893d 816179f2 | | Hdr_Destination (length:8) | | | NextHeader = 58 | | | HeaderExtLength = 0 | | | Opt_ANY (length:6) | | | | OptionType = 34 | | | | OptDataLength = 4 | | | | data = 1f1f0000 | | ICMPv6_EchoRequest (length:16) | | | Type = 128 | | | Code = 0 | | | Checksum = 46407 calc(46407) | | | Identifier = 0 | | | SequenceNumber = 0 | | | Payload (length:8) | | | | data = 4563686f 44617461