首页
论坛
课程
招聘
[原创]CS[1]exe木马分析
2022-4-5 16:36 3609

[原创]CS[1]exe木马分析

2022-4-5 16:36
3609

# CS[1]exe木马分析

 

Cobalt Strike是渗透测试工具,可以通过exe木马实现远程控制。

一:生成exe

Windows Executable 生成可执行exe木马;payload分段

 

Windows Executable(S) 生成无状态的可执行exe木马,payload不分段

 

在这里插入图片描述
分析Windows Executable 生成的artifact.exe

 

查壳:无壳

二:具体分析

401840关键函数:获取系统时间戳,通过sprintf拼接管道名,创建线程,写加密数据到创建的管道内,最后解密执行

 

在这里插入图片描述

 

在这里插入图片描述

 

线程函数:

 

[在这里插入图片描述

 

跟进线程函数,创建命名管道,将加密数据写进管道内在这里插入图片描述

 

加密的数据:在这里插入图片描述

 

加密数据crypt_data1写入管道内在这里插入图片描述

 

读取管道内的数据,解密数据,跳转执行在这里插入图片描述

 

在这里插入图片描述

 

decodeandcall:解密数据,修改内存属性,跳转执行在这里插入图片描述

 

用于解密的数组:在这里插入图片描述

 

申请的内存地址20000在这里插入图片描述

 

跳转到eax:20000执行shellcode在这里插入图片描述

 

shellcode分析:

 

1.loadlibrary加载wininet.dll

 

在这里插入图片描述

 

InternetOpen函数:在进行HTTP、FTP和服务器通信前初始化 WinInet.dll 。简单的说通过 InternetOpen 函数创建位于根部的 Hinternet 句柄

 

在这里插入图片描述

 

InternetConnect 连接:192.168.99.8在这里插入图片描述

 

HttpOpenRequestA 创建 HTTP 请求句柄。

 

在这里插入图片描述

 

HttpSendRequestA发送HTTP请求到指定的服务器在这里插入图片描述

 

virtualalloc 申请内存:在这里插入图片描述

 

不断internetreadfile 读数据到申请的内存在这里插入图片描述

 

读到的数据:
在这里插入图片描述

 

读完数据后继续跟

 

在这里插入图片描述

 

跳转到申请的内存处,解密出dll。

 

在这里插入图片描述

 

解密出的pe文件
在这里插入图片描述

 

后面继续跟就是反射dll注入

 

7CB2+7为 ReflectiveLoader函数的偏移,call ebx调用ReflectiveLoader函数反射注入dll,压入参数call eax 调用dllmain
在这里插入图片描述

1
2
3
4
5
6
7
8
9
10
dec ebp             ; M
pop edx             ; Z
call 0              ; 将下一条指令地址压到栈里
pop ebx             ; 将压到栈里的地址弹到ebx
push edx            ;
inc ebp             ;
push ebp            ; 保存ebp
mov ebp, esp        ; 切换堆栈
add ebx,0x???       ; ebx+ReflectiveLoader函数偏移-7(ebx相起始偏移7
call ebx            ; call ReflectiveLoader


[2022冬季班]《安卓高级研修班(网课)》月薪三万班招生中~

最后于 2022-4-5 20:26 被pyikaaaa编辑 ,原因:
收藏
点赞1
打赏
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回