FreeBuf|工控渗透框架:PLC密码检测

上一篇《信息收集篇》中我们讲了如何使用ISF框架发现工控设备 , 那么有些小伙伴就会问了 , 发现工控设备之后能做些什么呢?答案是很多 , 比如:查看设备有没有密码保护?有密码保护能不能破解?破解后都能做些什么等等问题 。 为了让大家循序渐进地学会工控相关的安全攻防 , 我们需要先学习一些工控的相关知识 。 本篇我们就来讲讲与暴力破解相关的基础知识 , 为后续暴力破解做好准备 。
首先 , 为了能让工业机器相对“智能” , 就需要一个可以控制这些机器的设备来控制它 , 而这个设备应该具备通用性和可复用性 , 这就是PLC类设备 。 一个通用的 , 可重复改写的逻辑控制设备 。 人们可以通过编写一些程序下载到PLC中 , 然后PLC通过读取这些程序以达到“智能”控制的效果 。
好了 , 大家都知道PLC的基本功能后 , 那么就会有一个永恒的问题 , 一般有用的东西就会涉及到安全问题 , 既然你能通过编写程序让PLC控制设备 , 那么就会有别有用心的人也想控制它 , 所以 , 这里就涉及到PLC的保护机制 。 PLC的保护机制和我们常用的手段一样 , 就是通过设置密码进行保护 。
了解完这些基本知识之后 , 让我们来看一下PLC是怎么进行密码设置的 , 设置后是怎么保护PLC的 。 还是和以前一样 , 我们通过工控实验箱来演示 , 实验箱实物图如下:
FreeBuf|工控渗透框架:PLC密码检测
文章图片
FreeBuf|工控渗透框架:PLC密码检测
文章图片
注:实验箱中各设备的功能与连线这里就不多介绍了 , 不知道的同学可以看上篇文章 。
实验箱通电后 , 用一根网线将电脑与实验箱进行互联 , 然后就可以使用“STEP7-MicroWINSMART”配置PLC , 以及编程软件下载 , 编写程序等操作 。 (不同厂家和不同型号的PLC需要不同的控制软件 , 我们的PLC型号是SMART200)
FreeBuf|工控渗透框架:PLC密码检测
文章图片
点击“PLC”—“查找CPU” , 扫描到一台PLC设备(为什么是扫描的是CPU而不是扫描PLC呢?请自行百度)
FreeBuf|工控渗透框架:PLC密码检测
文章图片
通过扫描识别到PLC后 , 点击“确定”该软件就与plc成功连接 , 当前界面就是PLC编程界面 。
FreeBuf|工控渗透框架:PLC密码检测
文章图片
双击“CPUST20”打开“系统块”设置页面 , 在“安全”标签中密码设置选项中就可以设置密码了 , 密码保护一共分为4个级别 , S7?200SMARTCPU的默认密码级别是“完全权限”(1级) , :
完全权限(1级):提供无限制访问CPU所有功能 。
读取权限(2级):用户可以不受限制地读取和写入CPU数据和上传程序 。
下载程序、强制存储器位置或对存储卡进行编程时需要密码 。
最低权限(3级):
上传或下载程序、强制存储器位置或对存储卡进行编程时需要密码 。
不允许上传(4级):该级别的密码保护将阻止程序上传(即使输入正确的密码) 。
该选项不允许项目比较 。
其它CPU功能的保护方式与最低权限密码相同 。
知道了PLC密码保护的相关知识后 , 我们随便找一个密码级别(这里我们使用只读) , 设置好密码后下载程序到PLC中 , 然后再次通过下载程序就需要输入密码(上面密码保护级别里说过 , 只读级别下载时需要输入密码) , 结果如下图所示:
FreeBuf|工控渗透框架:PLC密码检测
文章图片
废话不多说 , 直接上图: