
CVE PoC
यह PoC केवल शैक्षिक और अनुसंधान उद्देश्यों के लिए प्रदान किया गया है। लेखक इस कोड के दुरुपयोग या क्षति के लिए कोई जिम्मेदारी नहीं लेता है।
यह PowerShell स्क्रिप्ट CVE-2013-3900 में वर्णित हमले का अनुकरण करने के लिए एक परीक्षण उपकरण है। CVE-2013-3900 विंडोज में Authenticode तंत्र से संबंधित है, जिसमें PE हस्ताक्षर (EXE/DLL फ़ाइलें) प्रमाणपत्र अनुभाग में अतिरिक्त डेटा (पैडिंग) शामिल कर सकता है। पुरानी या डिफ़ॉल्ट विंडोज सेटिंग्स में, ऐसा संशोधन हस्ताक्षर को अमान्य नहीं करता, जिससे फ़ाइल में दुर्भावनापूर्ण कोड जोड़ा जा सकता है जबकि उसकी 'हस्ताक्षरित' स्थिति बनी रहती है। रजिस्ट्री में EnableCertPaddingCheck=1 को सक्षम करने पर, सिस्टम अतिरिक्त पैडिंग को अखंडता के उल्लंघन के रूप में मानने लगता है, और ऐसी फ़ाइल को अस्वीकार कर देता है।
Script:
यदि सुरक्षा सक्षम है, तो संशोधित फ़ाइल अस्वीकार कर दी जाएगी (0x800B0100); यदि अक्षम है, तो इसे स्वीकार कर लिया जाएगा (0x00000000)।
मैं MSBuild.exe का उपयोग करता हूं क्योंकि यह एक विंडोज सिस्टम फ़ाइल है जिसमें एम्बेडेड Authenticode हस्ताक्षर (कैटलॉग हस्ताक्षर नहीं) है, जो हमें इसके प्रमाणपत्र अनुभाग को सीधे संशोधित करने और CVE-2013-3900 भेद्यता का विश्वसनीय रूप से अनुकरण करने की अनुमति देता है। यह परीक्षण को दोहराने योग्य बनाता है और अतिरिक्त फ़ाइलें डाउनलोड किए बिना किसी भी विंडोज सर्वर इंस्टॉलेशन पर काम करता है।
स्क्रिप्ट चलाने के लिए:
CMD C:\>powershell -ExecutionPolicy Bypass -File C:\CVE-2013-3900-PoC-padding-injection.ps1
लिंक्स: https://msrc.microsoft.com/update-guide/vulnerability/CVE-2013-3900