科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网安全频道揭开木马的神秘面纱之基础篇(2)

揭开木马的神秘面纱之基础篇(2)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

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

来源:论坛整理 2008年7月19日

关键字: 病毒 木马

  • 评论
  • 分享微博
  • 分享邮件
   4.限制系统功能
   a.远程关机或重启计算机,使用WinAPI中的如下函数可以实现:
    ExitWindowsEx(ByVal uFlags,0)
    当uFlags=0 EWX_LOGOFF 中止进程,然后注销
       =1 EWX_SHUTDOWN 关掉系统电源
       =2 EWX_REBOOT  重新引导系统
       =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.换墙纸
   Call SystemParametersInfo(20,0,"BMP路径名称",&H1)
   值得注意的是,如果使用了Active Desktop,换墙纸有可能会失败,遇到这种问题,请不要找冰河和我,去找比尔盖子吧。

三、潜行篇(Windows,一个捉迷藏的大森林)
  木马并不是合法的网络服务程序(即使你是把木马装在女朋友的机子上,也是不合法的,当然,这种行为我可以理解,呵呵),因此,它必须想尽一切办法隐藏自己,好在,Windows是一个捉迷藏的大森林!
  1、在任务栏中隐藏自己:
   这是最基本的了,如果连这个都做不到......(想象一下,如果Windows的任务栏里出现一个国际象棋中木马的图标...@#$%!#@$...也太嚣张了吧!)
   在VB中,只要把form的Visible属性设为False, ShowInTaskBar设为False, 程序就不会出现在任务栏中了。

    2、在任务管理器中隐形:(就是按下Ctrl+Alt+Del时看不见那个名字叫做“木马”的进程)
   这个有点难度,不过还是难不倒我们,将程序设为“系统服务”可以很轻松的伪装成比尔盖子的嫡系部队(Windows,我们和你是一家的,不要告诉别人我藏在哪儿...)。
   在VB中如下的代码可以实现这一功能:
   Public Declare Function RegisterServiceProcess Lib "kernel32" (ByVal ProcessID As Long, ByVal ServiceFlags As Long) As Long
   Public Declare Function GetCurrentProcessId Lib "kernel32" () As Long
   (以上为声明)
   Private Sub Form_Load()
      RegisterServiceProcess GetCurrentProcessId, 1 (注册系统服务)
   End Sub
   Private Sub Form_Unload()
     RegisterServiceProcess GetCurrentProcessId, 0 (取消系统服务)
   End Sub

  3、如何悄没声息地启动:
   你当然不会指望用户每次启动后点击木马图标来运行服务端,木马要做到的第二重要的事就是如何在每次用户启动时自动装载服务端(第一重要的是如何让对方中木马,嘿嘿,这部分的内容将在后面提到)
   Windows支持多种在系统启动时自动加载应用程序的方法(简直就像是为木马特别定做的)启动组、win.ini、system.ini、注册表等等都是木马藏身的好地方。冰河采用了多种方法确保你不能摆脱它(怎么听起来有点死缠烂打呀....哎呦,谁呀谁呀,那什么黄鑫,不要拿鸡蛋扔我!)首先,冰河会在注册表的HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run和RUNSERVICE键值中加上了$#@60;system>\kernl32.exe($#@60;system>是系统目录), 其次如果你删除了这个键值,自以为得意地喝著茶的时候,冰河又阴魂不散地出现了...怎么回事?原来冰河的服务端会在c:\windows(这个会随你windows的安装目录变化而变化)下生成一个叫sysexplr.exe文件(太象超级解霸了,好毒呀,冰河!),这个文件是与文本文件相关联的,只要你打开文本(哪天不打开几次文本?), sysexplr.exe文件就会重新生成krnel32.exe, 然后你还是被冰河控制著。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章