使用的是aswArPot.sys
这个驱动,非常简单,熟悉驱动编写的很快会编写出POC,是前两天看到群友发的分析文章:
然后复现了一下,简单的才可以复现,难的就不会了,想上吊了,555...
总而言之,发送0x9988c094
这个IOCTL即可,然后DeviceIoControl
直接给PID即可,他是一个_CLIENT_ID结构,第二个UniqueThread我们不用管,所以直接发一个PID的地址过去就好。
对应如下:
调用情况:
sub_14001DC80 -> sub_140018FF8 -> sub_140019D54 -> sub_140014890 -> sub_140014B60 -> sub_1400163F0 -> sub_1400216A0 -> DriverEntry
这里还有一点,可以看到原始POC在发送0x9988c094
这个IOCTL的之前还有一个与这个驱动通信的过程使用的是0x7299c004
.我也去尝试不先发送这个交互但是是没办法KILL掉的。
这里没能跟出来,能力不够跟不出来了,有兴趣的师傅可以教教,我就跟到这里了,提问:比如说这种跟不进去的要怎么处理?
POC的驱动交互代码:
这里演示使用360开启核晶作为演示,熟悉核晶的应该都知道,当然直接加载驱动去KILL是不行的。并且常见的加载驱动方式都是会被拦截的,所以这里采用了一些Trick。
关于这个驱动的POC已经上传知识星球,但是KILL 360的完整版没有上传知识星球,但是涉及到的所有技术点其实都在知识星球发过,我不会告诉你们是用了哪些,但是确实用到的东西在星球里都发过,也别来问我了,有心人肯定能找到,自己组装吧 : )
找不到也别喷我,咱就是说