cs 4.0马子分析模仿

  1. 前言
  2. 测试描述
  3. 分析工具
  4. 静态分析
  5. 动态分析

前言

在看文章的时候看到52pojie的一篇分析cs 4.0马子的文章。想跟着分析一下
由于技术不行,复现的并不完整。纯属记录

原文链接:https://www.52pojie.cn/thread-1334525-1-1.html

测试描述

cs version:4.1
分段式exe

分析工具

IDA 7.5
x64dbg

静态分析

Exeinfo查看对应的信息

无ASLR拖动到IDA分析,可寻找到入口点
(主要流程是执行两个函数然后开始循环sleep,默认是等待1秒)

根据原文章主要点在sub_401795,而sub_402A60尝试着去分析。后面并无得出啥结论
sub_401795

主要过程

  • 获取时间戳除以0x26AA
  • 拼接得到pipe(管道)
  • 创建进程执行sub_401685函数
  • 返回sub_401742函数执行结果

sub_401685函数

继续跟踪里面的sub_4015D0

  • 创建管道
  • 链接对应的管道
  • 向管道写入shellcode
  • 关闭管道

sub_401742函数

  • malloc分配对应的内存空间
  • 延时0x400秒
  • 执行sub_4016A2函数
  • 循环结束后执行sub_40152E函数

sub_4016A2函数

  • 创建管道
  • 读取管道里的内容
  • 关闭管道

sub_40152E函数

  • 申请0x3000大小的内存空间
  • 执行sub_4014F3函数判断是采用GetModuleHandleA还是GetProcAddress函数
  • 执行VirtualProtect函数修改内存属性
  • CreateThread执行shellcode
    sub_4014F3函数

动态分析

x64dbg打开,用IDA查看入口点函数的地址。x64dbg跳转到对应的地址

对照IDA单步跟踪下去找到写入管道

读取管道并申请内存最后执行shellcode

  • 加载wininet.dll
  • 再调用函数InternetOpen函数创建一个HINTERNET根句柄

创建请求句柄,并把数据发送到服务器
随后解除数据向cs server发送请求

申请0x400000大小的内存,然后跳转执行到所申请的内存

然后原文那里解密出一个DLL并反射注入,并没模仿成功= =


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。

文章标题:cs 4.0马子分析模仿

本文作者:九世

发布时间:2020-12-26, 19:03:27

最后更新:2020-12-26, 19:55:29

原始链接:http://jiushill.github.io/posts/b4f959ad.html

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录