黑客风云——风云网络
设为首页 加入收藏 我要投稿 网站地图

您现在的位置: 黑客风云 >> 黑客文章 >> 黑客进阶 >> 黑客编程 >> 正文
·没有路由密码权限时的鸽08-23·上网安全 Vista自我防范10-11
·让濒临崩溃的Windows XP10-11·有备无患,快速自制救急10-11
·要你好看!Windows看图工10-11·空间赞助网提供不同类型10-11
·讨论net.exe和net1.exe的10-10·让3389远程桌面传输更通10-10
·巧妙入侵渗透赌博站10-10·Aspx空间扫权限工具10-10
·Windows2003最新提权工具10-10·易淘乐提供100M免费全能10-10
·系统开机密码忘了不着急10-09·中意网络提供免费100M免10-09
·与众不同 Windows XP开始10-08·让桌面图标翻跟斗 在XP上10-08
·上海宽元站长资助计划-提10-08·个性化Windows XP的任务10-07
·趣盘提供3G免费网络硬盘10-07·秀山热线提供200MB免费全10-07
·一次艰辛的提权过程10-06·成功入侵IT大卖场的渗透10-06
·mysqlhack- MYSQL利用工10-06·lanker一句话PHP后门客户10-06
·WIXI提供3G免费多媒体网10-06·新人网络提供100M/ftp免10-06
·如何利用QQ带来高流量10-05·UuShare提供免费网络文件10-05
[组图]在木马中简单实现远程关机
      ★★★★

在木马中简单实现远程关机

文章整理发布:黑客风云 文章来源:www.05112.com 更新时间:2006-1-28 11:33:25
合读者:黑器爱好者、编程新手

前置知识:VC6基本使用方法

Socket:远程控制中有一个重要的部份就是如何实现远程关机,在各种木马中几乎都实现了远程关机功能,今天我们就来看看这个重要的关机部分是如何编程实现的。本文使用的是普通的VC6.0,步骤很简单,新手朋友们也动手写一下自己的
入侵工具吧!不难,如果你从点滴开始。


木马中简单实现远程关机

木马中,我们是采用的让客户端Socket给服务端的Socket发送相关的指令,同时当服务端收到相应的指令后,执行相对应的操作,比如关机,而这些操作实质就是调用相应的函数来处理,关机函数及其参数说明如下:

BOOL ExitWindowsEx(UINT uFlags,DWORD dwReserved);
在其中uFlags可以有以下值:
EWX_LOGOFF:注消;
EWX_POWEROFF:强制关机;
EWX_REBOOT:重启;
EWX_SHUTDOWN:先保存再关机;
EWX_FORCE:不保存关机;
EWX_FORCEIFHUNG:不保存关机(Windows 2000以上版本)。

知道了函数,接下来我们就在VC中用这个函数实现我们所要的功能吧。先来看看我们所要实现程序的外观!如图1所示:




图1


首先,由VC中的向导生成一个对话框,注意在生成向导中要选择成静态联编。由于我们在木马中是常用的是重启,那么我们就把这个程序取名为“reboot”吧!去掉它默认生成的静态文本,然后添加三个单选项,并把其它主要的项设定如下:


第二,打开MFC ClassWizard进行消息的映射处理,五个主要的控件都是用的单击消息处理,从而为每个控件进行了消息映射。如图2所示。



图2


 第三,在rebootDlg.h中为三个单选按钮添加一个标志成员整形变量“m_mark”,并且在三个单选项按钮的函数体分别加入m_mark=0,m_mark=1,m_mark=2。如(另两个同理):

void CRebootDlg::OnLogoff()
{
// TODO: Add your control notification handler code here
m_mark=0;
}

第四,双击“确定”的按钮,去掉它原来默认调用的ONOK(),并且加入以下的代码(各代码功能请看注释):

void CRebootDlg::OnCok()
{
// TODO: Add your control notification handler code here
HANDLE hToken;
TOKEN_PRIVILEGES tkp;
DWORD dwVersion;  //版本号
dwVersion = GetVersion(); //得到Windows NT或Win32的版本号
switch(m_mark) //由接收单选项值进行相关操作
{
case 0:
ExitWindowsEx(EWX_LOGOFF,0);
break; //注消操作
case 1:
if(dwVersion < 0x80000000)
{
OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES|
TOKEN_QUERY,&hToken);
LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,&tkp.Privileges[0].Luid);
tkp.PrivilegeCount = 1; //设置权限
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken,FALSE,&tkp,0,(PTOKEN_PRIVILEGES)NULL,0);
ExitWindowsEx(EWX_SHUTDOWN | EWX_FORCE,0);
}
else //Windows系列其它系统处理
{
ExitWindowsEx(EWX_FORCE | EWX_REBOOT,0);
}
break; //重启操作

case 2:
if(dwVersion < 0x80000000) //用于判断Windows系列,从而设置相应的权限
{
OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES |
TOKEN_QUERY,&hToken);
LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,&tkp.Privileges[0].Luid);
tkp.PrivilegeCount = 1;
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken,FALSE,&tkp,0,(PTOKEN_PRIVILEGES)NULL,0);
ExitWindowsEx(EWX_SHUTDOWN | EWX_FORCE,0);
}
else
{
ExitWindowsEx(EWX_FORCE | EWX_SHUTDOWN ,0);
}
break; //关闭计算机
}
}

第五,“取消”可以不做处理,采用默认的就可了,然后编译运行。这样你就为你的木马编写了远程关机部分,以后自己的木马也有关机功能了,是不是更专业了呢?

文章录入:cainiaowang    责任编辑:cainiaowang 
  • 上一篇文章: 没有了

  • 下一篇文章:
  • 【字体:
    Copyright @2006 黑客风云 ●业务联系:QQ 联系怪人 联系奇人 Email:给怪人发邮件 给奇人发邮件
    ICP备案:冀06009886