-
-
[原创]kshell backdoor分析,高手请绕行,内含福利 - -!
-
发表于:
2013-8-24 17:54
28164
-
[原创]kshell backdoor分析,高手请绕行,内含福利 - -!
为了不得罪为了福利进来的高手,我首先要表示福利请看样本签名
由于样本年代过于久远,所以本文技术含量不高,发出来只是为了让我等菜鸟有一个共同学习提高的机会,顺便灌水毛个泡,潜了太久了。。。
然后是正题:
起因是某朋友说在服务器上抓到了只小马,怀疑是Gh0st(这种秒杀级的马为什么现在还可以这么流行,看来国内抄袭现象还是比较严重的)。
后来看了一下朋友打包发过来的样本,发现我还是too young,too simple,这个马。。。年代差不多和Gh0st一样久远,难道真是网站管理员越来越懒了么。。。。
马的架构:
dll+sys
sys文件负责网络通信
dll以服务的形式注册,负责执行发送过来的指令,cd/md/rd/exec/各种,有个wget指令作者说在下一个版本中添加- -!
稍微贴点代码,具体请参考压缩包内idb注释:
入口ServiceMain,只贴重要的地方:
....
mov _flag_stop_workthread, 0
push 0 ; lpThreadId
push 0 ; dwCreationFlags
push 0 ; lpParameter
push offset StartAddress ; lpStartAddress//开启工作线程
push 0 ; dwStackSize
push 0 ; lpThreadAttributes
call ds:CreateThread
....
.text:10004150 call sub_10001560 ; 驱动加载,并打开驱动句柄(hDevice)
.text:10004150 ; 成功返回:1
.text:10004150 ; 失败返回:0
.text:10004155 test eax, eax
.text:10004157 jz short loc_1000419B
.text:10004159 push edi
.text:1000415A mov edi, offset aChkrootport ; "chkrootport"
.text:1000415F or ecx, 0FFFFFFFFh
.text:10004162 xor eax, eax
.text:10004164 repne scasb
.text:10004166 not ecx
.text:10004168 dec ecx
.text:10004169 push ecx ; nInBufferSize
.text:1000416A push offset aChkrootport ; "chkrootport"
.text:1000416F call sub_10001600 ; 与驱动通信,检查rootport,但是驱动中好像没有检查
.text:1000416F ; 站坑用的
.text:10004174 call sub_10003F10 ; 核心函数
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!