点进问题反馈,搞⼀搞信息收集。
⼈家都说了开了虚拟化相关的软件将限制核晶发挥。
那我们就挖⼀些相关软件进⾏利⽤测试。
早些时候有⼈⽤Vmware的exe进⾏测试,遇到了进程链检测的问题。如果是⼿动点击启动的带虚拟化功能的相关exe,核晶将进⼊“⾃适应”状态,此时的⽗进程是explorer.exe;如果通过⾃⼰的⽊⻢或是什么东⻄使⽤诸如CreateProcess或ShellExecute等常规⽅法则会爆出弹窗。
之后开始使⽤exlorer.exe start xxx.exe来过⽗进程检测不久之后⼜被拦截;在之后就把explorer.exe的资源做替换名字修改来过⽗进程不久之后⼜被拦截;在之后不仅替换资源⼜加了upx壳不久后⼜不好使了;以上操作不在此⼀⼀展示。最近拿到了⼀个样本,对其进⾏逆向分析后发现新的办法!
先使⽤IDA静态分析⼤致看下运⾏逻辑。
很明显dllmain直接就启动了⼀个线程。很显然这么做并不合适,因为会导致线程死锁导致线程没法继续往下⾛。
再去看看导出函数。
⼤致看了下,run函数是我们想要的内容。
也是启动⼀个线程。
跟进线程起始地址分析代码。可以看到它先是sleep⼀下就检测⼀个字符串指针指向地址处的字符串⻓度,若⻓度不为12就往0地址处复制内存,显然这样会触发内存读写异常导致程序崩溃,此处⼜⼀处暗桩。然后就向C:\ProgramData⽬录释放可能占⽤VT的exe。
让我们来看看这个wegame.exe是怎么启动并绕过进程链检测的。
先是执⾏了sub_10001100函数,之后找到窗⼝类Shell_TrayWnd使⽤PostMessageW发送10次特定消息,然后模拟键盘事件Ctrl+Alt+A(推测此处是某快捷键),之后在sub_10001000函数返回为0的前提下继续模拟键盘事件。我们来看看这两个函数到底做了什么。
第⼀个函数⼜跳到了sub_10001110,它遍历了进程链表,找到qq.exe并使⽤TerminateProcess终结qq.exe。推测可能是qq的快捷键占⽤了Ctrl+Alt+A。
第⼆个函数则是判断wegame.exe是否已经运⾏。
⾃此我们已经看过wegame的启动过程,现在动态调试来看⼀下。不过在此之前我们需要patch掉原有的俩暗桩。
⾸先是dllmain我们不能让他启动线程,所以将此处跳转改为强制跳转。
同理此处也改为强制跳转。
然后写个exe来辅助调试这个dll⽂件。
载⼊运⾏直接就来到了我们的int 3断点。
nop掉继续往下⾛找到jmp地址。
从CreateThread的参数找到run函数地址并下断点。
运⾏成功来到断点往下执⾏,执⾏完向窗⼝类的Shell_TrayWnd的PostMessageW后,此时⽂件已经释放,⽽且还注册了快捷键。
之后通过keybd_event模拟快捷键启动wegame.exe,⽗进程explorer。这种就相当于explorer启动的wegame.exe,进程链⽆从查起。
打开某数字发现已经“⾃适应”。
之后找到某数字窗⼝类发送WM_QUIT消息kill掉进程。
为了详细了解这⼀过程我们继续分析explorer.exe创建进程的过程。调试它并对NtCreateUserProcess下断点,⼿动执⾏快捷键触发断点,开来已经来到正确位置。
查看调⽤栈。
最后可简化为
`SHELL32!HDXA_LetHandlerProcessCommandEx+0x10c``SHELL32!CDefFolderMenu::InvokeCommand+0x13d shlwapi!SHInvokeCommandOnContextMenu2+0x1f2``shlwapi!SHInvokeCommandWithFlagsAndSite+0xb4``shlwapi!SHInvokeDefaultCommand+0x21 Explorer!_ExecItemByPidls+0x85 Explorer!CTray::_HotkeySearchFailed+0xd5``Explorer!CTray::v_WndProc+0xb96 Explorer!CImpWndProc::s_WndProc+0x78``user32!UserCallWinProcCheckWow+0x2f8``user32!CallWindowProcW+0x8e`
很明显由是由HotkeySearchFailed函数调⽤ExecItemByPidls来执⾏快捷⽅式,这两个函数的后续深度逆向分析在此不做赘述。在IDA⾥对explorer的registerHotKey进⾏交叉引⽤找到这个函数似乎是处理消息的。
往下⾛找到样本发送的Msg值0x4EA、0x4E9。并且当值为0x4E6时也会进⾏注册热键操作。
如0x4E9处sub_140107194->sub_14010656C->RegisterHotKey
更加多样化的利⽤思路就交给⼴⼤⽩帽⼦吧。
ps:想说一句,放眼世界吧。不见下edr不懂啥叫杀软。不对抗下xdr不明白世界有多大。天天就会对抗个某数字能干啥??
欢迎各位大佬入群交流,需要各种资料也可入群领取。
二维码失效加好友进群!!!!!!!!!!!
群满请加wx入群!!!!!!!
wx:Mathearsion