记一次挖矿木马样本分析

打印 上一主题 下一主题

主题 831|帖子 831|积分 2493

有一台vps被弱口令上马了
翻来翻去
找到个二进制文件如下
前言

[img=720,104.23777564717162]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202401251032810.png[/img]
搜main函数关键字可以判断是用shc加密shell脚本生成的二进制文件
[img=720,327.48201438848923]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202401251032812.png[/img]
[img=720,410.77720207253884]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202401251032813.png[/img]
在0000000000400F7E位置函数,找到了加载shell命令的位置
[img=720,748.907063197026]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202401251032814.png[/img]
shc部分源码
  1. /* shc.c */
  2. /**
  3. * This software contains an ad hoc version of the 'Alleged RC4' algorithm,
  4. * which was anonymously posted on sci.crypt news by cypherpunks on Sep 1994.
  5. *
  6. * My implementation is a complete rewrite of the one found in
  7. * an unknown-copyright (283 characters) version picked up from:
  8. *    From: allen@gateway.grumman.com (John L. Allen)
  9. *    Newsgroups: comp.lang.c
  10. *    Subject: Shrink this C code for fame and fun
  11. *    Date: 21 May 1996 10:49:37 -0400
  12. * And it is licensed also under GPL.
  13. *
  14. *That's where I got it, now I am going to do some work on it
  15. *It will reside here: http://github.com/neurobin/shc
  16. */
  17. static const char my_name[] = "shc";
  18. static const char version[] = "Version 4.0.3";
  19. static const char subject[] = "Generic Shell Script Compiler";
  20. static const char cpright[] = "GNU GPL Version 3";
  21. static const struct { const char * f, * s, * e; }
  22.     provider = { "Md Jahidul", "Hamid", "<jahidulhamid@yahoo.com>" };
复制代码
尝试生成一个echo “helloworld”,看看shc生成的文件是什么构造
shc

安装shc
  1. sudo add-apt-repository ppa:neurobin/ppa
  2. sudo apt-get update
  3. sudo apt-get install shc
复制代码
加密后会得到一份生成的c源码和可执行文件
  1. [04:08:08] ctfshow@ubuntu /home/ctfshow/Desktop/test (0)
  2. > shc -f ./test.sh
  3. [04:08:11] ctfshow@ubuntu /home/ctfshow/Desktop/test (0)
  4. > ls
  5. test.sh  test.sh.x*  test.sh.x.c
  6. [04:08:12] ctfshow@ubuntu /home/ctfshow/Desktop/test (0)
  7. > ./test.sh.x
  8. hello
复制代码
会输出一个test.sh.c和编译好的test.sh.x
那么可以照着test.sh.c的源码来快速分析手上的二进制文件
调试发现ret会记录当前进程是否为父进程,
调试发现如果为父进程,则执行的命令是
  1. exec bash ./<程序自己>
复制代码
那么相当于把代码在子进程里面又跑了一遍
这个时候ret就是1了,加载的也会是text里面真正的代码段
[img=720,623.688]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202401251032815.png[/img]
思路

程序把shell命令用rc4加密在了硬编码里面,回到样本,只要更改ret的值然后调到execvp 然后print mem就能得到shell脚本了。
【----帮助网安学习,以下所有学习资料免费领!加vx:dctintin,备注 “博客园” 获取!】
 ① 网安学习成长路径思维导图
 ② 60+网安经典常用工具包
 ③ 100+SRC漏洞分析报告
 ④ 150+网安攻防实战技术电子书
 ⑤ 最权威CISSP 认证考试指南+题库
 ⑥ 超1800页CTF实战技巧手册
 ⑦ 最新网安大厂面试题合集(含答案)
 ⑧ APP客户端安全检测指南(安卓+IOS)
patch && dump mem

修改ret值
[img=720,342.10268948655255]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202401251032816.png[/img]
在memcpy下断
[img=720,395.00294637595755]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202401251032817.png[/img]
[img=720,321.6462620474082]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202401251032818.png[/img]
祖传字符串脚本
  1. base  =0x000000000602B83
  2. end = 0x00000000006074F0
  3. ans=[]
  4. for i in range(base,end):
  5.    tmp = idc.get_wide_byte(i)
  6.    ans.append(tmp)
  7.    if(tmp == 0):
  8.        print(bytes(ans))
  9.        ans=[]
复制代码
[img=720,246.10033444816054]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202401251032819.png[/img]
  1. shlll = b''
  2. with open("sh.tmp", "w") as f:
  3.    print(shlll.decode(),file=f)
复制代码
暂且写个脚本存一下
shell分析

到这一步就比较明了了
shell脚本里面存的命令全是用明文显示的
[img=720,618.0530973451328]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202401251032820.png[/img]
首先是删除日志和竞品矿机,然后设置iptable
释放iptable_reject
然后从远程服务器下载矿机
[img=720,521.6615653694797]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202401251032821.png[/img]
其中一个ip是172.104.170.240
上网搜一下ip是一个矿池
[img=720,220.48524590163933]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202401251032822.png[/img]
搜索矿池ip发现样本行为和安天于今年5月发布的yayayaminer有一定相似之处,在初期的排查阶段借鉴了其思路。
更多网安技能的在线实操练习,请点击这里>>
  

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

雁过留声

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表