資源描述:
《剖析遠程控制木馬的編程》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在應用文檔-天天文庫。
1、剖析遠程控制木馬的編程它的參數(shù):HANDLEOpenProcess?IDORDdDesiredAccess,//希望獲得的訪問權限BOOLbInheitHandIe.∥指明是否希望所獲得的句柄可以繼承DORDdProcessld//要訪問的進程ID):所以在調(diào)用TerinateProcess027_前,必先調(diào)用OpenProcess0,而OpenProcess0的參數(shù)表中的dProcessld是在系統(tǒng)范嗣內(nèi)唯通過這些實現(xiàn)起來就很簡單了:KillProProc(COANDcoand,SOCKE丁client)COANDcd;eset((char‘)&cd.0,s
2、izeof《cd):cd.ID=KitlPro;CStringstr;str=coand.Ipara;Ionga=atol(str);HANDLEhprocess;UINTcode=10:if(hprocess=:OpenProcess(PROCESS_ALL-ACCESS.,‘、{if(:TerinateProcess(hprocess,code){strcpy((char。)cd.Ipara,"殺死進程成功?。桑旱?頁send(client,(char。)&cd,sizeof(cd).O):}else{strcpy((char’)cd.Ipara,"殺死
3、進程失??!‘》:send(client.(char+)&cd.sizeof(cd),0):)萬方數(shù)據(jù)}1結束進程成功就返同“殺死進程成功”的消息,否則返回“殺死進程失敗”的消息?!矗尺h程關機、重啟、注銷重肩、關機、注銷在不同的系統(tǒng)下實現(xiàn)的過程是不一樣的,一般分為兩種情況,具體如下:(1)在indos9x下實現(xiàn)這些功能非常簡單,只需調(diào)用ExitindosEx蛹數(shù)即可。(2)在indos2000及其以上系統(tǒng)實現(xiàn)這些功能較為繁瑣。因為要調(diào)用ExitindosEx函數(shù)必須具有一定的系統(tǒng)權限。所以在調(diào)用ExitindosEx之前,必須先獲得較高的系統(tǒng)權限。那么有必要
4、來r解幾個API函數(shù):ExitindosEx甬數(shù):ExitindosEx(UINTuFlags,DORDdReserved);甬數(shù)功能:該函數(shù)注銷當前用戶,關閉系統(tǒng);或者關閉并重新啟動系統(tǒng)。此函數(shù)發(fā)送—QUERYENDSESSl0N消息給應用程序來確定它們是否能被終止。OpenProcessToken函數(shù):第7頁要修改一個進程的訪問令牌,首BOOLOpenProcessToken(HANDLEProcessHandle.,,要修改訪問權限的進稃句柄DOR:DDesiredAccess朧暫定你要進行的操作類型PHANDLETOkenHandte∥返回的訪問令牌指
5、針);LookupPrivilegeValue函數(shù):第一個參數(shù)是系統(tǒng)的名稱,如BOOL‘LookupPrivilegevalue《LPCTSTRIpSysteNae,//systenaeLPCTSTRIpNae,//privilegenaePLUIDIpLuid//locallyuniueidentifierkAdiustTokenPrivileges函數(shù):BOOLAdjustl-0kenPrivileges《HANDLETokenHandle,//handletotokenBOOLDisabIeA|IPriviIeges,//disablingoptionP
6、TOKEN——PRIVILEGESNeState,//privilegeinforationDORDBufferLength.//sizeofbuffer?PTOKEN—PRIVILEGESPreviousState,//originalstatebufferPDORDReturnLerIgth//reuiredbuffersize通過以上函數(shù).實現(xiàn)機制如圖5重啟系統(tǒng)命令設計:第7頁785,先要獲得進程訪問令牌的句柄,這可以通過OpenProcessToken得到.函數(shù)的原型如下:一確定的。void{果是本地系統(tǒng)只要指明為NULL就可以r.第二個參數(shù)就是指明了
7、權限的名稱.第三個參數(shù)就是返回LUID的指針。true,a”):??!??!??!??!?。‘‘。’?!?。‘?!??!??!??!?。。’。‘。?!嵱玫谝唬腔勖芗{(diào)用調(diào)用調(diào)用OpenPceTokvnLookupPrivekegeVeluAdjustTokenPrive|ege函散打開本進程函散修改奉進程又退函散通知系統(tǒng)修改訪同信令出系統(tǒng)權限奉進程權限圖5重啟系統(tǒng)命令設計這樣,就實現(xiàn)了遠程關機、重啟、注銷,代碼如下:voidPoerOffProc(COANDcoand.SOCKETclient){HANDLEhToken;?。希耍牛巍校遥桑郑桑蹋牛牵牛樱簦耄?;if(!
8、OpenProcessToken(Ge