
mssqlproxy एक टूलकिट है जिसका उद्देश्य प्रतिबंधित वातावरणों में एक समझौता किए गए Microsoft SQL Server के माध्यम से सॉकेट पुन: उपयोग द्वारा पार्श्व गति (lateral movement) करना है।
mssqlproxy एक उपकरण है जो प्रतिबंधित वातावरण में सॉकेट पुन: उपयोग के माध्यम से एक समझौता किए गए Microsoft SQL Server के माध्यम से पार्श्व आंदोलन करने के लिए है। क्लाइंट को impacket और SQL सर्वर पर sysadmin विशेषाधिकारों की आवश्यकता होती है।
कृपया जारी रखने से पहले यह लेख ध्यान से पढ़ें।
इसमें तीन भाग होते हैं:
आप लाइब्रेरीज़ को संकलित कर सकते हैं या रिलीज़ (x64) से डाउनलोड कर सकते हैं।
कोर DLL उत्पन्न करने के लिए, बस प्रोजेक्ट को Visual Studio (reciclador.sln) में आयात करें और इसे संकलित करें।
CLR असेंबली उत्पन्न करने के लिए, पहले आपको C# कंपाइलर खोजना होगा:
Get-ChildItem -Recurse "C:\Windows\Microsoft.NET\" -Filter "csc.exe" | Sort-Object fullname -Descending | Select-Object fullname -First 1 -ExpandProperty fullname
फिर,
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /target:library .\assembly.cs
एक बार दोनों लाइब्रेरीज़ संकलित हो जाने के बाद, कोर DLL (reciclador) को लक्ष्य सर्वर पर अपलोड करें।
प्रमाणीकरण विकल्प मूल mssqlclient के समान हैं। mssqlproxy विकल्प:
proxy mode:
-reciclador path Remote path where DLL is stored in server
-install Installs CLR assembly
-uninstall Uninstalls CLR assembly
-check Checks if CLR is ready
-start Starts proxy
-local-port port Local port to listen on
-clr local_path Local CLR path
-no-check-src-port Use this option when connection is not direct (e.g. proxy)
हमने फ़ाइलों को डाउनलोड और अपलोड करने के लिए दो कमांड (SQL शेल के भीतर) भी लागू किए हैं। प्रॉक्सी से संबंधित, हमारे पास चार कमांड हैं:
-clr पैरामीटर प्रदान करना होगा।-reciclador) प्रदान करने की आवश्यकता है, जिसे upload कमांड का उपयोग करके अपलोड किया जा सकता है।-local-port निर्दिष्ट नहीं है, तो यह पोर्ट 1337/tcp पर सुनेगा।एक बार प्रॉक्सी शुरू हो जाने पर, आप अपने proxychains को प्लग इन कर सकते हैं ;)
नोट #1: यदि गैर-प्रत्यक्ष कनेक्शन का उपयोग कर रहे हैं (जैसे बीच में प्रॉक्सी), तो -no-check-src-port फ्लैग आवश्यक है, ताकि सर्वर केवल स्रोत पते की जांच करे।
नोट #2: फिलहाल, केवल IPv4 लक्ष्य समर्थित हैं (न DNS न ही IPv6 पते)।
नोट #3: सावधानी से उपयोग करें! अभी तक, यदि आप कई समवर्ती कनेक्शन स्थापित करने का प्रयास करते हैं तो MSSQL सेवा क्रैश हो जाएगी।
महत्वपूर्ण: क्लाइंट पर Ctrl+C दबाकर mssqlproxy को रोकना महत्वपूर्ण है। यदि नहीं, तो सर्वर क्रैश हो सकता है और आपको MSSQL सेवा को मैन्युअल रूप से पुनरारंभ करना होगा।
Pablo Martinez (@xassiz), Juan Manuel Fernandez (@TheXC3LL) [ www.blackarrow.net - www.tarlogic.com ]
इस प्रोजेक्ट में शामिल सभी कोड MIT लाइसेंस की शर्तों के तहत लाइसेंस प्राप्त है। mssqlclient.py Impacket पर आधारित है।