木马开发的基本理论基础 (六)

6  功能扩展

6.1 屏幕控制

在以上系统中只是制作了屏幕监视,没有完成屏幕控制。屏幕的控制实际上就是给服务端的主机发送鼠标消息。服务端接收到鼠标消息后,利用sendmessage函数将鼠标消息发送给服务端的桌面窗口,以达到控制的目的。关键点就在于发送的鼠标消息,由于客户端的监视界面的大小与实际的服务端桌面不是相同的,所以传送的鼠标坐标要进行计算。服务端鼠标坐标的计算方法如下:

客户端相对于监视窗口的X坐标 *(服务端屏幕宽/客户端监视窗口宽) = 服务端在桌面上的X坐标;

客户端相对于监视窗口的Y坐标 *(服务端屏幕宽/客户端监视窗口宽) = 服务端在桌面上的Y坐标;

当可以计算出服务端桌面上鼠标坐标时,对鼠标进行控制就是发送鼠标控制命令。比如:LBUTTONDOWN,LBUTTONUP等鼠标消息。

6.2 文件管理

该系统中只能够对文件进行访问,可以访问到文件的目录信息和子文件夹中的文件,以及文件的大小和修改日期,但是并不能删除文件以及下载文件。

解决方法:既然已经获取了文件的目录信息,删除文件的时候就是将该文件通过发送删除消息,将文件以及文件子目录中的文件遍历删除。文件下载,该系统中本身就已经可以知道文件的信息,我们可以通过将要下载的某个文件以二进制的方式传输到客户端中。首先传送文件名,在客户端中创建该文件名的文件,这之后就是传递的文件信息,将文件写入到客户端同名文件中。

6.3 服务管理控制

在该系统中,我们只能观察到服务端开发的服务以及服务的状态,但是并不能控制该服务。

解决方法:

(1)在服务监视窗口中添加右键菜单栏,菜单栏有三个子项:开启服务、关闭服务和刷新;

(2)服务监视窗口list控制中添加右击事件,当右击事件发生时,可以获取点击服务的名字。

(3)当选中关闭服务时,例如服务端发送“关闭 XX 服务”命令,当服务端收到该命令后,在后台启动CMD程序并运行“net stop 服务名”;

(4)当选中开启服务时,;例如服务端发送“开启 XX 服务”命令,当服务端收到该命令后,在后台启动CMD程序并运行“net start 服务名”;

这样就可以模拟服务管理的开启/关闭服务功能了。

6.4 服务端免杀功能

该系统的重点为完成控制功能,对于远程控制来说是重中之重。如果服务程序被删除,控制就不可以实现。杀毒软件通过检测程序特征码来确定该软件是否为木马软件来杀毒。可以通过以下方式来做到简单免杀。

可以将服务端分解成若干块,备份这些子块。然后用杀毒软件查杀每个子块,对比备份子块,就可以知道被杀掉的部分代码,然后用反汇编工具给这段代码加上花指令,就可以达到免杀的功能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三雷科技

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值