Go语言恶意样本分析

样本信息

样本MD5 6BC5F53D4082F12DD83ACA45BAE81E64
样本编译语言 go语言

样本行为分析

通过对样本运行的动态行为进行分析,样本主要行为如下:

  1. 创建进程获取系统信息
  2. 系统信息上传C2
  3. 获取C2下发指令以及回传的文件
  4. 执行C2回传的文件

样本静态分析

分析go语言的样本,与一般C\C++编写的PE文件有很大不同,在分析go语言编写的样本的时候,反编译会识别大量函数。这其中有大部分的库函数,因此分析go语言的恶意样本需要先找到函数入口点。main_main,IDA这一点很强,IDA7.6版本已经支持go语言的识别。因此用IDA7.6版本反编译go语言样本也没有识别库函数的苦恼。

样本逻辑分析

样本主要逻辑如下:
Go语言恶意样本分析
样本在执行的时候会获取文件名,判断文件名中是否存在括号"()",如果存在继续执行之后的恶意逻辑。

获取系统信息

样本通过CMD创建相应进程获取进程信息:systeminfo、tasklist
Go语言恶意样本分析
创建WMI进程获取系统磁盘的一系列信息
Go语言恶意样本分析
获取本地计算机时间按格式输出
Go语言恶意样本分析

使用github开源工具获取屏幕截图

Go语言恶意样本分析
将获取的截图数据格式化处理
Go语言恶意样本分析
将以上获取到的所有数据进行拼接,为数据上传做准备
Go语言恶意样本分析
数据上传
Go语言恶意样本分析
通过获取C2回传的数据,执行后续恶意操作:
Go语言恶意样本分析
创建恶意文件
Go语言恶意样本分析
恶意文件路径获取
Go语言恶意样本分析
由于获取不到目标文件以及后续的C2指令,分析告一段落。
样本运行进程树:
Go语言恶意样本分析
样本网络连接创建目标文件:
Go语言恶意样本分析

IOC

样本MD5 6BC5F53D4082F12DD83ACA45BAE81E64
C2 http://89.37.226.148/
download文件名 w32srv.exe
上一篇:区域和检索


下一篇:303. 区域和检索 - 数组不可变