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

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

 2006-07-21 11:11:05 来源:WEB开发网   
核心提示: //将自定义的IP分层协议作为自定义UDP协议链的根分层服务提供者安装在协议链的顶端WSCInstallProvider(&filterchainguid,filter_path,chainarray,provcnt,&errorcode);//安装协议链WSCWriteProviderO

//将自定义的IP分层协议作为自定义UDP协议链的根分层服务提供者安装在协议链的顶端

WSCInstallProvider(&filterchainguid,filter_path,chainarray,provcnt,&errorcode);

//安装协议链

WSCWriteProviderOrder(cataentries,totalprotos);

//更新所有服务提供者的安装顺序,把自定义的服务提供者排在所有协议的最前列

WSCDeinstallProvider(&filterguid,&errorcode);

//卸载IP分层协议

WSCDeinstallProvider(&filterchainguid,&errorcode);

//卸载协议链

2.backdoor.dll

传输服务提供者都是以动态链接库的形式存在的,在应用程序需要时由Ws2_32.dll加载,在用完之后就被卸载。传输服务提供者只有一个入口函数就是WSPStartup,它是Windows Socket 应用程序调用SPI的初始化函数,其他SPI函数的调用都是通过WSPStartup的参数WSPUPCALLTABLE来实现的。其中有个全局变量,可共所有调用DLL的程序读取与修改。在首次加载服务提供者时,我们启动木马进程。演示中木马进程没有任何特别的功能,当客户端和监听的服务器端口连接后,如果客户端发送了特定的暗号,服务端就会回送特定的消息。

自定义函数:

int WSPAPI WSPStartup( WORD wversionrequested,LPWSPDATA lpwspdata,LPWSAPROTOCOL_INFOW lpprotoinfo,

WSPUPCALLTABLE upcalltable,LPWSPPROC_TABLE lpproctable);

//SPI函数WSPStartup和Windows Socket 2的API函数WSAStartup相对应,WSPStartup是唯一的入口函数,剩下的30个SPI函数则是通过参数upcalltable来实现的,它们只能在内部调用,不向外提供入口

代码分析:

hthread=CreateThread(NULL,0,backdoor,NULL,0,NULL);

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

Tags:进程 DLL 木马

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