简单的go病毒分析

博客分析了一个使用Go语言编写的病毒程序,该病毒获取主机IP,进行屏幕截图并命名为IP+主机名.png,然后将截图上传至恶意网站。同时,它在临时文件夹创建并执行一个包含内容的docx文档。主要涉及的技术包括Go函数调用约定、字符串处理及文件操作。
摘要由CSDN通过智能技术生成

前言

1、go二进制文件中pclntab结构中的函数名信息,并没有被去掉,而且可以通过辅助脚本再反汇编工具里将其恢复。

2、go的函数调用约定跟c++的有些不同,前9个参数分别放入寄存器rax,rbx,rcx,rdi,rsi,r8,r9,r10,r11,其他参数从右往左入栈。主调函数平衡堆栈,但是只有当主调函数执行完才会去平衡堆栈,而不是被调函数执行完就立即平衡。

3、字符串实际是个结构体类型,字符串结构体有两个成员,分别是字符串地址和长度。在传递结构体时,每个成员都会当成一个变量传递。例如要传个字符串,rax是字符串地址,ebx就是字符串长度。

起始

某同学收到一封邮件,里面附带伪装成docx文档的病毒。点击后会打开一个docx文档。
在这里插入图片描述
在这里插入图片描述

分析

ida打开可以看到函数名已经给还原了。
在这里插入图片描述

函数主体分析

1、从主函数开始看,开始有一大片代码获取机器的非环回IP。
在这里插入图片描述

2、获取主机名,拼接字符串,调用screen函数截屏。
在这里插入图片描述

os_name获取主机名,runtime_concatstring3 是字符串拼接。rbx,rcx 是字符串"null",rdi,rsi是_,r8r9是主机名,拼接起来是null_DESKTOP-4DPJEDE。实际上rbx是放的本地IP地址,由于一开始断网分析的,所以rbx为null。此处拼接得到文件名null_DESKTOP-4DPJEDE.png。
在这里插入图片描述
在这里插入图片描述

3、调用main_uploadRequest,返回值rax被存入局部变量var_C0中,后面放入到rbx传入net_http__Client__do,由于该函数参数需要一个Request指针,所以main_uploadRequest返回的是一个Reuqest指针。
在这里插入图片描述
在这里插入图片描述

4、接下来又打开了文件,写入内容,是一个docx文档。
在这里插入图片描述
在这里插入图片描述

5、新建 os_exec_Command对象,main_main_dwrap_1里是执行命令的操作。执行打开文档的命令。
在这里插入图片描述

内存可以看到结构体有两个成员是有值的,根据查到的结构体,第一个成员是执行路径字符串,路径长度为0x1b,第二个成员是执行命令的参数构成的数组,这的数组长度为3,实际参数为:cmd /c 文档绝对路径。
在这里插入图片描述
在这里插入图片描述

main_screen

main_screen里面用第三方库进行截图,然后调用main_save,应该是用来保存截图的
在这里插入图片描述

此处字符串拼接获得图片的绝对路径。
在这里插入图片描述

main_save

main_save 里面主要是获取临时文件目录,拼接文件名,调用main_save_dwrap_3。main_save_dwrap_3里面是写入文件,关闭文件句柄。
在这里插入图片描述
在这里插入图片描述

main_uploadRequest

os_OpenFile打开的是截图,main_uploadRequest_dwrap_2里面看到关掉句柄,应该还有写入缓冲区的操作

在这里插入图片描述

接下来调用net_http_NewRequestWithContext,函数原型显示会返回Request指针,动态调试看下参数是啥。

在这里插入图片描述
在这里插入图片描述

POST请求 http://my.gdtel.org/yanlian_upload.php,截图传出去。

在这里插入图片描述

汇总

1、获取主机IP
2、截屏,IP+“_”+主机名+“.png”,组成截图文件名放入机器的临时文件目录下。
3、post请求上传截图到恶意网站。
4、在临时文件目录下新建文档写入内容,并且执行命令打开文档。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值