不算前言的前言:拖了这么久,才发现这个专题没有想象中的简单,学习的路径大致是Step7->S7comm->MC7 code->firmware,我会用尽量简短的语言把前两部分讲清楚,前两部分的知识或者经验扎实的话对整个PLC CPU的体系结构会产生全面而感性的认知. 从上周五到这周三,困在西门子PLC固件逆向分析上已经有几天时间了,昨天我突然意识到可能是我现在的知识储备并能够支撑我的“雄心壮志”,因此我选择返回原点,再把和固件分析相关的知识如S7comm和MC7 code再仔细研究一遍,…
德国西门子(SIEMENS)公司生产的可编程序控制器在我国的应用也相当广泛,在冶金.化工.印刷生产线等领域都有应用.西门子(SIEMENS)公司的PLC产品包括LOGO,S7-200,S7-300,S7-400,工业网络,HMI人机界面,工业软件等. 西门子S7系列PLC体积小.速度快.标准化,具有网络通信能力,功能更强,可靠性更高.S7系列PLC产品可分为微型PLC(如S7-200),小规模性能要求的PLC(如S7-300)和中.高性能要求的PLC(如S7-400)等. 1.SIMATIC S…
Modbus协议是OSI模型的第七层的应用层通讯协议,定义了不同类型设备间交换信息方式,以及信息的格式. Modbus的工作方式是请求/应答,每次通讯都是主站先发送指令,可以是广播,或是向特定从站的单播,从站响应指令,并按要求应答,或者报告异常.当主站不发送请求时,从站不会自己发出数据,从站和从站之间不能直接通讯. Modbus协议的报文(或帧)的基本格式是: 表头 + 功能码 + 数据区 + 校验码 功能码和数据区在不同类型的网络都是固定不变的,表头和校验码则因网络底层的实现方式不同而有所区别…
一.   引子 首先感谢博客园:第一篇文章.第一个开源项目,算是旗开得胜.可以看到,项目大部分流量来自于博客园,码农乐园,名不虚传^^. 园友给了我很多支持,并提出了很好的改进意见.现加入屏幕分辨率自适应和OPC Server可CLSID和ProgID自适应加载功能.屏幕自适应本是普遍问题,因为之前都是标配硬件,举手之劳,一懒就忽略了. 仅仅十天前,我还是上github只会点击的菜鸟.Readme文件如何编辑都是现学现卖. 第一次向github上传仓库,下载了发现居然没有任何exe,dll,ba…
一. 概述 跟随着工控安全一路走来,工控安全市场今年明显有相当大的改善,无论从政策还是客户需求,都在逐步扩大中.但是,搞工控安全研究的人员却寥寥无几.一方面工控安全是个跨学课的技术,需要了解多方面的知识,有比较高的技术上的门槛:另一方面,没有可以研究和学习的便利的环境.一般,搞这方面研究的公司或者个人,都会先购买一些硬件设备,搭建一个模拟环境,再做相应的安全研究,成本实在是太高.为了解决这个问题,我们做了一系列的相关的技术研究,通过构建一套虚拟的工业控制环境,从而降低了解和学习工控安全的门槛,推…
我们在利用西门子的S7-300/400 PLC的编程软件Step7的时候会出现下面如图所示的问题. 在打开项目的时候,我们会在Simatic Manager里面看到CPU以及一些其他一些组件显示问号. 图.CPU显示问号 一.问题产生的原因 这个问题产生的原因是我们利用低版本的Step7 打开项目的时候,由于Step7 里面没有最新的 硬件的描述性文件导致的. (说明: 西门子的硬件说明文件时.xml格式的文件). 二.解决方法 解决方法有三个: 升级Step7 .重装系统.升级硬件描述性文件.…
转载地址:http://blog.sina.com.cn/s/blog_669692a601016i5f.html     工控老鬼提醒以下的信息和资料可能不全或者不准确,如有疑问可以查阅西门子中国网站相关文档. 西门子S7200PLC,是西门子simatic S7系列中的小型PLC产品,至问世以来已经得到了市场的广泛认可.西门子公司根据中国市场需求于 2005 年 12 月 16 日正式发布了 S7-200 CN 系列产品.产品系列中包括 S7-200 CN CPU 和 S7-200 CN E…
前言:PLC为可编程逻辑控制器,采用S7协议.其硬件本身存在许多漏洞,可以利用kali里面的漏洞模块或者modbus工具对其进行攻击,甚至直接可以进行未授权访问,只要其开启对外网的端口服务,那么我们就可以利用其私有协议进行指纹提取.模糊测试.漏洞利用来最终达到控制PLC.指纹提取占据比较重要的位置,因为我们只要把指纹提取的工作做好,那么我门就可以针对什么版本的PLC进行1day的打击.因为工控硬件的更新换代始终很慢. 这里采用的是一个西门子PLC的仿真软件来进行实验的. 0x01 nmap指纹识…
“祝融”作为一种针对传统PLC控制系统的欺骗攻击病毒,所述的典型的PLC控制系统通常包括两部分: 用于组态.编程.监视.控制的工程师站(通常是PC设备) PLC控制器(通常如西门子.施耐德.三菱等厂家的产品) 此外,在工程师站中通常安装着PLC生产厂家提供的用于PLC控制器组态和编程的开发软件和用于监视和修改PLC内部变量的监控软件.具体对“祝融”而言,所攻击的PLC是西门子公司的S7-300/S7-400,在工程师站上安装的组态和编程软件是Step7,安装的监控软件是Wincc,不用多说,这些…
现在西门子的软件是更新换代太快了,前几年还是Step 7 Micro/Win,后来又出了S7-200 Smart PLC,理所当然的编程调试软件也水涨船高,出了新的Step 7  Micro/Win Smart. 我今天安装了一个测试一下,安装后界面与原来的S7-200的编程软件没多少区别,变化较 大的是采用了新的Robin风格的工具栏. 如下所示: 图  step7 Micro/Win Smart程序界面 一.安装兼容性 Smart软件安装时会有一些限制条件. 1.不能和Sinamics Sc…