Syscalls
type
status
date
slug
summary
tags
category
icon
password

区别

传统的进程注入有那些API非常的明显,拿个demo演示
 
这种静态分析也很容易就被发现了,用strings和ida分别看下
notion image
notion image
 
然后再对比下syscalls的程序
notion image
可以很明显的看出,没有那种write啥的显眼api
 

基础环境配置

先使用syswhispers2生成所需的文件
notion image
 
我是直接把这三个文件直接移动到程序目录里的(github就已经写了 我一开始没看 一直添加的现有项(别的目录)妈的)
notion image
 
然后启用masm
notion image
notion image
 
把这几个设置好了之后
然后将那生成的三个文件加入到项目中
notion image
配置asm文件的属性
notion image
基本配置就欧克了
 

编写程序

我直接用的Syscalls-Example
我在代码里写了注释
最后测试下
notion image
 

分析

静态分析

判断syscall也是轻轻松松的
注意看,像这里有个call的直接回车跟进去
notion image
对比下 是不是一模一样
可以看见有个syscall
所以我们在ida里alt+t,搜索全部
notion image
 
可以看见这么多syscall
objdump也可以看见的,用frida也可以的
notion image
一般的程序都是用的api,而不是直接syscall
  • 我们可以根据mov ecx,*
这个值去查看是使用了哪个函数
notion image
拿这个做例子,看下面的字符串 应该是写入的 我们跟进去看一下
notion image
可以正确得知是调用了哪个函数
 

动态分析

ida的python脚本
然后运行下
notion image
 
设置到x64dbg的断点里
notion image
 
打到断点就知道调用了谁
notion image
NtAllocateVirtualMemory这里,rdx追寻到内存窗口
然后单步跳过,看这个十六进制的值
notion image
然后去看内存 就可以得知申请成功了已经
notion image
 
然后直接运行(蓝色的向右的箭头),在process hacker中 Re-read下
notion image
可以看见就是我们messagebox的shellcode
notion image
 

© muxue 2021-2025