解析WinCC脚本生成可执行程序的全过程 (解析wifi密码)
编号:59611 分类:技术教程 阅读: 时间:2025-01-12
WinCC脚本生成可执行程序的全过程解析(附WiFi密码解析) 解析WinCC脚本生成可执行程序的全过程

一、引言

WinCC(Windows Control Center)是一款广泛应用于工业自动化领域的监控与控制系统软件。
通过编写脚本,我们可以实现各种复杂的控制逻辑,并将这些逻辑转化为可执行程序,应用于实际生产环境中。
本文将详细解析WinCC脚本生成可执行程序的全过程,并附带WiFi密码解析的内容。

二、WinCC脚本编写

1. 熟悉WinCC环境:需要熟悉WinCC的编程环境和工具,了解其基本语法和函数库。
2. 需求分析:明确需要实现的功能,如数据采集、设备控制、报警处理等,根据需求进行脚本设计。
3. 编写脚本:使用WinCC的脚本编辑器,根据设计进行脚本编写。常用的脚本语言包括C、C++、VBScript等。
4. 调试脚本:完成脚本编写后,进行调试,确保逻辑正确无误。

三、WinCC脚本生成可执行程序

1. 编译脚本:将编写好的脚本进行编译,生成目标代码。
2. 打包程序:将目标代码和其他依赖文件打包成可执行程序,以便于部署到实际环境中。
3. 测试程序:在模拟环境或实际环境中测试程序,确保功能正常。
4. 部署程序:将测试通过的程序部署到生产环境中,实现自动化控制。

四、WinCC脚本生成可执行程序的具体步骤

1. 打开WinCC,创建一个新项目,设置项目属性。
2. 在项目中选择“Script”(脚本)选项,创建一个新的脚本文件。
3. 编写脚本代码,实现所需功能。
4. 保存脚本文件,点击“Compile”(编译)按钮,对脚本进行编译。 解析wifi密码
5. 检查编译结果,若有错误需修改脚本并重新编译。
6. 点击“Build”(构建)按钮,生成可执行文件。
7. 将生成的可执行文件及其他相关文件打包,形成完整的程序。
8. 在模拟环境或实际环境中测试程序,确保功能正常。
9. 将测试通过的程序部署到生产环境中,完成自动化控制任务。

五、WiFi密码解析

在日常生活和工作中,我们经常会遇到需要连接WiFi的情况,而连接WiFi则需要知道对应的密码。
有时候,WiFi密码可能被隐藏或忘记,这时候我们可以通过一些方法尝试解析密码。
以下是一种常见的方法:

1. 使用第三方软件:下载并安装专业的WiFi密码破解软件,如Aircrack、John the Ripper等。
2. 抓取数据包:连接目标WiFi时,使用软件抓取相关的数据包。
3. 分析数据包:通过分析抓取到的数据包,尝试破解WiFi密码。
4. 注意事项:破解WiFi密码可能涉及违法行为,请确保在合法范围内进行操作,避免侵犯他人隐私和安全。

六、结语

本文详细解析了WinCC脚本生成可执行程序的全过程,并简要介绍了WiFi密码解析的方法。
希望读者通过本文能够了解WinCC脚本编程和WiFi密码解析的相关知识,并在实际工作中加以应用。
同时,请务必遵守相关法律法规,确保操作合法合规。


