SlideShare a Scribd company logo
1 of 79
Download to read offline
MASTERCLASS
INTEROPERABILITY
JULIENKERIHUEL/@jkerihuel|23/01/2015
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 2 of 792 of 79
INTEROPERABILITY:THROUGHDCE/RPCHISTORY
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 3 of 79
WHATISDCE/RPC?
●
DCE forDistributedComputingEnvironment
●
RPC forRemoteProcedureCalls
“Thissystemallowsprogrammerstowritedistributedsoftwareasifitwereallworkingon
thesamecomputer,withouthavingtoworryabouttheunderlyingnetworkcode.”
Source:wikipedia
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 4 of 79
HISTORYOFDCE/RPC
●
IdeaofRPCin1976[RFC-707]
●
OSFDCE/RPCRequestforTechnology
– OSFDCE1.1Referenceimplementationpublishedin1993(250KLOC,OSF1.0BSD-compatiblelicense)
– OSFDCE1.2.2ontopofDCE/RPC1.1in1996(3.5millionsLOC,pricepercopy)
●
ReleasedunderLGPLin2005:FreeDCEimplementationinLinux2.4.Xand2.6.X
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 5 of 79
THEBIRTHOFMSRPC
●
A Question of money
●
LeadtosignificantDCE/RPCimprovements
– TransportoverNamedPipes(NCACN_NP)
– NTLM/GSSAPI
– UNICODEsupport
– IDLextensions
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 6 of 79
WHATISINTEROPERABILITY?
“Theabilityofmakingsystemsandorganizationsworktogether:inter-operate”
Compatibility vsde facto Standard vsInteroperability
Source: wikipedia
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 7 of 79
COMPATIBILITYDIFFERENTFROMINTEROPERABILITY
Whentwosystemscommunicatetogether
Image: Camille Moulin
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 8 of 79
DEFACTOSTANDARDDIFFERENTFROMINTEROPERABILITY
Whendominantpositionleadotheractorstobecompatiblewithit
Master(1)/Slave(n)relationship
OpenStandard/ClosedStandard
Image: Camille Moulin
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 9 of 79
INTEROPERABILITY
NtoNcommunication–notdependentofa3rdpartyvendor
“Everybody talks the same language without restrictions”
Image: Camille Moulin
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 10 of 79
THEPATHTOINTEROPERABILITY
●
FreeSoftwareisthelinkfromstandardtointeroperability
●
Open Specifications
Image: Camille Moulin
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 11 of 79
INTEROPERABILITYANDOPENESS
●
Closedprotocolsprovidesecuritybyobfuscation
●
Itisbadpractice
●
RememberBlasterorSasserworms?
Image: Camille Moulin
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 12 of 7912 of 79
PROTOCOLANALYSIS:DEFINITION/TECHNIQUES
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 13 of 79
PROTOCOLANALYSISDEFINITION
●
Itisthe core methodology involvedinSambaandOpenChange
●
Uniquerequirementsare:
– Networkpacketanalyzer
– MethodologyandCommitment
●
Differentfromreverseengineeringbecausenobinaryanalysisordecompilation
Image: Camille Moulin
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 14 of 79
FRENCHCAFETECHNIQUE
Robert Doisneau, 1966
THE CONCEPT
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 15 of 79
FRENCHCAFETECHNIQUE
SambaXP 2005
THE REALITY
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 16 of 79
FRENCHCAFETECHNIQUE
1. LISTENANDREPEAT
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 17 of 79
FRENCHCAFETECHNIQUE
1. LISTENANDREPEAT
2. SWEARWORDSANDERRORPACKETS
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 18 of 79
FRENCHCAFETECHNIQUE
1. LISTENANDREPEAT
2. SWEARWORDSANDERRORPACKETS
3. WRITEAPROTOCOLSCANNER
1. Appendadditionalblankbytesuntiltheserverchangesitsresponseinsomeway
2. Changeadditionalbytesuntilserveracceptsit
3. Figureoutwhatthecommanddoes
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 19 of 79
FRENCHCAFETECHNIQUE
1. LISTENANDREPEAT
2. SWEARWORDSANDERRORPACKETS
3. WRITEAPROTOCOLSCANNER
4. DIFFERENTIALTECHNIQUE
1. Discoverinteractionsbetweendifferentcommandwords
2. Changecustomserveruntilitbehaveslikerealone
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 20 of 79
FRENCHWAITERTECHNIQUE
Switchrolesandanalyzecustomer'sreaction
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 21 of 79
FRENCHWAITERTECHNIQUE
1. SALTCOFFEE
1. Silentlydrinkit?
2. Askforanotherone?
3. SwearandLeave?
Salt shaker on white background" by Dubravko Sorić SoraZG on Flickr -
http://www.flickr.com/photos/11939863@N08/3793288383/in/photostream/.
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 22 of 79
FRENCHWAITERTECHNIQUE
1. SALTCOFFEE
2. IGNORECUSTOMERCALLS
1. Howlongdoeshewait?
2. Callmanagerorotherwaiter?
3. Movetothecafénextdoor?
Image: photostock / FreeDigitalPhotos.net
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 23 of 79
FRENCHWAITERTECHNIQUE
1. SALTCOFFEE
2. IGNORECUSTOMERCALLS
3. PRETENDYOUDON'TUNDERSTANDFRENCH
1. Howmanytriesbeforeheleaves?
2. Doestheclientorderinanotherlanguage?
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 24 of 79
MIDLDECOMPILER
●
Muddle:firstMIDLdecompiler
●
WrittenbyMattChapmannin2000
●
Controversialandimperfecttechnique
●
ProcessRPCService'sexecutabletoreturnIDLfile
●
IDL-InterfaceDescriptionLanguage
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 25 of 7925 of 79
INTEROPERABILITYBYEXAMPLE
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 26 of 79
THEEXCHANGELOGONCASE
Let'srunanetworkanalysissessiononExchangeMAPILogon
andfigureouttheIDLoftheRPCcall
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 27 of 79
NETWORKDATAREPRESENTATION
●
UsedbyDCE/RPCandMSRPCfordatamarshalling/unmarshalling
●
Transfersyntax
●
Providesprimitivesandcomplextypes
●
Little-endianbased(leastsignificantbitfirst)
●
Alignmentenforced
●
http://pubs.opengroup.org/onlinepubs/9629399/chap14.htm
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 28 of 79
EXCHANGELOGON:SDK&CAPTURE
1. WriteaatomicprogramusingMAPISDKthatlogsontoExchangeServer
2. CapturethetrafficwithWiresharkandexportstubdata
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 29 of 79
EXCHANGELOGON:HEXDUMP
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 30 of 79
EXCHANGELOGON:HEXDUMPANDPROCESSING
$ hexdump ­C <pkt>
00000000  00 00 00 00 83 f2 c7 15  74 66 15 47 99 33 ac 9f  |........tf.G.3..|
00000010  fd bf 24 08 00 00 00 00  6f 00 00 00 00 00 06 00  |..$.....o.......|
00000020  67 00 67 00 c6 a5 5b a5  a5 a4 a9 a1 a5 a5 a5 a5  |g.g...[.........|
00000030  a5 a5 f6 a5 8a ca 98 e3  cc d7 d6 d1 85 ea d7 c2  |................|
00000040  c4 cb cc df c4 d1 cc ca  cb 8a ca d0 98 e3 cc d7  |................|
00000050  d6 d1 85 e4 c1 c8 cc cb  cc d6 d1 d7 c4 d1 cc d3  |................|
00000060  c0 85 e2 d7 ca d0 d5 8a  c6 cb 98 f7 c0 c6 cc d5  |................|
00000070  cc c0 cb d1 d6 8a c6 cb  98 e4 c1 c8 cc cb cc d6  |................|
00000080  d1 d7 c4 d1 ca d7 a5 5a  5a 5a 5a 00 6f 00 00 00  |.......ZZZZ.o...|
00000090  07 80 00 00 30 00 00 00  00 00 06 00 28 00 28 00  |....0.......(.(.|
000000a0  ad a5 a4 a4 a4 a5 a7 a5  b5 a5 a4 a9 d9 a5 a5 a5  |................|
000000b0  a5 a5 a5 a5 a4 a5 a5 a5  b5 a5 a4 a9 d8 a5 a5 a5  |................|
000000c0  d8 a5 a5 a5 a4 a5 a5 a5  30 00 00 00 08 10 00 00  |........0.......|
handle: struct policy_handle
handle_type : 0x00000000 (0)
uuid : 15c7f283-6674-4715-9933-ac9ffdbf2408
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 31 of 79
EXCHANGELOGON:HEXDUMPANDPROCESSING
$ hexdump ­C <pkt>
00000000  00 00 00 00 83 f2 c7 15  74 66 15 47 99 33 ac 9f  |........tf.G.3..|
00000010  fd bf 24 08 00 00 00 00  6f 00 00 00 00 00 06 00  |..$.....o.......|
00000020  67 00 67 00 c6 a5 5b a5  a5 a4 a9 a1 a5 a5 a5 a5  |g.g...[.........|
00000030  a5 a5 f6 a5 8a ca 98 e3  cc d7 d6 d1 85 ea d7 c2  |................|
00000040  c4 cb cc df c4 d1 cc ca  cb 8a ca d0 98 e3 cc d7  |................|
00000050  d6 d1 85 e4 c1 c8 cc cb  cc d6 d1 d7 c4 d1 cc d3  |................|
00000060  c0 85 e2 d7 ca d0 d5 8a  c6 cb 98 f7 c0 c6 cc d5  |................|
00000070  cc c0 cb d1 d6 8a c6 cb  98 e4 c1 c8 cc cb cc d6  |................|
00000080  d1 d7 c4 d1 ca d7 a5 5a  5a 5a 5a 00 6f 00 00 00  |.......ZZZZ.o...|
00000090  07 80 00 00 30 00 00 00  00 00 06 00 28 00 28 00  |....0.......(.(.|
000000a0  ad a5 a4 a4 a4 a5 a7 a5  b5 a5 a4 a9 d9 a5 a5 a5  |................|
000000b0  a5 a5 a5 a5 a4 a5 a5 a5  b5 a5 a4 a9 d8 a5 a5 a5  |................|
000000c0  d8 a5 a5 a5 a4 a5 a5 a5  30 00 00 00 08 10 00 00  |........0.......|
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 32 of 79
EXCHANGELOGON:HEXDUMPANDPROCESSING
$ hexdump ­C <pkt>
00000000  00 00 00 00 83 f2 c7 15  74 66 15 47 99 33 ac 9f  |........tf.G.3..|
00000010  fd bf 24 08 00 00 00 00  6f 00 00 00 00 00 06 00  |..$.....o.......|
00000020  67 00 67 00 c6 a5 5b a5  a5 a4 a9 a1 a5 a5 a5 a5  |g.g...[.........|
00000030  a5 a5 f6 a5 8a ca 98 e3  cc d7 d6 d1 85 ea d7 c2  |................|
00000040  c4 cb cc df c4 d1 cc ca  cb 8a ca d0 98 e3 cc d7  |................|
00000050  d6 d1 85 e4 c1 c8 cc cb  cc d6 d1 d7 c4 d1 cc d3  |................|
00000060  c0 85 e2 d7 ca d0 d5 8a  c6 cb 98 f7 c0 c6 cc d5  |................|
00000070  cc c0 cb d1 d6 8a c6 cb  98 e4 c1 c8 cc cb cc d6  |................|
00000080  d1 d7 c4 d1 ca d7 a5 5a  5a 5a 5a 00 6f 00 00 00  |.......ZZZZ.o...|
00000090  07 80 00 00 30 00 00 00  00 00 06 00 28 00 28 00  |....0.......(.(.|
000000a0  ad a5 a4 a4 a4 a5 a7 a5  b5 a5 a4 a9 d9 a5 a5 a5  |................|
000000b0  a5 a5 a5 a5 a4 a5 a5 a5  b5 a5 a4 a9 d8 a5 a5 a5  |................|
000000c0  d8 a5 a5 a5 a4 a5 a5 a5  30 00 00 00 08 10 00 00  |........0.......|
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 33 of 79
EXCHANGELOGON:HEXDUMPANDPROCESSING
$ hexdump ­C <pkt>
00000000  00 00 00 00 83 f2 c7 15  74 66 15 47 99 33 ac 9f  |........tf.G.3..|
00000010  fd bf 24 08 00 00 00 00  6f 00 00 00 00 00 06 00  |..$.....o.......|
00000020  67 00 67 00 c6 a5 5b a5  a5 a4 a9 a1 a5 a5 a5 a5  |g.g...[.........|
00000030  a5 a5 f6 a5 8a ca 98 e3  cc d7 d6 d1 85 ea d7 c2  |................|
00000040  c4 cb cc df c4 d1 cc ca  cb 8a ca d0 98 e3 cc d7  |................|
00000050  d6 d1 85 e4 c1 c8 cc cb  cc d6 d1 d7 c4 d1 cc d3  |................|
00000060  c0 85 e2 d7 ca d0 d5 8a  c6 cb 98 f7 c0 c6 cc d5  |................|
00000070  cc c0 cb d1 d6 8a c6 cb  98 e4 c1 c8 cc cb cc d6  |................|
00000080  d1 d7 c4 d1 ca d7 a5 5a  5a 5a 5a 00 6f 00 00 00  |.......ZZZZ.o...|
00000090  07 80 00 00 30 00 00 00  00 00 06 00 28 00 28 00  |....0.......(.(.|
000000a0  ad a5 a4 a4 a4 a5 a7 a5  b5 a5 a4 a9 d9 a5 a5 a5  |................|
000000b0  a5 a5 a5 a5 a4 a5 a5 a5  b5 a5 a4 a9 d8 a5 a5 a5  |................|
000000c0  d8 a5 a5 a5 a4 a5 a5 a5  30 00 00 00 08 10 00 00  |........0.......|
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 34 of 79
EXCHANGELOGON:HEXDUMPANDPROCESSING
$ hexdump ­C <pkt>
00000000  00 00 00 00 83 f2 c7 15  74 66 15 47 99 33 ac 9f  |........tf.G.3..|
00000010  fd bf 24 08 00 00 00 00  6f 00 00 00 00 00 06 00  |..$.....o.......|
00000020  67 00 67 00 c6 a5 5b a5  a5 a4 a9 a1 a5 a5 a5 a5  |g.g...[.........|
00000030  a5 a5 f6 a5 8a ca 98 e3  cc d7 d6 d1 85 ea d7 c2  |................|
00000040  c4 cb cc df c4 d1 cc ca  cb 8a ca d0 98 e3 cc d7  |................|
00000050  d6 d1 85 e4 c1 c8 cc cb  cc d6 d1 d7 c4 d1 cc d3  |................|
00000060  c0 85 e2 d7 ca d0 d5 8a  c6 cb 98 f7 c0 c6 cc d5  |................|
00000070  cc c0 cb d1 d6 8a c6 cb  98 e4 c1 c8 cc cb cc d6  |................|
00000080  d1 d7 c4 d1 ca d7 a5 5a  5a 5a 5a 00 6f 00 00 00  |.......ZZZZ.o...|
00000090  07 80 00 00 30 00 00 00  00 00 06 00 28 00 28 00  |....0.......(.(.|
000000a0  ad a5 a4 a4 a4 a5 a7 a5  b5 a5 a4 a9 d9 a5 a5 a5  |................|
000000b0  a5 a5 a5 a5 a4 a5 a5 a5  b5 a5 a4 a9 d8 a5 a5 a5  |................|
000000c0  d8 a5 a5 a5 a4 a5 a5 a5  30 00 00 00 08 10 00 00  |........0.......|
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 35 of 79
EXCHANGELOGON:HEXDUMPANDPROCESSING
$ hexdump ­C <pkt>
00000000  00 00 00 00 83 f2 c7 15  74 66 15 47 99 33 ac 9f  |........tf.G.3..|
00000010  fd bf 24 08 00 00 00 00  6f 00 00 00 00 00 06 00  |..$.....o.......|
00000020  67 00 67 00 c6 a5 5b a5  a5 a4 a9 a1 a5 a5 a5 a5  |g.g...[.........|
00000030  a5 a5 f6 a5 8a ca 98 e3  cc d7 d6 d1 85 ea d7 c2  |................|
00000040  c4 cb cc df c4 d1 cc ca  cb 8a ca d0 98 e3 cc d7  |................|
00000050  d6 d1 85 e4 c1 c8 cc cb  cc d6 d1 d7 c4 d1 cc d3  |................|
00000060  c0 85 e2 d7 ca d0 d5 8a  c6 cb 98 f7 c0 c6 cc d5  |................|
00000070  cc c0 cb d1 d6 8a c6 cb  98 e4 c1 c8 cc cb cc d6  |................|
00000080  d1 d7 c4 d1 ca d7 a5 5a  5a 5a 5a 00 6f 00 00 00  |.......ZZZZ.o...|
00000090  07 80 00 00 30 00 00 00  00 00 06 00 28 00 28 00  |....0.......(.(.|
000000a0  ad a5 a4 a4 a4 a5 a7 a5  b5 a5 a4 a9 d9 a5 a5 a5  |................|
000000b0  a5 a5 a5 a5 a4 a5 a5 a5  b5 a5 a4 a9 d8 a5 a5 a5  |................|
000000c0  d8 a5 a5 a5 a4 a5 a5 a5  30 00 00 00 08 10 00 00  |........0.......|
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 36 of 79
EXCHANGELOGON:HEXDUMPANDPROCESSING
$ hexdump ­C <pkt>
00000000  00 00 00 00 83 f2 c7 15  74 66 15 47 99 33 ac 9f  |........tf.G.3..|
00000010  fd bf 24 08 00 00 00 00  6f 00 00 00 00 00 06 00  |..$.....o.......|
00000020  67 00 67 00 c6 a5 5b a5  a5 a4 a9 a1 a5 a5 a5 a5  |g.g...[.........|
00000030  a5 a5 f6 a5 8a ca 98 e3  cc d7 d6 d1 85 ea d7 c2  |................|
00000040  c4 cb cc df c4 d1 cc ca  cb 8a ca d0 98 e3 cc d7  |................|
00000050  d6 d1 85 e4 c1 c8 cc cb  cc d6 d1 d7 c4 d1 cc d3  |................|
00000060  c0 85 e2 d7 ca d0 d5 8a  c6 cb 98 f7 c0 c6 cc d5  |................|
00000070  cc c0 cb d1 d6 8a c6 cb  98 e4 c1 c8 cc cb cc d6  |................|
00000080  d1 d7 c4 d1 ca d7 a5 5a  5a 5a 5a 00 6f 00 00 00  |.......ZZZZ.o...|
00000090  07 80 00 00 30 00 00 00  00 00 06 00 28 00 28 00  |....0.......(.(.|
000000a0  ad a5 a4 a4 a4 a5 a7 a5  b5 a5 a4 a9 d9 a5 a5 a5  |................|
000000b0  a5 a5 a5 a5 a4 a5 a5 a5  b5 a5 a4 a9 d8 a5 a5 a5  |................|
000000c0  d8 a5 a5 a5 a4 a5 a5 a5  30 00 00 00 08 10 00 00  |........0.......|
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 37 of 79
EXCHANGELOGON:HEXDUMPANDPROCESSING
$ hexdump ­C <pkt>
00000000  00 00 00 00 83 f2 c7 15  74 66 15 47 99 33 ac 9f  |........tf.G.3..|
00000010  fd bf 24 08 00 00 00 00  6f 00 00 00 00 00 06 00  |..$.....o.......|
00000020  67 00 67 00 c6 a5 5b a5  a5 a4 a9 a1 a5 a5 a5 a5  |g.g...[.........|
00000030  a5 a5 f6 a5 8a ca 98 e3  cc d7 d6 d1 85 ea d7 c2  |................|
00000040  c4 cb cc df c4 d1 cc ca  cb 8a ca d0 98 e3 cc d7  |................|
00000050  d6 d1 85 e4 c1 c8 cc cb  cc d6 d1 d7 c4 d1 cc d3  |................|
00000060  c0 85 e2 d7 ca d0 d5 8a  c6 cb 98 f7 c0 c6 cc d5  |................|
00000070  cc c0 cb d1 d6 8a c6 cb  98 e4 c1 c8 cc cb cc d6  |................|
00000080  d1 d7 c4 d1 ca d7 a5 5a  5a 5a 5a 00 6f 00 00 00  |.......ZZZZ.o...|
00000090  07 80 00 00 30 00 00 00  00 00 06 00 28 00 28 00  |....0.......(.(.|
000000a0  ad a5 a4 a4 a4 a5 a7 a5  b5 a5 a4 a9 d9 a5 a5 a5  |................|
000000b0  a5 a5 a5 a5 a4 a5 a5 a5  b5 a5 a4 a9 d8 a5 a5 a5  |................|
000000c0  d8 a5 a5 a5 a4 a5 a5 a5  30 00 00 00 08 10 00 00  |........0.......|
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 38 of 79
EXCHANGELOGON:HEXDUMPANDPROCESSING
$ hexdump ­C <pkt>
00000000  00 00 00 00 83 f2 c7 15  74 66 15 47 99 33 ac 9f  |........tf.G.3..|
00000010  fd bf 24 08 00 00 00 00  6f 00 00 00 00 00 06 00  |..$.....o.......|
00000020  67 00 67 00 c6 a5 5b a5  a5 a4 a9 a1 a5 a5 a5 a5  |g.g...[.........|
00000030  a5 a5 f6 a5 8a ca 98 e3  cc d7 d6 d1 85 ea d7 c2  |................|
00000040  c4 cb cc df c4 d1 cc ca  cb 8a ca d0 98 e3 cc d7  |................|
00000050  d6 d1 85 e4 c1 c8 cc cb  cc d6 d1 d7 c4 d1 cc d3  |................|
00000060  c0 85 e2 d7 ca d0 d5 8a  c6 cb 98 f7 c0 c6 cc d5  |................|
00000070  cc c0 cb d1 d6 8a c6 cb  98 e4 c1 c8 cc cb cc d6  |................|
00000080  d1 d7 c4 d1 ca d7 a5 5a  5a 5a 5a 00 6f 00 00 00  |.......ZZZZ.o...|
00000090  07 80 00 00 30 00 00 00  00 00 06 00 28 00 28 00  |....0.......(.(.|
000000a0  ad a5 a4 a4 a4 a5 a7 a5  b5 a5 a4 a9 d9 a5 a5 a5  |................|
000000b0  a5 a5 a5 a5 a4 a5 a5 a5  b5 a5 a4 a9 d8 a5 a5 a5  |................|
000000c0  d8 a5 a5 a5 a4 a5 a5 a5  30 00 00 00 08 10 00 00  |........0.......|
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 39 of 79
EXCHANGELOGON:HEXDUMPANDPROCESSING
$ hexdump ­C <pkt>
00000000  00 00 00 00 83 f2 c7 15  74 66 15 47 99 33 ac 9f  |........tf.G.3..|
00000010  fd bf 24 08 00 00 00 00  6f 00 00 00 00 00 06 00  |..$.....o.......|
00000020  67 00 67 00 c6 a5 5b a5  a5 a4 a9 a1 a5 a5 a5 a5  |g.g...[.........|
00000030  a5 a5 f6 a5 8a ca 98 e3  cc d7 d6 d1 85 ea d7 c2  |................|
00000040  c4 cb cc df c4 d1 cc ca  cb 8a ca d0 98 e3 cc d7  |................|
00000050  d6 d1 85 e4 c1 c8 cc cb  cc d6 d1 d7 c4 d1 cc d3  |................|
00000060  c0 85 e2 d7 ca d0 d5 8a  c6 cb 98 f7 c0 c6 cc d5  |................|
00000070  cc c0 cb d1 d6 8a c6 cb  98 e4 c1 c8 cc cb cc d6  |................|
00000080  d1 d7 c4 d1 ca d7 a5 5a  5a 5a 5a 00 6f 00 00 00  |.......ZZZZ.o...|
00000090  07 80 00 00 30 00 00 00  00 00 06 00 28 00 28 00  |....0.......(.(.|
000000a0  ad a5 a4 a4 a4 a5 a7 a5  b5 a5 a4 a9 d9 a5 a5 a5  |................|
000000b0  a5 a5 a5 a5 a4 a5 a5 a5  b5 a5 a4 a9 d8 a5 a5 a5  |................|
000000c0  d8 a5 a5 a5 a4 a5 a5 a5  30 00 00 00 08 10 00 00  |........0.......|
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 40 of 79
EXCHANGELOGON:GenerateIDLwithunknownfields
[public,noprint] MAPISTATUS EcDoRpcExt2(
[in] policy_handle               *handle,
[in] uint32                   *unknown1,
[in, size_is(unknown3)]uint8 unknown2[],
[in] uint32                   unknown3,
[in] uint32                   *unknown4,
[in, size_is(unknown6)]uint8    unknown5[],
[in] uint32                   unknown6,
[in] uint32                   *unknown7,
);
$ hexdump ­C <pkt>
00000000  00 00 00 00 83 f2 c7 15  74 66 15 47 99 33 ac 9f  |........tf.G.3..|
00000010  fd bf 24 08 00 00 00 00  6f 00 00 00 00 00 06 00  |..$.....o.......|
00000020  67 00 67 00 c6 a5 5b a5  a5 a4 a9 a1 a5 a5 a5 a5  |g.g...[.........|
00000030  a5 a5 f6 a5 8a ca 98 e3  cc d7 d6 d1 85 ea d7 c2  |................|
00000040  c4 cb cc df c4 d1 cc ca  cb 8a ca d0 98 e3 cc d7  |................|
00000050  d6 d1 85 e4 c1 c8 cc cb  cc d6 d1 d7 c4 d1 cc d3  |................|
00000060  c0 85 e2 d7 ca d0 d5 8a  c6 cb 98 f7 c0 c6 cc d5  |................|
00000070  cc c0 cb d1 d6 8a c6 cb  98 e4 c1 c8 cc cb cc d6  |................|
00000080  d1 d7 c4 d1 ca d7 a5 5a  5a 5a 5a 00 6f 00 00 00  |.......ZZZZ.o...|
00000090  07 80 00 00 30 00 00 00  00 00 06 00 28 00 28 00  |....0.......(.(.|
000000a0  ad a5 a4 a4 a4 a5 a7 a5  b5 a5 a4 a9 d9 a5 a5 a5  |................|
000000b0  a5 a5 a5 a5 a4 a5 a5 a5  b5 a5 a4 a9 d8 a5 a5 a5  |................|
000000c0  d8 a5 a5 a5 a4 a5 a5 a5  30 00 00 00 08 10 00 00  |........0.......|
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 41 of 79
EXCHANGELOGON:GenerateIDLwithunknownfields
[public,noprint] MAPISTATUS EcDoRpcExt2(
[in] policy_handle               *handle,
[in] uint32                   *unknown1,
[in, size_is(unknown3)]uint8 unknown2[],
[in] uint32                   unknown3,
[in] uint32                   *unknown4,
[in, size_is(unknown6)]uint8    unknown5[],
[in] uint32                   unknown6,
[in] uint32                   *unknown7,
);
$ hexdump ­C <pkt>
00000000  00 00 00 00 83 f2 c7 15  74 66 15 47 99 33 ac 9f  |........tf.G.3..|
00000010  fd bf 24 08 00 00 00 00  6f 00 00 00 00 00 06 00  |..$.....o.......|
00000020  67 00 67 00 c6 a5 5b a5  a5 a4 a9 a1 a5 a5 a5 a5  |g.g...[.........|
00000030  a5 a5 f6 a5 8a ca 98 e3  cc d7 d6 d1 85 ea d7 c2  |................|
00000040  c4 cb cc df c4 d1 cc ca  cb 8a ca d0 98 e3 cc d7  |................|
00000050  d6 d1 85 e4 c1 c8 cc cb  cc d6 d1 d7 c4 d1 cc d3  |................|
00000060  c0 85 e2 d7 ca d0 d5 8a  c6 cb 98 f7 c0 c6 cc d5  |................|
00000070  cc c0 cb d1 d6 8a c6 cb  98 e4 c1 c8 cc cb cc d6  |................|
00000080  d1 d7 c4 d1 ca d7 a5 5a  5a 5a 5a 00 6f 00 00 00  |.......ZZZZ.o...|
00000090  07 80 00 00 30 00 00 00  00 00 06 00 28 00 28 00  |....0.......(.(.|
000000a0  ad a5 a4 a4 a4 a5 a7 a5  b5 a5 a4 a9 d9 a5 a5 a5  |................|
000000b0  a5 a5 a5 a5 a4 a5 a5 a5  b5 a5 a4 a9 d8 a5 a5 a5  |................|
000000c0  d8 a5 a5 a5 a4 a5 a5 a5  30 00 00 00 08 10 00 00  |........0.......|
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 42 of 79
EXCHANGELOGON:GenerateIDLwithunknownfields
[public,noprint] MAPISTATUS EcDoRpcExt2(
[in] policy_handle               *handle,
[in] uint32                   *unknown1,
[in, size_is(unknown3)]uint8 unknown2[],
[in] uint32                   unknown3,
[in] uint32                   *unknown4,
[in, size_is(unknown6)]uint8    unknown5[],
[in] uint32                   unknown6,
[in] uint32                   *unknown7,
);
$ hexdump ­C <pkt>
00000000  00 00 00 00 83 f2 c7 15  74 66 15 47 99 33 ac 9f  |........tf.G.3..|
00000010  fd bf 24 08 00 00 00 00  6f 00 00 00 00 00 06 00  |..$.....o.......|
00000020  67 00 67 00 c6 a5 5b a5  a5 a4 a9 a1 a5 a5 a5 a5  |g.g...[.........|
00000030  a5 a5 f6 a5 8a ca 98 e3  cc d7 d6 d1 85 ea d7 c2  |................|
00000040  c4 cb cc df c4 d1 cc ca  cb 8a ca d0 98 e3 cc d7  |................|
00000050  d6 d1 85 e4 c1 c8 cc cb  cc d6 d1 d7 c4 d1 cc d3  |................|
00000060  c0 85 e2 d7 ca d0 d5 8a  c6 cb 98 f7 c0 c6 cc d5  |................|
00000070  cc c0 cb d1 d6 8a c6 cb  98 e4 c1 c8 cc cb cc d6  |................|
00000080  d1 d7 c4 d1 ca d7 a5 5a  5a 5a 5a 00 6f 00 00 00  |.......ZZZZ.o...|
00000090  07 80 00 00 30 00 00 00  00 00 06 00 28 00 28 00  |....0.......(.(.|
000000a0  ad a5 a4 a4 a4 a5 a7 a5  b5 a5 a4 a9 d9 a5 a5 a5  |................|
000000b0  a5 a5 a5 a5 a4 a5 a5 a5  b5 a5 a4 a9 d8 a5 a5 a5  |................|
000000c0  d8 a5 a5 a5 a4 a5 a5 a5  30 00 00 00 08 10 00 00  |........0.......|
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 43 of 79
EXCHANGELOGON:GenerateIDLwithunknownfields
[public,noprint] MAPISTATUS EcDoRpcExt2(
[in] policy_handle               *handle,
[in] uint32                   *unknown1,
[in, size_is(unknown3)]uint8 unknown2[],
[in] uint32                   unknown3,
[in] uint32                   *unknown4,
[in, size_is(unknown6)]uint8    unknown5[],
[in] uint32                   unknown6,
[in] uint32                   *unknown7,
);
$ hexdump ­C <pkt>
00000000  00 00 00 00 83 f2 c7 15  74 66 15 47 99 33 ac 9f  |........tf.G.3..|
00000010  fd bf 24 08 00 00 00 00  6f 00 00 00 00 00 06 00  |..$.....o.......|
00000020  67 00 67 00 c6 a5 5b a5  a5 a4 a9 a1 a5 a5 a5 a5  |g.g...[.........|
00000030  a5 a5 f6 a5 8a ca 98 e3  cc d7 d6 d1 85 ea d7 c2  |................|
00000040  c4 cb cc df c4 d1 cc ca  cb 8a ca d0 98 e3 cc d7  |................|
00000050  d6 d1 85 e4 c1 c8 cc cb  cc d6 d1 d7 c4 d1 cc d3  |................|
00000060  c0 85 e2 d7 ca d0 d5 8a  c6 cb 98 f7 c0 c6 cc d5  |................|
00000070  cc c0 cb d1 d6 8a c6 cb  98 e4 c1 c8 cc cb cc d6  |................|
00000080  d1 d7 c4 d1 ca d7 a5 5a  5a 5a 5a 00 6f 00 00 00  |.......ZZZZ.o...|
00000090  07 80 00 00 30 00 00 00  00 00 06 00 28 00 28 00  |....0.......(.(.|
000000a0  ad a5 a4 a4 a4 a5 a7 a5  b5 a5 a4 a9 d9 a5 a5 a5  |................|
000000b0  a5 a5 a5 a5 a4 a5 a5 a5  b5 a5 a4 a9 d8 a5 a5 a5  |................|
000000c0  d8 a5 a5 a5 a4 a5 a5 a5  30 00 00 00 08 10 00 00  |........0.......|
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 44 of 79
EXCHANGELOGON:GenerateIDLwithunknownfields
[public,noprint] MAPISTATUS EcDoRpcExt2(
[in] policy_handle               *handle,
[in] uint32                   *unknown1,
[in, size_is(unknown3)]uint8 unknown2[],
[in] uint32                   unknown3,
[in] uint32                   *unknown4,
[in, size_is(unknown6)]uint8    unknown5[],
[in] uint32                   unknown6,
[in] uint32                   *unknown7,
);
$ hexdump ­C <pkt>
00000000  00 00 00 00 83 f2 c7 15  74 66 15 47 99 33 ac 9f  |........tf.G.3..|
00000010  fd bf 24 08 00 00 00 00  6f 00 00 00 00 00 06 00  |..$.....o.......|
00000020  67 00 67 00 c6 a5 5b a5  a5 a4 a9 a1 a5 a5 a5 a5  |g.g...[.........|
00000030  a5 a5 f6 a5 8a ca 98 e3  cc d7 d6 d1 85 ea d7 c2  |................|
00000040  c4 cb cc df c4 d1 cc ca  cb 8a ca d0 98 e3 cc d7  |................|
00000050  d6 d1 85 e4 c1 c8 cc cb  cc d6 d1 d7 c4 d1 cc d3  |................|
00000060  c0 85 e2 d7 ca d0 d5 8a  c6 cb 98 f7 c0 c6 cc d5  |................|
00000070  cc c0 cb d1 d6 8a c6 cb  98 e4 c1 c8 cc cb cc d6  |................|
00000080  d1 d7 c4 d1 ca d7 a5 5a  5a 5a 5a 00 6f 00 00 00  |.......ZZZZ.o...|
00000090  07 80 00 00 30 00 00 00  00 00 06 00 28 00 28 00  |....0.......(.(.|
000000a0  ad a5 a4 a4 a4 a5 a7 a5  b5 a5 a4 a9 d9 a5 a5 a5  |................|
000000b0  a5 a5 a5 a5 a4 a5 a5 a5  b5 a5 a4 a9 d8 a5 a5 a5  |................|
000000c0  d8 a5 a5 a5 a4 a5 a5 a5  30 00 00 00 08 10 00 00  |........0.......|
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 45 of 79
EXCHANGELOGON:GenerateIDLwithunknownfields
[public,noprint] MAPISTATUS EcDoRpcExt2(
[in] policy_handle               *handle,
[in] uint32                   *unknown1,
[in, size_is(unknown3)]uint8 unknown2[],
[in] uint32                   unknown3,
[in] uint32                   *unknown4,
[in, size_is(unknown6)]uint8    unknown5[],
[in] uint32                   unknown6,
[in] uint32                   *unknown7,
);
$ hexdump ­C <pkt>
00000000  00 00 00 00 83 f2 c7 15  74 66 15 47 99 33 ac 9f  |........tf.G.3..|
00000010  fd bf 24 08 00 00 00 00  6f 00 00 00 00 00 06 00  |..$.....o.......|
00000020  67 00 67 00 c6 a5 5b a5  a5 a4 a9 a1 a5 a5 a5 a5  |g.g...[.........|
00000030  a5 a5 f6 a5 8a ca 98 e3  cc d7 d6 d1 85 ea d7 c2  |................|
00000040  c4 cb cc df c4 d1 cc ca  cb 8a ca d0 98 e3 cc d7  |................|
00000050  d6 d1 85 e4 c1 c8 cc cb  cc d6 d1 d7 c4 d1 cc d3  |................|
00000060  c0 85 e2 d7 ca d0 d5 8a  c6 cb 98 f7 c0 c6 cc d5  |................|
00000070  cc c0 cb d1 d6 8a c6 cb  98 e4 c1 c8 cc cb cc d6  |................|
00000080  d1 d7 c4 d1 ca d7 a5 5a  5a 5a 5a 00 6f 00 00 00  |.......ZZZZ.o...|
00000090  07 80 00 00 30 00 00 00  00 00 06 00 28 00 28 00  |....0.......(.(.|
000000a0  ad a5 a4 a4 a4 a5 a7 a5  b5 a5 a4 a9 d9 a5 a5 a5  |................|
000000b0  a5 a5 a5 a5 a4 a5 a5 a5  b5 a5 a4 a9 d8 a5 a5 a5  |................|
000000c0  d8 a5 a5 a5 a4 a5 a5 a5  30 00 00 00 08 10 00 00  |........0.......|
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 46 of 79
EXCHANGELOGON:theblobmistery
●
WithourIDLwedon'thavemuchinfoaboutLogon
●
Thesolutionmaylieintheblobswereasonablyidentified
$ hexdump ­C <pkt>
00000000  00 00 00 00 83 f2 c7 15  74 66 15 47 99 33 ac 9f  |........tf.G.3..|
00000010  fd bf 24 08 00 00 00 00  6f 00 00 00 00 00 06 00  |..$.....o.......|
00000020  67 00 67 00 c6 a5 5b a5  a5 a4 a9 a1 a5 a5 a5 a5  |g.g...[.........|
00000030  a5 a5 f6 a5 8a ca 98 e3  cc d7 d6 d1 85 ea d7 c2  |................|
00000040  c4 cb cc df c4 d1 cc ca  cb 8a ca d0 98 e3 cc d7  |................|
00000050  d6 d1 85 e4 c1 c8 cc cb  cc d6 d1 d7 c4 d1 cc d3  |................|
00000060  c0 85 e2 d7 ca d0 d5 8a  c6 cb 98 f7 c0 c6 cc d5  |................|
00000070  cc c0 cb d1 d6 8a c6 cb  98 e4 c1 c8 cc cb cc d6  |................|
00000080  d1 d7 c4 d1 ca d7 a5 5a  5a 5a 5a 00 6f 00 00 00  |.......ZZZZ.o...|
00000090  07 80 00 00 30 00 00 00  00 00 06 00 28 00 28 00  |....0.......(.(.|
000000a0  ad a5 a4 a4 a4 a5 a7 a5  b5 a5 a4 a9 d9 a5 a5 a5  |................|
000000b0  a5 a5 a5 a5 a4 a5 a5 a5  b5 a5 a4 a9 d8 a5 a5 a5  |................|
000000c0  d8 a5 a5 a5 a4 a5 a5 a5  30 00 00 00 08 10 00 00  |........0.......|
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 47 of 79
EXCHANGELOGON:deeperunderground
●
Canweidentifyanotherstructurewithintheblob?
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 48 of 79
EXCHANGELOGON:deeperunderground
●
Canweidentifyanotherstructurewithintheblob?
$ hexdump ­C <pkt>
00000000  00 00 00 00 83 f2 c7 15  74 66 15 47 99 33 ac 9f  |........tf.G.3..|
00000010  fd bf 24 08 00 00 00 00  6f 00 00 00 00 00 06 00  |..$.....o.......|
00000020  67 00 67 00 c6 a5 5b a5  a5 a4 a9 a1 a5 a5 a5 a5  |g.g...[.........|
00000030  a5 a5 f6 a5 8a ca 98 e3  cc d7 d6 d1 85 ea d7 c2  |................|
00000040  c4 cb cc df c4 d1 cc ca  cb 8a ca d0 98 e3 cc d7  |................|
00000050  d6 d1 85 e4 c1 c8 cc cb  cc d6 d1 d7 c4 d1 cc d3  |................|
00000060  c0 85 e2 d7 ca d0 d5 8a  c6 cb 98 f7 c0 c6 cc d5  |................|
00000070  cc c0 cb d1 d6 8a c6 cb  98 e4 c1 c8 cc cb cc d6  |................|
00000080  d1 d7 c4 d1 ca d7 a5 5a  5a 5a 5a 00 6f 00 00 00  |.......ZZZZ.o...|
00000090  07 80 00 00 30 00 00 00  00 00 06 00 28 00 28 00  |....0.......(.(.|
000000a0  ad a5 a4 a4 a4 a5 a7 a5  b5 a5 a4 a9 d9 a5 a5 a5  |................|
000000b0  a5 a5 a5 a5 a4 a5 a5 a5  b5 a5 a4 a9 d8 a5 a5 a5  |................|
000000c0  d8 a5 a5 a5 a4 a5 a5 a5  30 00 00 00 08 10 00 00  |........0.......|
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 49 of 79
EXCHANGELOGON:deeperunderground
●
Canweidentifyanotherstructurewithintheblob?
$ hexdump ­C <pkt>
00000000  00 00 00 00 83 f2 c7 15  74 66 15 47 99 33 ac 9f  |........tf.G.3..|
00000010  fd bf 24 08 00 00 00 00  6f 00 00 00 00 00 06 00  |..$.....o.......|
00000020  67 00 67 00 c6 a5 5b a5  a5 a4 a9 a1 a5 a5 a5 a5  |g.g...[.........|
00000030  a5 a5 f6 a5 8a ca 98 e3  cc d7 d6 d1 85 ea d7 c2  |................|
00000040  c4 cb cc df c4 d1 cc ca  cb 8a ca d0 98 e3 cc d7  |................|
00000050  d6 d1 85 e4 c1 c8 cc cb  cc d6 d1 d7 c4 d1 cc d3  |................|
00000060  c0 85 e2 d7 ca d0 d5 8a  c6 cb 98 f7 c0 c6 cc d5  |................|
00000070  cc c0 cb d1 d6 8a c6 cb  98 e4 c1 c8 cc cb cc d6  |................|
00000080  d1 d7 c4 d1 ca d7 a5 5a  5a 5a 5a 00 6f 00 00 00  |.......ZZZZ.o...|
00000090  07 80 00 00 30 00 00 00  00 00 06 00 28 00 28 00  |....0.......(.(.|
000000a0  ad a5 a4 a4 a4 a5 a7 a5  b5 a5 a4 a9 d9 a5 a5 a5  |................|
000000b0  a5 a5 a5 a5 a4 a5 a5 a5  b5 a5 a4 a9 d8 a5 a5 a5  |................|
000000c0  d8 a5 a5 a5 a4 a5 a5 a5  30 00 00 00 08 10 00 00  |........0.......|
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 50 of 79
EXCHANGELOGON:deeperunderground
●
Canweidentifyanotherstructurewithintheblob?
$ hexdump ­C <pkt>
00000000  00 00 00 00 83 f2 c7 15  74 66 15 47 99 33 ac 9f  |........tf.G.3..|
00000010  fd bf 24 08 00 00 00 00  6f 00 00 00 00 00 06 00  |..$.....o.......|
00000020  67 00 67 00 c6 a5 5b a5  a5 a4 a9 a1 a5 a5 a5 a5  |g.g...[.........|
00000030  a5 a5 f6 a5 8a ca 98 e3  cc d7 d6 d1 85 ea d7 c2  |................|
00000040  c4 cb cc df c4 d1 cc ca  cb 8a ca d0 98 e3 cc d7  |................|
00000050  d6 d1 85 e4 c1 c8 cc cb  cc d6 d1 d7 c4 d1 cc d3  |................|
00000060  c0 85 e2 d7 ca d0 d5 8a  c6 cb 98 f7 c0 c6 cc d5  |................|
00000070  cc c0 cb d1 d6 8a c6 cb  98 e4 c1 c8 cc cb cc d6  |................|
00000080  d1 d7 c4 d1 ca d7 a5 5a  5a 5a 5a 00 6f 00 00 00  |.......ZZZZ.o...|
00000090  07 80 00 00 30 00 00 00  00 00 06 00 28 00 28 00  |....0.......(.(.|
000000a0  ad a5 a4 a4 a4 a5 a7 a5  b5 a5 a4 a9 d9 a5 a5 a5  |................|
000000b0  a5 a5 a5 a5 a4 a5 a5 a5  b5 a5 a4 a9 d8 a5 a5 a5  |................|
000000c0  d8 a5 a5 a5 a4 a5 a5 a5  30 00 00 00 08 10 00 00  |........0.......|
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 51 of 79
EXCHANGELOGON:deeperunderground
●
Canweidentifyanotherstructurewithintheblob?
$ hexdump ­C <pkt>
00000000  00 00 00 00 83 f2 c7 15  74 66 15 47 99 33 ac 9f  |........tf.G.3..|
00000010  fd bf 24 08 00 00 00 00  6f 00 00 00 00 00 06 00  |..$.....o.......|
00000020  67 00 67 00 c6 a5 5b a5  a5 a4 a9 a1 a5 a5 a5 a5  |g.g...[.........|
00000030  a5 a5 f6 a5 8a ca 98 e3  cc d7 d6 d1 85 ea d7 c2  |................|
00000040  c4 cb cc df c4 d1 cc ca  cb 8a ca d0 98 e3 cc d7  |................|
00000050  d6 d1 85 e4 c1 c8 cc cb  cc d6 d1 d7 c4 d1 cc d3  |................|
00000060  c0 85 e2 d7 ca d0 d5 8a  c6 cb 98 f7 c0 c6 cc d5  |................|
00000070  cc c0 cb d1 d6 8a c6 cb  98 e4 c1 c8 cc cb cc d6  |................|
00000080  d1 d7 c4 d1 ca d7 a5 5a  5a 5a 5a 00 6f 00 00 00  |.......ZZZZ.o...|
00000090  07 80 00 00 30 00 00 00  00 00 06 00 28 00 28 00  |....0.......(.(.|
000000a0  ad a5 a4 a4 a4 a5 a7 a5  b5 a5 a4 a9 d9 a5 a5 a5  |................|
000000b0  a5 a5 a5 a5 a4 a5 a5 a5  b5 a5 a4 a9 d8 a5 a5 a5  |................|
000000c0  d8 a5 a5 a5 a4 a5 a5 a5  30 00 00 00 08 10 00 00  |........0.......|
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 52 of 79
EXCHANGELOGON:deeperunderground
●
Strange…no0x0
●
Verystrange…lotsof0xa5
●
Verystrange…0x5a isthereverseof0xa5
$ hexdump ­C <pkt>
00000000  00 00 00 00 83 f2 c7 15  74 66 15 47 99 33 ac 9f  |........tf.G.3..|
00000010  fd bf 24 08 00 00 00 00  6f 00 00 00 00 00 06 00  |..$.....o.......|
00000020  67 00 67 00 c6 a5 5b a5  a5 a4 a9 a1 a5 a5 a5 a5  |g.g...[.........|
00000030  a5 a5 f6 a5 8a ca 98 e3  cc d7 d6 d1 85 ea d7 c2  |................|
00000040  c4 cb cc df c4 d1 cc ca  cb 8a ca d0 98 e3 cc d7  |................|
00000050  d6 d1 85 e4 c1 c8 cc cb  cc d6 d1 d7 c4 d1 cc d3  |................|
00000060  c0 85 e2 d7 ca d0 d5 8a  c6 cb 98 f7 c0 c6 cc d5  |................|
00000070  cc c0 cb d1 d6 8a c6 cb  98 e4 c1 c8 cc cb cc d6  |................|
00000080  d1 d7 c4 d1 ca d7 a5 5a  5a 5a 5a 00 6f 00 00 00  |.......ZZZZ.o...|
00000090  07 80 00 00 30 00 00 00  00 00 06 00 28 00 28 00  |....0.......(.(.|
000000a0  ad a5 a4 a4 a4 a5 a7 a5  b5 a5 a4 a9 d9 a5 a5 a5  |................|
000000b0  a5 a5 a5 a5 a4 a5 a5 a5  b5 a5 a4 a9 d8 a5 a5 a5  |................|
000000c0  d8 a5 a5 a5 a4 a5 a5 a5  30 00 00 00 08 10 00 00  |........0.......|
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 53 of 79
EXCHANGELOGON:deeperunderground
●
XOR0xA5
$ hexdump ­C <pkt>
00000000  00 00 00 00 83 f2 c7 15  74 66 15 47 99 33 ac 9f  |........tf.G.3..|
00000010  fd bf 24 08 00 00 00 00  6f 00 00 00 00 00 06 00  |..$.....o.......|
00000020  67 00 67 00 c6 a5 5b a5  a5 a4 a9 a1 a5 a5 a5 a5  |g.g...[.........|
00000030  a5 a5 f6 a5 8a ca 98 e3  cc d7 d6 d1 85 ea d7 c2  |................|
00000040  c4 cb cc df c4 d1 cc ca  cb 8a ca d0 98 e3 cc d7  |................|
00000050  d6 d1 85 e4 c1 c8 cc cb  cc d6 d1 d7 c4 d1 cc d3  |................|
00000060  c0 85 e2 d7 ca d0 d5 8a  c6 cb 98 f7 c0 c6 cc d5  |................|
00000070  cc c0 cb d1 d6 8a c6 cb  98 e4 c1 c8 cc cb cc d6  |................|
00000080  d1 d7 c4 d1 ca d7 a5 5a  5a 5a 5a 00 6f 00 00 00  |.......ZZZZ.o...|
00000090  07 80 00 00 30 00 00 00  00 00 06 00 28 00 28 00  |....0.......(.(.|
000000a0  ad a5 a4 a4 a4 a5 a7 a5  b5 a5 a4 a9 d9 a5 a5 a5  |................|
000000b0  a5 a5 a5 a5 a4 a5 a5 a5  b5 a5 a4 a9 d8 a5 a5 a5  |................|
000000c0  d8 a5 a5 a5 a4 a5 a5 a5  30 00 00 00 08 10 00 00  |........0.......|
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 54 of 79
EXCHANGELOGON:deeperunderground
●
XOR0xA5
$ hexdump ­C <pkt>
00000000  00 00 00 00 83 f2 c7 15  74 66 15 47 99 33 ac 9f  |........tf.G.3..|
00000010  fd bf 24 08 00 00 00 00  6f 00 00 00 00 00 06 00  |..$.....o.......|
00000020  67 00 67 00 63 00 fe 00  00 01 0c 04 00 00 00 00  |....c...........|
00000030  00 00 53 00 2f 6f 3d 46  69 72 73 74 20 4f 72 67  |..S./o=First Org|
00000040  61 6e 69 7a 61 74 69 6f  6e 2f 6f 75 3d 46 69 72  |anization/ou=Fir|
00000050  73 74 20 41 64 6d 69 6e  69 73 74 72 61 74 69 76  |st Administrativ|
00000060  65 20 47 72 6f 75 70 2f  63 6e 3d 52 65 63 69 70  |e Group/cn=Recip|
00000070  69 65 6e 74 73 2f 63 6e  3d 41 64 6d 69 6e 69 73  |ients/cn=Adminis|
00000080  74 72 61 74 6f 72 00 ff  ff ff ff                 |trator..........|
000000b0  a5 a5 a5 a5 a4 a5 a5 a5  b5 a5 a4 a9 d8 a5 a5 a5  |................|
000000c0  d8 a5 a5 a5 a4 a5 a5 a5  30 00 00 00 08 10 00 00  |........0.......|
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 55 of 79
EXCHANGELOGON:deeperunderground
●
WelcometotheMAPIdecodingworld
$ hexdump ­C <pkt>
00000000  00 00 00 00 83 f2 c7 15  74 66 15 47 99 33 ac 9f  |........tf.G.3..|
00000010  fd bf 24 08 00 00 00 00  6f 00 00 00 00 00 06 00  |..$.....o.......|
00000020  67 00 67 00 63 00 fe 00  00 01 0c 04 00 00 00 00  |....c...........|
00000030  00 00 53 00 2f 6f 3d 46  69 72 73 74 20 4f 72 67  |..S./o=First Org|
00000040  61 6e 69 7a 61 74 69 6f  6e 2f 6f 75 3d 46 69 72  |anization/ou=Fir|
00000050  73 74 20 41 64 6d 69 6e  69 73 74 72 61 74 69 76  |st Administrativ|
00000060  65 20 47 72 6f 75 70 2f  63 6e 3d 52 65 63 69 70  |e Group/cn=Recip|
00000070  69 65 6e 74 73 2f 63 6e  3d 41 64 6d 69 6e 69 73  |ients/cn=Adminis|
00000080  74 72 61 74 6f 72 00 ff  ff ff ff                 |trator..........|
000000b0  a5 a5 a5 a5 a4 a5 a5 a5  b5 a5 a4 a9 d8 a5 a5 a5  |................|
000000c0  d8 a5 a5 a5 a4 a5 a5 a5  30 00 00 00 08 10 00 00  |........0.......|
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 56 of 79
EXCHANGELOGON:deeperunderground
KEEP CALM AND DO NOT PANIC
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 57 of 79
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 58 of 79
THERDESKTOPCASE
●
FreeclientforRDP(RemoteDesktopProtocol)usedbyTerminalServicesServer
●
DevelopedbyMattChapmann
Problem: RDP 4 & 5 communication are encrypted
WORKAROUND?
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 59 of 79
THERDESKTOPCASE
EncryptedloginpacketBUTunencryptedtransferofotherpackets
$ rdesktop -h
rdesktop: A Remote Desktop Protocol client.
Version 1.7.1. Copyright (C) 1999-2011 Matthew Chapman et al.
See http://www.rdesktop.org/ for more information.
Usage: rdesktop [options] server[:port]
[...]
-e: disable encryption (French TS)
-E: disable encryption from client to server
-m: do not send motion events
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 60 of 7960 of 79
THEOPENCHANGECASE
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 61 of 79
2003:THESTARTINGPOINT-EPITECH
ZERO TO ONE EXPERIMENT
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 62 of 79
2005:THEMENTOR
ANDREW TRIDGELL (TRIDGE)
FOUNDER OF THE SAMBA PROJECT
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 63 of 79
2006:THEHAPPYUNDERLINE
3 Decembre 2006:
Exchange Account created with OpenChange Server
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 64 of 79
2007:FIRSTOPENCHANGECLIENTLIBRARYRELEASE
●
LibMAPI-0.2MAILOOKRelease@SAMBAXP2007
●
GNOMEEvolutionPluginbasedonlibmapireleased
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 65 of 79
2008:OpenSpecificationsProgram
MicrosoftreleasesdocumentationonExchangeprotocols
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 66 of 79
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 67 of 79
2008-2010:WANACCELERATIONANDMAPIPROXYERA
●
Laythefoundationsofcurrentserverarchitecture
●
MITMProxy&&Stackablemodules
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 68 of 79
2010-2012:FirstStorageBackDevelopmentforServer
●
SOGobackend
●
TechnologyPreview
●
Backenddevelopedinobjective-C
●
PlugsontoserviceslikeDovecot,Postfix,MySQL
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 69 of 79
2013-2015:Zentyal&Pivot
●
JoinedZentyalasCTO
●
DevelopmentofOpenChangetechnology
●
Tooktheleadonopenchange-sogobackenddevelopment
●
Hardlearningcurvefornewopenchangedevelopers
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 70 of 79
2014-2015:SoftentheLearningCurve
●
Objectives:
●
WriteOpenChangebackendsveryquickly
●
AbstractMAPIcomplexitytothemaximum
●
Technology:
●
Python-Cgateway
●
RESTAPI
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 71 of 7971 of 79
DEVELOPERPROGRAM
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 72 of 79
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 73 of 79
OBJECTIVES
●
technicalcontestopenedtoopensourcedevelopers,andaimingatchallengingyour
innovationskills.
●
manipulateExchangeprotocolsdatatotwistMicrosoftOutlookgraphicalinterfaceand
makeitdounexpectedandamazingthings.
●
LeveragethePython-CgatewayandREST-APItostartveryquickly
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 74 of 79
HOWDOESITWORK?
●
Decidetoworkaloneorjoinateam
●
Registeronhttp://www.protocolsplugfest.com/europe/developer-program/
●
Writeyourbackend
●
PublishitongithubrepositoryunderthetermsofGPLv3orlater
●
30th March 2015: deadline for submission
●
5thApril2015:Finalistteamsannounced
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 75 of 79
PRICES
●
INDUSTRYPASSTOPROTOCOLSPLUGFEST
●
3DAYSSTANCETOATTENDPROTOCOLSPLUGFEST
●
20MINUTESTOPRESENTTHEPROJECTINTHEEVENTMAINTRACK
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 76 of 79
POSSIBLEPROJECTTOPICS
Socialmedia
Bigdata
Storage
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 77 of 79
PREPAREDEVELOPMENTENVIRONMENT
1. Clone openchange-docker repository:
1. gitclonehttps://github.com/openchange/docker
2. Clone openchange repo with Python-C/REST API support
1. gitclonehttps://github.com/openchange/openchange
2. cdopenchange
3. gitfetch&&gitcheckoutjkerihuel/mapistore-python
3. Install docker 1.4.1
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 78 of 79
PREPAREDEVELOPMENTENVIRONMENT
DEMO
PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 79 of 7979 of 79
QUESTIONS?
http://www.protocolsplugfest.com
@plugfestcon

More Related Content

Similar to Master class: Protocol Interoperability

[Cloud Summit 2010] Tecla Internet - Antonio Carlos Pina
[Cloud Summit 2010] Tecla Internet - Antonio Carlos Pina[Cloud Summit 2010] Tecla Internet - Antonio Carlos Pina
[Cloud Summit 2010] Tecla Internet - Antonio Carlos PinaTecla Internet
 
CLASS 2018 - Palestra de Alexandre Freire (Industrial Cybersecurity Sales Eng...
CLASS 2018 - Palestra de Alexandre Freire (Industrial Cybersecurity Sales Eng...CLASS 2018 - Palestra de Alexandre Freire (Industrial Cybersecurity Sales Eng...
CLASS 2018 - Palestra de Alexandre Freire (Industrial Cybersecurity Sales Eng...TI Safe
 
Desenhando Arquiteturas de Segurança Cibernética Centradas na Prevenção de Si...
Desenhando Arquiteturas de Segurança Cibernética Centradas na Prevenção de Si...Desenhando Arquiteturas de Segurança Cibernética Centradas na Prevenção de Si...
Desenhando Arquiteturas de Segurança Cibernética Centradas na Prevenção de Si...Alexandre Freire
 
Parallel Programming no .NET 4.0
Parallel Programming no .NET 4.0Parallel Programming no .NET 4.0
Parallel Programming no .NET 4.0Comunidade NetPonto
 
IoT aplicada a melhor utilização de recursos naturais - Embarcadero Confere...
IoT aplicada a melhor utilização de recursos naturais� - Embarcadero Confere...IoT aplicada a melhor utilização de recursos naturais� - Embarcadero Confere...
IoT aplicada a melhor utilização de recursos naturais - Embarcadero Confere...Vic Fernandes
 
Geniot a plataforma iot
Geniot a plataforma iotGeniot a plataforma iot
Geniot a plataforma iotAllef Anderson
 
Segurança de sistemas: invasões, engenharia reversa e análise de virus
Segurança de sistemas: invasões, engenharia reversa e análise de virusSegurança de sistemas: invasões, engenharia reversa e análise de virus
Segurança de sistemas: invasões, engenharia reversa e análise de virusRodrigo Almeida
 
ApresentaçãO Final
ApresentaçãO FinalApresentaçãO Final
ApresentaçãO FinalHotSpy2009
 
Arduino para Programadores .NET
Arduino para Programadores .NETArduino para Programadores .NET
Arduino para Programadores .NETIgor Kondrasovas
 
UFPA PPGCC LPRAD 2014-02 - Edinaldo La-Roque - OPNET - Tutorial Rede LTE Basi...
UFPA PPGCC LPRAD 2014-02 - Edinaldo La-Roque - OPNET - Tutorial Rede LTE Basi...UFPA PPGCC LPRAD 2014-02 - Edinaldo La-Roque - OPNET - Tutorial Rede LTE Basi...
UFPA PPGCC LPRAD 2014-02 - Edinaldo La-Roque - OPNET - Tutorial Rede LTE Basi...Edinaldo La-Roque
 
CLASS 2022 - Júlio Cezar de Oliveira (Hitachi Energy) - Cibersegurança na era...
CLASS 2022 - Júlio Cezar de Oliveira (Hitachi Energy) - Cibersegurança na era...CLASS 2022 - Júlio Cezar de Oliveira (Hitachi Energy) - Cibersegurança na era...
CLASS 2022 - Júlio Cezar de Oliveira (Hitachi Energy) - Cibersegurança na era...TI Safe
 
Infraestrutura de Rede do IFMT
Infraestrutura de Rede do IFMTInfraestrutura de Rede do IFMT
Infraestrutura de Rede do IFMTjacintofranco1
 
Virtualização de Infraestrutura de Redes por Thiago Leite
Virtualização de Infraestrutura de Redes por Thiago LeiteVirtualização de Infraestrutura de Redes por Thiago Leite
Virtualização de Infraestrutura de Redes por Thiago LeiteThiagoLeite94
 
Criando microsserviços em PHP
Criando microsserviços em PHPCriando microsserviços em PHP
Criando microsserviços em PHPFlávio Lisboa
 

Similar to Master class: Protocol Interoperability (20)

[Cloud Summit 2010] Tecla Internet - Antonio Carlos Pina
[Cloud Summit 2010] Tecla Internet - Antonio Carlos Pina[Cloud Summit 2010] Tecla Internet - Antonio Carlos Pina
[Cloud Summit 2010] Tecla Internet - Antonio Carlos Pina
 
CLASS 2018 - Palestra de Alexandre Freire (Industrial Cybersecurity Sales Eng...
CLASS 2018 - Palestra de Alexandre Freire (Industrial Cybersecurity Sales Eng...CLASS 2018 - Palestra de Alexandre Freire (Industrial Cybersecurity Sales Eng...
CLASS 2018 - Palestra de Alexandre Freire (Industrial Cybersecurity Sales Eng...
 
Desenhando Arquiteturas de Segurança Cibernética Centradas na Prevenção de Si...
Desenhando Arquiteturas de Segurança Cibernética Centradas na Prevenção de Si...Desenhando Arquiteturas de Segurança Cibernética Centradas na Prevenção de Si...
Desenhando Arquiteturas de Segurança Cibernética Centradas na Prevenção de Si...
 
Parallel Programming no .NET 4.0
Parallel Programming no .NET 4.0Parallel Programming no .NET 4.0
Parallel Programming no .NET 4.0
 
Lima 2009
Lima 2009Lima 2009
Lima 2009
 
IoT aplicada a melhor utilização de recursos naturais - Embarcadero Confere...
IoT aplicada a melhor utilização de recursos naturais� - Embarcadero Confere...IoT aplicada a melhor utilização de recursos naturais� - Embarcadero Confere...
IoT aplicada a melhor utilização de recursos naturais - Embarcadero Confere...
 
Geniot a plataforma iot
Geniot a plataforma iotGeniot a plataforma iot
Geniot a plataforma iot
 
Segurança de sistemas: invasões, engenharia reversa e análise de virus
Segurança de sistemas: invasões, engenharia reversa e análise de virusSegurança de sistemas: invasões, engenharia reversa e análise de virus
Segurança de sistemas: invasões, engenharia reversa e análise de virus
 
ApresentaçãO Final
ApresentaçãO FinalApresentaçãO Final
ApresentaçãO Final
 
Arduino para Programadores .NET
Arduino para Programadores .NETArduino para Programadores .NET
Arduino para Programadores .NET
 
Gerredes
GerredesGerredes
Gerredes
 
30 abr16 ativ-ii
30 abr16 ativ-ii30 abr16 ativ-ii
30 abr16 ativ-ii
 
UFPA PPGCC LPRAD 2014-02 - Edinaldo La-Roque - OPNET - Tutorial Rede LTE Basi...
UFPA PPGCC LPRAD 2014-02 - Edinaldo La-Roque - OPNET - Tutorial Rede LTE Basi...UFPA PPGCC LPRAD 2014-02 - Edinaldo La-Roque - OPNET - Tutorial Rede LTE Basi...
UFPA PPGCC LPRAD 2014-02 - Edinaldo La-Roque - OPNET - Tutorial Rede LTE Basi...
 
Arquitetura tcp ip - 1
Arquitetura tcp ip - 1Arquitetura tcp ip - 1
Arquitetura tcp ip - 1
 
CLASS 2022 - Júlio Cezar de Oliveira (Hitachi Energy) - Cibersegurança na era...
CLASS 2022 - Júlio Cezar de Oliveira (Hitachi Energy) - Cibersegurança na era...CLASS 2022 - Júlio Cezar de Oliveira (Hitachi Energy) - Cibersegurança na era...
CLASS 2022 - Júlio Cezar de Oliveira (Hitachi Energy) - Cibersegurança na era...
 
Infraestrutura de Rede do IFMT
Infraestrutura de Rede do IFMTInfraestrutura de Rede do IFMT
Infraestrutura de Rede do IFMT
 
Virtualização de Infraestrutura de Redes por Thiago Leite
Virtualização de Infraestrutura de Redes por Thiago LeiteVirtualização de Infraestrutura de Redes por Thiago Leite
Virtualização de Infraestrutura de Redes por Thiago Leite
 
Revista programar 4
Revista programar 4Revista programar 4
Revista programar 4
 
RSA5
RSA5RSA5
RSA5
 
Criando microsserviços em PHP
Criando microsserviços em PHPCriando microsserviços em PHP
Criando microsserviços em PHP
 

Recently uploaded

DESTRAVANDO O NOVO EDITAL DA CAIXA ECONOMICA
DESTRAVANDO O NOVO EDITAL DA CAIXA ECONOMICADESTRAVANDO O NOVO EDITAL DA CAIXA ECONOMICA
DESTRAVANDO O NOVO EDITAL DA CAIXA ECONOMICAPabloVinicius40
 
Livro Vibrações Mecânicas - Rao Singiresu - 4ª Ed.pdf
Livro Vibrações Mecânicas - Rao Singiresu - 4ª Ed.pdfLivro Vibrações Mecânicas - Rao Singiresu - 4ª Ed.pdf
Livro Vibrações Mecânicas - Rao Singiresu - 4ª Ed.pdfSamuel Ramos
 
Treinamento de NR06 Equipamento de Proteção Individual
Treinamento de NR06 Equipamento de Proteção IndividualTreinamento de NR06 Equipamento de Proteção Individual
Treinamento de NR06 Equipamento de Proteção Individualpablocastilho3
 
Tecnólogo em Mecatrônica - Universidade Anhanguera
Tecnólogo em Mecatrônica - Universidade AnhangueraTecnólogo em Mecatrônica - Universidade Anhanguera
Tecnólogo em Mecatrônica - Universidade AnhangueraGuilhermeLucio9
 
A Importância dos EPI's no trabalho e no dia a dia laboral
A Importância dos EPI's no trabalho e no dia a dia laboralA Importância dos EPI's no trabalho e no dia a dia laboral
A Importância dos EPI's no trabalho e no dia a dia laboralFranciscaArrudadaSil
 
LEAN SIX SIGMA - Garantia da qualidade e segurança
LEAN SIX SIGMA - Garantia da qualidade e segurançaLEAN SIX SIGMA - Garantia da qualidade e segurança
LEAN SIX SIGMA - Garantia da qualidade e segurançaGuilhermeLucio9
 
Eletricista instalador - Senai Almirante Tamandaré
Eletricista instalador - Senai Almirante TamandaréEletricista instalador - Senai Almirante Tamandaré
Eletricista instalador - Senai Almirante TamandaréGuilhermeLucio9
 

Recently uploaded (7)

DESTRAVANDO O NOVO EDITAL DA CAIXA ECONOMICA
DESTRAVANDO O NOVO EDITAL DA CAIXA ECONOMICADESTRAVANDO O NOVO EDITAL DA CAIXA ECONOMICA
DESTRAVANDO O NOVO EDITAL DA CAIXA ECONOMICA
 
Livro Vibrações Mecânicas - Rao Singiresu - 4ª Ed.pdf
Livro Vibrações Mecânicas - Rao Singiresu - 4ª Ed.pdfLivro Vibrações Mecânicas - Rao Singiresu - 4ª Ed.pdf
Livro Vibrações Mecânicas - Rao Singiresu - 4ª Ed.pdf
 
Treinamento de NR06 Equipamento de Proteção Individual
Treinamento de NR06 Equipamento de Proteção IndividualTreinamento de NR06 Equipamento de Proteção Individual
Treinamento de NR06 Equipamento de Proteção Individual
 
Tecnólogo em Mecatrônica - Universidade Anhanguera
Tecnólogo em Mecatrônica - Universidade AnhangueraTecnólogo em Mecatrônica - Universidade Anhanguera
Tecnólogo em Mecatrônica - Universidade Anhanguera
 
A Importância dos EPI's no trabalho e no dia a dia laboral
A Importância dos EPI's no trabalho e no dia a dia laboralA Importância dos EPI's no trabalho e no dia a dia laboral
A Importância dos EPI's no trabalho e no dia a dia laboral
 
LEAN SIX SIGMA - Garantia da qualidade e segurança
LEAN SIX SIGMA - Garantia da qualidade e segurançaLEAN SIX SIGMA - Garantia da qualidade e segurança
LEAN SIX SIGMA - Garantia da qualidade e segurança
 
Eletricista instalador - Senai Almirante Tamandaré
Eletricista instalador - Senai Almirante TamandaréEletricista instalador - Senai Almirante Tamandaré
Eletricista instalador - Senai Almirante Tamandaré
 

Master class: Protocol Interoperability

  • 2. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 2 of 792 of 79 INTEROPERABILITY:THROUGHDCE/RPCHISTORY
  • 3. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 3 of 79 WHATISDCE/RPC? ● DCE forDistributedComputingEnvironment ● RPC forRemoteProcedureCalls “Thissystemallowsprogrammerstowritedistributedsoftwareasifitwereallworkingon thesamecomputer,withouthavingtoworryabouttheunderlyingnetworkcode.” Source:wikipedia
  • 4. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 4 of 79 HISTORYOFDCE/RPC ● IdeaofRPCin1976[RFC-707] ● OSFDCE/RPCRequestforTechnology – OSFDCE1.1Referenceimplementationpublishedin1993(250KLOC,OSF1.0BSD-compatiblelicense) – OSFDCE1.2.2ontopofDCE/RPC1.1in1996(3.5millionsLOC,pricepercopy) ● ReleasedunderLGPLin2005:FreeDCEimplementationinLinux2.4.Xand2.6.X
  • 5. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 5 of 79 THEBIRTHOFMSRPC ● A Question of money ● LeadtosignificantDCE/RPCimprovements – TransportoverNamedPipes(NCACN_NP) – NTLM/GSSAPI – UNICODEsupport – IDLextensions
  • 6. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 6 of 79 WHATISINTEROPERABILITY? “Theabilityofmakingsystemsandorganizationsworktogether:inter-operate” Compatibility vsde facto Standard vsInteroperability Source: wikipedia
  • 7. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 7 of 79 COMPATIBILITYDIFFERENTFROMINTEROPERABILITY Whentwosystemscommunicatetogether Image: Camille Moulin
  • 8. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 8 of 79 DEFACTOSTANDARDDIFFERENTFROMINTEROPERABILITY Whendominantpositionleadotheractorstobecompatiblewithit Master(1)/Slave(n)relationship OpenStandard/ClosedStandard Image: Camille Moulin
  • 9. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 9 of 79 INTEROPERABILITY NtoNcommunication–notdependentofa3rdpartyvendor “Everybody talks the same language without restrictions” Image: Camille Moulin
  • 10. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 10 of 79 THEPATHTOINTEROPERABILITY ● FreeSoftwareisthelinkfromstandardtointeroperability ● Open Specifications Image: Camille Moulin
  • 11. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 11 of 79 INTEROPERABILITYANDOPENESS ● Closedprotocolsprovidesecuritybyobfuscation ● Itisbadpractice ● RememberBlasterorSasserworms? Image: Camille Moulin
  • 12. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 12 of 7912 of 79 PROTOCOLANALYSIS:DEFINITION/TECHNIQUES
  • 13. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 13 of 79 PROTOCOLANALYSISDEFINITION ● Itisthe core methodology involvedinSambaandOpenChange ● Uniquerequirementsare: – Networkpacketanalyzer – MethodologyandCommitment ● Differentfromreverseengineeringbecausenobinaryanalysisordecompilation Image: Camille Moulin
  • 14. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 14 of 79 FRENCHCAFETECHNIQUE Robert Doisneau, 1966 THE CONCEPT
  • 15. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 15 of 79 FRENCHCAFETECHNIQUE SambaXP 2005 THE REALITY
  • 16. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 16 of 79 FRENCHCAFETECHNIQUE 1. LISTENANDREPEAT
  • 17. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 17 of 79 FRENCHCAFETECHNIQUE 1. LISTENANDREPEAT 2. SWEARWORDSANDERRORPACKETS
  • 18. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 18 of 79 FRENCHCAFETECHNIQUE 1. LISTENANDREPEAT 2. SWEARWORDSANDERRORPACKETS 3. WRITEAPROTOCOLSCANNER 1. Appendadditionalblankbytesuntiltheserverchangesitsresponseinsomeway 2. Changeadditionalbytesuntilserveracceptsit 3. Figureoutwhatthecommanddoes
  • 19. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 19 of 79 FRENCHCAFETECHNIQUE 1. LISTENANDREPEAT 2. SWEARWORDSANDERRORPACKETS 3. WRITEAPROTOCOLSCANNER 4. DIFFERENTIALTECHNIQUE 1. Discoverinteractionsbetweendifferentcommandwords 2. Changecustomserveruntilitbehaveslikerealone
  • 20. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 20 of 79 FRENCHWAITERTECHNIQUE Switchrolesandanalyzecustomer'sreaction
  • 21. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 21 of 79 FRENCHWAITERTECHNIQUE 1. SALTCOFFEE 1. Silentlydrinkit? 2. Askforanotherone? 3. SwearandLeave? Salt shaker on white background" by Dubravko Sorić SoraZG on Flickr - http://www.flickr.com/photos/11939863@N08/3793288383/in/photostream/.
  • 22. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 22 of 79 FRENCHWAITERTECHNIQUE 1. SALTCOFFEE 2. IGNORECUSTOMERCALLS 1. Howlongdoeshewait? 2. Callmanagerorotherwaiter? 3. Movetothecafénextdoor? Image: photostock / FreeDigitalPhotos.net
  • 23. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 23 of 79 FRENCHWAITERTECHNIQUE 1. SALTCOFFEE 2. IGNORECUSTOMERCALLS 3. PRETENDYOUDON'TUNDERSTANDFRENCH 1. Howmanytriesbeforeheleaves? 2. Doestheclientorderinanotherlanguage?
  • 24. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 24 of 79 MIDLDECOMPILER ● Muddle:firstMIDLdecompiler ● WrittenbyMattChapmannin2000 ● Controversialandimperfecttechnique ● ProcessRPCService'sexecutabletoreturnIDLfile ● IDL-InterfaceDescriptionLanguage
  • 26. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 26 of 79 THEEXCHANGELOGONCASE Let'srunanetworkanalysissessiononExchangeMAPILogon andfigureouttheIDLoftheRPCcall
  • 27. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 27 of 79 NETWORKDATAREPRESENTATION ● UsedbyDCE/RPCandMSRPCfordatamarshalling/unmarshalling ● Transfersyntax ● Providesprimitivesandcomplextypes ● Little-endianbased(leastsignificantbitfirst) ● Alignmentenforced ● http://pubs.opengroup.org/onlinepubs/9629399/chap14.htm
  • 28. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 28 of 79 EXCHANGELOGON:SDK&CAPTURE 1. WriteaatomicprogramusingMAPISDKthatlogsontoExchangeServer 2. CapturethetrafficwithWiresharkandexportstubdata
  • 30. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 30 of 79 EXCHANGELOGON:HEXDUMPANDPROCESSING $ hexdump ­C <pkt> 00000000  00 00 00 00 83 f2 c7 15  74 66 15 47 99 33 ac 9f  |........tf.G.3..| 00000010  fd bf 24 08 00 00 00 00  6f 00 00 00 00 00 06 00  |..$.....o.......| 00000020  67 00 67 00 c6 a5 5b a5  a5 a4 a9 a1 a5 a5 a5 a5  |g.g...[.........| 00000030  a5 a5 f6 a5 8a ca 98 e3  cc d7 d6 d1 85 ea d7 c2  |................| 00000040  c4 cb cc df c4 d1 cc ca  cb 8a ca d0 98 e3 cc d7  |................| 00000050  d6 d1 85 e4 c1 c8 cc cb  cc d6 d1 d7 c4 d1 cc d3  |................| 00000060  c0 85 e2 d7 ca d0 d5 8a  c6 cb 98 f7 c0 c6 cc d5  |................| 00000070  cc c0 cb d1 d6 8a c6 cb  98 e4 c1 c8 cc cb cc d6  |................| 00000080  d1 d7 c4 d1 ca d7 a5 5a  5a 5a 5a 00 6f 00 00 00  |.......ZZZZ.o...| 00000090  07 80 00 00 30 00 00 00  00 00 06 00 28 00 28 00  |....0.......(.(.| 000000a0  ad a5 a4 a4 a4 a5 a7 a5  b5 a5 a4 a9 d9 a5 a5 a5  |................| 000000b0  a5 a5 a5 a5 a4 a5 a5 a5  b5 a5 a4 a9 d8 a5 a5 a5  |................| 000000c0  d8 a5 a5 a5 a4 a5 a5 a5  30 00 00 00 08 10 00 00  |........0.......| handle: struct policy_handle handle_type : 0x00000000 (0) uuid : 15c7f283-6674-4715-9933-ac9ffdbf2408
  • 31. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 31 of 79 EXCHANGELOGON:HEXDUMPANDPROCESSING $ hexdump ­C <pkt> 00000000  00 00 00 00 83 f2 c7 15  74 66 15 47 99 33 ac 9f  |........tf.G.3..| 00000010  fd bf 24 08 00 00 00 00  6f 00 00 00 00 00 06 00  |..$.....o.......| 00000020  67 00 67 00 c6 a5 5b a5  a5 a4 a9 a1 a5 a5 a5 a5  |g.g...[.........| 00000030  a5 a5 f6 a5 8a ca 98 e3  cc d7 d6 d1 85 ea d7 c2  |................| 00000040  c4 cb cc df c4 d1 cc ca  cb 8a ca d0 98 e3 cc d7  |................| 00000050  d6 d1 85 e4 c1 c8 cc cb  cc d6 d1 d7 c4 d1 cc d3  |................| 00000060  c0 85 e2 d7 ca d0 d5 8a  c6 cb 98 f7 c0 c6 cc d5  |................| 00000070  cc c0 cb d1 d6 8a c6 cb  98 e4 c1 c8 cc cb cc d6  |................| 00000080  d1 d7 c4 d1 ca d7 a5 5a  5a 5a 5a 00 6f 00 00 00  |.......ZZZZ.o...| 00000090  07 80 00 00 30 00 00 00  00 00 06 00 28 00 28 00  |....0.......(.(.| 000000a0  ad a5 a4 a4 a4 a5 a7 a5  b5 a5 a4 a9 d9 a5 a5 a5  |................| 000000b0  a5 a5 a5 a5 a4 a5 a5 a5  b5 a5 a4 a9 d8 a5 a5 a5  |................| 000000c0  d8 a5 a5 a5 a4 a5 a5 a5  30 00 00 00 08 10 00 00  |........0.......|
  • 32. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 32 of 79 EXCHANGELOGON:HEXDUMPANDPROCESSING $ hexdump ­C <pkt> 00000000  00 00 00 00 83 f2 c7 15  74 66 15 47 99 33 ac 9f  |........tf.G.3..| 00000010  fd bf 24 08 00 00 00 00  6f 00 00 00 00 00 06 00  |..$.....o.......| 00000020  67 00 67 00 c6 a5 5b a5  a5 a4 a9 a1 a5 a5 a5 a5  |g.g...[.........| 00000030  a5 a5 f6 a5 8a ca 98 e3  cc d7 d6 d1 85 ea d7 c2  |................| 00000040  c4 cb cc df c4 d1 cc ca  cb 8a ca d0 98 e3 cc d7  |................| 00000050  d6 d1 85 e4 c1 c8 cc cb  cc d6 d1 d7 c4 d1 cc d3  |................| 00000060  c0 85 e2 d7 ca d0 d5 8a  c6 cb 98 f7 c0 c6 cc d5  |................| 00000070  cc c0 cb d1 d6 8a c6 cb  98 e4 c1 c8 cc cb cc d6  |................| 00000080  d1 d7 c4 d1 ca d7 a5 5a  5a 5a 5a 00 6f 00 00 00  |.......ZZZZ.o...| 00000090  07 80 00 00 30 00 00 00  00 00 06 00 28 00 28 00  |....0.......(.(.| 000000a0  ad a5 a4 a4 a4 a5 a7 a5  b5 a5 a4 a9 d9 a5 a5 a5  |................| 000000b0  a5 a5 a5 a5 a4 a5 a5 a5  b5 a5 a4 a9 d8 a5 a5 a5  |................| 000000c0  d8 a5 a5 a5 a4 a5 a5 a5  30 00 00 00 08 10 00 00  |........0.......|
  • 33. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 33 of 79 EXCHANGELOGON:HEXDUMPANDPROCESSING $ hexdump ­C <pkt> 00000000  00 00 00 00 83 f2 c7 15  74 66 15 47 99 33 ac 9f  |........tf.G.3..| 00000010  fd bf 24 08 00 00 00 00  6f 00 00 00 00 00 06 00  |..$.....o.......| 00000020  67 00 67 00 c6 a5 5b a5  a5 a4 a9 a1 a5 a5 a5 a5  |g.g...[.........| 00000030  a5 a5 f6 a5 8a ca 98 e3  cc d7 d6 d1 85 ea d7 c2  |................| 00000040  c4 cb cc df c4 d1 cc ca  cb 8a ca d0 98 e3 cc d7  |................| 00000050  d6 d1 85 e4 c1 c8 cc cb  cc d6 d1 d7 c4 d1 cc d3  |................| 00000060  c0 85 e2 d7 ca d0 d5 8a  c6 cb 98 f7 c0 c6 cc d5  |................| 00000070  cc c0 cb d1 d6 8a c6 cb  98 e4 c1 c8 cc cb cc d6  |................| 00000080  d1 d7 c4 d1 ca d7 a5 5a  5a 5a 5a 00 6f 00 00 00  |.......ZZZZ.o...| 00000090  07 80 00 00 30 00 00 00  00 00 06 00 28 00 28 00  |....0.......(.(.| 000000a0  ad a5 a4 a4 a4 a5 a7 a5  b5 a5 a4 a9 d9 a5 a5 a5  |................| 000000b0  a5 a5 a5 a5 a4 a5 a5 a5  b5 a5 a4 a9 d8 a5 a5 a5  |................| 000000c0  d8 a5 a5 a5 a4 a5 a5 a5  30 00 00 00 08 10 00 00  |........0.......|
  • 34. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 34 of 79 EXCHANGELOGON:HEXDUMPANDPROCESSING $ hexdump ­C <pkt> 00000000  00 00 00 00 83 f2 c7 15  74 66 15 47 99 33 ac 9f  |........tf.G.3..| 00000010  fd bf 24 08 00 00 00 00  6f 00 00 00 00 00 06 00  |..$.....o.......| 00000020  67 00 67 00 c6 a5 5b a5  a5 a4 a9 a1 a5 a5 a5 a5  |g.g...[.........| 00000030  a5 a5 f6 a5 8a ca 98 e3  cc d7 d6 d1 85 ea d7 c2  |................| 00000040  c4 cb cc df c4 d1 cc ca  cb 8a ca d0 98 e3 cc d7  |................| 00000050  d6 d1 85 e4 c1 c8 cc cb  cc d6 d1 d7 c4 d1 cc d3  |................| 00000060  c0 85 e2 d7 ca d0 d5 8a  c6 cb 98 f7 c0 c6 cc d5  |................| 00000070  cc c0 cb d1 d6 8a c6 cb  98 e4 c1 c8 cc cb cc d6  |................| 00000080  d1 d7 c4 d1 ca d7 a5 5a  5a 5a 5a 00 6f 00 00 00  |.......ZZZZ.o...| 00000090  07 80 00 00 30 00 00 00  00 00 06 00 28 00 28 00  |....0.......(.(.| 000000a0  ad a5 a4 a4 a4 a5 a7 a5  b5 a5 a4 a9 d9 a5 a5 a5  |................| 000000b0  a5 a5 a5 a5 a4 a5 a5 a5  b5 a5 a4 a9 d8 a5 a5 a5  |................| 000000c0  d8 a5 a5 a5 a4 a5 a5 a5  30 00 00 00 08 10 00 00  |........0.......|
  • 35. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 35 of 79 EXCHANGELOGON:HEXDUMPANDPROCESSING $ hexdump ­C <pkt> 00000000  00 00 00 00 83 f2 c7 15  74 66 15 47 99 33 ac 9f  |........tf.G.3..| 00000010  fd bf 24 08 00 00 00 00  6f 00 00 00 00 00 06 00  |..$.....o.......| 00000020  67 00 67 00 c6 a5 5b a5  a5 a4 a9 a1 a5 a5 a5 a5  |g.g...[.........| 00000030  a5 a5 f6 a5 8a ca 98 e3  cc d7 d6 d1 85 ea d7 c2  |................| 00000040  c4 cb cc df c4 d1 cc ca  cb 8a ca d0 98 e3 cc d7  |................| 00000050  d6 d1 85 e4 c1 c8 cc cb  cc d6 d1 d7 c4 d1 cc d3  |................| 00000060  c0 85 e2 d7 ca d0 d5 8a  c6 cb 98 f7 c0 c6 cc d5  |................| 00000070  cc c0 cb d1 d6 8a c6 cb  98 e4 c1 c8 cc cb cc d6  |................| 00000080  d1 d7 c4 d1 ca d7 a5 5a  5a 5a 5a 00 6f 00 00 00  |.......ZZZZ.o...| 00000090  07 80 00 00 30 00 00 00  00 00 06 00 28 00 28 00  |....0.......(.(.| 000000a0  ad a5 a4 a4 a4 a5 a7 a5  b5 a5 a4 a9 d9 a5 a5 a5  |................| 000000b0  a5 a5 a5 a5 a4 a5 a5 a5  b5 a5 a4 a9 d8 a5 a5 a5  |................| 000000c0  d8 a5 a5 a5 a4 a5 a5 a5  30 00 00 00 08 10 00 00  |........0.......|
  • 36. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 36 of 79 EXCHANGELOGON:HEXDUMPANDPROCESSING $ hexdump ­C <pkt> 00000000  00 00 00 00 83 f2 c7 15  74 66 15 47 99 33 ac 9f  |........tf.G.3..| 00000010  fd bf 24 08 00 00 00 00  6f 00 00 00 00 00 06 00  |..$.....o.......| 00000020  67 00 67 00 c6 a5 5b a5  a5 a4 a9 a1 a5 a5 a5 a5  |g.g...[.........| 00000030  a5 a5 f6 a5 8a ca 98 e3  cc d7 d6 d1 85 ea d7 c2  |................| 00000040  c4 cb cc df c4 d1 cc ca  cb 8a ca d0 98 e3 cc d7  |................| 00000050  d6 d1 85 e4 c1 c8 cc cb  cc d6 d1 d7 c4 d1 cc d3  |................| 00000060  c0 85 e2 d7 ca d0 d5 8a  c6 cb 98 f7 c0 c6 cc d5  |................| 00000070  cc c0 cb d1 d6 8a c6 cb  98 e4 c1 c8 cc cb cc d6  |................| 00000080  d1 d7 c4 d1 ca d7 a5 5a  5a 5a 5a 00 6f 00 00 00  |.......ZZZZ.o...| 00000090  07 80 00 00 30 00 00 00  00 00 06 00 28 00 28 00  |....0.......(.(.| 000000a0  ad a5 a4 a4 a4 a5 a7 a5  b5 a5 a4 a9 d9 a5 a5 a5  |................| 000000b0  a5 a5 a5 a5 a4 a5 a5 a5  b5 a5 a4 a9 d8 a5 a5 a5  |................| 000000c0  d8 a5 a5 a5 a4 a5 a5 a5  30 00 00 00 08 10 00 00  |........0.......|
  • 37. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 37 of 79 EXCHANGELOGON:HEXDUMPANDPROCESSING $ hexdump ­C <pkt> 00000000  00 00 00 00 83 f2 c7 15  74 66 15 47 99 33 ac 9f  |........tf.G.3..| 00000010  fd bf 24 08 00 00 00 00  6f 00 00 00 00 00 06 00  |..$.....o.......| 00000020  67 00 67 00 c6 a5 5b a5  a5 a4 a9 a1 a5 a5 a5 a5  |g.g...[.........| 00000030  a5 a5 f6 a5 8a ca 98 e3  cc d7 d6 d1 85 ea d7 c2  |................| 00000040  c4 cb cc df c4 d1 cc ca  cb 8a ca d0 98 e3 cc d7  |................| 00000050  d6 d1 85 e4 c1 c8 cc cb  cc d6 d1 d7 c4 d1 cc d3  |................| 00000060  c0 85 e2 d7 ca d0 d5 8a  c6 cb 98 f7 c0 c6 cc d5  |................| 00000070  cc c0 cb d1 d6 8a c6 cb  98 e4 c1 c8 cc cb cc d6  |................| 00000080  d1 d7 c4 d1 ca d7 a5 5a  5a 5a 5a 00 6f 00 00 00  |.......ZZZZ.o...| 00000090  07 80 00 00 30 00 00 00  00 00 06 00 28 00 28 00  |....0.......(.(.| 000000a0  ad a5 a4 a4 a4 a5 a7 a5  b5 a5 a4 a9 d9 a5 a5 a5  |................| 000000b0  a5 a5 a5 a5 a4 a5 a5 a5  b5 a5 a4 a9 d8 a5 a5 a5  |................| 000000c0  d8 a5 a5 a5 a4 a5 a5 a5  30 00 00 00 08 10 00 00  |........0.......|
  • 38. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 38 of 79 EXCHANGELOGON:HEXDUMPANDPROCESSING $ hexdump ­C <pkt> 00000000  00 00 00 00 83 f2 c7 15  74 66 15 47 99 33 ac 9f  |........tf.G.3..| 00000010  fd bf 24 08 00 00 00 00  6f 00 00 00 00 00 06 00  |..$.....o.......| 00000020  67 00 67 00 c6 a5 5b a5  a5 a4 a9 a1 a5 a5 a5 a5  |g.g...[.........| 00000030  a5 a5 f6 a5 8a ca 98 e3  cc d7 d6 d1 85 ea d7 c2  |................| 00000040  c4 cb cc df c4 d1 cc ca  cb 8a ca d0 98 e3 cc d7  |................| 00000050  d6 d1 85 e4 c1 c8 cc cb  cc d6 d1 d7 c4 d1 cc d3  |................| 00000060  c0 85 e2 d7 ca d0 d5 8a  c6 cb 98 f7 c0 c6 cc d5  |................| 00000070  cc c0 cb d1 d6 8a c6 cb  98 e4 c1 c8 cc cb cc d6  |................| 00000080  d1 d7 c4 d1 ca d7 a5 5a  5a 5a 5a 00 6f 00 00 00  |.......ZZZZ.o...| 00000090  07 80 00 00 30 00 00 00  00 00 06 00 28 00 28 00  |....0.......(.(.| 000000a0  ad a5 a4 a4 a4 a5 a7 a5  b5 a5 a4 a9 d9 a5 a5 a5  |................| 000000b0  a5 a5 a5 a5 a4 a5 a5 a5  b5 a5 a4 a9 d8 a5 a5 a5  |................| 000000c0  d8 a5 a5 a5 a4 a5 a5 a5  30 00 00 00 08 10 00 00  |........0.......|
  • 39. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 39 of 79 EXCHANGELOGON:HEXDUMPANDPROCESSING $ hexdump ­C <pkt> 00000000  00 00 00 00 83 f2 c7 15  74 66 15 47 99 33 ac 9f  |........tf.G.3..| 00000010  fd bf 24 08 00 00 00 00  6f 00 00 00 00 00 06 00  |..$.....o.......| 00000020  67 00 67 00 c6 a5 5b a5  a5 a4 a9 a1 a5 a5 a5 a5  |g.g...[.........| 00000030  a5 a5 f6 a5 8a ca 98 e3  cc d7 d6 d1 85 ea d7 c2  |................| 00000040  c4 cb cc df c4 d1 cc ca  cb 8a ca d0 98 e3 cc d7  |................| 00000050  d6 d1 85 e4 c1 c8 cc cb  cc d6 d1 d7 c4 d1 cc d3  |................| 00000060  c0 85 e2 d7 ca d0 d5 8a  c6 cb 98 f7 c0 c6 cc d5  |................| 00000070  cc c0 cb d1 d6 8a c6 cb  98 e4 c1 c8 cc cb cc d6  |................| 00000080  d1 d7 c4 d1 ca d7 a5 5a  5a 5a 5a 00 6f 00 00 00  |.......ZZZZ.o...| 00000090  07 80 00 00 30 00 00 00  00 00 06 00 28 00 28 00  |....0.......(.(.| 000000a0  ad a5 a4 a4 a4 a5 a7 a5  b5 a5 a4 a9 d9 a5 a5 a5  |................| 000000b0  a5 a5 a5 a5 a4 a5 a5 a5  b5 a5 a4 a9 d8 a5 a5 a5  |................| 000000c0  d8 a5 a5 a5 a4 a5 a5 a5  30 00 00 00 08 10 00 00  |........0.......|
  • 40. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 40 of 79 EXCHANGELOGON:GenerateIDLwithunknownfields [public,noprint] MAPISTATUS EcDoRpcExt2( [in] policy_handle               *handle, [in] uint32                   *unknown1, [in, size_is(unknown3)]uint8 unknown2[], [in] uint32                   unknown3, [in] uint32                   *unknown4, [in, size_is(unknown6)]uint8    unknown5[], [in] uint32                   unknown6, [in] uint32                   *unknown7, ); $ hexdump ­C <pkt> 00000000  00 00 00 00 83 f2 c7 15  74 66 15 47 99 33 ac 9f  |........tf.G.3..| 00000010  fd bf 24 08 00 00 00 00  6f 00 00 00 00 00 06 00  |..$.....o.......| 00000020  67 00 67 00 c6 a5 5b a5  a5 a4 a9 a1 a5 a5 a5 a5  |g.g...[.........| 00000030  a5 a5 f6 a5 8a ca 98 e3  cc d7 d6 d1 85 ea d7 c2  |................| 00000040  c4 cb cc df c4 d1 cc ca  cb 8a ca d0 98 e3 cc d7  |................| 00000050  d6 d1 85 e4 c1 c8 cc cb  cc d6 d1 d7 c4 d1 cc d3  |................| 00000060  c0 85 e2 d7 ca d0 d5 8a  c6 cb 98 f7 c0 c6 cc d5  |................| 00000070  cc c0 cb d1 d6 8a c6 cb  98 e4 c1 c8 cc cb cc d6  |................| 00000080  d1 d7 c4 d1 ca d7 a5 5a  5a 5a 5a 00 6f 00 00 00  |.......ZZZZ.o...| 00000090  07 80 00 00 30 00 00 00  00 00 06 00 28 00 28 00  |....0.......(.(.| 000000a0  ad a5 a4 a4 a4 a5 a7 a5  b5 a5 a4 a9 d9 a5 a5 a5  |................| 000000b0  a5 a5 a5 a5 a4 a5 a5 a5  b5 a5 a4 a9 d8 a5 a5 a5  |................| 000000c0  d8 a5 a5 a5 a4 a5 a5 a5  30 00 00 00 08 10 00 00  |........0.......|
  • 41. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 41 of 79 EXCHANGELOGON:GenerateIDLwithunknownfields [public,noprint] MAPISTATUS EcDoRpcExt2( [in] policy_handle               *handle, [in] uint32                   *unknown1, [in, size_is(unknown3)]uint8 unknown2[], [in] uint32                   unknown3, [in] uint32                   *unknown4, [in, size_is(unknown6)]uint8    unknown5[], [in] uint32                   unknown6, [in] uint32                   *unknown7, ); $ hexdump ­C <pkt> 00000000  00 00 00 00 83 f2 c7 15  74 66 15 47 99 33 ac 9f  |........tf.G.3..| 00000010  fd bf 24 08 00 00 00 00  6f 00 00 00 00 00 06 00  |..$.....o.......| 00000020  67 00 67 00 c6 a5 5b a5  a5 a4 a9 a1 a5 a5 a5 a5  |g.g...[.........| 00000030  a5 a5 f6 a5 8a ca 98 e3  cc d7 d6 d1 85 ea d7 c2  |................| 00000040  c4 cb cc df c4 d1 cc ca  cb 8a ca d0 98 e3 cc d7  |................| 00000050  d6 d1 85 e4 c1 c8 cc cb  cc d6 d1 d7 c4 d1 cc d3  |................| 00000060  c0 85 e2 d7 ca d0 d5 8a  c6 cb 98 f7 c0 c6 cc d5  |................| 00000070  cc c0 cb d1 d6 8a c6 cb  98 e4 c1 c8 cc cb cc d6  |................| 00000080  d1 d7 c4 d1 ca d7 a5 5a  5a 5a 5a 00 6f 00 00 00  |.......ZZZZ.o...| 00000090  07 80 00 00 30 00 00 00  00 00 06 00 28 00 28 00  |....0.......(.(.| 000000a0  ad a5 a4 a4 a4 a5 a7 a5  b5 a5 a4 a9 d9 a5 a5 a5  |................| 000000b0  a5 a5 a5 a5 a4 a5 a5 a5  b5 a5 a4 a9 d8 a5 a5 a5  |................| 000000c0  d8 a5 a5 a5 a4 a5 a5 a5  30 00 00 00 08 10 00 00  |........0.......|
  • 42. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 42 of 79 EXCHANGELOGON:GenerateIDLwithunknownfields [public,noprint] MAPISTATUS EcDoRpcExt2( [in] policy_handle               *handle, [in] uint32                   *unknown1, [in, size_is(unknown3)]uint8 unknown2[], [in] uint32                   unknown3, [in] uint32                   *unknown4, [in, size_is(unknown6)]uint8    unknown5[], [in] uint32                   unknown6, [in] uint32                   *unknown7, ); $ hexdump ­C <pkt> 00000000  00 00 00 00 83 f2 c7 15  74 66 15 47 99 33 ac 9f  |........tf.G.3..| 00000010  fd bf 24 08 00 00 00 00  6f 00 00 00 00 00 06 00  |..$.....o.......| 00000020  67 00 67 00 c6 a5 5b a5  a5 a4 a9 a1 a5 a5 a5 a5  |g.g...[.........| 00000030  a5 a5 f6 a5 8a ca 98 e3  cc d7 d6 d1 85 ea d7 c2  |................| 00000040  c4 cb cc df c4 d1 cc ca  cb 8a ca d0 98 e3 cc d7  |................| 00000050  d6 d1 85 e4 c1 c8 cc cb  cc d6 d1 d7 c4 d1 cc d3  |................| 00000060  c0 85 e2 d7 ca d0 d5 8a  c6 cb 98 f7 c0 c6 cc d5  |................| 00000070  cc c0 cb d1 d6 8a c6 cb  98 e4 c1 c8 cc cb cc d6  |................| 00000080  d1 d7 c4 d1 ca d7 a5 5a  5a 5a 5a 00 6f 00 00 00  |.......ZZZZ.o...| 00000090  07 80 00 00 30 00 00 00  00 00 06 00 28 00 28 00  |....0.......(.(.| 000000a0  ad a5 a4 a4 a4 a5 a7 a5  b5 a5 a4 a9 d9 a5 a5 a5  |................| 000000b0  a5 a5 a5 a5 a4 a5 a5 a5  b5 a5 a4 a9 d8 a5 a5 a5  |................| 000000c0  d8 a5 a5 a5 a4 a5 a5 a5  30 00 00 00 08 10 00 00  |........0.......|
  • 43. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 43 of 79 EXCHANGELOGON:GenerateIDLwithunknownfields [public,noprint] MAPISTATUS EcDoRpcExt2( [in] policy_handle               *handle, [in] uint32                   *unknown1, [in, size_is(unknown3)]uint8 unknown2[], [in] uint32                   unknown3, [in] uint32                   *unknown4, [in, size_is(unknown6)]uint8    unknown5[], [in] uint32                   unknown6, [in] uint32                   *unknown7, ); $ hexdump ­C <pkt> 00000000  00 00 00 00 83 f2 c7 15  74 66 15 47 99 33 ac 9f  |........tf.G.3..| 00000010  fd bf 24 08 00 00 00 00  6f 00 00 00 00 00 06 00  |..$.....o.......| 00000020  67 00 67 00 c6 a5 5b a5  a5 a4 a9 a1 a5 a5 a5 a5  |g.g...[.........| 00000030  a5 a5 f6 a5 8a ca 98 e3  cc d7 d6 d1 85 ea d7 c2  |................| 00000040  c4 cb cc df c4 d1 cc ca  cb 8a ca d0 98 e3 cc d7  |................| 00000050  d6 d1 85 e4 c1 c8 cc cb  cc d6 d1 d7 c4 d1 cc d3  |................| 00000060  c0 85 e2 d7 ca d0 d5 8a  c6 cb 98 f7 c0 c6 cc d5  |................| 00000070  cc c0 cb d1 d6 8a c6 cb  98 e4 c1 c8 cc cb cc d6  |................| 00000080  d1 d7 c4 d1 ca d7 a5 5a  5a 5a 5a 00 6f 00 00 00  |.......ZZZZ.o...| 00000090  07 80 00 00 30 00 00 00  00 00 06 00 28 00 28 00  |....0.......(.(.| 000000a0  ad a5 a4 a4 a4 a5 a7 a5  b5 a5 a4 a9 d9 a5 a5 a5  |................| 000000b0  a5 a5 a5 a5 a4 a5 a5 a5  b5 a5 a4 a9 d8 a5 a5 a5  |................| 000000c0  d8 a5 a5 a5 a4 a5 a5 a5  30 00 00 00 08 10 00 00  |........0.......|
  • 44. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 44 of 79 EXCHANGELOGON:GenerateIDLwithunknownfields [public,noprint] MAPISTATUS EcDoRpcExt2( [in] policy_handle               *handle, [in] uint32                   *unknown1, [in, size_is(unknown3)]uint8 unknown2[], [in] uint32                   unknown3, [in] uint32                   *unknown4, [in, size_is(unknown6)]uint8    unknown5[], [in] uint32                   unknown6, [in] uint32                   *unknown7, ); $ hexdump ­C <pkt> 00000000  00 00 00 00 83 f2 c7 15  74 66 15 47 99 33 ac 9f  |........tf.G.3..| 00000010  fd bf 24 08 00 00 00 00  6f 00 00 00 00 00 06 00  |..$.....o.......| 00000020  67 00 67 00 c6 a5 5b a5  a5 a4 a9 a1 a5 a5 a5 a5  |g.g...[.........| 00000030  a5 a5 f6 a5 8a ca 98 e3  cc d7 d6 d1 85 ea d7 c2  |................| 00000040  c4 cb cc df c4 d1 cc ca  cb 8a ca d0 98 e3 cc d7  |................| 00000050  d6 d1 85 e4 c1 c8 cc cb  cc d6 d1 d7 c4 d1 cc d3  |................| 00000060  c0 85 e2 d7 ca d0 d5 8a  c6 cb 98 f7 c0 c6 cc d5  |................| 00000070  cc c0 cb d1 d6 8a c6 cb  98 e4 c1 c8 cc cb cc d6  |................| 00000080  d1 d7 c4 d1 ca d7 a5 5a  5a 5a 5a 00 6f 00 00 00  |.......ZZZZ.o...| 00000090  07 80 00 00 30 00 00 00  00 00 06 00 28 00 28 00  |....0.......(.(.| 000000a0  ad a5 a4 a4 a4 a5 a7 a5  b5 a5 a4 a9 d9 a5 a5 a5  |................| 000000b0  a5 a5 a5 a5 a4 a5 a5 a5  b5 a5 a4 a9 d8 a5 a5 a5  |................| 000000c0  d8 a5 a5 a5 a4 a5 a5 a5  30 00 00 00 08 10 00 00  |........0.......|
  • 45. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 45 of 79 EXCHANGELOGON:GenerateIDLwithunknownfields [public,noprint] MAPISTATUS EcDoRpcExt2( [in] policy_handle               *handle, [in] uint32                   *unknown1, [in, size_is(unknown3)]uint8 unknown2[], [in] uint32                   unknown3, [in] uint32                   *unknown4, [in, size_is(unknown6)]uint8    unknown5[], [in] uint32                   unknown6, [in] uint32                   *unknown7, ); $ hexdump ­C <pkt> 00000000  00 00 00 00 83 f2 c7 15  74 66 15 47 99 33 ac 9f  |........tf.G.3..| 00000010  fd bf 24 08 00 00 00 00  6f 00 00 00 00 00 06 00  |..$.....o.......| 00000020  67 00 67 00 c6 a5 5b a5  a5 a4 a9 a1 a5 a5 a5 a5  |g.g...[.........| 00000030  a5 a5 f6 a5 8a ca 98 e3  cc d7 d6 d1 85 ea d7 c2  |................| 00000040  c4 cb cc df c4 d1 cc ca  cb 8a ca d0 98 e3 cc d7  |................| 00000050  d6 d1 85 e4 c1 c8 cc cb  cc d6 d1 d7 c4 d1 cc d3  |................| 00000060  c0 85 e2 d7 ca d0 d5 8a  c6 cb 98 f7 c0 c6 cc d5  |................| 00000070  cc c0 cb d1 d6 8a c6 cb  98 e4 c1 c8 cc cb cc d6  |................| 00000080  d1 d7 c4 d1 ca d7 a5 5a  5a 5a 5a 00 6f 00 00 00  |.......ZZZZ.o...| 00000090  07 80 00 00 30 00 00 00  00 00 06 00 28 00 28 00  |....0.......(.(.| 000000a0  ad a5 a4 a4 a4 a5 a7 a5  b5 a5 a4 a9 d9 a5 a5 a5  |................| 000000b0  a5 a5 a5 a5 a4 a5 a5 a5  b5 a5 a4 a9 d8 a5 a5 a5  |................| 000000c0  d8 a5 a5 a5 a4 a5 a5 a5  30 00 00 00 08 10 00 00  |........0.......|
  • 46. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 46 of 79 EXCHANGELOGON:theblobmistery ● WithourIDLwedon'thavemuchinfoaboutLogon ● Thesolutionmaylieintheblobswereasonablyidentified $ hexdump ­C <pkt> 00000000  00 00 00 00 83 f2 c7 15  74 66 15 47 99 33 ac 9f  |........tf.G.3..| 00000010  fd bf 24 08 00 00 00 00  6f 00 00 00 00 00 06 00  |..$.....o.......| 00000020  67 00 67 00 c6 a5 5b a5  a5 a4 a9 a1 a5 a5 a5 a5  |g.g...[.........| 00000030  a5 a5 f6 a5 8a ca 98 e3  cc d7 d6 d1 85 ea d7 c2  |................| 00000040  c4 cb cc df c4 d1 cc ca  cb 8a ca d0 98 e3 cc d7  |................| 00000050  d6 d1 85 e4 c1 c8 cc cb  cc d6 d1 d7 c4 d1 cc d3  |................| 00000060  c0 85 e2 d7 ca d0 d5 8a  c6 cb 98 f7 c0 c6 cc d5  |................| 00000070  cc c0 cb d1 d6 8a c6 cb  98 e4 c1 c8 cc cb cc d6  |................| 00000080  d1 d7 c4 d1 ca d7 a5 5a  5a 5a 5a 00 6f 00 00 00  |.......ZZZZ.o...| 00000090  07 80 00 00 30 00 00 00  00 00 06 00 28 00 28 00  |....0.......(.(.| 000000a0  ad a5 a4 a4 a4 a5 a7 a5  b5 a5 a4 a9 d9 a5 a5 a5  |................| 000000b0  a5 a5 a5 a5 a4 a5 a5 a5  b5 a5 a4 a9 d8 a5 a5 a5  |................| 000000c0  d8 a5 a5 a5 a4 a5 a5 a5  30 00 00 00 08 10 00 00  |........0.......|
  • 47. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 47 of 79 EXCHANGELOGON:deeperunderground ● Canweidentifyanotherstructurewithintheblob?
  • 48. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 48 of 79 EXCHANGELOGON:deeperunderground ● Canweidentifyanotherstructurewithintheblob? $ hexdump ­C <pkt> 00000000  00 00 00 00 83 f2 c7 15  74 66 15 47 99 33 ac 9f  |........tf.G.3..| 00000010  fd bf 24 08 00 00 00 00  6f 00 00 00 00 00 06 00  |..$.....o.......| 00000020  67 00 67 00 c6 a5 5b a5  a5 a4 a9 a1 a5 a5 a5 a5  |g.g...[.........| 00000030  a5 a5 f6 a5 8a ca 98 e3  cc d7 d6 d1 85 ea d7 c2  |................| 00000040  c4 cb cc df c4 d1 cc ca  cb 8a ca d0 98 e3 cc d7  |................| 00000050  d6 d1 85 e4 c1 c8 cc cb  cc d6 d1 d7 c4 d1 cc d3  |................| 00000060  c0 85 e2 d7 ca d0 d5 8a  c6 cb 98 f7 c0 c6 cc d5  |................| 00000070  cc c0 cb d1 d6 8a c6 cb  98 e4 c1 c8 cc cb cc d6  |................| 00000080  d1 d7 c4 d1 ca d7 a5 5a  5a 5a 5a 00 6f 00 00 00  |.......ZZZZ.o...| 00000090  07 80 00 00 30 00 00 00  00 00 06 00 28 00 28 00  |....0.......(.(.| 000000a0  ad a5 a4 a4 a4 a5 a7 a5  b5 a5 a4 a9 d9 a5 a5 a5  |................| 000000b0  a5 a5 a5 a5 a4 a5 a5 a5  b5 a5 a4 a9 d8 a5 a5 a5  |................| 000000c0  d8 a5 a5 a5 a4 a5 a5 a5  30 00 00 00 08 10 00 00  |........0.......|
  • 49. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 49 of 79 EXCHANGELOGON:deeperunderground ● Canweidentifyanotherstructurewithintheblob? $ hexdump ­C <pkt> 00000000  00 00 00 00 83 f2 c7 15  74 66 15 47 99 33 ac 9f  |........tf.G.3..| 00000010  fd bf 24 08 00 00 00 00  6f 00 00 00 00 00 06 00  |..$.....o.......| 00000020  67 00 67 00 c6 a5 5b a5  a5 a4 a9 a1 a5 a5 a5 a5  |g.g...[.........| 00000030  a5 a5 f6 a5 8a ca 98 e3  cc d7 d6 d1 85 ea d7 c2  |................| 00000040  c4 cb cc df c4 d1 cc ca  cb 8a ca d0 98 e3 cc d7  |................| 00000050  d6 d1 85 e4 c1 c8 cc cb  cc d6 d1 d7 c4 d1 cc d3  |................| 00000060  c0 85 e2 d7 ca d0 d5 8a  c6 cb 98 f7 c0 c6 cc d5  |................| 00000070  cc c0 cb d1 d6 8a c6 cb  98 e4 c1 c8 cc cb cc d6  |................| 00000080  d1 d7 c4 d1 ca d7 a5 5a  5a 5a 5a 00 6f 00 00 00  |.......ZZZZ.o...| 00000090  07 80 00 00 30 00 00 00  00 00 06 00 28 00 28 00  |....0.......(.(.| 000000a0  ad a5 a4 a4 a4 a5 a7 a5  b5 a5 a4 a9 d9 a5 a5 a5  |................| 000000b0  a5 a5 a5 a5 a4 a5 a5 a5  b5 a5 a4 a9 d8 a5 a5 a5  |................| 000000c0  d8 a5 a5 a5 a4 a5 a5 a5  30 00 00 00 08 10 00 00  |........0.......|
  • 50. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 50 of 79 EXCHANGELOGON:deeperunderground ● Canweidentifyanotherstructurewithintheblob? $ hexdump ­C <pkt> 00000000  00 00 00 00 83 f2 c7 15  74 66 15 47 99 33 ac 9f  |........tf.G.3..| 00000010  fd bf 24 08 00 00 00 00  6f 00 00 00 00 00 06 00  |..$.....o.......| 00000020  67 00 67 00 c6 a5 5b a5  a5 a4 a9 a1 a5 a5 a5 a5  |g.g...[.........| 00000030  a5 a5 f6 a5 8a ca 98 e3  cc d7 d6 d1 85 ea d7 c2  |................| 00000040  c4 cb cc df c4 d1 cc ca  cb 8a ca d0 98 e3 cc d7  |................| 00000050  d6 d1 85 e4 c1 c8 cc cb  cc d6 d1 d7 c4 d1 cc d3  |................| 00000060  c0 85 e2 d7 ca d0 d5 8a  c6 cb 98 f7 c0 c6 cc d5  |................| 00000070  cc c0 cb d1 d6 8a c6 cb  98 e4 c1 c8 cc cb cc d6  |................| 00000080  d1 d7 c4 d1 ca d7 a5 5a  5a 5a 5a 00 6f 00 00 00  |.......ZZZZ.o...| 00000090  07 80 00 00 30 00 00 00  00 00 06 00 28 00 28 00  |....0.......(.(.| 000000a0  ad a5 a4 a4 a4 a5 a7 a5  b5 a5 a4 a9 d9 a5 a5 a5  |................| 000000b0  a5 a5 a5 a5 a4 a5 a5 a5  b5 a5 a4 a9 d8 a5 a5 a5  |................| 000000c0  d8 a5 a5 a5 a4 a5 a5 a5  30 00 00 00 08 10 00 00  |........0.......|
  • 51. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 51 of 79 EXCHANGELOGON:deeperunderground ● Canweidentifyanotherstructurewithintheblob? $ hexdump ­C <pkt> 00000000  00 00 00 00 83 f2 c7 15  74 66 15 47 99 33 ac 9f  |........tf.G.3..| 00000010  fd bf 24 08 00 00 00 00  6f 00 00 00 00 00 06 00  |..$.....o.......| 00000020  67 00 67 00 c6 a5 5b a5  a5 a4 a9 a1 a5 a5 a5 a5  |g.g...[.........| 00000030  a5 a5 f6 a5 8a ca 98 e3  cc d7 d6 d1 85 ea d7 c2  |................| 00000040  c4 cb cc df c4 d1 cc ca  cb 8a ca d0 98 e3 cc d7  |................| 00000050  d6 d1 85 e4 c1 c8 cc cb  cc d6 d1 d7 c4 d1 cc d3  |................| 00000060  c0 85 e2 d7 ca d0 d5 8a  c6 cb 98 f7 c0 c6 cc d5  |................| 00000070  cc c0 cb d1 d6 8a c6 cb  98 e4 c1 c8 cc cb cc d6  |................| 00000080  d1 d7 c4 d1 ca d7 a5 5a  5a 5a 5a 00 6f 00 00 00  |.......ZZZZ.o...| 00000090  07 80 00 00 30 00 00 00  00 00 06 00 28 00 28 00  |....0.......(.(.| 000000a0  ad a5 a4 a4 a4 a5 a7 a5  b5 a5 a4 a9 d9 a5 a5 a5  |................| 000000b0  a5 a5 a5 a5 a4 a5 a5 a5  b5 a5 a4 a9 d8 a5 a5 a5  |................| 000000c0  d8 a5 a5 a5 a4 a5 a5 a5  30 00 00 00 08 10 00 00  |........0.......|
  • 52. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 52 of 79 EXCHANGELOGON:deeperunderground ● Strange…no0x0 ● Verystrange…lotsof0xa5 ● Verystrange…0x5a isthereverseof0xa5 $ hexdump ­C <pkt> 00000000  00 00 00 00 83 f2 c7 15  74 66 15 47 99 33 ac 9f  |........tf.G.3..| 00000010  fd bf 24 08 00 00 00 00  6f 00 00 00 00 00 06 00  |..$.....o.......| 00000020  67 00 67 00 c6 a5 5b a5  a5 a4 a9 a1 a5 a5 a5 a5  |g.g...[.........| 00000030  a5 a5 f6 a5 8a ca 98 e3  cc d7 d6 d1 85 ea d7 c2  |................| 00000040  c4 cb cc df c4 d1 cc ca  cb 8a ca d0 98 e3 cc d7  |................| 00000050  d6 d1 85 e4 c1 c8 cc cb  cc d6 d1 d7 c4 d1 cc d3  |................| 00000060  c0 85 e2 d7 ca d0 d5 8a  c6 cb 98 f7 c0 c6 cc d5  |................| 00000070  cc c0 cb d1 d6 8a c6 cb  98 e4 c1 c8 cc cb cc d6  |................| 00000080  d1 d7 c4 d1 ca d7 a5 5a  5a 5a 5a 00 6f 00 00 00  |.......ZZZZ.o...| 00000090  07 80 00 00 30 00 00 00  00 00 06 00 28 00 28 00  |....0.......(.(.| 000000a0  ad a5 a4 a4 a4 a5 a7 a5  b5 a5 a4 a9 d9 a5 a5 a5  |................| 000000b0  a5 a5 a5 a5 a4 a5 a5 a5  b5 a5 a4 a9 d8 a5 a5 a5  |................| 000000c0  d8 a5 a5 a5 a4 a5 a5 a5  30 00 00 00 08 10 00 00  |........0.......|
  • 53. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 53 of 79 EXCHANGELOGON:deeperunderground ● XOR0xA5 $ hexdump ­C <pkt> 00000000  00 00 00 00 83 f2 c7 15  74 66 15 47 99 33 ac 9f  |........tf.G.3..| 00000010  fd bf 24 08 00 00 00 00  6f 00 00 00 00 00 06 00  |..$.....o.......| 00000020  67 00 67 00 c6 a5 5b a5  a5 a4 a9 a1 a5 a5 a5 a5  |g.g...[.........| 00000030  a5 a5 f6 a5 8a ca 98 e3  cc d7 d6 d1 85 ea d7 c2  |................| 00000040  c4 cb cc df c4 d1 cc ca  cb 8a ca d0 98 e3 cc d7  |................| 00000050  d6 d1 85 e4 c1 c8 cc cb  cc d6 d1 d7 c4 d1 cc d3  |................| 00000060  c0 85 e2 d7 ca d0 d5 8a  c6 cb 98 f7 c0 c6 cc d5  |................| 00000070  cc c0 cb d1 d6 8a c6 cb  98 e4 c1 c8 cc cb cc d6  |................| 00000080  d1 d7 c4 d1 ca d7 a5 5a  5a 5a 5a 00 6f 00 00 00  |.......ZZZZ.o...| 00000090  07 80 00 00 30 00 00 00  00 00 06 00 28 00 28 00  |....0.......(.(.| 000000a0  ad a5 a4 a4 a4 a5 a7 a5  b5 a5 a4 a9 d9 a5 a5 a5  |................| 000000b0  a5 a5 a5 a5 a4 a5 a5 a5  b5 a5 a4 a9 d8 a5 a5 a5  |................| 000000c0  d8 a5 a5 a5 a4 a5 a5 a5  30 00 00 00 08 10 00 00  |........0.......|
  • 54. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 54 of 79 EXCHANGELOGON:deeperunderground ● XOR0xA5 $ hexdump ­C <pkt> 00000000  00 00 00 00 83 f2 c7 15  74 66 15 47 99 33 ac 9f  |........tf.G.3..| 00000010  fd bf 24 08 00 00 00 00  6f 00 00 00 00 00 06 00  |..$.....o.......| 00000020  67 00 67 00 63 00 fe 00  00 01 0c 04 00 00 00 00  |....c...........| 00000030  00 00 53 00 2f 6f 3d 46  69 72 73 74 20 4f 72 67  |..S./o=First Org| 00000040  61 6e 69 7a 61 74 69 6f  6e 2f 6f 75 3d 46 69 72  |anization/ou=Fir| 00000050  73 74 20 41 64 6d 69 6e  69 73 74 72 61 74 69 76  |st Administrativ| 00000060  65 20 47 72 6f 75 70 2f  63 6e 3d 52 65 63 69 70  |e Group/cn=Recip| 00000070  69 65 6e 74 73 2f 63 6e  3d 41 64 6d 69 6e 69 73  |ients/cn=Adminis| 00000080  74 72 61 74 6f 72 00 ff  ff ff ff                 |trator..........| 000000b0  a5 a5 a5 a5 a4 a5 a5 a5  b5 a5 a4 a9 d8 a5 a5 a5  |................| 000000c0  d8 a5 a5 a5 a4 a5 a5 a5  30 00 00 00 08 10 00 00  |........0.......|
  • 55. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 55 of 79 EXCHANGELOGON:deeperunderground ● WelcometotheMAPIdecodingworld $ hexdump ­C <pkt> 00000000  00 00 00 00 83 f2 c7 15  74 66 15 47 99 33 ac 9f  |........tf.G.3..| 00000010  fd bf 24 08 00 00 00 00  6f 00 00 00 00 00 06 00  |..$.....o.......| 00000020  67 00 67 00 63 00 fe 00  00 01 0c 04 00 00 00 00  |....c...........| 00000030  00 00 53 00 2f 6f 3d 46  69 72 73 74 20 4f 72 67  |..S./o=First Org| 00000040  61 6e 69 7a 61 74 69 6f  6e 2f 6f 75 3d 46 69 72  |anization/ou=Fir| 00000050  73 74 20 41 64 6d 69 6e  69 73 74 72 61 74 69 76  |st Administrativ| 00000060  65 20 47 72 6f 75 70 2f  63 6e 3d 52 65 63 69 70  |e Group/cn=Recip| 00000070  69 65 6e 74 73 2f 63 6e  3d 41 64 6d 69 6e 69 73  |ients/cn=Adminis| 00000080  74 72 61 74 6f 72 00 ff  ff ff ff                 |trator..........| 000000b0  a5 a5 a5 a5 a4 a5 a5 a5  b5 a5 a4 a9 d8 a5 a5 a5  |................| 000000c0  d8 a5 a5 a5 a4 a5 a5 a5  30 00 00 00 08 10 00 00  |........0.......|
  • 56. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 56 of 79 EXCHANGELOGON:deeperunderground KEEP CALM AND DO NOT PANIC
  • 58. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 58 of 79 THERDESKTOPCASE ● FreeclientforRDP(RemoteDesktopProtocol)usedbyTerminalServicesServer ● DevelopedbyMattChapmann Problem: RDP 4 & 5 communication are encrypted WORKAROUND?
  • 59. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 59 of 79 THERDESKTOPCASE EncryptedloginpacketBUTunencryptedtransferofotherpackets $ rdesktop -h rdesktop: A Remote Desktop Protocol client. Version 1.7.1. Copyright (C) 1999-2011 Matthew Chapman et al. See http://www.rdesktop.org/ for more information. Usage: rdesktop [options] server[:port] [...] -e: disable encryption (French TS) -E: disable encryption from client to server -m: do not send motion events
  • 61. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 61 of 79 2003:THESTARTINGPOINT-EPITECH ZERO TO ONE EXPERIMENT
  • 62. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 62 of 79 2005:THEMENTOR ANDREW TRIDGELL (TRIDGE) FOUNDER OF THE SAMBA PROJECT
  • 63. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 63 of 79 2006:THEHAPPYUNDERLINE 3 Decembre 2006: Exchange Account created with OpenChange Server
  • 64. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 64 of 79 2007:FIRSTOPENCHANGECLIENTLIBRARYRELEASE ● LibMAPI-0.2MAILOOKRelease@SAMBAXP2007 ● GNOMEEvolutionPluginbasedonlibmapireleased
  • 65. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 65 of 79 2008:OpenSpecificationsProgram MicrosoftreleasesdocumentationonExchangeprotocols
  • 67. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 67 of 79 2008-2010:WANACCELERATIONANDMAPIPROXYERA ● Laythefoundationsofcurrentserverarchitecture ● MITMProxy&&Stackablemodules
  • 68. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 68 of 79 2010-2012:FirstStorageBackDevelopmentforServer ● SOGobackend ● TechnologyPreview ● Backenddevelopedinobjective-C ● PlugsontoserviceslikeDovecot,Postfix,MySQL
  • 69. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 69 of 79 2013-2015:Zentyal&Pivot ● JoinedZentyalasCTO ● DevelopmentofOpenChangetechnology ● Tooktheleadonopenchange-sogobackenddevelopment ● Hardlearningcurvefornewopenchangedevelopers
  • 70. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 70 of 79 2014-2015:SoftentheLearningCurve ● Objectives: ● WriteOpenChangebackendsveryquickly ● AbstractMAPIcomplexitytothemaximum ● Technology: ● Python-Cgateway ● RESTAPI
  • 73. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 73 of 79 OBJECTIVES ● technicalcontestopenedtoopensourcedevelopers,andaimingatchallengingyour innovationskills. ● manipulateExchangeprotocolsdatatotwistMicrosoftOutlookgraphicalinterfaceand makeitdounexpectedandamazingthings. ● LeveragethePython-CgatewayandREST-APItostartveryquickly
  • 74. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 74 of 79 HOWDOESITWORK? ● Decidetoworkaloneorjoinateam ● Registeronhttp://www.protocolsplugfest.com/europe/developer-program/ ● Writeyourbackend ● PublishitongithubrepositoryunderthetermsofGPLv3orlater ● 30th March 2015: deadline for submission ● 5thApril2015:Finalistteamsannounced
  • 75. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 75 of 79 PRICES ● INDUSTRYPASSTOPROTOCOLSPLUGFEST ● 3DAYSSTANCETOATTENDPROTOCOLSPLUGFEST ● 20MINUTESTOPRESENTTHEPROJECTINTHEEVENTMAINTRACK
  • 76. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 76 of 79 POSSIBLEPROJECTTOPICS Socialmedia Bigdata Storage
  • 77. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 77 of 79 PREPAREDEVELOPMENTENVIRONMENT 1. Clone openchange-docker repository: 1. gitclonehttps://github.com/openchange/docker 2. Clone openchange repo with Python-C/REST API support 1. gitclonehttps://github.com/openchange/openchange 2. cdopenchange 3. gitfetch&&gitcheckoutjkerihuel/mapistore-python 3. Install docker 1.4.1
  • 79. PROTOCOLSPLUGFESTEUROPE2015|PRESENTATION'STITLE(UPPERCASE) 79 of 7979 of 79 QUESTIONS? http://www.protocolsplugfest.com @plugfestcon