数据包嗅探 Outlook -> 使用 MAPI 进行交换
Packet Sniffing Outlook - > Exchange using MAPI
我正在尝试对从 Outlook 客户端到 Exchange 服务器的流量实施数据包嗅探。据我所知,此通信使用 MAPI over HTTPS(Outlook anywhere)。我不认为我在 RPC 上使用 MAPI。
流量以 TLS 形式出现,我可以在 wireshark 中对其进行解码,因为我已经加载了适当的证书。测试时发的邮件看不到原来的内容,还是编码的
如何解码消息以便以纯文本形式阅读原始内容?
我正在为处理的每个流创建临时文件,并将它们不分块存储并进行 ssl 解码。下面的例子。如果我在 less 中查看所述文件,它们似乎是二进制的:
PROCESSING
DONE
X-StartTime: Fri, 16 Dec 2016 23:17:12 GMT
X-ElapsedTime: 5
^@^@^@^@^@^@^@^@^@^@^@^@^B^@^@^@^@^E^@<9B>^B^A^E<80><9F>^@^D^D^C^A^@^@^@^A^A^Ctestets)^@s^@Y^@^Q^@h^@^V^@p^@^@^A^@^Q^@^B^A^@^E^@^@^O^B^A
^C^@^@9^C^@^O^C^@^E9^^@^X^@^X^@^@:^C^@q:^B^A^@^@^U^D^A=^C^@^X^A^^@8^@^X^@X^@^A`^^@f^A^A^D^@^@>^D
^F^@^H^@^@^@^@/o=ExchangeLabs/ou~^@ Administra^@^@^@^@tive Group (FYDIBOHF23SPDLT)/cn=^@^@ ^@Recipientsi^@cfb4ddc8c1ba4733a3d23^@^@^@^@4e1321845da-shayne.civi^@S^@h^@a^@y^@X^U^@n^@e^@ ^@C^@i^@v^X^@t<98>^@r<88>^@s^X^@^@(^@^^A<80>.^@c^@^^A^Q^@^@<9D>0^@^@w^@^@^@ܧ@B^P^Z^H^@+/<82>*^K^@^@O^Gh<9D> ^D^D<82>^A^@<80>^P^A^@@<87>^K @^@w(^@^@^Zd^@g(^@)^Atx^@o^@k^@<89>^Ao^@m@^B?^B ^^A^M
^M^A^@^P^@&^?_^ON<98> h5^GZ]w<83>~^@^B^@^W^R^K5^Ko^C ^F^M/8^@=^@E^@x<88>^@<89>^Bnz^ALH^@b8^A^@u^@i ^@A^@@
^Bm<88>^Cn^X^@s^Br^@tX^@v^@Gx^@^ApX^@(^@F^@Y^@D^@I^@B^@O^@bESC^EEHh^@2^@3X^GP<98>^@L^@T^@)(^Cc8^B=^@R^AI^Fp^X^@<99>^Et^B^@c^@f<88>^D4GU^CdX^@8^X^@1x^@a<88>^@7h^B3H^@3^@^B4^A18^@2(^@8h^@5^@a^@-X^B^E<8F> ^A^@^@^P^@^@^G<93>
^W^@^Vs l<82>/<8A>MR]Oˌ^Sx^@^@^DUB^V^@^@^L^@^@^@^@^A^C^@^@^A^@^@^@^@
我已经阅读了所有我能找到的关于这些协议的文档https://msdn.microsoft.com/en-us/library/cc425499(v=exchg.80).aspx。
编辑:
通过使用名为 fiddler 的程序及其 Office Inspectors,特别是 MAPIInspector,我几乎可以查看我需要的所有信息。
https://github.com/OfficeDev/Office-Inspectors-for-Fiddler
我可以纯文本查看:主题、收件人列表、发件人信息、文件附件名称、文件附件内容等等,但我仍然找不到邮件正文。
我认为邮件存储在:
ExecuteRequestBody->ROPBuffer->Payload->ROPList->ROPWriteStreamRequest->Data.
我相信 ROPWriteStreamRequest 是我需要的。
内容已加密 and/or 混淆。我能够找到 RPC 的混淆算法,它是 0xA5 的 XOR,但我不确定这是在压缩之前还是之后完成的。我怀疑压缩算法是LZ77.
ExecuteRequestBody->ROPBuffer->Payload->ROPList->ROPWriteStreamRequest->Data保存附件内容。邮件内容存放在RopSetPropertiesRequest->PropertyValues->第11个TaggedPropertyValue(其属性标签为PidTagBodyHtml)。内容为html格式。
我正在尝试对从 Outlook 客户端到 Exchange 服务器的流量实施数据包嗅探。据我所知,此通信使用 MAPI over HTTPS(Outlook anywhere)。我不认为我在 RPC 上使用 MAPI。
流量以 TLS 形式出现,我可以在 wireshark 中对其进行解码,因为我已经加载了适当的证书。测试时发的邮件看不到原来的内容,还是编码的
如何解码消息以便以纯文本形式阅读原始内容?
我正在为处理的每个流创建临时文件,并将它们不分块存储并进行 ssl 解码。下面的例子。如果我在 less 中查看所述文件,它们似乎是二进制的:
PROCESSING
DONE
X-StartTime: Fri, 16 Dec 2016 23:17:12 GMT
X-ElapsedTime: 5
^@^@^@^@^@^@^@^@^@^@^@^@^B^@^@^@^@^E^@<9B>^B^A^E<80><9F>^@^D^D^C^A^@^@^@^A^A^Ctestets)^@s^@Y^@^Q^@h^@^V^@p^@^@^A^@^Q^@^B^A^@^E^@^@^O^B^A ^C^@^@9^C^@^O^C^@^E9^^@^X^@^X^@^@:^C^@q:^B^A^@^@^U^D^A=^C^@^X^A^^@8^@^X^@X^@^A`^^@f^A^A^D^@^@>^D ^F^@^H^@^@^@^@/o=ExchangeLabs/ou~^@ Administra^@^@^@^@tive Group (FYDIBOHF23SPDLT)/cn=^@^@ ^@Recipientsi^@cfb4ddc8c1ba4733a3d23^@^@^@^@4e1321845da-shayne.civi^@S^@h^@a^@y^@X^U^@n^@e^@ ^@C^@i^@v^X^@t<98>^@r<88>^@s^X^@^@(^@^^A<80>.^@c^@^^A^Q^@^@<9D>0^@^@w^@^@^@ܧ@B^P^Z^H^@+/<82>*^K^@^@O^Gh<9D> ^D^D<82>^A^@<80>^P^A^@@<87>^K @^@w(^@^@^Zd^@g(^@)^Atx^@o^@k^@<89>^Ao^@m@^B?^B ^^A^M ^M^A^@^P^@&^?_^ON<98> h5^GZ]w<83>~^@^B^@^W^R^K5^Ko^C ^F^M/8^@=^@E^@x<88>^@<89>^Bnz^ALH^@b8^A^@u^@i ^@A^@@ ^Bm<88>^Cn^X^@s^Br^@tX^@v^@Gx^@^ApX^@(^@F^@Y^@D^@I^@B^@O^@bESC^EEHh^@2^@3X^GP<98>^@L^@T^@)(^Cc8^B=^@R^AI^Fp^X^@<99>^Et^B^@c^@f<88>^D4GU^CdX^@8^X^@1x^@a<88>^@7h^B3H^@3^@^B4^A18^@2(^@8h^@5^@a^@-X^B^E<8F> ^A^@^@^P^@^@^G<93> ^W^@^Vs l<82>/<8A>MR]Oˌ^Sx^@^@^DUB^V^@^@^L^@^@^@^@^A^C^@^@^A^@^@^@^@
我已经阅读了所有我能找到的关于这些协议的文档https://msdn.microsoft.com/en-us/library/cc425499(v=exchg.80).aspx。
编辑:
通过使用名为 fiddler 的程序及其 Office Inspectors,特别是 MAPIInspector,我几乎可以查看我需要的所有信息。
https://github.com/OfficeDev/Office-Inspectors-for-Fiddler
我可以纯文本查看:主题、收件人列表、发件人信息、文件附件名称、文件附件内容等等,但我仍然找不到邮件正文。
我认为邮件存储在: ExecuteRequestBody->ROPBuffer->Payload->ROPList->ROPWriteStreamRequest->Data.
我相信 ROPWriteStreamRequest 是我需要的。
内容已加密 and/or 混淆。我能够找到 RPC 的混淆算法,它是 0xA5 的 XOR,但我不确定这是在压缩之前还是之后完成的。我怀疑压缩算法是LZ77.
ExecuteRequestBody->ROPBuffer->Payload->ROPList->ROPWriteStreamRequest->Data保存附件内容。邮件内容存放在RopSetPropertiesRequest->PropertyValues->第11个TaggedPropertyValue(其属性标签为PidTagBodyHtml)。内容为html格式。