Linux | SHc 加密脚本解密技巧

admin 2023年10月13日21:04:54评论130 views字数 1379阅读4分35秒阅读模式

最近多次处理SHc加密脚本 + 植入Rootkit 方式的挖矿事件,记录一下快速解密SHc加密脚本的方法。

1.Rootkit处置

利用LinuxAR处置Rootkit,卸载可疑内核模块。

Linux | SHc 加密脚本解密技巧

发现被隐藏的可疑进程。

Linux | SHc 加密脚本解密技巧

发现被隐藏的可疑文件mdcheck

Linux | SHc 加密脚本解密技巧

2.SHc 加密脚本分析

mdcheck-b4d5a21f文件存在可疑字符串

 E: neither argv[0] nor $_ works.

Linux | SHc 加密脚本解密技巧

通过特殊字符串,发现mdcheck-b4d5a21f是通过SHc(Shell 编译器)编译的

2.1 利用UnSHc.sh解密

SHc工具通过ARC4算法加密shell 脚本,其实有现成UnSHc.sh,但是运气好碰到没用时间戳校验以及x86的可以直接解,运气不好需要处理一下样本。

Linux | SHc 加密脚本解密技巧

2.1.1 定位ARC4

快速定位的方式可以通过,通过objdump,将所有call函数的调用次数统计一下,大于等于14,则为ARC4加解密函数地址

 objdump -D mdcheck-b4d5a21f > dumpfile
 grep -Eo "call.*[0-9a-f]{6,}" dumpfile | grep -Eo "[0-9a-f]{6,}" | sort | uniq -c

找到函数地址400BC5

Linux | SHc 加密脚本解密技巧

2.1.2 定位扩展密钥

解密UnSHc.sh只考虑14次调用的情况,此样本使用了15次,这也是执行失败的原因,脚本默认找第一次调用ARC4函数前面去找call指令,寻找key地址和长度

Linux | SHc 加密脚本解密技巧

mdcheck-b4d5a21f第一次调用sub_400BC5,大概看了一下应该是获取pid做校验用的,与被加密的shell脚本无关

Linux | SHc 加密脚本解密技巧

mdcheck-b4d5a21f样本的扩展密钥算法函数在第二次调用sub_400BC5的前面,其实可以直接看到key地址和长度,0x607970和0x100

Linux | SHc 加密脚本解密技巧

2.1.3 解密sh.x

接下来,用0x00覆盖第一次调用sub_400BC5的地方,再执行UnSHc.sh,自动定位到扩展密钥算法函数的key地址和长度0x607970和0x100

Linux | SHc 加密脚本解密技巧

如果无法直接定位0x607970和0x100,可以修改UnSHc.sh,直接将分析后的地址写入,再执行,效果一样

Linux | SHc 加密脚本解密技巧

mdcheck脚本功能,打开防火墙、把Rootkit源码、头文件、Makefile释放到特定目录下,然后编译加载

Linux | SHc 加密脚本解密技巧

之后下载挖矿程序,访问域名与yayaya挖矿一致,此次事件为yayaya挖矿新的变种

Linux | SHc 加密脚本解密技巧

2.2 利用GDB解密

先替换主机rm命令,再利用GDB加载mdcheck,execvp或者exit下断点,run,记住PID,查看堆区范围

 cat /proc/PID/maps | heap

Linux | SHc 加密脚本解密技巧

返回GDB,dump堆区

 dump binary memory /tmp/bin 0xffffxxxx 0xffffxxxx

Linux | SHc 加密脚本解密技巧

查看堆区字符串也能看到解密后脚本内容

 strings /tmp/bin

Linux | SHc 加密脚本解密技巧

4.3 直接执行解密

先替换主机rm命令,直接执行,执行过程中会报错

Linux | SHc 加密脚本解密技巧

新开ssh,执行命令,将进程的cmdline写入文件中,cmdline为解密执行的shell脚本内容

 ps -ef | grep mdcheck | grep -v grep | awk '{print $2}' | xargs -I {} cat /proc/{}/cmdline > mdcheck_cmdline.txt

原文始发于微信公众号(TahirSec):Linux | SHc 加密脚本解密技巧

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年10月13日21:04:54
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Linux | SHc 加密脚本解密技巧https://cn-sec.com/archives/2110149.html

发表评论

匿名网友 填写信息