Git Product home page Git Product logo

license-to-kill's Introduction

License To Kill

Introduction

State-of-the art license management solutions protect software vendors and solutions from fraud, illegal distribution, and manipulation of proprietary code. Among industrial control system (ICS) vendors, Wibu-Systems AG’s CodeMeter product is fairly ubiquitous. CodeMeter is integrated into products from vendors who have a significant customer presence in industries such as pharmaceuticals, manufacturing, automotive developers, and many others. It provides a full-scale license management solution and antipiracy protection, in addition to other encryption services that—big picture—act as a security blanket guarding the intellectual property of companies worldwide.

Claroty’s research team has examined this powerful utility because of its large market presence among ICS vendors and found six vulnerabilities that collectively were assessed the highest criticality (10.0) by the Cybersecurity and Infrastructure Security Agency (CISA). These vulnerabilities may be attacked remotely and without authentication, and provide attackers with the equivalent of administrator access to critical systems. Successful exploits could enable either remote code execution or cause a denial-of-service condition affecting the availability of an industrial device or service.

The vulnerabilities range from memory corruption vulnerabilities such as buffer overflows, to cryptographic flaws where the improper encryption strength was used, or cryptographic signatures were improperly validated.

Wibu-Systems has made fixes available for all of the vulnerabilities privately disclosed by Claroty researchers in version 7.10 of CodeMeter. All versions of CodeMeter prior to 7.10 are affected by these vulnerabilities in some way. The larger issue, as is common in the ICS domain, is the unlikelihood of widespread implementation of the respective patches. CodeMeter is a widely deployed third-party tool that is integrated into numerous products; organizations may not be aware their product has CodeMeter embedded, for example, or may not have a readily available update mechanism.

Hoping to improve awareness of whether organizations are vulnerable to these flaws, Claroty researchers have published a tool that allows organizations to test whether they’re running a vulnerable version of CodeMeter, and can use that information to make a determination how to move forward with regard to patching. The tool is available at https://info.claroty.com/wibu-codemeter.

What follows is an in-depth description of the approaches researchers took in, first, understanding the CodeMeter licensing scheme in order to eventually parse CodeMeter licenses, modify existing licenses, and even forge valid licenses. Then we’ll describe how researchers built a novel fuzzer to find vulnerabilities in the CodeMeter license-parsing mechanism that allowed researchers to generate corrupted licenses that could cause machines to crash by injecting malicious JavaScript from an attacker-controlled website. We’ll also describe a second attack vector that can, in cases, enable remote code execution on a device running CodeMeter. Researchers were able to crack the encryption protecting CodeMeter’s proprietary protocol in order to build their own CodeMeter API and client, and essentially have the ability to communicate with and send commands to any machine running CodeMeter. This allowed Claroty researchers to find additional memory corruption vulnerabilities and gain remote code execution without authentication.

How To Use

python codemeter_port_check.py IP_ADDR

Advisories

Claroty Links

Claroty Tools

license-to-kill's People

Contributors

sharonbrizinov avatar clarotyics avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.