Chinaunix首页 | 论坛 | 博客
  • 博客访问: 512787
  • 博文数量: 15
  • 博客积分: 8046
  • 博客等级: 中将
  • 技术积分: 810
  • 用 户 组: 普通用户
  • 注册时间: 2006-07-10 21:55
文章分类

全部博文(15)

文章存档

2011年(1)

2009年(1)

2008年(13)

我的朋友

分类: 网络与安全

2008-12-28 14:32:14

控制篇(木马控制了这个世界!)

  由于Win98开放了所有的权限给用户,因此,以用户权限运行的木马程序几乎可以控制一切,让我们来看看冰河究竟能做些什么(看了后,你会认同我的观点:称冰河为木马是不恰当的,冰河实现的功能之多,足以成为一个成功的远程控制软件)

  因为冰河实现的功能实在太多,我不可能在这里一一详细地说明,所以下面仅对冰河的主要功能进行简单的概述,主要是使用Windows API函数, 如果你想知道这些函数的具体定义和参数,请查询WinAPI手册。

  1.远程监控(控制对方鼠标、键盘,并监视对方屏幕)

  keybd_event 模拟一个键盘动作(这个函数支持屏幕截图哦)

  mouse_event 模拟一次鼠标事件(这个函数的参数太复杂,我要全写在这里会被编辑骂死的,只能写一点主要的,其他的自己查WinAPI)

  mouse_event(dwFlags,dx,dy,cButtons,dwExtraInfo)

  dwFlags: 

  MOUSEEVENTF_ABSOLUTE 指定鼠标坐标系统中的一个绝对位置。

  MOUSEEVENTF_MOVE 移动鼠标

  MOUSEEVENTF_LEFTDOWN 模拟鼠标左键按下

  MOUSEEVENTF_LEFTUP 模拟鼠标左键抬起

  MOUSEEVENTF_RIGHTDOWN 模拟鼠标右键按下

  MOUSEEVENTF_RIGHTUP 模拟鼠标右键按下

  MOUSEEVENTF_MIDDLEDOWN 模拟鼠标中键按下

  MOUSEEVENTF_MIDDLEUP 模拟鼠标中键按下

  dx,dy: MOUSEEVENTF_ABSOLUTE中的鼠标坐标

  2.记录各种口令信息

  (作者注:出于安全角度考虑,本文不探讨这方面的问题,也请不要给我来信询问)

  3.获取系统信息

  a.取得计算机名 GetComputerName

  b.更改计算机名 SetComputerName

  c.当前用户 GetUserName函数

  d.系统路径 

  Set FileSystem0bject = CreateObject("Scripting.FileSystemObject") (建立文件系统对象)

  Set SystemDir = FileSystem0bject.getspecialfolder(1)

  (取系统目录)

  Set SystemDir = FileSystem0bject.getspecialfolder(0)

  (Windows安装目录)

  (友情提醒: FileSystemObject是一个很有用的对象,你可以用它来完成很多有用的文件操作)

  e.取得系统版本 GetVersionEx(还有一个GetVersion,不过在32windows下可能会有问题,所以建议用GetVersionEx

  f.当前显示分辨率

  Width = screen.Width \ screen.TwipsPerPixelX

  Height= screen.Height \ screen.TwipsPerPixelY

  其实如果不用Windows API我们也能很容易的取到系统的各类信息,那就是Winodws"垃圾站"-注册表

  比如计算机名和计算机标识吧:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\VNETSUP中的Comment,ComputerNameWorkGroup

  注册公司和用户名:HKEY_USERS\.DEFAULT\Software\Microsoft\MS Setup (ACME)\UserInfo至于如何取得注册表键值请看第6部分。

  4.限制系统功能

  a.远程关机或重启计算机,使用WinAPI中的如下函数可以实现:

  ExitWindowsEx(ByVal uFlags,0)

  当uFlags=0 EWX_LOGOFF 中止进程,然后注销

  当uFlags=1 EWX_SHUTDOWN 关掉系统电源

  当uFlags=2 EWX_REBOOT 重新引导系统

  当uFlags=4 EWX_FORCE 强迫中止没有响应的进程

  b.锁定鼠标

  ClipCursor(lpRect As RECT)可以将指针限制到指定区域,或者用ShowCursor(FALSE)把鼠标隐藏起来也可以

  注:RECT是一个矩形,定义如下:

  Type RECT

  Left As Long

  Top As Long

  Right As Long

  Bottom As Long

  End Type

  c.锁定系统 这个有太多的办法了,嘿嘿,Windows不死机都困难呀,比如,搞个死循环吧,当然,要想系统彻底崩溃还需要一点技巧,比如设备漏洞或者耗尽资源什么的......

  d.让对方掉线 RasHangUp......

  e.终止进程 ExitProcess......

  f.关闭窗口 利用FindWindow函数找到窗口并利用SendMessage函数关闭窗口

  5.远程文件操作

  无论在哪种编程语言里,文件操作功能都是比较简单的,在此就不赘述了,你也可以用上面提到的FileSystemObject对象来实现

  6.注册表操作

  在VB中只要Set RegEdit=CreateObject"WScript.Shell")

  就可以使用以下的注册表功能:

  删除键值:RegEdit.RegDelete RegKey

  增加键值:RegEdit.Write RegKey,RegValue

  获取键值:RegEdit.RegRead (Value)

  记住,注册表的键值要写全路径,否则会出错的。

  7.发送信息

  很简单,只是一个弹出式消息框而已,VB中用MsgBox("")就可以实现,其他程序也不太难的。

  8.点对点通讯

  呵呵,这个嘛随便去看看什么聊天软件就行了(因为比较简单但是比较烦,所以我就不写了,呵呵。又:我始终没有搞懂冰河为什么要在木马里搞这个东东,困惑......)

  9.换墙纸

  CallSystemParametersInfo(20,0,"BMP路径名称",&H1)

  值得注意的是,如果使用了ActiveDesktop,换墙纸有可能会失败,遇到这种问题,请不要找冰河和我,去找Bill吧。

阅读(1359) | 评论(0) | 转发(0) |
0

上一篇:冰河之基础篇

下一篇:冰河之潜行篇

给主人留下些什么吧!~~