网络病毒防治技术老师给我们的“黑客”程序

网络病毒防治技术老师给我们的“黑客”程序

网络病毒防治技术老师给我们的”黑客”程序

——『作业』测试控制接受功能

——独立观察员 2014.11.24

 

我真的不是标题党,不信你们看看这个:

%title插图%num

我现在每次开机就弹出这个程序。

 

哈哈,开个玩笑,这些都是教学需要。真要是黑客软件,就不会光明正大地弹出来了。

 

↓↓以下是作业内容↓↓

 

1、准备

%title插图%num

 

分别运行两个工程,各自出现窗口:

%title插图%num

 

2、连接测试

%title插图%num

Figure 1图 2-1

 

由于都在本机运行,所以客户端可使用回环地址localhost(127.0.0.1)连接到服务器,另外,192.168.137.1也是本机的一个地址。

目标端口号”777″是在服务端代码中定义了的:

%title插图%num

 

点击客户端的”Connect”按钮后,连接成功,客户端和服务端都有成功信息(见 图2-1)。

“Commander”处显示的是Socket的端口号。

 

3、测试命令

(1)查找命令

支持的命令可在服务端代码的SockListenerDlg.cpp文件中的ProcessPendingRead函数中查找:

%title插图%num

 

完整的判断代码:

%title插图%num

 

strnicmp()是用于比较字符串大小的函数,但此处配合长度数值和”==”判断,可达到检查收到的数据开头是否出现了特定命令的效果。

所以,可以看出,应该有以下几类命令:”CMD:“、”!SHUT“、”FILEGET:“、”EDITCONF:“、”LIST:“、”VIEW:“、”CDOPEN“、”CDCLOSE“、”REBOOT“,其中有冒号的命令需要跟参数。

 

(2)分条测试

CMD:

%title插图%num

可见,主要调用WinExec函数,对于这个函数,在网上查到以下资料:

WinExec命令

  ⑴ 函数原型:

UINT Win Exec(LPCSTR lpCmdLine, UINT uCmdShow);

  ⑵ 参数:

  lpCmdLine:指向一个空结束的字符串,串中包含将要执行的应用程序的命令行(文件名加上可选参数)。

  uCmdShow:定义Windows应用程序的窗口如何显示,并为CreateProcess函数提供STARTUPINFO参数的wShowWindow成员的值。

  ⑶ 返回值:

  若函数调用成功,则返回值大于31。若函数调用失败,则返回值为下列之一:

  ① 0:系统内存或资源已耗尽。

  ② ERROR_BAD_FORMAT:EXE文件无效(非Win32.EXE或.EXE影像错误)。

  ③ ERROR_FILE_NOT_FOUND:指定的文件未找到。

  ④ ERROR_PATH_NOT_FOUND:指定的路径未找到。

  虽然Microsoft认为WinExec已过时,但是在许多时候,简单的WinExec函数仍是运行新程序的最好方式。简单地传送作为第一个参数的命令行,还需要决定如何显示程序(该程序也许会忽视它)的第二个参数。通常,将其设置为SW_SHOW,也可尝试SW_MINIMIZED或SW_MAXIMIZED。

也就是说第一个参数是要执行程序加参数,第二个参数指定如何显示。

 

那我们就以”ipconfig”为例吧:

%title插图%num

在客户端输入”CMD:ipconfig -a”命令并点击”Send”按钮后,服务器收到命令,识别出是”CMD:”类命令,便调用ExecuteCommand函数,在其中跳过”CMD:”这4个字符,将剩下的命令传给WinExec函数执行,最后向客户端发回响应。客户端将回应写入C:\result_of_trojan.txt文件中。

执行命令时,窗口一闪而过,应该是显示参数的问题,不过我换了几个还是这样,就不管它了。写”ipconfig -a”时似乎有错误,写”ipconfig”是可以的。

 

!SHUT

发送命令后,服务端就执行退出命令了:

%title插图%num

 

FILEGET:

客户端中对这个命令有特殊处理:

%title插图%num

 

在D盘放置文件”new.txt”:

%title插图%num

 

客户端将服务端的new.txt接收为get.txt文件:

%title插图%num

 

 

EDITCONF:

相关逻辑:

%title插图%num

 

%title插图%num

 

不过,创建的autoexec.bat文件中少了第一个字符:

%title插图%num

 

修改:

%title插图%num

这样就对了:

%title插图%num

 

LIST:

列出指定目录:

%title插图%num

 

VIEW:

在D盘放置文件”new.txt”:

%title插图%num

 

发送指令后:

%title插图%num

 

CDOPEN

发送指令后,笔记本的光驱被打开。

%title插图%num

 

CDCLOSE

%title插图%num

大概是我的笔记本光驱没有指令关闭功能,所以光驱并没有关上。

 

REBOOT

收到此命令后,服务端就将计算机重启了!

 

 

↑↑以上是作业内容↑↑

 

附1 – 实验所用程序源码:

http://dlgcy.qiniudn.com/【源码】测试控制接受功能.zip

 

附2 – 移除”黑客”软件的方法:

%title插图%num

 

还真是木马

%title插图%num

 

一计不成又生一计:

%title插图%num

 

哈哈哈哈哈哈哈

%title插图%num

 

另外,注意,其它Tapi32.dll等等文件是系统重要文件,不要误删了!

原创文章,转载请注明: 转载自 独立观察员(dlgcy.com)

本文链接地址: [网络病毒防治技术老师给我们的“黑客”程序](https://dlgcy.com/control-program/)

关注微信公众号 独立观察员博客(DLGCY_BLOG) 第一时间获取最新文章

%title插图%num

发表评论