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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2018-20343 — CVE-2018-20343 के लिए प्रमाण अवधारणा | Kitploit
उपकरण/GitHubGitHub/alexandre-bartel/cve-2018-20343
भेद्यता विश्लेषणशोषणफज़िंगपेपर और शोधलर्निंग और शिक्षाबाइनरी शोषण
GitHubalexandre-bartel/cve-2018-20343

CVE-2018-20343

CVE-2018-20343 के लिए प्रमाण अवधारणा

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

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

सभी देखें →

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

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

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

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

CVE-2018-20343

यह CVE-2018-20343 के लिए एक PoC है, जो केन सिल्वरमैन के Build Engine में एक कमजोरी है। उत्पन्न .map फ़ाइल बफर ओवरफ्लो को ट्रिगर करती है और स्टैक को ओवरराइट करती है जैसा कि नीचे दिखाया गया है:


Open Watcom डॉसबॉक्स 0.74-2 के तहत: विश्लेषक स्टैक को नियंत्रित करता है
FreeDos 1.2 के तहत: विश्लेषक EIP को नियंत्रित करता है

कमजोर कोड ENGINE.C में है:

root@kitploit:~
1935   kread(fil,&numsectors,2);
1936   kread(fil,&sector[0],sizeof(sectortype)*numsectors);

चर sector का घोषित आकार MAXSECTORS * sizeof(struct sectortype) = 1024 * 40 = 40960 बाइट्स है। विश्लेषक numsectors को नियंत्रित करता है (क्योंकि यह मैप फ़ाइल से पढ़ा जाता है) और इस प्रकार एक मैप फ़ाइल बना सकता है जिसमें numsectors को 40960 से अधिक मान के साथ प्रारंभ किया जाता है ताकि ओवरफ्लो ट्रिगर हो।

केन सिल्वरमैन ने बताया कि kread फ़ंक्शन पर निर्भर कोड, जैसे निम्नलिखित कोड स्निपेट, भी कमजोर हो सकते हैं:

ENGINE.C में:

root@kitploit:~
1938  kread(fil,&numwalls,2);
1939  kread(fil,&wall[0],sizeof(walltype)*numwalls);
1940
1941  kread(fil,&numsprites,2);
1942  kread(fil,&sprite[0],sizeof(spritetype)*numsprites);
root@kitploit:~
2033   kread(fil,palette,768);
2034   kread(fil,&numpalookups,2);
[...]
2046   kread(fil,palookup[globalpal],numpalookups<<8);
2047   kread(fil,transluc,65536);
root@kitploit:~
2453       kread(fil,&artversion,4);
2454       if (artversion != 1) return(-1);
2455       kread(fil,&numtiles,4);
2456       kread(fil,&localtilestart,4);
2457       kread(fil,&localtileend,4);
2458       kread(fil,&tilesizx[localtilestart],(localtileend-localtilestart+1)<<1);
2459       kread(fil,&tilesizy[localtilestart],(localtileend-localtilestart+1)<<1);
2460       kread(fil,&picanm[localtilestart],(localtileend-localtilestart+1)<<2);
root@kitploit:~
2520     kread(fil,&dasiz,4);
2521       //Must store filenames to use cacheing system :(
2522     voxlock[voxindex][i] = 200;
2523     allocache(&voxoff[voxindex][i],dasiz,&voxlock[voxindex][i]);
2524     ptr = (char *)voxoff[voxindex][i];
2525     kread(fil,ptr,dasiz);

KDMENG.C में:

root@kitploit:~
1155     kread(fil,&dawaversionum,4);
1156     if (dawaversionum != 0) { kclose(fil); return; }
1157  
1158     kread(fil,&numwaves,4);
1159     for(i=0;i<numwaves;i++)
1160     {
1161       kread(fil,&instname[i][0],16);
1162       kread(fil,&wavleng[i],4);
1163       kread(fil,&repstart[i],4);
1164       kread(fil,&repleng[i],4);
1165       kread(fil,&finetune[i],4);
root@kitploit:~
1194     kread(fil,snd,totsndbytes);
root@kitploit:~
1214   kread(fil,&kdmversionum,4);
1215   if (kdmversionum != 0) return(-2);
1216   kread(fil,&numnotes,4);
1217   kread(fil,&numtracks,4);
1218   kread(fil,trinst,numtracks);
1219   kread(fil,trquant,numtracks);
1220   kread(fil,trvol1,numtracks);
1221   kread(fil,trvol2,numtracks);
1222   kread(fil,nttime,numnotes<<2);
1223   kread(fil,nttrack,numnotes);
1224   kread(fil,ntfreq,numnotes);
1225   kread(fil,ntvol1,numnotes);
1226   kread(fil,ntvol2,numnotes);
1227   kread(fil,ntfrqeff,numnotes);
1228   kread(fil,ntvoleff,numnotes);
1229   kread(fil,ntpaneff,numnotes);

इस कमजोरी के लिए PoC का परीक्षण निम्नलिखित वातावरणों का उपयोग करके किया गया है:

  • केन सिल्वरमैन का Build engine KENBUILD.ZIP (sha256sum 704a5eee1b722ed5f452d3fb1aff197f0d201ff9737839846268c6b1e07f8e1f)
  • लक्ष्य बाइनरी GAME.EXE (sha256sum 120acdf872af56ac65982a0c21e3aa2fdd06b70bd6203869ba777ce3e6daa5e4) Open Watcom compiler 1.9 के साथ संकलित
  • या तो DOSBox 0.74-2 या FreeDOS 1.2 QEMU के तहत।

Build इंजन का उपयोग कई खेलों में किया गया है। नीचे Build इंजन पर आधारित खेलों की एक सूची है जिनका PoC के विरुद्ध परीक्षण किया गया है (जो sector चर को ओवरफ्लो करता है):

टूल डाउनलोड करें
खेलरिलीज़ तिथिसंस्करणस्थिति
Duke Nukem 3D19961.5vulnerable
Shadow Warrior19971.2vulnerable
Redneck Rampage19971.01vulnerable
Blood19971.0कमजोर नहीं