2010年10月,国内外多家媒体相继报道了Stuxnet蠕虫对西门子公司的数据采集与监控系统simatic WinCC进行攻击的事件,称其为“超级病毒”、“超级工厂病毒”,并形容成“超级武器”、“潘多拉的魔盒”。 Stuxnet蠕虫(俗称“震网”、“双子”)在2010年7月开始爆发。 它利用了微软操作系统中至少4个漏洞,其中有3个全新的零日漏洞;伪造驱动程序的数字签名;通过一套完整的入侵和传播流程,突破工业专用局域网的物理限制;利用WinCC系统的2个漏洞,对其开展破坏性攻击。 它是第一个直接破坏现实世界中工业基础设施的恶意代码。 据赛门铁克公司的统计,截止到2010年09月全球已有约个网络被该蠕虫感染, 其中60%的受害主机位于伊朗境内。 伊朗政府已经确认该国的布什尔核电站遭到Stuxnet蠕虫的攻击。 安天实验室于7月15日捕获到Stuxnet蠕虫的第一个变种,在第一时间展开分析,发布了分析报告及防范措施,并对其持续跟踪。 截止至本报告发布,安天已经累计捕获13个变种、600多个不同哈希值的样本实体。 2.1 运行环境Stuxnet蠕虫在以下操作系统中可以激活运行:Windows 2000、Windows Server 2000Windows XP、Windows Server 2003Windows VistaWindows 7、Windows Server 2008当它发现自己运行在非Windows NT系列操作系统中,即刻退出。 被攻击的软件系统包括:SIMATIC WinCC 7.0SIMATIC WinCC 6.2但不排除其他版本存在这一问题的可能。 2.2 本地行为样本被激活后,典型的运行流程如图1 所示。 样本首先判断当前操作系统类型,如果是Windows 9X/ME,就直接退出。 接下来加载一个主要的DLL模块,后续的行为都将在这个DLL中进行。 为了躲避查杀,样本并不将DLL模块释放为磁盘文件然后加载,而是直接拷贝到内存中,然后模拟DLL的加载过程。 具体而言,样本先申请足够的内存空间,然后导出的6个系统函数:ZwMapViewOfSectionZwCreateSectionZwOpenFileZwCloseZwQueryAttributesFileZwQuerySection为此,样本先修改文件内存映像中PE头的保护属性,然后将偏移0x40处的无用数据改写为跳转代码,用以实现hook。 进而,样本就可以使用ZwCreateSection在内存空间中创建一个新的PE节,并将要加载的DLL模块拷贝到其中,最后使用LoadLibraryW来获取模块句柄。 图1 样本的典型运行流程此后,样本跳转到被加载的DLL中执行,衍生下列文件:%System32%\drivers\ %System32%\drivers\%Windir%\inf\%Windir%\inf\ %Windir%\inf\%Windir%\inf\其中有两个驱动程序和,分别被注册成名为MRXCLS和MRXNET的系统服务,实现开机自启动。 这两个驱动程序都使用了Rootkit技术,并有数字签名。 负责查找主机中安装的WinCC系统,并进行攻击。 具体地说,它监控系统进程的镜像加载操作,将存储在%Windir%\inf\中的一个模块注入到、、三个进程中,后两者是WinCC系统运行时的进程。 通过修改一些内核调用来隐藏被拷贝到U盘的lnk文件和DLL文件(图2 )。 图2驱动程序隐藏某些lnk文件图3 样本的多种传播方式2.3 传播方式 Stuxnet蠕虫的攻击目标是SIMATIC WinCC软件。 后者主要用于工业控制系统的数据采集与监控,一般部署在专用的内部局域网中,并与外部互联网实行物理上的隔离。 为了实现攻击,Stuxnet蠕虫采取多种手段进行渗透和传播,如图3所示。 整体的传播思路是:首先感染外部主机;然后感染U盘,利用快捷方式文件解析漏洞,传播到内部网络;在内网中,通过快捷方式解析漏洞、RPC远程执行漏洞、打印机后台程序服务漏洞,实现联网主机之间的传播;最后抵达安装了WinCC软件的主机,展开攻击。 2.3.1. 快捷方式文件解析漏洞(MS10-046)这个漏洞利用Windows在解析快捷方式文件(例如文件)时的系统机制缺陷,使系统加载攻击者指定的DLL文件,从而触发攻击行为。 具体而言,Windows在显示快捷方式文件时,会根据文件中的信息寻找它所需的图标资源,并将其作为文件的图标展现给用户。 如果图标资源在一个DLL文件中,系统就会加载这个DLL文件。 攻击者可以构造这样一个快捷方式文件,使系统加载指定的DLL文件,从而执行其中的恶意代码。 快捷方式文件的显示是系统自动执行,无需用户交互,因此漏洞的利用效果很好。 Stuxnet蠕虫搜索计算机中的可移动存储设备(图4)。 一旦发现,就将快捷方式文件和DLL文件拷贝到其中(图5)。 如果用户将这个设备再插入到内部网络中的计算机上使用,就会触发漏洞,从而实现所谓的“摆渡”攻击,即利用移动存储设备对物理隔离网络的渗入。 图4 查找U盘拷贝到U盘的DLL文件有两个:~和~。 后者Hook了和中的下列导出函数:FindFirstFileW FindNextFileW FindFirstFileExWNtQueryDirectoryFile ZwQueryDirectoryFile 实现对U盘中lnk文件和DLL文件的隐藏。 因此,Stuxnet一共使用了两种措施(内核态驱动程序、用户态Hook API)来实现对U盘文件的隐藏,使攻击过程很难被用户发觉,也能一定程度上躲避杀毒软件的扫描。 图5 拷贝文件到U盘2.3.2. RPC远程执行漏洞(MS08-067)与提升权限漏洞这是2008年爆发的最严重的一个微软操作系统漏洞,具有利用简单、波及范围广、危害程度高等特点。 图6 发动RPC攻击具体而言,存在此漏洞的系统收到精心构造的RPC请求时,可能允许远程执行代码。 在Windows 2000、Windows XP和Windows Server 2003系统中,利用这一漏洞,攻击者可以通过恶意构造的网络包直接发起攻击,无需通过认证地运行任意代码,并且获取完整的权限。 因此该漏洞常被蠕虫用于大规模的传播和攻击。 Stuxnet蠕虫利用这个漏洞实现在内部局域网中的传播(图6)。 利用这一漏洞时,如果权限不够导致失败,还会使用一个尚未公开的漏洞来提升自身权限(图1),然后再次尝试攻击。 截止本报告发布,微软尚未给出该提权漏洞的解决方案。 2.3.3. 打印机后台程序服务漏洞(MS10-061)这是一个零日漏洞,首先发现于Stuxnet蠕虫中。 Windows打印后台程序没有合理地设置用户权限。 攻击者可以通过提交精心构造的打印请求,将文件发送到暴露了打印后台程序接口的主机的%System32%目录中。 成功利用这个漏洞可以以系统权限执行任意代码,从而实现传播和攻击。 图7 利用打印服务漏洞Stuxnet蠕虫利用这个漏洞实现在内部局域网中的传播。 如图7所示,它向目标主机发送两个文件、。 后者是微软的一种托管对象格式(MOF)文件,在一些特定事件驱动下,它将驱使被执行。 2.3.4.内核模式驱动程序(MS10-073)2.3.5.任务计划程序漏洞(MS10-092)2.4 攻击行为Stuxnet蠕虫查询两个注册表键来判断主机中是否安装WinCC系统(图8):HKLM\SOFTWARE\SIEMENS\WinCC\SetupHKLM\SOFTWARE\SIEMENS\STEP7图8 查询注册表,判断是否安装WinCC一旦发现WinCC系统,就利用其中的两个漏洞展开攻击:一是WinCC系统中存在一个硬编码漏洞,保存了访问数据库的默认账户名和密码,Stuxnet利用这一漏洞尝试访问该系统的SQL数据库(图9)。 二是在WinCC需要使用的Step7工程中,在打开工程文件时,存在DLL加载策略上的缺陷,从而导致一种类似于“DLL预加载攻击”的利用方式。 最终,Stuxnet通过替换Step7软件中的,实现对一些查询、读取函数的Hook。 图9 查询WinCC的数据库2.5 样本文件的衍生关系本节综合介绍样本在上述复制、传播、攻击过程中,各文件的衍生关系。 如图10所示。 样本的来源有多种可能。 对原始样本、通过RPC漏洞或打印服务漏洞传播的样本,都是exe文件,它在自己的节中隐形加载模块,名为“.<随机数字>”。 对U盘传播的样本,当系统显示快捷方式文件时触发漏洞,加载~文件,后者加载一个名为“.<随机数字>”的模块,这个模块将另一个文件~加载为“.<随机数字>”。 图10 样本文件衍生的关系模块“.<随机数字>”将启动后续的大部分操作,它导出了22个函数来完成恶意代码的主要功能;在其资源节中,包含了一些要衍生的文件,它们以加密的形式被保存。 其中,第16号导出函数用于衍生本地文件,包括资源编号201的和编号242的两个驱动程序,以及4个文件。 第17号导出函数用于攻击WinCC系统的第二个漏洞,它释放一个,而将WinCC系统中的同名文件修改为,并对这个文件的导出函数进行一次封装,从而实现Hook。 第19号导出函数负责利用快捷方式解析漏洞进行传播。 它释放多个lnk文件和两个扩展名为tmp的文件。 第22号导出函数负责利用RPC漏洞和打印服务漏洞进行传播。 它释放的文件中,资源编号221的文件用于RPC攻击、编号222的文件用于打印服务攻击、编号250的文件用于提权。 3.1 抵御本次攻击西门子公司对此次攻击事件给出了一个解决方案,链接地址见附录。 下面根据我们的分析结果,给出更具体的措施。 1.使用相关专杀工具或手工清除Stuxnet蠕虫手工清除的步骤为:使用Atool管理工具,结束系统中的父进程不是的所有进程;强行删除下列衍生文件:%System32%\drivers\%System32%\drivers\%Windir%\inf\%Windir%\inf\%Windir%\inf\%Windir%\inf\删除下列注册表项:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MRxClsHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MRxNET2. 安装被利用漏洞的系统补丁安装微软提供的下列补丁文件:RPC远程执行漏洞(MS08-067)快捷方式文件解析漏洞(MS10-046)打印机后台程序服务漏洞(MS10-061)内核模式驱动程序漏洞(MS10-073)任务计划程序程序漏洞(MS10-092)3. 安装软件补丁安装西门子发布的WinCC系统安全更新补丁,地址见附录。 3.2 安全建议此次攻击事件凸显了两个问题:即便是物理隔离的专用局域网,也并非牢不可破;专用的软件系统,包括工业控制系统,也有可能被攻击。 因此,我们对有关部门和企业提出下列安全建议:加强主机(尤其是内网主机)的安全防范,即便是物理隔离的计算机也要及时更新操作系统补丁,建立完善的安全策略;安装安全防护软件,包括反病毒软件和防火墙,并及时更新病毒数据库;建立软件安全意识,对企业中的核心计算机,随时跟踪所用软件的安全问题,及时更新存在漏洞的软件;进一步加强企业内网安全建设,尤其重视网络服务的安全性,关闭主机中不必要的网络服务端口;所有软件和网络服务均不启用弱口令和默认口令;加强对可移动存储设备的安全管理,关闭计算机的自动播放功能,使用可移动设备前先进行病毒扫描,为移动设备建立病毒免疫,使用硬件式U盘病毒查杀工具。 相比以往的安全事件,此次攻击呈现出许多新的手段和特点,值得我们特别关注。 4.1 专门攻击工业系统Stuxnet蠕虫的攻击目标直指西门子公司的SIMATIC WinCC系统。 这是一款数据采集与监视控制(SCADA)系统,被广泛用于钢铁、汽车、电力、运输、水利、化工、石油等核心工业领域,特别是国家基础设施工程;它运行于Windows平台,常被部署在与外界隔离的专用局域网中。 一般情况下,蠕虫的攻击价值在于其传播范围的广阔性、攻击目标的普遍性。 此次攻击与此截然相反,最终目标既不在开放主机之上,也不是通用软件。 无论是要渗透到内部网络,还是挖掘大型专用软件的漏洞,都非寻常攻击所能做到。 这也表明攻击的意图十分明确,是一次精心谋划的攻击。 4.2 利用多个零日漏洞Stuxnet蠕虫利用了微软操作系统的下列漏洞:RPC远程执行漏洞(MS08-067)快捷方式文件解析漏洞(MS10-046)打印机后台程序服务漏洞(MS10-061)内核模式驱动程序漏洞(MS10-073)任务计划程序程序漏洞(MS10-092)后四个漏洞都是在Stuxnet中首次被使用,是真正的零日漏洞。 如此大规模的使用多种零日漏洞,并不多见。 这些漏洞并非随意挑选。 从蠕虫的传播方式来看,每一种漏洞都发挥了独特的作用。 比如基于自动播放功的U盘病毒被绝大部分杀毒软件防御的现状下,就使用快捷方式漏洞实现U盘传播。 另一方面,在安天捕获的样本中,有一部分实体的时间戳是2013年3月。 这意味着至少在3月份,上述零日漏洞就已经被攻击者掌握。 但直到7月份大规模爆发,漏洞才首次披露出来。 这期间要控制漏洞不泄露,有一定难度。 4.3 使用数字签名Stuxnet在运行后,释放两个驱动文件:%System32%\drivers\%System32%\drivers\这两个驱动文件伪装RealTek的数字签名(图7)以躲避杀毒软件的查杀。 目前,这一签名的数字证书已经被颁发机构吊销,无法再通过在线验证,但目前反病毒产品大多使用静态方法判定可执行文件是否带有数字签名,因此有可能被欺骗。 图11 Stuxnet伪造的数字签名4.4 明确的攻击目标根据赛门铁克公司的统计,7月份,伊朗感染Stuxnet蠕虫的主机只占25%,到9月下旬,这一比例达到60%。 WinCC被伊朗广泛使用于基础国防设施中。 9月27日,伊朗国家通讯社向外界证实该国的第一座核电站“布什尔核电站”已经遭到攻击。 据了解,该核电站原计划于2013年8月开始正式运行。 因此,此次攻击具有明确的地域性和目的性。 5.1 工业系统安全将面临严峻挑战在我国,WinCC已被广泛应用于很多重要行业,一旦受到攻击,可能造成相关企业的设施运行异常,甚至造成商业资料失窃、停工停产等严重事故。 对于Stuxnet蠕虫的出现,我们并未感到十分意外。 早在去年,安天就接受用户委托,对化工行业仪表的安全性展开过研究,情况不容乐观。 工业控制网络,包括工业以太网,以及现场总线控制系统早已在工业企业中应用多年,目前在电力、钢铁、化工等大型重化工业企业中,工业以太网、DCS(集散控制系统)、现场总线等技术早已渗透到控制系统的方方面面。 工业控制网络的核心现在都是工控PC,大多数同样基于Windows-Intel平台,工业以太网与民用以太网在技术上并无本质差异,现场总线技术更是将单片机/嵌入式系统应用到了每一个控制仪表上。 工业控制网络除了可能遭到与攻击民用/商用网络手段相同的攻击,例如通过局域网传播的恶意代码之外,还可能遭到针对现场总线的专门攻击,不可轻视。 针对民用/商用计算机和网络的攻击,目前多以获取经济利益为主要目标,但针对工业控制网络和现场总线的攻击,可能破坏企业重要装置和设备的正常测控,由此引起的后果可能是灾难性的。 以化工行业为例,针对工业控制网络的攻击可能破坏反应器的正常温度/压力测控,导致反应器超温/超压,最终就会导致冲料、起火甚至爆炸等灾难性事故,还可能造成次生灾害和人道主义灾难。 因此,这种袭击工业网络的恶意代码一般带有信息武器的性质,目标是对重要工业企业的正常生产进行干扰甚至严重破坏,其背景一般不是个人或者普通地下黑客组织。 目前,工业以太网和现场总线标准均为公开标准,熟悉工控系统的程序员开发针对性的恶意攻击代码并不存在很高的技术门槛。 因此,对下列可能的工业网络安全薄弱点进行增强和防护是十分必要的:基于Windows-Intel平台的工控PC和工业以太网,可能遭到与攻击民用/商用PC和网络手段相同的攻击,例如通过U盘传播恶意代码和网络蠕虫,这次的Stuxnet病毒就是一个典型的例子。 DCS和现场总线控制系统中的组态软件(测控软件的核心),目前其产品,特别是行业产品被少数公司所垄断,例如电力行业常用的西门子SIMATIC WinCC,石化行业常用的浙大中控等。 针对组态软件的攻击会从根本上破坏测控体系,Stuxnet病毒的攻击目标正是WinCC系统。 基于RS-485总线以及光纤物理层的现场总线,例如PROFIBUS和Modbus(串行链路协议),其安全性相对较好;但短程无线网络,特别是不使用Zigbee等通用短程无线协议(有一定的安全性),而使用自定义专用协议的短程无线通信测控仪表,安全性较差。 特别是国内一些小企业生产的“无线传感器”等测控仪表,其无线通信部分采用通用2.4GHz短程无线通信芯片,连基本的加密通信都没有使用,可以说毫无安全性可言,极易遭到窃听和攻击,如果使用,将成为现场总线中极易被攻击的薄弱点。 工业控制网络通常是独立网络,相对民用/商用网络而言,数据传输量相对较少,但对其实时性和可靠性的要求却很高,因而出现问题的后果相当严重。 传统工业网络的安全相对信息网络来说,一直是凭借内网隔离,而疏于防范。 因此,针对工业系统的安全检查和防范加固迫在眉睫。

网址推荐 网址推荐