运用极域电子教室控制其他学生端(不需要教师端)

本文章仅供学习参考,请务必尊重极域作者的著作权

写在前面

网上看到了很多此类的文章,但大多数本质都是安装教师端进行控制,这种方法的环境要求很高,而且很耗时,无意间翻到几篇文章,是用一种另类的方式来解决的这个问题,所以决定写这篇文章来记录一下实现的全过程,同时也给大家提供一个参考

参考文章:
https://blog.csdn.net/envon123/article/details/9245831
https://blog.csdn.net/sunnysab/article/details/11707767

大致思路

学生端要执行某个操作必须收到一些数据包(是不是一定要来自教师端的ip还是未知的,但如果必须我们也可以伪造发信源ip),我们可以用wireshark抓获这些数据包,然后分析,最后用vc代码来发送数据包达到自己想达到的效果

抓包

我们进入wireshark后可以看到,教师端主机在不停地向某几个组播地址发送udp数据包
运用极域电子教室控制其他学生端(不需要教师端)_第1张图片
我们先开始抓包,在教师端上使用远程执行功能,打开cmd.exe,再结束抓包
运用极域电子教室控制其他学生端(不需要教师端)_第2张图片
重复几次,找到几个非常可疑的数据包,因为远程执行是针对某一个学生机的,所以笔者推测这个数据包不会发向组播地址而是直接发向学生端,事实上也是如此,下图是我们找到的可疑数据包
运用极域电子教室控制其他学生端(不需要教师端)_第3张图片
接着就是运用我们中学时背烂了的控制变量法,每次只改变一个量,比如执行文件名,或者参数,再抓包,大致弄清关键参数所在的位置
经过以上操作后,笔者发现,每次这种数据包的大小都是906,而且执行文件名会在正文的第61个位置以宽字符的形式出现,参数会在正文的第573个位置以宽字符的形式出现,其他的东西的含义暂时未知(比如前面的那一堆)

数据处理

既然得到了关键数据,接下来就是处理了,由于有一部分数据我们暂时不知晓含义,因此笔者决定原封不动的照搬,但是问题就来了,我们怎么把这些十六进制数据弄进代码里(也就是要把0AAA这种形式变为buf={0x0A,0xAA}这种形式),我们可以通过写个程序来解决这个问题,这里笔者用了word的宏功能来实现

首先,以十六进制流的方式复制下来数据
运用极域电子教室控制其他学生端(不需要教师端)_第4张图片
接着,复制粘贴进word里,把正文前面的数据删掉
运用极域电子教室控制其他学生端(不需要教师端)_第5张图片
写一个宏,功能就是循环,输入0x后按两下→键
运用极域电子教室控制其他学生端(不需要教师端)_第6张图片
最后执行,就行了,这里笔者为了缩减源代码体积,就只留下了前面的大片的不理解的部分,然后后面的用memcpy和memset修改就行了
处理过后大概就长这样
运用极域电子教室控制其他学生端(不需要教师端)_第7张图片

编程处理

笔者先把上述处理好的部分定义成了一个宏DATA_HEAD_COMMAND
首先先弄出数据流

char result[906] = { DATA_HEAD_COMMAND, 0x00 };

然后根据抓包得到的信息,构造数据包的其他部分

LPCWSTR command = L"cmd.exe";
LPCWSTR paramIn = L"";
memcpy(result + 60, command, wcslen(command) * sizeof(WCHAR));
memcpy(result + 572, paramIn, wcslen(paramIn) * sizeof(WCHAR));
result[896] = 1;

最后写一个发送udp包的方法,然后把数据包发送出去就行了

这里笔者按照上述方法,做出了一些其他的功能,并写了个界面,以下是效果图
运用极域电子教室控制其他学生端(不需要教师端)_第8张图片
运用极域电子教室控制其他学生端(不需要教师端)_第9张图片

关于那个范围打击,学生端都会加入一个组播,然后教师端就往这个组播里面发数据包,从而达到自动上线的目的,这里我们可以利用一下,我们也往这个组播地址里发数据包,就可以让全部学生端一起中招
当然,还有一下骚套路,因为在任何时候学生端收到数据包都会执行,所以在广播时发一个taskkill.exe /F/IM StudentMain.exe的数据包去,想必场面会十分震撼(手动滑稽)

写在后面

不同版本的数据包肯定是不同的,这里笔者仅仅提供一个经验作为参考,如有误还望批评指正

你可能感兴趣的:(极域系列,极域,控制,破解,网络编程,抓包)