بر اساس گزارش SANS، دو آسیبپذیری امنیتی مهم که اخیراً در Cisco Smart Licensing Utility اصلاح شدهاند، در حال حاضر مورد سوءاستفاده مهاجمان قرار گرفتهاند.
دو آسیبپذیری که در معرض اکسپلویت فعال قرار دارند عبارتند از:
- CVE-2024-20439 (امتیاز CVSS: 9.8): وجود اطلاعات کاربری استاتیک و مستندنشده برای یک حساب مدیریتی که مهاجمان میتوانند از آن برای ورود به سیستمهای آسیبپذیر استفاده کنند.
- CVE-2024-20440 (امتیاز CVSS: 9.8): یک آسیبپذیری که به دلیل ایجاد فایل گزارش اشکالزدایی با جزئیات بیش از اندازه به وجود میآید و مهاجم میتواند با استفاده از یک درخواست HTTP ساختگی به این فایلها دسترسی پیدا کرده و اطلاعات ورود به سیستم را به دست آورد که برای دسترسی به API قابل استفاده هستند.
روش سوءاستفاده از آسیبپذیریها Cisco Smart Licensing Utility
این دو آسیبپذیری تا حدی به یکدیگر مرتبط هستند. اولین مورد، یکی از بکدورهای متعددی است که Cisco معمولاً در محصولات خود قرار میدهد؛ یک رمز عبور ثابت و ساده که میتوان از آن برای دسترسی استفاده کرد. دومین مورد، یک فایل لاگ با لاگهای متعدد و بیش از حد نیاز است. یک مهاجم میتواند با استفاده از آسیبپذیری اول، با سطح دسترسی admin به این فایل لاگ که شامل اطلاعاتی مانند اطلاعات ورود به API هستند، دسترسی پیدا کند.
نکته قابل توجه این است که این ضعفهای امنیتی فقط زمانی قابل سوءاستفاده هستند که Smart Licensing Utility بهطور فعال اجرا شود.
سوءاستفاده از آسیب پذیری اول مدت کوتاهی پس از انتشار مشاوره امنیتی سیسکو در یک بلاگ توسط نیکولاس استارک منتشر شد. این آسیبپذیری همانطور که گفته شد به دلیل وجود یک گذرواژه ثابت و از پیش تعیینشده است که میتواند برای دسترسی به دادههای مجوز در Cisco Smart Licensing Utility مورد استفاده قرار گیرد. این ابزار را میتوان از وبسایت رسمی Cisco دریافت کرد. در بررسی نسخههای مختلف این نرمافزار، مشخص شد که گذرواژه ثابت موردنظر Library4C$LU است.
نحوه پیدا کردن اطلاعات کاربری
نرمافزار Cisco Smart Licensing Utility برای سیستمعاملهای ویندوز و لینوکس ارائه شده است. در نسخه لینوکسی، بسته .deb استخراج شد و محتویات آن مورد تحلیل قرار گرفته است.
این نرمافزار یک برنامه مبتنی بر Electron است که روی یک API مبتنی بر REST ساخته شده و به زبان Golang توسعه یافته است. این API در فرآیندی جداگانه اجرا میشود اما روی همان هاستی که برنامه Electron اجرا میشود، فعال است. درخواستهای HTTP از طریق localhost برای عملیات تغییر وضعیت ارسال میشوند و این API بهطور پیشفرض روی تمامی رابطهای شبکه گوش میدهد. در داخل فایل .deb، یک فایل آرشیو .asar با مسیر resources/app.asar قرار دارد که آرشیو مخصوص Electron محسوب میشود. این فایل با استفاده از دستور زیر استخراج شده است:
npx @electron/asar extract $ASAR_FILE_PATH .
پس از استخراج، فایل ServicePools/APIClient.js شناسایی شده که بخشی از مکانیزم ارتباطی نرمافزار را مدیریت میکند. محتوای فایل در نسخه 2.2.0:
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var axios_1 = require("axios");
var https = require("https");
var rxjs_1 = require("rxjs");
var APIClient = /** @class */ (function () {
function APIClient(config) {
this.protocol = "http";
this.apiHost = "localhost";
this.apiPort = 4596;
this.apiEndpointPath = "/cslu/v1";
this.basicAuthUserName = "cslu-windows-client";
this.basicAuthPassword = "Library4C$LU";
if (!!APIClient.getInstance()) {
return APIClient.getInstance();
}
محتوای فایل در نسخه 2.3.0 :
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var axios_1 = require("axios");
var https = require("https");
var rxjs_1 = require("rxjs");
var APIClient = /** @class */ (function () {
function APIClient(config) {
this.protocol = "http";
this.apiHost = "localhost";
this.apiPort = 8180;
this.apiEndpointPath = "/cslu/v1";
this.basicAuthUserName = "cslu-windows-client";
this.basicAuthPassword = "";
if (!!APIClient.getInstance()) {
return APIClient.getInstance();
}
else {
this.createNewAxiosInstance(config);
}
مشخص شد که اطلاعات احراز هویت شامل cslu-windows-client:Library4C$LU بوده و REST API از احراز هویت پایه HTTP برای تأیید هویت استفاده میکند.
باینری مربوط به برنامه API در مسیر resources/API-BINARIES/cslu-api قرار دارد. این فایل یک باینری Golang است که اجرای درخواستهای REST API را مدیریت میکند.

Johannes B. Ullrich، مدیر تحقیقات موسسه فناوری SANS، تأیید کرده است که در بررسیهای اولیه، شواهدی از سوءاستفاده فعال مشاهده نشده است اما همانطور که گفته شد جزئیات آسیبپذیری CVE-2024-20439، از جمله اطلاعات ورود به سیستم بکدور، در یک بلاگ منتشر شد. بنابراین، تعجبی ندارد که پس از آن فعالیتهایی در زمینه سوءاستفاده از این نقص مشاهده شده است.
این آسیبپذیری بر API موجود در مسیر /cslu/v1 تأثیر میگذارد. نمونهای از یک درخواست مهاجمان:
GET /cslu/v1/scheduler/jobs HTTP/1.1
Host: [redacted]:80
Authorization: Basic Y3NsdS13aW5kb3dzLWNsaWVudDpMaWJyYXJ5NEMkTFU=
Connection: close
رمزگذاری Base64 این مقدار را به اطلاعات زیر تبدیل میکند: cslu-windows-client:Library4C$LU
این همان اطلاعات کاربری است که در بالاتر مشخص شده بود. درخواست دیگری که مهاجمان ارسال کردهاند:
GET /classes/common/busiFacade.php HTTP/1.1
Host: [redacted]:80
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36
Authorization: Basic aGVscGRlc2tJbnRlZ3JhdGlvblVzZXI6ZGV2LUM0RjgwMjVFNw==
Content-Type: application/x-www-form-urlencoded
Connection: close
رمزگذاری Base64 این مقدار را به اطلاعات زیر تبدیل میکند: helpdeskIntegrationUser:dev-C4F8025E
هدف نهایی این کمپین حمله و هویت مهاجمان هنوز مشخص نیست، اما با توجه به اکسپلویت فعال این آسیبپذیریها، بهروزرسانی فوری و اعمال پچهای امنیتی برای حفاظت از سیستمها ضروری است.