ControlThings Platform被描述为给安全管理员执行SCADA,DCS,现场设备,以及其它工业控制系统的渗透测试的方法。该平台结合了用于传统IT基础架构的安全评估工具和用于ICS环境的工具的功能。

一、官网简介

https://www.controlthings.io/home

多年来,我们一直使用BackTrack,Kali和SamuraiWTF之类的渗透测试发行版来帮助我们对大多数IT环境进行渗透测试,但是这些发行版本质上是通用的,可以在各种不同的环境中使用。这些发行版无法满足其用户需求的一种环境是工业控制系统(ICS),例如SCADA,DCS,现场设备和现场总线。我们正在解决此问题。

For years we’ve had pen test distributions like BackTrack, Kali, and SamuraiWTF to help us perform penetration testing for most IT environments, however these distributions have been generic in nature to enable their use in a wide variety of different environments. One environment where these distributions have failed to meet the needs of their users is in Industrial Control Systems (ICS) like SCADA, DCS, Field Devices, and Field Buses. We are fixing this problem.

根据过去10多年运行SamuraiWTF和SamuraiSTFU的经验,我们创建了一个专门用于ICS网络安全团队的开源Linux发行版。 ControlThings平台采用了适用于传统IT基础架构的同类最佳的安全评估工具,并添加了针对嵌入式电子产品,专有无线技术的专用工具,以及来自更广泛社区和由我们自己的团队创建的定制的ICS专用评估工具。

Taking our experience running SamuraiWTF and SamuraiSTFU over the last 10+ years, we have created an open source linux distribution specifically for ICS cyber security teams. ControlThings Platform takes the best-in-breed security assessment tools for traditional IT infrastructures and adds specialized tools for embedded electronics, proprietary wireless, and a healthy dose of ICS specific assessment tools, both from the greater community and custom created from our own teams.

但是我们不止于此。除了所有评估工具之外,我们还添加了更多资源,以帮助用户更好地理解基本ICS上下文,这些文档包括健康的文档(用于防御和攻击),ICS网络流量的示例捕获以及其他资源,可在您将断开与Internet的连接,就像在任何ICS环境中一样。

But we don’t stop there. In addition to all the assessment tools, we’ve added additional resources to help our users better understand essential ICS context through a healthy dose of documentation (for defense and offense), sample captures of ICS network traffic, and other resources to help you when you are disconnected from the Internet, as you should be when in any ICS environment.

哦,我不应该忘记包含仿真器来帮助您学习,并在针对实际系统使用测试工具之前先对其进行校准,从而为您提供完整的测试实验室。因此,无论您是为ICS公司工作还是对获得足够的经验在这些环境中工作感兴趣的兴趣,请查看我们的ControlThings平台和各种ControlThings工具。

Oh, and I shouldn’t forget the inclusion of emulators to help you learn, and later calibrate your testing tools before using them against actual systems, thus providing you with a full test lab. So whether you work for an ICS company or are simply interested in gaining sufficient experience to do work in these environments, please check out our ControlThings Platform and our various ControlThings Tools.

二、源码介绍

适用于Control Things Platform用户的实例文件

一级文件目录说明Top Level Directory Discriptions

  • Crypto – 用于加密练习的文件(Files for crypto exercises)
  • Datasheets – 常用芯片的数据表示例(Examples of Datasheets for common chips)
  • Firmware – 适用于Control Things Platform的各种硬件的固件(Firmware for various hardware used with Control Things Platform)
  • Fuzzing – 用于模糊测试输入的文件(Files to use as inputs to fuzzers)
  • Memory – EEPROM,闪存和RAM的示例转储(Example Dumps from EEPROMs, Flash, and RAM)
  • Protocols – 控制协议的描述和抓包文件(Descriptions and captures of control protocols)
  • RadioFrequencies – 无线通信的抓包文件和配置(Captures and configs for RF communications)
  • ReadingRoom – 来自各种来源的网络安全指导文件(Cyber security guidance documents from various sources)
  • Simulators – 仿真软件的配置(Configurations for simulation software)
  • UserInterfaces – 从非标准用户接口捕获数据(Captures from non-standard user interfaces)

三、工具说明

① 串口测试工具ControlThings Serial

与二进制串行设备交互的评估工具,可让您模拟ICS供应商工具

② modbus测试工具

与TCP / UDP和串行(RTU / ASCII)Modbus设备交互的评估工具

ctmodbus的目标是成为安全专家与Modbus设备进行交互的瑞士军刀。完成后,功能将包括对以下内容的支持:

  • 串口Modbus的RTU和ASCII版本(已完成)。RTU and ASCII versions of serial Modbus (DONE)
  • TCP/IP Modbus的TCP和UDP版本(已完成)。TCP and UDP versions of TCP/IP Modbus (DONE)
  • 客户端和服务器选项(库版本已完成,服务器版本进行中)。Client and server options (DONE in lib, server IN PROGRESS)
  • 所有标准Modbus功能(读功能完成,写功能进行中)All standard Modbus functions (reads DONE, writes IN PROGRESS)
  • 任意自定义的modbus功能。Arbitrary custom Modbus functions
  • 读取列表和范围中指定的地址(已完成)。Reading addresses specified in lists and ranges (DONE)
  • 指定间隔的轮询。Interval based polling
  • 克隆功能:可快速为模拟器创建基础数据。Clone feature to quickly create base data for simulator
  • 两个Modbus端点之间的代理功能。Proxy feature between two modbus endpoints
  • 导出到cthistorian和数据库。Export to cthistorian and database

③ 串行外设接口测试

一种评估工具,可使用SPI与EEPROM,闪存芯片和其他嵌入式芯片进行交互

④ I2C总线测试

一种评估工具,可使用I2C与EEPROM,闪存芯片和其他嵌入式芯片进行交互

⑤ Velocio测试工具

与Velocio PLC交互的评估工具,以及我们计划为其他供应商创建的工具示例

通过USB与Velocio Ace 11 PLC进行交互的简单脚本

测试是在Ace 11上执行的。其他版本可能无法正常运行

⑥ 自定义UI工具

使这些工具成为可能的库,可免费使用以构建自己的工具

ctui是用于创建基于终端的用户界面的库,并且在http://controlthings.io的所有ControlThings工具中使用。它类似于使用Click或Python的标准Cmd库,但具有使用纯Python编写的类似curses的界面。

文章来源:2020黑帽大会:ControlThings Platform 工控系统渗透测试平台 – 猿与舟FunJoel的文章 – 知乎 https://zhuanlan.zhihu.com/p/172513027