Syscalls
type
status
date
slug
summary
tags
category
icon
password
区别
传统的进程注入有那些API非常的明显,拿个demo演示
这种静态分析也很容易就被发现了,用strings和ida分别看下
然后再对比下syscalls的程序
可以很明显的看出,没有那种write啥的显眼api
基础环境配置
先使用
syswhispers2
生成所需的文件我是直接把这三个文件直接移动到程序目录里的(github就已经写了 我一开始没看 一直添加的现有项(别的目录)妈的)
然后启用
masm
把这几个设置好了之后
然后将那生成的三个文件加入到项目中
配置asm文件的属性
基本配置就欧克了
编写程序
我直接用的
Syscalls-Example
我在代码里写了注释
最后测试下
分析
静态分析
判断
syscall
也是轻轻松松的注意看,像这里有个call的直接回车跟进去
对比下 是不是一模一样
可以看见有个
syscall
所以我们在ida里alt+t,搜索全部
可以看见这么多syscall
用
objdump
也可以看见的,用frida也可以的一般的程序都是用的api,而不是直接syscall
- 我们可以根据
mov ecx,*
这个值去查看是使用了哪个函数
拿这个做例子,看下面的字符串 应该是写入的 我们跟进去看一下
可以正确得知是调用了哪个函数
动态分析
ida的python脚本
然后运行下
设置到x64dbg的断点里
打到断点就知道调用了谁
到
NtAllocateVirtualMemory
这里,rdx追寻到内存窗口然后单步跳过,看这个十六进制的值
然后去看内存 就可以得知申请成功了已经
然后直接运行(蓝色的向右的箭头),在process hacker中 Re-read下
可以看见就是我们messagebox的shellcode