【安全性科学研究】S7commPlus协议书科学研究之动态调试

访客4年前关于黑客接单1337

上一篇文章(对S7comm-Plus协议书开展了基本科学研究,算作理论基础研究了,这篇以关键通讯DLL(OMSp_core_managed.dll)为总体目标,应用动态调试的 *** ,对协议书的挥手、加密验证全过程开展动态调试,以对通讯全过程做进一步探寻了解。

根据以前的工作中早已了解,高些版本的TIA Portal软件相匹配的OMSp_core_managed.dll版本亦高些、更繁杂,因而调试工作中应用较低版本的DLL为总体目标(即挑选TIA Portal V13,则PLC只有应用V4.1及下列版本),便于于剖析和把握调试方式。

调试科学研究的基础自然环境配备以下:Win7x86vm虚拟机、

PLC:S7-1200?, 6ES7 212-1BG40-0X0B

Firmware: V4.1.3

Software:TIA Portal V13

S7Comm-Plus Wireshark dissector plugin: V0.0.8

参照文章内容均强调PLC完成通讯挥手、加密验证的作用在控制模块OMSp_core_managed.dll中完成,由此可见对该文件的剖析至关重要。OMSp_core_managed.dll是一个应用C#和C 混和撰写的.net程序流程,应用dnSpy对其开展反汇编:

怎样定位加密函数的通道呢?这里出示二种构思:

1、立即应用dnSpy对DLL文件开展动态调试

dnSpy载入DLL文件,应用“调试”->“额外到过程”作用,额外TIA的过程:

在DLL中先随意打一个中断点,可参照文章内容中强调的SetServerPublicKey:

在dnSpy中试着关键字搜索,結果以下:

由此可见该函数坐落于“ClientSession”类中,在这里函数出设定一个中断点,随后实际操作TIA将PLC“转到发布”,转到发布时TIA与PLC将创建通讯联接,这时必定历经三次握手及通讯加密全过程,可见到函数实行到刚刚打的中断点部位:

查询“局部变量”中的“key”,发觉其早已有值,长短为40的二维数组:

此值即是上一篇文章中提及的S7-1200系列产品的public key的值。

在dnSpy中再次开展单步实行,历经数次调试能够见到,当calli实行结束以后,TIA与PLC通讯创建进行,calli全过程就是在C#中启用C 编码:

调试全过程中关心表针session_ptr的值,这里为0x2B9E71C0:

终止dnSpy调试,应用IDA额外TIA过程,因为TIA过程一直处在运作中,其运行内存载入详细地址室内空间将维持不会改变,根据所述函数表针最后测算得0x65D77310:

F5查询伪代码发觉其启用了三个函数:

再次跟踪查询,能够发觉函数sub_65D7CD40即是之一部分加密函数。

2、应用IDA对DLL文件开展动态调试

参照启明星辰的文章内容能够发觉其应用了Windbg开展调试,且留有一些“印痕”,如下图所显示:

因而能够考虑到检索图中中发生的字节码,因此应用IDA额外TIA过程,试着检索“e8 9e f9 ff ff”,結果以下:

这里精准定位到函数sub_65D793B0,发觉与启明星辰文章内容中的截屏甚为类似:

应用0x65D793B0减掉DLL函数的base(0x65BA0000)結果恰好为:0x1D93B0,与启明星辰文章内容中的函数sub_1D93B0恰好相匹配,因而能够推论调试自然环境两者之间同样,那麼函数sub_65D793B0即是sub_1D93B0,依次类推:sub_65D790B0即是IntegratyPartEncrytion函数。应用相近的 *** 检索精准定位到加密1函数:

与毕业论文中得出的实际效果一致:

进一步应用参照启用作用,能够上溯加密函数通道sub_65D77310,与之一种 *** 获得的結果一致。

精准定位到承担加密验证的函数以后,便可再次应用动态调试对全部加密优化算法步骤开展认证和测算了。图中启明星辰的文章内容中强调,加密1一部分的內容为Value array(即上一篇文章中提及的20个字节数的随机数字)历经加密1函数加密以后的結果,加密的全过程为一系列XOR计算,而最后加密的結果储存在v13-v16中。因此能够在加密1函数中下一个中断点,随后开展单步调试,监管v13-v16的值:

一样开启wireshark抓包软件,实际操作TIA将PLC“转到发布”,函数实行到刚刚打的中断点部位。另外能够见到挥手的前2步顺利完成,TIA接到PLC推送的20个字节数随机数字:

再次单步实行,当v13-v16计算进行以后,可从左侧自变量监管栏获得最后计算結果:

在这里先纪录v13-v16的值:v13(0x52CF7D4E)、v14(0x9603F213)、v15(0x50639E99)、v16(0xC452A5E3),待全部挥手全过程进行以后,在M3数据文件中的“SecurityKeyEncryptedKey”字段名中去认证:

留意大小端模式,不难看出,其值与加密1內容彻底符合。

根据对西门子PLC全新的S7Comm-Plus通讯协议的了解,应用反汇编工具对关键通讯DLL开展反向和动态调试,详细介绍了二种精准定位加密函数通道的方式,另外应用IDA动态调试,测算并认证了加密1的結果內容,从动态调试的视角对加密优化算法开展了进一步了解。事后的加密流程及优化算法的认证,可参考相近方式再次开展。

参考文献:

[1]?

[2]

[3]

[4]

【安全性科学研究】S7commPlus协议书科学研究

零信任: *** 信息安全防御力构思的完全转型

Mount Locker勒索病毒方案对于税务部门总体目标进行进攻

应用 TinyCheck 专用工具得到大量的隐私保护操纵

亚信安全:2020年勒索软件导致的财产损失升高50%

相关文章

模拟黑客网站名称(黑客模拟器网站页)-怎么从0开始学黑客的书籍

模拟黑客网站名称(黑客模拟器网站页)-怎么从0开始学黑客的书籍

模拟黑客网站名称(黑客模拟器网站页)(tiechemo.com)一直致力于黑客(HACK)技术、黑客QQ群、信息安全、web安全、渗透运维、黑客工具、找黑客、黑客联系方式、24小时在线网络黑客、黑客业...

微信能不能查找一年前的聊天记录(电脑微信查找聊天记录)

如何查看微信电脑版聊天记录?找到这个文件夹即可 微信聊天记录备份?微信是大家都熟知的一款社交工具,但对于怎么恢复误删的微信数据,很多小伙伴就不熟悉了,其实日常定期备份好数据,这些问题也就不存在了,那。...

网络怎么赚钱?盘点几个靠谱的网络赚钱方法

网络怎么赚钱?盘点几个靠谱的网络赚钱方法

笔者最近2年一直在做自由职业相关的工作,给很多人分享了一些工作机会,也帮几个朋友完成了做一个自由职业者的理想。 有时候,会受到很多年轻朋友的私信,问我怎么样才能做自由职业者,还有很多要我带着赚点钱。...

小叶紫檀怎么盘(高手如何盘玩小叶紫檀)

  紫檀自古以名贵著称,古时候是帝王青睐的木种。作为佩戴的紫檀多为小叶紫檀,其品质在众多红木中为佼佼者,以手串佩戴居多。紫檀生长缓慢,随着现代严重无节制的砍伐,紫檀木越来越稀缺,其价格必定随着市场行情...

黑客帝国成功之路(黑客帝国 故事)

黑客帝国成功之路(黑客帝国 故事)

本文目录一览: 1、《黑客帝国02(1999)》在线免费观看百度云资源,求下载 2、黑客帝国:尼奥之路秘籍是什么? 3、为什么很多人吐槽说看不懂《黑客帝国》这部电影呢? 4、《黑客帝国(1...

限制地带黑客(黑客攻击区块链的高发区)

限制地带黑客(黑客攻击区块链的高发区)

本文导读目录: 1、经典的单机游戏 2、问个游戏与电脑配置的问题 3、WOW 伪圣骑士T10的装备名字 4、求一个低配置电脑能玩的游戏 5、搜集2000~2006年间的所有单机游戏...