[工具]ISF基于Python的工控系统漏洞利用框架

作者: hackliu 分类: 安全工具 发布时间: 2018-01-30 01:24

      本框架主要使用Python语言开发,通过集成ShadowBroker释放的NSA工具Fuzzbunch攻击框架,开发一款适合工控漏洞利用的框架。由于Fuzzbunch攻击框架仅适用于Python2.6,很多核心的功能都封装成了DLL,通过函数进行调用,不便于后期的移植和使用。但是,Fuzzbunch的命令行使用的确很方便,而且够傻瓜,所以就有集成一个适合工控漏洞利用的框架想法。新框架对主要的接口使用Python重新实现,所以支持Python2.X版本。

肯定会有人问,有牛逼的MSF,搞这个玩竟儿有什么用?主要基于如下几点考虑

  • MSF命令行使用不够傻瓜,纯属个人观点,仅供参考。

  • 工控的很多私用协议都使用Python开发,有很多优秀的Python框架(如scapy、kitty),集成在MSF很麻烦,有一个Python的框架会方便很多。

  • 最主要的一个原因是,从事工控安全以来,本人一直在使用Python,很多脚本都是基于Python开发的,想将手上所有的资源进行整合,提供一个统一的平台,方便。

ICS(工业控制系统)协议客户端

名称   路径   Description  
modbus_tcp_client   icssploit/clients/modbus_tcp_client.py   Modbus-TCP客户端
wdb2_client   icssploit/clients/wdb2_client.py   WdbRPC Version 2 客户端(Vxworks 6.x)  
s7_client   icssploit/clients/s7_client.py   s7comm 客户端(S7 300/400  PLC)  

漏洞利用模块

Name   Path   Description  
s7_300_400_plc_control   exploits/plcs/siemens/s7_300_400_plc_control.py   S7-300/400 PLC 启动/停止
vxworks_rpc_dos   exploits/plcs/vxworks/vxworks_rpc_dos.py   Vxworks RPC 远程DoS(CVE-2015-7599)  
quantum_140_plc_control   exploits/plcs/schneider/quantum_140_plc_control.py   Schneider Quantum 140系列 PLC启动/停止
crash_qnx_inetd_tcp_service   exploits/plcs/qnx/crash_qnx_inetd_tcp_service.py   Crash QNX Inetd TCP服务
qconn_remote_exec   exploits/plcs/qnx/qconn_remote_exec.py   QNX QCONN 远程代码执行  

扫描器模块

Name   Path   Description  
profinet-dcp-scan   scanners/profinet-dcp-scan.py   Profinet DCP 扫描器  
vxworks_6_scan   scanners/vxworks_6_scan.py   Vxworks 6.x 扫描器  
s7comm_scan   scanners/s7comm_scan.py   S7comm 扫描器  

ICS协议模块(采用Scapy编写)

这些协议模块能够与其他的模糊测试框架(例如Kitty)进行整合,或者你也可以将其用于开发属于你自己的客户端工具。

Name   Path   Description  
pn_dcp   icssploit/protocols/pn_dcp   Profinet DCP Protocol  
modbus_tcp   icssploit/protocols/modbus_tcp   Modbus TCP Protocol  
wdbrpc2   icssploit/protocols/wdbrpc2   WDB RPC Version 2 Protocol  
s7comm   icssploit/protocols/s7comm.py   S7comm Protocol  

框架安装

Python依赖环境

gnureadline(OSX only)

requests

paramiko

beautifulsoup4

pysnmp

python-nmap

scapy

在Kali Linux中安装

安装命令如下所示:

git clone https://github.com/dark-lbp/isf/cd isf

python isf.py

漏洞利用

isf> use exploits/plcs/exploits/plcs/siemens/  exploits/plcs/vxworks/

isf> use exploits/plcs/siemens/s7_300_400_plc_control

exploits/plcs/siemens/s7_300_400_plc_control

isf> use exploits/plcs/siemens/s7_300_400_plc_control

isf(S7-300/400 PLC Control) >

注意事项:用户可使用Tab键实现命令补全。

工具下载:

isf-master.part3.rar

isf-master.part2.rar

isf-master.part1.rar

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注