免责声明
文章所涉及内容,仅供安全研究教学使用,由于传播、利用本文所提供的信息而造成的任何直接或间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任
前言
为了避免杀毒软件的监测,我们通过将shellcode与加载器(loader)分开放置,达到一个防止杀软检测的原理,如果使用无阶段shellcode(stagerless)进行上线,那么shellcode的文件大小会很大,我们的loader大小还没有shellcode大,如果将shellcode放置在loader中去进行加载,那么文件的熵值会很大(例如:一个loader(含shellcode)1MB大小,那么shellcode就占文件大小的百分之90),很有可能被扫描出来,所以这里我们通过将shellcode和loader分离,然后再通过loader去加载指定路径的文件,将shellcode导入。
那么接下来我们进入正题,我们来看具体操作和代码:
通过文件加载shellcode,都是一些常见API函数,但是我在实验中不能运行Createfile函数,各位读者大大可以试试使用CreatefileA这个等同函数,如使用都不成功可以试试我接下来提供的方法。
这里我们通过模拟creatfile函数的功能创建一个函数,去读取文件,在我们自己实现的函数中我们通过文件操作函数来执行一系列操作。
接下来是具体操作:
这里我们可以看到,shellcode的路径就是当前路径下的
双击Project4.exe可以看到成功上线,可以看到Process是Project4.exe
可以看到火绒没有任何反应。
但是为了更可靠的免杀效果,我们可以对loader进行更多的免杀细节,比如断开函数调用链等等,具体可根据读者自己需求来。
原文始发于微信公众号(泾弦安全):分离加载shellcode(文件路径读取shellcode)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论