From: aba@exe.ex.ac.uk
To: N/A
Message Hash: 3a82cad5a0c2081cda5807d562998c16fd4898d7b295f5b379da608cd7a4ac39
Message ID: <9508211354.AA12454@toad.com>
Reply To: N/A
UTC Datetime: 1995-08-21 13:56:54 UTC
Raw Date: Mon, 21 Aug 95 06:56:54 PDT
From: aba@exe.ex.ac.uk
Date: Mon, 21 Aug 95 06:56:54 PDT
Subject: NEXT CHALLENGE...
Message-ID: <9508211354.AA12454@toad.com>
MIME-Version: 1.0
Content-Type: text/plain
[Please note mail to me may bounce unless you are very careful with using
addr aba@exe.ex.ac.uk, or aba@atlas.ex.ac.uk, as there are machines out here
due to a physical breakin - a "RAM raid", I tried posting this on Sat, but
the mailer was already out and mail is buffered, so may come out twice]
A break down of Hal's challenge, could someone please check my logic
in deriving an Andrew Roo's style config file for brutessl 1.0 and
check my interpretation against Hal's interpretation in the previous
challenge.
Hal's previous challenge is indexed from his home page:
http://www.portal.com/~hfinney/
I think the challenge file should look like this:
-------------------------------------8<-------------------------------------
# SSLbrute 1.0 parameter file for Hal Finney's 2nd SSL challenge as
# posted to Cypherpunks on 19 August 1995.
#
# file checksum (ignoring # comments and whitespace) is 2977
CLEAR-MASTER fbc009916010a6153f8f36
CHALLENGE 07ea7b9d65eb61fabb4174e8453a5fc6
CONNECTION-ID d5e638d68ca8a1aeca2ef8c8e29602a4
SERVER-VERIFY 006599b6d2f2a736
-------------------------------------8<-------------------------------------
Below I will give my resoning for each field. Each field as it is
derived will be quoted with >>>
Could a few people check that I have made no mistakes.
Andrew Roos code is on:
http://www.brute.cl.cam.ac.uk/brute/
as "brutessl.tar.gz", use "save next link as" in netscape (hold shift
key down and click in Netscape 1.1).
Could someone with a PC, and a 32 bit MS Visual C++ compiler handy
compile a PC executable from the tarred files, some people won't have
access to TAR under DOS, and a precompiled binary would be useful.
Please send the binary to Piete if you do this (be sure to turn on all
optimisations). I tried but my VC++ is not 32 bit, is it possible to
produce 32 bit binaries which can be run from DOS with VC++ at all? Are the
binaries you get with win 95 / win NT likely to run under DOS ?
The keyserver will not be doling yet but please pickup the software
ready to start.
There is a unix based client, and a windows NT based client both
available from that page.
----------------------------------------------------------------------
First message from client
0x80 0x1c 0x01 0x00 0x02 0x00 0x03 0x00 0x00 0x00 0x10 0x02 0x00 0x80 0x07 0xea
0x7b 0x9d 0x65 0xeb 0x61 0xfa 0xbb 0x41 0x74 0xe8 0x45 0x3a 0x5f 0xc6
0x80 0x1c Length field: 28 bytes follow in the packet.
0x01 MSG_CLIENT_HELLO
0x00 0x02 CLIENT-VERSION-MSB CLIENT-VERSION-LSB
0x00 0x03 CIPHER-SPECS-LENGTH-MSB CIPHER-SPECS-LENGTH-LSB
0x00 0x00 SESSION-ID-LENGTH-MSB SESSION-ID-LENGTH-LSB
0x00 0x10 CHALLENGE-LENGTH-MSB CHALLENGE-LENGTH-LSB
0x02 0x00 0x80 CIPHER-SPECS-DATA
SESSION-ID-DATA
0x07 .. 0xc6 CHALLENGE-DATA [16 bytes]
CHALLENGE is:
>>> CHALLENGE 07ea7b9d65eb61fabb4174e8453a5fc6
first message from server
0x82 0x14 0x04 0x00 0x01 0x00 0x02 0x01 0xf6 0x00 0x03 0x00 0x10 0x30 0x82 0x01
0xf2 0x30 0x82 0x01 0x5b 0x02 0x02 0x01 0x8a 0x30 0x0d 0x06 0x09 0x2a 0x86 0x48
0x86 0xf7 0x0d 0x01 0x01 0x04 0x05 0x00 0x30 0x47 0x31 0x0b 0x30 0x09 0x06 0x03
0x55 0x04 0x06 0x13 0x02 0x55 0x53 0x31 0x10 0x30 0x0e 0x06 0x03 0x55 0x04 0x0b
0x13 0x07 0x54 0x65 0x73 0x74 0x20 0x43 0x41 0x31 0x26 0x30 0x24 0x06 0x03 0x55
0x04 0x0a 0x13 0x1d 0x4e 0x65 0x74 0x73 0x63 0x61 0x70 0x65 0x20 0x43 0x6f 0x6d
0x6d 0x75 0x6e 0x69 0x63 0x61 0x74 0x69 0x6f 0x6e 0x73 0x20 0x43 0x6f 0x72 0x70
0x2e 0x30 0x1e 0x17 0x0d 0x39 0x35 0x30 0x37 0x31 0x31 0x32 0x32 0x34 0x31 0x34
0x35 0x5a 0x17 0x0d 0x39 0x37 0x30 0x37 0x31 0x30 0x32 0x32 0x34 0x31 0x34 0x35
0x5a 0x30 0x7f 0x31 0x0b 0x30 0x09 0x06 0x03 0x55 0x04 0x06 0x13 0x02 0x55 0x53
0x31 0x0b 0x30 0x09 0x06 0x03 0x55 0x04 0x08 0x13 0x02 0x43 0x41 0x31 0x16 0x30
0x14 0x06 0x03 0x55 0x04 0x07 0x13 0x0d 0x4d 0x6f 0x75 0x6e 0x74 0x61 0x69 0x6e
0x20 0x56 0x69 0x65 0x77 0x31 0x26 0x30 0x24 0x06 0x03 0x55 0x04 0x0a 0x13 0x1d
0x4e 0x65 0x74 0x73 0x63 0x61 0x70 0x65 0x20 0x43 0x6f 0x6d 0x6d 0x75 0x6e 0x69
0x63 0x61 0x74 0x69 0x6f 0x6e 0x73 0x20 0x43 0x6f 0x72 0x70 0x2e 0x31 0x23 0x30
0x21 0x06 0x03 0x55 0x04 0x03 0x13 0x1a 0x45 0x2d 0x53 0x74 0x6f 0x72 0x65 0x20
0x54 0x72 0x61 0x6e 0x73 0x61 0x63 0x74 0x69 0x6f 0x6e 0x20 0x53 0x65 0x72 0x76
0x65 0x72 0x30 0x5c 0x30 0x0d 0x06 0x09 0x2a 0x86 0x48 0x86 0xf7 0x0d 0x01 0x01
0x01 0x05 0x00 0x03 0x4b 0x00 0x30 0x48 0x02 0x41 0x00 0xc7 0x24 0x0d 0xbd 0xfe
0x5f 0x21 0x09 0xb4 0x46 0x12 0xbb 0xc7 0x4c 0xbc 0x0c 0x98 0xe3 0x11 0x19 0x60
0x85 0x86 0x0a 0xa2 0xaf 0xae 0x8f 0xf9 0x43 0x86 0x92 0x1f 0xcc 0xd3 0x38 0xcf
0x92 0x14 0xa7 0x8c 0x89 0x07 0x26 0xd4 0x21 0x55 0xa8 0x43 0x2d 0xb4 0xec 0xce
0x24 0x73 0x5e 0x7c 0xe2 0xbe 0x22 0x2d 0xbd 0x96 0xbf 0x02 0x03 0x01 0x00 0x01
0x30 0x0d 0x06 0x09 0x2a 0x86 0x48 0x86 0xf7 0x0d 0x01 0x01 0x04 0x05 0x00 0x03
0x81 0x81 0x00 0x8f 0xbe 0x0c 0xae 0xc8 0xf0 0x22 0xef 0xae 0x83 0xb5 0xb1 0xe3
0xb4 0xd9 0xd6 0xa9 0x4a 0xb6 0x60 0x9c 0x0b 0x00 0x70 0x12 0x88 0x73 0xd1 0xef
0xe2 0x54 0xf6 0x3a 0xc7 0xa5 0xbe 0xe1 0xe0 0xdb 0x4d 0x20 0x10 0x3d 0x68 0x7c
0x8d 0xdb 0x16 0xf6 0x67 0xe7 0x1d 0x51 0xbc 0x19 0xa2 0xf6 0xbf 0x6f 0xa4 0x52
0xc7 0x7e 0x50 0x3d 0xb9 0x3e 0x1e 0x67 0xff 0xf6 0xf2 0x5d 0xe7 0x2b 0x7e 0x3a
0x7e 0x6c 0x40 0xb7 0x04 0x9c 0x2c 0x2b 0x89 0x0f 0x8c 0xb5 0x93 0xd8 0xac 0x94
0xe6 0x5f 0x84 0xe8 0x71 0x75 0x9e 0x10 0x6e 0x36 0xe6 0x14 0xfe 0xba 0xf8 0x11
0x71 0x9d 0x74 0x33 0x48 0x74 0xc1 0xba 0xcb 0xff 0x58 0x86 0x8c 0xba 0x9c 0x08
0xad 0xce 0x8a 0x02 0x00 0x80 0xd5 0xe6 0x38 0xd6 0x8c 0xa8 0xa1 0xae 0xca 0x2e
0xf8 0xc8 0xe2 0x96 0x02 0xa4
This is interpreted as follows:
0x82 0x14 Packet length, 532 bytes follow.
0x04 MSG-SERVER-HELLO
0x00 SESSION-ID-HIT
0x01 CERTIFICATE-TYPE
0x00 0x02 SERVER-VERSION-MSB SERVER-VERSION-LSB
0x01 0xf6 CERTIFICATE-LENGTH-MSB CERTIFICATE-LENGTH-LSB
0x00 0x03 CIPHER-SPECS-LENGTH-MSB CIPHER-SPECS-LENGTH-LSB
0x00 0x10 CONNECTION-ID-LENGTH-MSB CONNECTION-ID-LENGTH-LSB
0x30...0x8a CERTIFICATE-DATA [502 bytes]
0x02 0x00 0x80 CIPHER-SPECS-DATA
0xd5...0xa4 CONNECTION-ID-DATA [16 bytes]
CONNECTION-ID is:
>>> CONNECTION-ID d5e638d68ca8a1aeca2ef8c8e29602a4
Second message from client
0x80 0x55 0x02 0x02 0x00 0x80 0x00 0x0b 0x00 0x40 0x00 0x00 0xfb 0xc0 0x09 0x91
0x60 0x10 0xa6 0x15 0x3f 0x8f 0x36 0x5a 0x19 0x06 0x8e 0x58 0xc4 0xfa 0xd0 0x73
0xd4 0x6d 0x20 0x97 0x2f 0x85 0x95 0xb3 0xa5 0x97 0xb5 0xe0 0x63 0x91 0x61 0xb7
0x76 0x3c 0x4e 0x62 0x8b 0x02 0x2b 0x05 0x98 0xd4 0x14 0x44 0x63 0xf3 0x43 0x7e
0xa0 0xa8 0x3f 0x16 0xb2 0x43 0x4b 0x24 0x76 0xae 0xba 0x8c 0x89 0x71 0xde 0x25
0x6b 0xce 0x89 0x77 0x8a 0x30 0x2a
This is interpreted as follows:
0x80 0x55 Packet length, 85 bytes follow.
0x02 MSG-CLIENT-MASTER-KEY
0x02 0x00 0x80 CIPHER-KIND
0x00 0x0b CLEAR-KEY-LENGTH-MSB CLEAR-KEY-LENGTH-LSB
0x00 0x40 ENCRYPTED-KEY-LENGTH-MSB ENCRYPTED-KEY-LENGTH-LSB
0x00 0x00 KEY-ARG-LENGTH-MSB KEY-ARG-LENGTH-LSB
0xfb...0x36 CLEAR-KEY-DATA [11 bytes]
0x5a...0x2a ENCRYPTED-KEY-DATA [64 bytes]
KEY-ARG-DATA
So CLEAR-MASTER is:
>>> CLEAR-MASTER fbc009916010a6153f8f36
Second message from server
0x80 0x21 0x9a 0xc5 0xf7 0xd1 0x6a 0x5b 0x26 0x43 0x57 0x67 0x65 0xb6 0x3f 0x9a
0xe3 0x82 0x00 0x65 0x99 0xb6 0xd2 0xf2 0xa7 0x36 0xa0 0x7d 0xd9 0x94 0xcf 0xe2
0x33 0xb2 0x1b
This is interpreted as follows:
0x80 0x21 Packet length, 33 bytes follow
0x9a...0x82 RC4 encrypted MAC [16 bytes]
0x00 RC4 encrypted MSG-SERVER-VERIFY (0x05)
0x65...0x1b RC4 encrypted CHALLENGE-DATA from CLIENT-HELLO message
[16 bytes]
Plaintext (MSG-SERVER-VERIFY plus CHALLENGE-DATA):
0x05 0x07 0xea 0x7b 0x9d 0x65 0xeb 0x61 0xfa 0xbb 0x41 0x74 0xe8 0x45 0x3a 0x5f
0xc6
Ciphertext (from SERVER-VERIFY packet):
0x00 0x65 0x99 0xb6 0xd2 0xf2 0xa7 0x36 0xa0 0x7d 0xd9 0x94 0xcf 0xe2 0x33 0xb2
0x1b
SERVER-VERIFY is the encrypted MSG-SERVER-VERIFY plus the first seven
bytes of the encrypted CHALLENGE-DATA:
>>> SERVER-VERIFY 006599b6d2f2a736
So the completed challenge file is:
-------------------------------------8<-------------------------------------
# SSLbrute 1.0 parameter file for Hal Finney's 2nd SSL challenge as
# posted to Cypherpunks on 19 August 1995.
#
# file checksum (ignoring # comments and whitespace) is 2977
CLEAR-MASTER fbc009916010a6153f8f36
CHALLENGE 07ea7b9d65eb61fabb4174e8453a5fc6
CONNECTION-ID d5e638d68ca8a1aeca2ef8c8e29602a4
SERVER-VERIFY 006599b6d2f2a736
-------------------------------------8<-------------------------------------
Adam
Return to August 1995
Return to “Alex Tang <altitude@cic.net>”