
LOKI (Limited Obstructive Keyboard Impersonator) is a RDP File Transfer Tool Using Keypresses
एनसीसी ग्रुप पीएलसी द्वारा ओपन सोर्स के रूप में जारी - http://www.nccgroup.com/
डेव स्पेंसर द्वारा विकसित, david [dot] spencer [at] nccgroup [dot] com
http://www.github.com/nccgroup/Loki
AGPL के अंतर्गत जारी, अधिक जानकारी के लिए LICENSE देखें
Loki (Limited Obstructive Keyboard Impersonator) में एक अंतर्निहित RDP क्लाइंट है और यह परीक्षक की नोटपैड या किसी अन्य टेक्स्ट एडिटर में फ़ाइल को मैन्युअल रूप से टाइप करने की क्षमता का उपयोग करता है। नोटपैड का उपयोग करने में मुख्य समस्या यह है कि बाइनरी डेटा टाइप करना संभव नहीं है। इसका मुकाबला करने के लिए हम hex या base 64 जैसी कई एनकोडिंग का उपयोग कर सकते हैं; समस्या यह है कि हमें उन्हें दूसरे छोर पर डिकोड करने का एक तरीका चाहिए। सौभाग्य से, Internet Explorer में MIME HTML (.mht) फ़ाइलों के लिए उपयोग किया जाने वाला एक अंतर्निहित base64 डिकोडर है। Loki किसी दी गई फ़ाइल को लेगा, उसे base64 में परिवर्तित करेगा और इनपुट सिम्युलेटर (https://inputsimulator.codeplex.com/) का उपयोग करके फोकस में स्थित टेक्स्ट एडिटर में .mht फ़ाइल टाइप कर देगा।
Loki का उपयोग Sleipnir (https://github.com/nccgroup/sleipnir) और Fenrir (https://github.com/nccgroup/fenrir) के साथ किया जा सकता है
प्रारंभिक Loki इंटरफ़ेस काफी सरल है, इसमें 5 इनपुट फ़ील्ड और 2 टिक बॉक्स होते हैं। “RDP server” और “RDP Port” आवश्यक फ़ील्ड हैं, इनका उपयोग RDP सर्वर से कनेक्ट करने के लिए किया जाता है। RDP गेट मौजूद होने की स्थिति में, “RDP Gateway” फ़ील्ड का उपयोग पता निर्दिष्ट करने के लिए किया जा सकता है। “Metasploit Server” और “Metasploit Port” फ़ील्ड Fenrir के साथ उपयोग के लिए हैं। NLA टिक बॉक्स यह टॉगल करता है कि क्लाइंट Network Level Authentication का उपयोग करता है या नहीं, और Full Screen टिक बॉक्स क्लाइंट को फुल स्क्रीन मोड में सेट करता है।
एक बार कनेक्ट होने के बाद, Loki का उपयोग करने के लिए इंटरफ़ेस और भी सरल है क्योंकि यह “Loki” शीर्षक वाले एकल ड्रॉप-डाउन मेनू का उपयोग करता है, जिसमें एक विकल्प है – send file, जो send keys का उपयोग करके फ़ाइल भेजता है। सबसे पहले एक टेक्स्ट एडिटर खोलें (सुनिश्चित करें कि वह फोकस में है), और Loki -> Send File (sendkeys) चुनें। Loki फिर दो प्रश्न पूछेगा:
क्या नेटवर्क विशेष रूप से धीमा है? यदि हाँ चुना जाता है, तो कुंजी दबावों के बीच का समय 10ms पर सेट होता है; यदि नहीं चुना जाता है, तो इसके बजाय 3ms का उपयोग होता है।
क्या दूरस्थ ब्राउज़र Internet Explorer है? यदि हाँ चुना जाता है, तो फ़ाइल mht फ़ाइल के भाग के रूप में भेजी जाती है; यदि नहीं चुना जाता है, तो फ़ाइल एक एम्बेडेड छवि के भाग के रूप में भेजी जाती है, क्योंकि अन्य ब्राउज़र mht प्रारूप का समर्थन नहीं करते हैं।
यदि दूरस्थ ब्राउज़र Internet explorer है, तो दिखाई देने वाला प्रारूप mht होगा। पूरा होने के बाद फ़ाइल को filename.mht के रूप में सहेजा जाना चाहिए और IE के साथ खोला जाना चाहिए, फिर “web page, complete” के रूप में फिर से सहेजा जाना चाहिए, इससे एक वेब पेज और दो यादृच्छिक नाम वाली tmp फ़ाइलों वाली एक निर्देशिका बनेगी। इन दो फ़ाइलों में से बड़ी फ़ाइल का एक्सटेंशन स्थानांतरित फ़ाइल के एक्सटेंशन में बदला जाना चाहिए; उदाहरण के लिए, यदि स्थानांतरित की गई फ़ाइल एक निष्पादन योग्य (executable) थी, तो फ़ाइल mhtC1E4(1).exe बन जाती है।
यदि दूरस्थ ब्राउज़र Internet Explorer नहीं है, तो दिखाई देने वाला प्रारूप html पेज में एम्बेडेड एक छवि का होगा। इसे फिर एक html पेज के रूप में सहेजा जाना चाहिए और स्थापित किसी भी ब्राउज़र के साथ खोला जाना चाहिए; लिंक पर राइट क्लिक करें और save as चुनें तथा सही फ़ाइल नाम दर्ज करें, इस मामले में sleipnir.exe (ध्यान दें कि IE इस चरण की अनुमति नहीं देता है, इसलिए दो अलग-अलग विधियाँ हैं)।